Файл: Процессор персонального компьютера. (Назначение, функции, классификация процессора).pdf
Добавлен: 23.04.2023
Просмотров: 325
Скачиваний: 2
СОДЕРЖАНИЕ
1.2.1. Нулевое поколение (1492-1945 гг.)
1.2.2. Первое поколение (1937 – 1953 гг.)
1.2.3. Второе поколение (1954-1962 гг.)
1.2.4. Третье поколение (1963-1972 гг.)
1.2.5. Четвертое поколение (1972-1984 гг.)
1.2.6. Пятое поколение (1984-1990 гг.)
1.2.7. Шестое поколение (с 1990 г.)
В этот период сформировались два взгляда на архитектуру ЭВМ:
- архитектура с совместно используемой памятью – примером такой машины является Sequent Balance 8000. В данной ЭВМ блок основной памяти делился между 20 процессорами. Основным направлением применения данной ЭВМ было исследование параллельных алгоритмов и техники программирования;
- архитектура с распределенной памятью – в таких ЭВМ каждый процессор обладал своим собственным блоком памяти. Подобный подход сокращал ограничения пропускной способности тракта «процессор-память».
1.2.7. Шестое поколение (с 1990 г.)
Предпосылкой появления шестого поколения является прогресс, достигнутый в сфере параллельных вычислений, который послужил началом для систем с массовым параллелизмом MPP (Massively Parallel Processing). В состав таких систем входит большое количество автономных вычислительных машин, взаимодействующих между собой.
Другой отличительной чертой шестого поколения является увеличение значимости рабочих станций. Процессоры на таких ЭВМ совмещали в себе параллельную обработку, конвейеризацию и RISC-архитектуру [16, 18].
1.3. Принципы построения
Под архитектурой ЭВМ принято понимать ее организацию, включая аппаратное обеспечение, обработку данных, управление и связи в таких объектах, как процессоры, звуковая и графическая подсистемы, система памяти, а также набор шин, система команд и организация ввода/вывода [12].
Основоположником учений об архитектуре ЭВМ является американский математик Джон фон Нейман. Именно он был главным автором статьи «Предварительное рассмотрение логической конструкции электронно-вычислительного устройства», в которой были сформулированы основные принципы построения ЭВМ:
- использование двоичной системы счисления – основным преимуществом двоичной системы перед привычной десятичной заключается в том, что устройства на двоичной логике очень просты с точки зрения конструкции. Кроме того, в подобных устройствах гораздо легче организовать арифметические и логические операции;
- программное управление ЭВМ – работа ЭВМ происходит под контролем программы, которая в свою очередь состоит из определенного набора команд. Эти команды выполняются последовательно одна за другой. Создание машины с хранимой в памяти программой положило началу современному программированию;
- память ЭВМ хранит не только данные, но и команды, закодированные в двоичной системе счисления. При этом к командам можно обратиться как к данным, а к данным – как к командам;
- ячейки памяти ЭВМ имеют свои адреса, которые выставляются в виде последовательной нумерации. В любой момент времени можно обратиться к любой ячейке памяти, зная ее адрес. Данный принцип послужил созданию переменных в программировании;
- возможность условного перехода в процессе выполнения программы – не смотря на последовательное выполнение команд, существует также возможность условного перехода на любой другой участок кода, в зависимости от выполнения или невыполнения какого-либо заданного логического условия.
Архитектура, построенная по таким принципам, называется Неймановской архитектурой (см. рисунок 3).
Рисунок 3 – Архитектура фон Неймана
Основные блоки данной архитектуры:
- устройство управления (УУ);
- арифметико-логическое устройство (АЛУ);
- внешняя память;
- внутренняя память;
- устройства ввода/вывода.
В современных компьютерах АЛУ и УУ объединяют в единое устройство, называемое процессором. В его задачи входит преобразование информации, которая поступает из памяти и внешних устройств ввода.
Память ЭВМ хранит данные и программы. Запоминающее устройство включает в себя два компонента:
- оперативное запоминающее устройство (ОЗУ), задачей которого является хранение той информации, с которой компьютер работает в текущий момент времени;
- внешние запоминающие устройства (ВЗУ) – устройства гораздо большего объема памяти по сравнению с ОЗУ, но с медленным доступом [8].
2. ЦЕНТРАЛЬНЫЙ ПРОЦЕССОР
2.1. Общие сведения
Центральный процессор (ЦП) является основным компонентом в любой ЭВМ. Именно процессор выполняет пользовательскую программу. Кроме того, он организует взаимодействие между различными частями вычислительной машины, объединяя их в единую систему – компьютер.
Общая схема ЦП приведена на рисунке 4.
Рисунок 4 – Схема ЦП
В состав ЦП входят устройства и регистры. Регистрами принято называть запоминающие элементы (ячейки), которые расположены непосредственно внутри процессора и служат для хранения информации. Основными компонентами ЦП являются:
- устройство управления (УУ) – управляет работой процессора и координирует работу всех остальных устройств, а также организует процесс выполнения программы (см. Рисунок 5). УУ состоит из следующих компонент:
- регистр команд, задачей которого является хранение кода операции, выполняющейся в данный момент времени и ее операндов;
- узел формирования адреса, который вычисляет полный адрес ячейки, исходя из данных, полученных из регистра команд;
- дешифратор операций, задачей которого является выборка управляющего входа;
- постоянное запоминающее устройство, которое хранит последовательность управляющих сигналов.
Рисунок 5 – Функциональная схема УУ
Основные задачи устройства усправления:
- считывание сигналов управления и их пересылка блокам;
- формирование адреса очередной команды;
- выбор адреса команды и ее операндов;
- расшифровка кодов и признаков команд;
- сохранение результатов в памяти.
- арифметико-логическое устройство (АЛУ) – отвечает за выполнение арифметических и логических операций, производит вычисления (см. рисунок 6).
Основные компоненты АЛУ:
- регистры – ячейки памяти для хранения операндов и результатов выполнения команд;
- сумматор – вычислительная схема, согласно которой реализуются арифметические и логические операции;
- схемы управления – схемы, которые принимают управляющие сигналы от УУ и преобразуют их в сигналы, понятные для АЛУ.
Рисунок 6 – Функциональная схема АЛУ
- регистр счетчика адреса (СА) – хранит в себе адрес очередной команды;
- регистр команды (РК) – хранит команду, выполняющуюся ЦП в текущий момент времени.
Любой процессор характеризуется набором стандартных для него машинных операций. Машинной операцией называется элементарное действие, которое выполняется аппаратным путем. Такие операции реализуются в виде электронных схем процессора. При этом любое вычисление, которое необходимо произвести при помощи ЭВМ, раскладывается на элементарные действия и представляется в виде последовательности машинных операций.
Некоторые машинные операции могут быть достаточно сложными, например, операция извлечения корня или вычисление значения функции в заданной точке. Конкретный набор машинных операций определяется спецификацией класса задач, для решения которых предстоит использовать конкретный процессор. Наиболее часто встречающиеся действия целесообразно реализовывать аппаратно, а редкие операции – программно, выражая их через элементарные машинные операции, например, реализовать умножение при помощи многократного сложения. Чем шире набор машинных операций, тем проще писать программы для процессора.
Приказ выполнения машинной операции для ЦП с учетом указанных операндов называется машинной командой. Правила записи машинной команды – формат команды. Список машинных операций и форматов команд – система команд ЦП. Во многих случаях «команда» и «машинная операция» употребляются в качестве синонимов.
Набор машинных операций состоит из следующих команд:
- команды пересылки данных – реализуют обмен данными между оперативной памятью и ЦП;
- арифметические команды – реализуют вычисления, например, сложение, умножение, вычитание, деление и т.п.;
- команды переходов – команды, отвечающие за передачу управления и позволяющие программировать циклы и условные операторы [3].
2.2. Микроархитектура
Микроархитектура современного одноядерного процессора приведена на рисунке 7.
Рисунок 7 – Микроархитектура ЦП
В основе данной организации лежит архитектура фон Неймана, однако, есть и отличия, связанные с конвейерной и параллельной обработкой данных. Основные блоки ЦП:
- предпроцессор;
- постпроцессор;
- исполнительные блоки;
- кэш команд и данных;
- блок записи результатов в память.
Команды программы хранятся в кэш-памяти команд и извлекаются оттуда при помощи предпроцессора. Такая операция называется процедурой выборки. Далее команды декодируются – преобразуются в примитивные микрокоманды, которые уже могут восприниматься функциональными устройствами процессора. После того, как команда извлечена и декодирована, она получает необходимые ей операнды и становится готовой для исполнения – команда помещается в специальную очередь к исполнительным блокам. Исполнительные блоки ЦП реализованы в виде конвейеров, образуя при этом параллельную вычислительную среду. В случае неупорядоченного исполнения команд, они подаются на исполнительные блоки не в порядке следования, а по мере готовности операндов.
После того, как команда поступила в исполнительный блок, она начинает выполняться. По причине того, что скорость выполнения разных команд различна, внутри конвейеров происходит переупорядочение команд и выдача результатов. Задача постпроцессора при этом – следить за готовностью результатов на выходе исполнительных блоков и осуществлять возврат к естественной последовательности команд.
Команда считается выполненной, если выполнены все команды, предшествующие ей [12]. В зависимости от типа команд выделяют следующие группы процессоров:
- CISC (Complex Instrucion Set Comman) – процессоры с полным набором команд;
- RISC – процессоры с сокращенным набором команд;
- VLIW (Very Length Instruction Word) – процессоры со сверхбольшими командными словами;
- MISC (Minimum Instruction Set Command) – процессоры с минимальным набором команд [9].
2.2.1. CISC-процессоры
CISC-процессоры - процессоры со сложным набором команд (см. рисунок 8) [14]. В таких процессорах команды ЦП состоят из несколькольких микрокоманд. Главное достоинство такой заключается в простоте программирования.
Команды CISC-процессоров называются макрокомандами, т.к. приводят к выполнению определенной последовательности элементарных команд [17].
Создателями CISC-процессоров принято считать разработчиков компании IBM. Свойства, присущие CISC-процессорам:
- запись арифметических операций в виде одной команды;
- переменный размер длины команды;
- относительно небольшое число регистров ЦП;
- большое количество разнообразных команд;
- большое количество методов адресации;
- преобладание двухадресного формата команд [6].
Рисунок 8 – Схема работы CISC-процессора
2.2.2. RISC-процессоры
RISC-процессоры – процессоры с сокращенным набором команд. Любая команда в таких процессорах элементарна и выполняется за один такт (см. рисунок 9).
Рисунок 9 – Схема работы RISC-процессора
Характерной чертой RISC-процессора является фиксированная длина команды – 32 или 64 бита.
Основным преимуществом RISC-процессоров является конвейеризация, которая позволяет наращивать тактовую частоту процессоров.
Яркими примерами таких процессоров служат RISC I, содержащий более 40000 транзисторов, работающий на частоте 4 МГц, способный выполнять 32 инструкции и RISC II, выполняющий 39 инструкций [10].
2.2.3. VLIW-процессоры
VLIW-процессоры построены на базе процессоров RISC, но являются суперскалярными. Команда VLIW-процессоров может состоять из 23 простейших операций, выполняющихся параллельно [11].
Узким местом таких процессоров является вопрос порядка вычисления параллельных операций. Для этих целей используется специальное ПО – планировщик, в задачи которого входит поиск всех независимых команд, преобразование их в длинные строки и отправление этих строк на исполнение [5].
2.4.4. MISC-процессоры
MISC-процессоры представляют собой архитектуру с минимальным набором длинных команд. Увеличение разрядности процессоров привело к идее укладки нескольких команд в одно большое слово, что позволило использовать увеличенную производительность ЭВМ и возможность одновременной обработки нескольких потоков данных.