
- •Определение понятий вычислительная машина, вычислительная система, архитектура вычислительной системы
- •Уровни детализации структуры вычислительной машины
- •Эволюция вычислительных систем
- •Основные принципы организации эвм по Дж. Фон Нейману
- •Многоуровневая компьютерная организация
- •Подпрограммы. Использование стека при вызове подпрограмм и возврате из них.
- •Принцип локальности по обращению к памяти и его составляющие
- •Иерархия запоминающих устройств
- •Основная память
- •Расширение понятия «адресное пространство» в процессе развития компьютерной техники
- •Логическая структура основной и виртуальной памяти
- •Механизм отображения виртуальных адресов в физические
- •Страничная таблица и карта диска
- •Вызов страниц по требованию и рабочее множество
- •Политика замещения страниц
- •Техническая организация системы ввода-вывода
- •45.Предпосылки совершенствования архитектуры эвм, представление о вычислительных системах.
- •Способы межмодульного комплексирования
- •Кластерные системы
- •Архитектуры с полным и сокращенным набором команд (cisc, risc)
Архитектуры с полным и сокращенным набором команд (cisc, risc)
Команды CISC- и RISC-архитектуры CISC и RISC архитектуры являются основными архитектурами команд современных ЭВМ. Основоположником CISC-архитектуры (Complete Instruction Set Computer - компьютер с полным набором команд) считается фирма IBM с архитектурой IBM/360.
Стратегия CISC-архитектурыСтратегия CISC-архитектуры формировалась в большой степени по желанию программистов иметь в своем распоряжении как можно больший набор команд для упрощения программирования. За первое десятилетие компьютерной эры список команд ЭВМ расширился от нескольких десятков (ЭВМ Урал-1 имел 32 команды) до нескольких сотен (модели семейства IBM/370 используют около 200 команд). Лидером в разработке CISC-процессоров считается компания Intel.
Для CISC-процессоров характерно:небольшое число регистров общего назначения;большое количество машинных команд, наличие сложных (многотактных) команд, функционально аналогичных операторам языков программирования высокого уровня,большое количество способов адресации, большое количество форматов команд различной разрядности, преобладание двухадресного формата команд, наличие команд обработки типа регистр-память.
Использование CISC-архитектуры упрощает компиляцию программ и уменьшает размеры исполняемых модулей. В какой то мере, архитектура CISC позволила фирме Intel занять на массовом рынке относительно недорогих PC ведущее положение. Но в архитектуре CISC плохо реализуются новейшие технические решения по повышению быстродействия процессоров. Это использование конвейерной, суперконвейерной и суперскалярной обработки, позволяющей в один и тот же момент времени выдавать на выполнение несколько команд.
Стратегия RISC архитектуры
Основой современных высокопроизводительных ЭВМ (рабочие станции, супер-ЭВМ и т.д.) является архитектура RISC (Reduced Instruction Set Computer - компьютер с сокращенным набором команд). использование в программе только простых команд в формате регистр-регистр позволяет увеличить скорость выполнения большинства вычислительных задач в 2-3 раза. Кроме этого, было замечено, что 80% кода программ содержат 20% простейших команд. Было доказано, что удаление из системы команд сложных операций позволяет уменьшить объём аппаратуры процессора примерно в 10 раз без ощутимого снижения быстродействия.В первых ЭВМ главными требованиями архитектуры RISC являлись следующие:1. Любая операция должна выполняться за один такт.2. Система команд должна содержать минимальное количество наиболее часто используемых команд одинаковой длины.3. Операции обработки данных реализуются только в формате регистр-регистр. Обмен между регистрами и памятью выполняется только командами загрузки-записи.В дальнейшем эти требования были несколько смягчены. Выполнение команды за один такт стало трактоваться как загрузка конвейера команд в темпе "команда за такт". Набор команд современных RISC-процессоров возрос и содержит до 150 команд и более. Незыблемым для архитектуры RISC остается только требование: обработка данных ведется только командами в формате регистр-регистр.Среди других особенностей RISC архитектур следует отметить:наличие достаточно большого файла РОНов (32 и более регистров),
для обработки используются трехадресные регистровые команды,
команды регистр-память используются только для загрузки (Ld) РОНов из памяти и сохранения (ST) содержимого РОНов в памяти,
как следствие упрощения команд, использование аппаратной, а не микропрограммной логики выполнения команд,
VLIW – архитектуры
VLIW (англ. very long instruction word — «очень длинная машинная команда») — архитектура процессоров с несколькими вычислительными устройствами. Характеризуется тем, что одна инструкция процессора содержит несколько операций, которые должны выполняться параллельно. Фактически это «видимое программисту» микропрограммное управление, когда машинный код представляет собой лишь немного свёрнутый микрокод для непосредственного управления аппаратурой. Подход VLIW сильно упрощает архитектуру процессора, перекладывая задачу распределения вычислительных устройств на компилятор. Поскольку отсутствуют большие и сложные узлы, сильно снижается энергопотребление.
В то же время, код для VLIW обладает невысокой плотностью. Из-за большого количества пустых инструкций для простаивающих устройств программы для VLIW-процессоров могут быть гораздо длиннее, чем аналогичные программы для традиционных архитектур.
Архитектура VLIW выглядит довольно экзотической и непривычной для программиста. Из-за сложных внутренних зависимостей кода, программирование на уровне машинных кодов для VLIW-архитектур человеком вручную является достаточно сложным. Приходится полагаться на оптимизацию компилятора.
Аппаратно-программный комплекс VLIW
Архитектура VLIW представляет собой одну из последних реализаций концепции внутреннего параллелизма в микропроцессорах. Их быстродействие можно повысить двумя способами: увеличив либо тактовую частоту, либо количество операций, выполняемых за один такт. В первом случае требуется изобретение "быстрых" технологий (например, использование арсенида галлия или кремния на сапфире) и применение таких архитектурных решений, как глубинная конвейеризация (конвейеризация в пределах одного такта, когда в каждый момент времени задействован весь кристалл, а не отдельные его части). Для увеличения количества выполняемых за один цикл операций необходимо на одной микросхеме разместить множество функциональных модулей обработки и обеспечить надежное параллельное исполнение машинных инструкций, что дает возможность включить в работу все модули одновременно. Надежность в таком контексте означает, что результаты вычислений будут правильными. Планирование порядка вычислений v довольно трудная задача, которую приходится решать при проектировании современного процессора. В суперскалярных процессорах (процессор с двумя и более конвейерами, что позволяет выполнять более одной команды за один такт в идеальных условиях) для распознавания зависимостей между машинными инструкциями применяется специальное довольно сложное аппаратное решение (в процессоре Pentium Pro, например, для этого используется буфер переупорядочивания инструкций, ROB v ReOrder Buffer). Однако размеры такого аппаратного планировщика при увеличении количества функциональных модулей обработки возрастают в геометрической прогрессии, что, в конце концов, может "съесть" весь кристалл процессора. Поэтому суперскалярные проекты "завязли" на отметке пять-шесть управляемых за цикл инструкций. При другом подходе можно передать все планирование программному обеспечению, как это делается в конструкциях с VLIW. "Умный" компилятор должен выискать в программе все инструкции, которые являются совершенно независимыми, собрать их вместе в очень длинные строки (длинные инструкции) и затем отправить на одновременное исполнение функциональными модулями, количество которых строго равно количеству операций в такой длинной инструкции. Очень длинные инструкции обычно имеют размер от 256bit до 1024bit. Размер полей, кодиру-ющих операции для каждого функционального модуля, в такой метаинструкции намного меньше.