Максимов Н.В., Партыка Т.Л., Попов И.И. Архитектура ЭВМ и вычислительных систем (2005) (1186253), страница 20
Текст из файла (страница 20)
Арифметические:• сложение операндов;• вычитание (сложение в обратном коде);• сравнение арифметическое (если О1 > О2, или О1 = 02, илиО1<02, то некий флаг или регистр устанавливается в 1,иначе — в 0);1.2. Длинные операции (несколько тактов):• сложение/вычитание с фиксированной точкой;• умножение/деление с фиксированной точкой.2.Операции управления:• безусловный переход (ветвление, branch);• условный переход (по условию, результатам вычислений(conditional branch)).3.Операции обращения к внешним устройствам(требование на запись или считывание информации).Естественно, могут существовать и другие операции — десятичная арифметика, обработка символьной информации, работа с числами половинной (полуслово — например, 16 бит) или двойной (двойное слово — например, 64 бит) длины.Кроме того, команды различаются по типу выборки и пересылок данных:• регистр—регистр (01 и О2 размещаются в регистрах АЛУ);• память—регистр (регистр—память) — один из операндов размещается в ОП;• память—память (О1 и О2 размещены в ОП).Далее, известны одно-, двух- и трехадресные машины (системыкоманд).
Очевидна связь таких параметров ЦУ, как длина адресногопространства, адресность, разрядность. Увеличение разрядности позволяет увеличить адресность команды и длину адреса (т. е. объемпамяти, доступной данной команде). Увеличение адресности, всвою очередь, приводит к повышению быстродействия обработки(за счет снижения числа требуемых команд).В трехадресной машине, например, сложение двух чисел требуетодной команды (извлечь число по А1, число по А2, сложить и записать результат по A3). В двухадресной необходимы две команды2.2. Процессор, структура и функционирование109(первая — извлечь число по А1 и поместить в РЧ (или сумматор),вторая — извлечь число по А1, сложить с содержимым РЧ и результат записать по А2). Легко видеть, что одноадресная машина потребует три команды.
Поэтому неудивительно, что основная тенденцияв развитии ЦУ ЭВМ состоит в увеличении разрядности.Типовая структура трехадресной команды:А1КОПА2A3где А2 и A3 — адреса ячеек (регистров), где расположены соответственно первое и второе числа, участвующие в операции; А1 — адресячейки (регистра), куда следует поместить число, полученное в результате выполнения операции.Типовая структура двухадресной команды:КОПAlA2где А1 — это обычно адрес ячейки (регистра), где хранится первоеиз чисел, участвующих в операции, и куда после завершения операции должен быть записан результат операции; А2 — обычно адресячейки (регистра), где хранится второе участвующее в операциичисло.Типовая структура одноадресной команды:КОПА1где А1 в зависимости от модификации команды может обозначатьлибо адрес ячейки (регистра), в которой хранится одно из чисел,участвующих в операции, либо адрес ячейки (регистра), куда следует поместить число — результат операции.Б е з а д р е с н а я к о м а н д а содержит только код операции, аинформация для нее должна быть заранее помещена в определенные регистры машины.Наибольшее применение нашли двухадресные системы команд.Таким образом, программирование в машинных адресах требуетзнания системы команд конкретной ЭВМ и их адресности.
Приэтом реализация даже довольно несложных вычислений требуетразложения их на простые операции, что значительно увеличиваетобщий объем программы и затрудняет ее чтение и отладку.В качестве примера рассмотрим последовательность реализациивычисления по формуле у = (а + b)1 - c/d.110Глава 2. Архитектура и структура ВМ и системПлан последовательности машинных операций, выполнение которой приведет к нужному результату, в данном случае следующий:rl = а + Ь;r2 = r l * r l ;гЗ = c/d;у = г2 - гЗ;Стоп.— операция сложения;— операция умножения;— операция деления;— операция вычитания;— завершение обработки.Здесь количество переменных, необходимых для хранения промежуточных результатов, связано с адресностью системы команд и стем, разрешено или нет в процессе вычислений изменять значенияисходных данных.Классы процессоров.
В зависимости от набора и порядка выполнения команд процессоры подразделяются на четыре класса, отражающих также последовательность развития ЭВМ. Ранее другихпоявились процессоры CISC. Затем, с целью повышения быстродействия процессоров были разработаны процессоры RISC, которые характеризуются сокращенным набором быстро выполняемыхкоманд. Ряд редко встречающихся команд процессора CISC выполняется последовательностями команд процессора RISC.
Позже появилась концепция процессоров MISC, использующая минимальныйнабор длинных команд. Вслед за ними возникли процессоры VLIW,работающие со сверхдлинными командами.C I S C ( c o m p l e x i n s t r u c t i o n s e t c o m p u t e r ) есть традиционная архитектура, в которой ЦП использует микропрограммыдля выполнения исчерпывающего набора команд. Они могут иметьразличную длину, методы адресации и требуют сложных электронных цепей для декодирования и исполнения. В течение долгих летпроизводители компьютеров разрабатывали и воплощали в изделияхвсе более сложные и полные системы команд.
Однако анализ работы процессоров показал, что в течение примерно 80 % времени выполняется лишь 20 % большого набора команд. Поэтому была поставлена задача оптимизации выполнения небольшого по числу, ночасто используемых команд.В 1974 г. John Cocke (IBM Research) решил испробовать подход,который мог бы существенно уменьшить количество машинных команд в ЦП. В середине 70-х это привело многих производителейкомпьютеров к пересмотру своих позиций и к разработке ЦП свесьма ограниченным набором команд.R I S C ( R e d u s e d I n s t u c t i o n S e t C o m p u t e r ) —процессор, функционирующий с сокращенным набором команд. Так, в2.2. Процессор, структура и функционирование111процессоре CISC для выполнения одной команды необходимо вбольшинстве случаев 10 и более тактов.
Что же касается процессоров RISC, то они близки к тому, чтобы выполнять по одной команде в каждом такте. Следует также иметь в виду, что благодаря своейпростоте процессоры RISC не патентуются. Это также способствуетих быстрой разработке и широкому производству. Между тем, в сокращенный набор RISC вошли только наиболее часто используемыекоманды.Первый процессор RISC был создан корпорацией IBM в 1979 г.и имел шифр IBM 801. В настоящее время процессоры RISC получили широкое распространение.
Современные процессоры RISC характеризуются следующим:• упрощенный набор команд, имеющих одинаковую длину;• большинство команд выполняются за один такт процессора;• отсутствуют макрокоманды, усложняющие структуру процессора и уменьшающие скорость его работы;• взаимодействие с оперативной памятью ограничивается операциями пересылки данных;• резко уменьшено число способов адресации памяти (не используется косвенная адресация);• используется конвейер команд, позволяющий обрабатывать несколько из них одновременно;• применяется высокоскоростная память.Новый подход к архитектуре процессора значительно сократилплощадь, требуемую для него на кристалле интегральной схемы.Это позволило резко увеличить число регистров. В современномпроцессоре RISC уже используется более 100 регистров.
В результате процессор на 20—30 % реже обращается к оперативной памяти,что также повысило скорость обработки данных. Упростилась топология процессора, выполняемого в виде одной интегральной схемы,сократились сроки ее разработки, она стала дешевле.Начиная с процессора Pentium корпорация Intel начала внедрять элементы RISC-технологий в свои изделия.П р о ц е с с о р M I S C — MISC processor, работающий с минимальным набором длинных команд.Увеличение разрядности процессоров привело к идее укладкинескольких команд в одно слово (связку, bound) размером 128 бит.Оперируя с одним словом, процессор получил возможность обрабатывать сразу несколько команд.
Это позволило использовать возросшую производительность компьютера и его возможность обрабатывать одновременно несколько потоков данных.112Глава 2. Архитектура и структура ВМ и системПроцессор MISC, как и процессор RISC, характеризуется небольшим набором чаще всего встречающихся команд. Вместе с этимпринцип команд VLIW обеспечивает выполнение группы команд заодин цикл работы процессора.
Порядок выполнения команд распределяется таким образом, чтобы в максимальной степени загрузить маршруты, по которым проходят потоки данных. Таким образом, архитектура MISC объединила вместе суперскалярную (многопоточную) и VLIW концепции. Компоненты процессора просты иработают с высокими скоростями.П р о ц е с с о р V L I W — процессор, работающий с системойкоманд сверхбольшой разрядности.Идея технологии VLIW заключается в том, что создается специальный компилятор планирования, который перед выполнениемприкладной программы проводит ее анализ, и по множеству ветвейпоследовательности операций определяет группу команд, которыемогут выполняться параллельно. Каждая такая группа образует однусверхдлинную команду. Это позволяет решать две важные задачи.Во-первых, в течение одного такта выполнять группу коротких(«обычных») команд.