Автор работы: Пользователь скрыл имя, 19 Марта 2014 в 06:15, лекция
Хотя срок, прошедший со времени создания первой ЭВМ, и достаточно большой, однако вопросы терминологии в этой области пока что не нашли своего полного и окончательного решения. Рассмотрим наиболее распространенные определения основных терминов в области ЭВМ и вычислительных систем (ВС).
Вычислительная машина (ВМ, Computer) — совокупность технических средств, создающая возможность проведения обработки информации и получения результата в необходимой форме. В состав ВМ входит и системное программное обеспечение (ПО).
В большинстве RISC-процессоров команды являются трехадресными:
КОП – код операции.
Усл – бит условия (для команд переходов).
Dest – номер регистра назначения (длина пять бит – NPOH = 32).
SRC1 – номер регистра-источника 1.
SRC2 – номер регистра или непосредственного значения источника 2:
если IMM = 1, то SRC2 – непосредственное данное,
если IMM = 0, то SRC2 – регистр.
Проблемы множественных регистров в RISC и пути их разрешения. Арифметические особенности RISC. Сравнение RISC и CISC.
Проблема заключается в том, что в процессе выполнения задачи RISC-система неоднократно вынуждена обновлять содержимое регистров процессора, причем за минимальное время, чтобы не вызвать длительных простоев арифметического устройства. Для CISC-систем подобной проблемы не существует, поскольку модификация регистров может происходить на фоне обработки команд формата «память – память».
Существует два подхода к решению проблемы модификации регистров в RISC - архитектуре: аппаратный и программный. Принципиальная разница между ними заключается в том, что аппаратное решение основано на стремлении уменьшить время вызова процедур за счет установки дополнительного оборудования процессора, тогда как программное базируется на возможностях компилятора и является более экономичным с точки зрения аппаратуры центрального процессора. В RISC-архитектуре используется механизм переключения множественных перекрывающихся регистровых окон – MORS (Multiple Overlapping RegisterSets), в соответствии с которым процессор содержит 138 регистров для хранения данных. Из них десять, именуются глобальными. Остальные 128 регистров разбиты на восемь перекрывающихся окон по 22 регистра. Идея структуры MORS заключается в минимизации затрат процессорного времени при обращении к процедурам. Для этого каждое из восьми окон связано с конкретной процедурой, а регистры окна разделены на верхние, локальные и нижние. При вызове процедуры В из процедуры А активное окно регистрового файла смещается на шесть позиций так, что верхние регистры процедуры A перекрываются нижними регистрами процедуры B. Перекрывающиеся зоны окон - это физически одни и те же регистры, доступные обеим процедурам. Они используются для передачи параметров, адресов возврата и позволяют обращаться к процедуре, не обмениваясь данными с оперативной памятью. Однако структура MORS обладает двумя недостатками – оптимальное размещение процедур по окнам регистрового файла является далеко не тривиальной задачей для ОС, а выбранное число из восьми процедур, сохраняемых в регистровом файле, представляется, скорее, эмпирическим значением. Можно найти множество примеров, когда задача включает существенно большее количество процедур и при этом возникает реальная проблема модификации одного или нескольких окон для активизации процедур, сохраняемых в оперативной памяти.
Во многих программах глубина вложенности процедур превышает число регистровых окон, поэтому в МП с берклийской архитектурой освобождение регистровых банков при переполнении регистрового файла осуществляется путем передачи их содержимого в память. Если глубина вложенности выходит за пределы логических наборов регистров, содержащихся в регистровом файле, то начинается программная или аппаратная обработка прерывания. Содержимое нескольких регистров передается в память, в отдельной области которой организован стек переполнения регистров. Сигналы переполнения перемещают указатель стека на его вершину.
Некоторые архитектуры, специально разработанные для минимизации количества инструкций, сильно отличаются от классических RISC-архитектур и получили другие названия: Minimal instruction set computer (MISC) «минимальный набор команд компьютера» Увеличение разрядности процессоров привело к идее укладки нескольких команд в одно большое слово (связку, bound). Это позволило использовать возросшую производительность компьютера и его возможность обрабатывать одновременно несколько потоков данных.
Процессоры, образующие «компьютеры с минимальным набором команд» (MISC), как и процессоры RISC, характеризуются небольшим числом чаще всего встречающихся команд. Вместе с этим, принцип «очень длинных командных слов» (VLIW) обеспечивает выполнение группы непротиворечивых команд за один цикл работы процессора. Порядок выполнения команд распределяется таким образом, чтобы в максимальной степени загрузить маршруты, по которым проходят потоки данных. Таким образом архитектура MISC объединила вместе суперскалярную и VLIW-концепции («очень длинная машинная команда» — архитектура процессоров с несколькими вычислительными устройствами. Характеризуется тем, что одна инструкция процессора содержит несколько операций, которые должны выполняться параллельно. В суперскалярных процессорах также есть несколько вычислительных модулей, но задача распределения между ними работы решается аппаратно. Это сильно усложняет дизайн процессора, и может быть чревато ошибками. В процессорах VLIW задача распределения решается во время компиляции и в инструкциях явно указано, какое вычислительное устройство должно выполнять какую команду.
VLIW можно считать логическим продолжением идеологии RISC, расширяющей её на архитектуры с несколькими вычислительными модулями. Так же, как в RISC, в инструкции явно указывается, что именно должен делать каждый модуль процессора. Из-за этого длина инструкции может достигать 128 или даже 256 бит. Подход VLIW сильно упрощает архитектуру процессора, перекладывая задачу распределения вычислительных устройств на компилятор. Поскольку отсутствуют большие и сложные узлы, сильно снижается энергопотребление.
В то же время, код для VLIW обладает невысокой плотностью. Из-за большого количества пустых инструкций для простаивающих устройств программы для VLIW-процессоров могут быть гораздо длиннее, чем аналогичные программы для традиционных архитектур.
Архитектура VLIW выглядит довольно экзотической и непривычной для программиста. Из-за сложных внутренних зависимостей кода, программирование на уровне машинных кодов для VLIW-архитектур человеком вручную является достаточно сложным. Приходится полагаться на оптимизацию компилятора. Микропроцессор Intel Itanium имеет 64-битную систему команд «с явным параллелизмом», которая является одним из вариантов VLIW.
МВК «Эльбрус-3» и микропроцессоры серии «Эльбрус» («Эльбрус 2000», «Эльбрус S») являются VLIW-процессорами. Компоненты процессора просты и работают на высоких частотах.
Zero instruction set computer (ZISC) (компьютер с нулевым набором команд) — архитектура процессора, основанная на таких технологиях, как сопоставление с образцом (метод анализа списков или других структур данных на наличие в них заданных образцов). В отличие от распознавания образов — образец в данном случае задан жёстко, к примеру с помощью регулярных выражений. Используется, в частности, для обработки алгебраических типов данных и, таким образом, реализован в некоторых популярных функциональных языках программирования, например, Haskell и ML. Архитектура характеризуется отсутствием микрокоманд в привычном для микропроцессоров понимании. ZISC — это технология, основанная на идеях, позаимствованных из нейросетей. Для ZISC характерна аппаратная параллельная обработка данных, подобно тому как это происходит в настоящих нейросетях. Эта концепция была разработана Guy Paillet.
One instruction set computer (OISC) предельный случай процессора типа RISC , в котором выполняется только один тип инструкций: обычно это «reverse-subtract and skip if borrow», что означает «вычесть и пропустить следующую инструкцию, если вычитаемое было больше уменьшаемого» соответственно. Аналогичная концепция, основанная именно на «subtract and branch unless positive» — «вычесть и перейти, если результат не положительный», называется SUBLEQ. Также возможен вариант, при котором доступна только одна инструкция — пересылка (move), а для выполнения операций используется АЛУ, размещенное в памяти.
Transport triggered architecture (TTA) и т. п.
Характерные особенности RISC-процессоров
- Фиксированная длина машинных инструкций (например, 32 бита) и простой формат команды.
- Специализированные команды для операций с памятью — чтения или записи. Операции вида «прочитать-изменить-записать» отсутствуют. Любые операции «изменить» выполняются только над содержимым регистров (т. н. архитектура load-and-store).
- Большое количество регистров общего назначения (32 и более).
- Отсутствие поддержки операций вида «изменить» над укороченными типами данных — байт, 16-битное слово. Так, например, система команд DEC Alpha содержала только операции над 64-битными словами, и требовала разработки и последующего вызова процедур для выполнения операций над байтами, 16- и 32-битными словами.
- Отсутствие микропрограмм внутри самого процессора. То, что в CISC процессоре исполняется микропрограммами, в RISC процессоре исполняется как обыкновенный (хотя и помещённый в специальное хранилище) машинный код, не отличающийся принципиально от кода ядра ОС и приложений. Так, например, обработка отказов страниц в DEC Alpha и интерпретация таблиц страниц содержалась в так называемом PALCode (Privileged Architecture Library), помещённом в ПЗУ. Заменой PALCode можно было превратить процессор Alpha из 64-битного в 32-битный, а также изменить порядок байтов в слове и формат входов таблиц страниц виртуальной памяти.
Как оказалось в начале 1990-х годов, RISC-архитектуры позволяют получить большую производительность, чем CISC, за счёт использования суперскалярного и VLIW-подхода, а также за счёт возможности серьёзного повышения тактовой частоты и упрощения кристалла с высвобождением площади под кэш, достигающую огромных емкостей. Также RISC-архитектуры позволили сильно снизить энергопотребление процессора за счёт уменьшения числа транзисторов. Первое время RISC-архитектуры с трудом принимались рынком из-за отсутствия программного обеспечения для них. Эта проблема была быстро решена переносом UNIX-подобных операционных систем (SunOS) на RISC-архитектуры.
В настоящее время многие архитектуры процессоров являются RISC-подобными, к при-меру, ARM, DEC Alpha, SPARC, AVR, MIPS, POWER и PowerPC. Наиболее широко используемые в настольных компьютерах процессоры архитектуры x86 ранее являлись CISC-процессорами, однако новые процессоры, начиная с Intel 486DX, являются CISC-процессорами с RISC-ядром. Эти процессоры непосредственно перед исполнением преобразуют CISC-инструкции x86-процессоров в более простой набор внутренних инструкций RISC.
После того, как процессоры архитектуры x86 были переведены на суперскалярную RISC-архитектуру, можно сказать, что подавляющее большинство существующих ныне процессоров основаны на архитектуре RISC.
РАЗДЕЛ 3. СТРУКТУРА АППАРАТНОЙ ЧАСТИ ЦЕНТРАЛЬНОГО УСТРОЙСТВА
Ранее, при рассмотрении обобщенной структуры ЭВМ, отмечалось, что основным устройством, непосредственно осуществляющим переработку поступающей в ЭВМ информации, является процессор (в больших ЭВМ – центральный процессор). Естественно, что конкретные типы ЭВМ содержат в своем составе процессоры, построенные по различным схемам. Однако основные принципы построения процессоров, в общем-то, одинаковые, причем наиболее наглядно их можно продемонстрировать на примере простейшего микропроцессора.
Действия над числами (сложение, вычитание, умножение), представленными в различной форме осуществляются с помощью элементарных операций, выполняемых в определенной последовательности.
К таким элементарным операциям относятся:
- запись числа в регистр;
- инвертирование содержимого разрядов регистра;
- пересылка содержимого регистров;
- сдвиг содержимого регистра;
- сложение кодов;
- поразрядные логические операции или анализ разрядов;
- операция счета с+1 или с-1 (инкремент или декремент).
Пример.
Операция умножения реализуется с помощью:
- анализа разряда множителя;
- суммирования;
- сдвига.
Все эти действия выполняются в процессоре, который состоит из двух устройств – операционного (ОУ) и управляющего (УУ).
ОУ – выполняет указанные элементарные операции.
УУ – управляет ОУ, задавая необходимую последовательность выполнения этих операций. Это соответствует принципу В.М. Глушкова, что в любом устройстве обработки цифровой информации можно выделить операционный и управляющий блоки. В качестве узлов УУ и ОУ включают в себя регистры, счетчики, сумматоры, мультиплексоры, дешифраторы и т.д. Обобщенная структура любого процессора изображена на рисунке.
Каждая элементарная операция, выполняемая в одном из узлов ОУ в течение одного тактового периода, называется микрооперацией. В определенные тактовые периоды одновременно могут выполняться несколько микроопераций, например: R2 ← 0, Сч ← (Сч) – 1 и т.д. Такая совокупность непротиворечивых микроопераций называется микрокомандой, а набор микрокоманд, предназначенный для решения задачи, называется микропрограммой.
Если в ОУ предусмотрена возможность выполнения n различных микроопераций, то из УУ должно выходить n управляющих цепей S1,...,Sn, каждая из которых соответствует своей микрооперации. В силу того что УУ определяет микропрограмму, оно получило название микропрограммного автомата. Соответственно ОУ часто называют операционным автоматом.
Формирование управляющих сигналов S1,...,Sn может зависеть как от внешних сигналов КОП, так и от состояния узлов ОУ, определяемого осведомительными сигналами признаков состояния P1,...,Pm, поступающими с выхода ОУ на соответствующие входы УУ.
Как уже отмечалось, ОУ выполняет над исходными данными различные арифметические и логические операции, поэтому ОУ наиболее часто называют АЛУ.
Деление любого процессора на программный и операционный автоматы достаточно очевидно и не вызывает особых трудностей в понимании. Однако структурные схемы даже простейших реальных процессоров, помимо АЛУ и УУ, содержат еще ряд узлов (регистров, счетчиков, дешифраторов), которые вроде бы не относятся ни к АЛУ, ни к УУ.
Информация о работе Терминология в области ЭВМ, ВС и комплексов