Файл: Курсовая работаПроцессор персонального компьютера. Назначение, функции, классификация процессора..pdf
Добавлен: 04.04.2023
Просмотров: 117
Скачиваний: 1
Введение
Центральным процессором (ЦП), часто называемым просто процессором, является компонент на электронном компьютере, который выполняет всю активную обработку всех направлений программирования и манипулирует данными; это включает в себя выполнение вычислений по номерам и определение того, какие конкретные шаги нужны для выполнения.
Конкретная функция, которая должна выполняться в каждый момент времени, основана на машинной инструкции, также называемой машинным кодом или кодом операции, который обычно автоматически извлекается из памяти. Алгоритм кодов операций, выполняемых последовательно, называется компьютерной программой.
В зависимости от конструкции конкретного процессора, арифметические операции могут выполняться по двум номерам, которые ранее были сохранены внутри процессора в специальных элементах хранения, называемых регистрами; или один или оба могут быть извлечены из памяти. После выполнения вычисления итоговое (вновь вычисленное) число может быть сохранено в регистре или записано обратно в память компьютера (опять же, в зависимости от конкретного процессора).
Сегодняшние процессоры также выполняют гораздо больше, чем просто выполняют операции, выбранные программными кодами операций; они также выполняют анализ потока данных в потоке команд и применяют ряд расширенных эвристик для повышения скорости передачи инструкций. В этой статье обсуждаются некоторые способы ускорения работы процессоров.
Процессор, который производится как единая интегральная схема, обычно известен как микропроцессор. Большинство процессоров на современных компьютерах являются микропроцессорами, а микропроцессоры также используются во многих повседневных вещах: от автомобилей и бытовой техники до сотовых телефонов и детских игрушек.
1. История изобретения современного процессора
Фраза «центральный процессор» и ее аббревиатура, CPU, использовались в компьютерной индустрии, начиная с 1960-х годов. Термин представляет собой описание определенного класса логических машин, которые могут выполнять инструкции.
Это широкое определение может быть легко применено ко многим ранним компьютерам, которые существовали задолго до того, как термин «ЦП» когда-либо широко использовался. Форма, дизайн и реализация процессоров сильно изменились с самых ранних экземпляров. [1]
Рис. 1 EDVAC, один из первых программных компьютеров
2. Работа ЦП
Основная операция большинства процессоров, независимо от физической формы, которую они принимают, заключается в выполнении последовательности хранимых инструкций, называемых программой. Программа представлена серией чисел, которые хранятся в памяти.
Для взаимодействия с этими данными используются четыре шага: выборка, декодирование, выполнение и обратная запись. Процессоры, которые следуют этой схеме хранения и вызова данных, следуют архитектуре фон Ноймана, обычно используемой сегодня в процессорах.
Рис. 2 Архитектура фон Ноймана
2.1 Выборка
Первый шаг, выборка, включает в себя извлечение инструкции из памяти. Место в памяти программы определяется программным счетчиком, который является регистром, который сначала определяет последовательность команд, которые должны быть выполнены, а затем сохраняет эти команды этой последовательностью в памяти.
Другими словами, счетчик программ отслеживает место CPU в текущей программе. После получения команды, счетчик программ увеличивается на длину слова команды в единицах памяти. Часто, требуемая команда должна извлекаться из относительно медленной памяти, в результате чего CPU останавливается, ожидая возвращения команды. Это называется узким местом.
2.2 Декодирование
Команда, которую CPU извлекает из памяти, используется для определения того, что должен делать процессор. На этапе декодирования команда разбивается на части, которые могут интерпретировать различные части ЦП. Способ интерпретации значения числовой команды определяется архитектурой набора команд процессора (ISA).
Часто одна группа бит в инструкции, называемая кодом операции, указывает, какую операцию выполнить. Остальные части номера обычно предоставляют информацию, необходимую для этой команды, такую как операнды для операции добавления. Такие операнды могут быть заданы как постоянное значение или как ссылка на местоположение значения: регистр или адрес памяти.
В старых проектах, части ЦП, отвечающие за декодирование команд, были фиксированными аппаратными устройствами. Однако в более абстрактных и сложных процессорах, микропрограмма ISA часто используется для перевода инструкций в различные сигналы конфигурации для ЦП.
Эта микропрограмма иногда перезаписывается, поэтому её можно изменить, чтобы изменить способ, которым CPU декодирует инструкции даже после того, как он был изготовлен.
2.3 Выполнение
После шагов выборки и декодирования выполняется шаг выполнения. Во время этого шага подключаются различные части процессора, чтобы они могли выполнять требуемую операцию. Если, например, была запрошена операция сложения, арифметический логический блок (ALU) будет подключен к набору входов и набору выходов.
Входы содержат номера, которые будут добавлены, а выходы будут содержать окончательную сумму. ALU содержит схему для выполнения простых арифметических и логических операций на входах (например, сложения и побитовые операции).
Если операция добавления приводит к слишком большому результату для процессора для обработки, также может быть установлен флаг арифметического переполнения в регистре.
2.4 Обратная запись
Заключительный шаг, обратная запись, просто «записывает» результаты этапа выполнения в форму памяти. Очень часто результаты записываются в некоторый внутренний регистр CPU для быстрого доступа с помощью последующих инструкций.
В других случаях, результаты могут быть записаны в более медленную, но более дешевую и большую, основную память. Некоторые типы инструкций управляют счетчиком программ, а не напрямую производят данные результата. Они обычно называются «прыжками» и облегчают выполнение условной программы (с помощью условного перехода) и функции в программах. [2]
Многие инструкции также изменяют состояние цифр в регистре «flags». Эти флаги могут использоваться, чтобы влиять на поведение программы, поскольку они часто указывают на результат различных операций.
Например, один тип команды «сравнения» рассматривает два значения и устанавливает число в регистре флагов, в соответствии с которым он больше. Этот флаг затем может использоваться более поздней командой перехода для определения потока программы.
2.5 Цикл
После выполнения инструкции и обратной записи результирующих данных весь процесс повторяется, причем следующий цикл команды обычно извлекает команду next-in-sequence из-за увеличенного значения в счетчике программы.
Если инструкция была «прыжком», счетчик программ будет изменен, чтобы содержать адрес команды, на которую был перескок, и выполнение программы продолжится нормально. В более сложных процессорах, чем описанные здесь, несколько команд могут быть извлечены, декодированы и выполнены одновременно.
В этом разделе описывается упрощенная форма того, что обычно называют «классическим конвейером RISC», что на самом деле довольно распространено среди простых процессоров, используемых во многих электронных устройствах (часто называемых микроконтроллерами).
3. Конструкция и реализация
3.1 Целочисленный диапазон
Способ, которым CPU представляет числа, обусловлен выбором конструкции, который влияет на самые основные способы работы устройства. На некоторых ранних цифровых компьютерах использовалась электрическая модель общей десятичной (базовой десятичной) системы цифр для внутреннего представления чисел.
Несколько других компьютеров использовали более экзотические системы с числами, такие как тройной (базовый три). Почти все современные процессоры представляют числа в двоичной форме, причем каждая цифра представлена некоторой двузначной физической величиной, такой как «высокое» или «низкое» напряжение. [3]
Что связано с представлением чисел – так это размер и точность чисел, которые может представлять ЦП. В случае двоичного процессора бит относится к одному существенному месту в числах, с которыми имеет дело CPU.
Количество бит (или мест), которое ЦП использует для представления чисел, часто называют «размер слова», «ширина бита», «ширина пути данных» или «целочисленная точность» при работе со строго целыми числами (в отличие от чисел с плавающей запятой).
Этот момент архитектуры ЦП может отличаться даже в разных частях одного и того же CPU. Например, 8-разрядный ЦП имеет ряд чисел, которые могут быть представлены восемью двоичными цифрами (каждая цифра имеет два возможных значения), то есть 28 или 256 дискретных чисел. Фактически, целочисленный размер устанавливает аппаратное ограничение в диапазоне целых чисел, которое может использовать программное обеспечение, выполняемое ЦП. [4]
Целочисленный диапазон также может влиять на количество мест в памяти, которые CPU может адресовать (найти). Например, если двоичный процессор использует 32 бита для представления адреса памяти, и каждый адрес памяти представляет собой один октет (8 бит), максимальное количество памяти, на которое может обращаться центральный процессор, составляет 232 октета или 4 гигабайта.
Это очень простой взгляд на адресное пространство процессора, и во многих проектах используются более сложные методы адресации, такие как пейджинг, чтобы найти больше памяти, чем их целочисленный диапазон позволил бы с плоским адресным пространством.
Более высокие уровни целочисленного диапазона требуют больше структур для обработки дополнительных цифр и, следовательно, большей сложности, размера, энергопотребления и, как правило, расходов.
Таким образом, нет ничего необычного в том, чтобы встретить 4- или 8-битные микроконтроллеры, используемые в современных устройствах, хотя доступны процессоры с гораздо более высоким диапазоном (например, 16, 32, 64, даже 128 бит).
Более простые микроконтроллеры, как правило, дешевле, потребляют меньше энергии и, следовательно, рассеивают меньше тепла, и все это может быть решающим в контексте выбора конструкции для электронных устройств.
Однако в приложениях более высокого уровня преимущества, предоставляемые дополнительным диапазоном (чаще всего дополнительным адресным пространством), более значительны и часто влияют на выбор дизайна. Чтобы получить некоторые преимущества, обеспечиваемые как более низкой, так и более высокой длиной бит, многие процессоры разработаны с разной шириной битов для разных частей устройства.
Например, в IBM System / 370 использовался центральный процессор, который был в основном 32-разрядным, но использовал 128-битную точность внутри своих блоков с плавающей запятой, чтобы повысить точность и диапазон чисел с плавающей запятой (Amdahl et al., 1964).
Многие более поздние версии процессоров используют аналогичную смешанную ширину битов, особенно когда процессор предназначен для общего использования, когда требуется разумный баланс целых чисел и возможностей с плавающей запятой.
3.2 Тактовая частота
Большинство процессоров и даже большинство последовательных логических устройств работают синхронно. [5] Процессоры «делают ход» каждый раз, когда происходит сигнал синхронизации.
Этот сигнал, известный как тактовый сигнал, обычно принимает форму периодической прямоугольной волны. Вычисляя максимальное время, в течение которого электрические сигналы могут распространяться по различным ветвям многих схем процессора, разработчики могут выбрать подходящий период для тактового сигнала.
Этот период должен быть больше, чем время, необходимое для того, чтобы сигнал двигался или распространялся в наихудшем случае. При настройке периода тактовых импульсов на значение, значительно превышающее задержку распространения наихудшего случая, можно сконструировать весь процессор и способ перемещения данных по «краям» восходящего и падающего тактового сигнала.