- •1. Основные архитектуры эвм и их сравнительная оценка 9неймановская, Гарвардская, risc, cisc и пр.)
- •Принципы фон Неймана
- •Классическая гарвардская архитектура
- •Отличие от архитектуры фон Неймана
- •Гибридные модификации с архитектурой фон Неймана
- •Использование
- •Философия risc
- •Характерные особенности risc-процессоров
- •2. Базовая структура фон-Неймановской архитектуры эвм. Порядок выполнения команды Принцип программного управления и машина фон Неймана
- •Недостатки cisc архитектуры
- •3. Структура и форматы команд эвм
- •Форматы команд эвм
- •4. Основные способы адресации
- •Классификация способов адресации по наличию адресной информации в команде
- •Классификация способов адресации по кратности обращения в память
- •Классификация по способу формирования исполнительных адресов ячеек памяти
- •Относительная адресация
- •Стековая адресация
- •9. Иерархия памяти эвм
- •17. Контроллер прямого доступа к памяти
- •13. Ввод-вывод в программном режиме. Порт ввода-вывода.
- •16. Ввод-вывод в режиме прямого доступа к памяти
- •18. Процессоры гарвардской архитектуры: общие принципы и архитектура микроконтроллера 8051
- •Структурная организация микроконтроллера i8051.
- •2.1.1.Общие характеристики. Микроконтроллер семейства 8051 имеют следующие аппаратные особенности:
- •23. Предсказатель переходов
- •Статическое предсказание
- •Динамическое предсказание
- •24. Основные архитектуры многопроцессорных систем (окод, окмд, мкод, мкмд)
- •26. Системы массового параллелизма и многоядерные процессоры
- •25. Состояние задачи в многопрограммной (в том числе многопроцессорной) системе.
- •26. Система массового параллелизма и многоядерные процессоры: структура, организация взаимодействия.
- •21. Процессоры класса Pentium – общая архитектура, блок подготовки микрокоманд, потоки микрокоманд (на примере Pentium III)
- •12. Ввод-вывод в программном режиме: шинная архитектура, машинный цикл, командный цикл: варианты реализации механизма запрос-ответ.
- •11. Менеджер памяти. Порядок определения физического адреса.
- •8. Cisc-процессоры семейства 80х86. Блок сегментации. Формирование адреса в линейном, действительном и защищенном режимах.
- •7. Cisc-процессоры семейства 80х86. Регистровая структура операционного блока. Способы адресации(используемые в х86!!).
- •6. Cisc-процессоры семейства 80х86. Блок выборки и декорирования команд (бвдк), очередь команд. Взаимодействие бвдк, iu,fpu.
3. Структура и форматы команд эвм
Обработка информации в ЭВМ осуществляется путём программного управления.
Программа представляет собой алгоритм обработки информации, записанной в виде последовательности команд, которые должны быть выполнены машиной для получения результата.
Команда ЭВМ представляет собой код, определяющий операцию вычислительной машины и данные, участвующие в операции. В явной и неявной форме команда содержит также информацию об адресе, по которому помещается результат операции, и об адресе следующей команды.
По характеру выполняемых операций можно выделить следующие группы команд:
команды арифметических операций для чисел с фиксированной или плавающей запятой;
команды десятичной арифметики;
команды передачи данных (MOV AX, 0FFFh);
команды операций ввода/вывода (IN, OUT);
команды логических операций (AND, OR, NOT);
команды передачи управления (управление циклом – LOOP, условные переходы – JAE, JB);
команды задания режима работы машины и др.
Форматы команд эвм
В команде, как правило, содержатся не сами операнды, а информация объект адресах ячеек памяти или регистрах, в которых они находятся. Код команды можно представить состоящим из нескольких полей, каждое из которых имеет свое функциональное назначение.
В общем случае команда состоит из:
операционной части (содержит код операции);
адресной части (содержит адресную информацию о местонахождении обрабатываемых данных и месте хранения результатов).
В свою очередь, эти части, что особенно характерно для адресной части, могут состоять из нескольких полей.
Структура команды определяется составом, назначением и расположением полей в коде.
Форматом команды называется заранее оговоренная структура полей ее кода с разметкой номеров разрядов (бит), определяющих границы отдельных полей команды, или с указанием числа разрядов (бит) в определенных полях, позволяющая ЭВМ распознавать составные части кода.
Пример формата команды процессора i486.
mod r/m - спецификатор режима адресации;
r/m - регистр памяти;
SS - масштабный множитель для режима масштабирования индексной адресации;
КОП - код операции;
index - определяет индексный регистр;
base - определяет базовый регистр.
Важной и сложной проблемой при проектировании ЭВМ является выбор структуры и форматов команды, т.е. ее длины, назначения и размерности отдельных ее полей. Естественно стремление разместить в команде в возможно более полной форме информацию о предписываемой командой операции. Однако в условиях, когда в современных ЭВМ значительно возросло число выполняемых различных операций и соответственно команд (в компьютерах с CISC-архитектурой более 200 команд) и значительно увеличилась емкость адресуемой основной памяти (32, 64 Мб), это приводит к недопустимо большой длине формата команды.
Вместе с тем, для упрощения аппаратуры и повышения быстродействия ЭВМ длина формата команды должна быть по возможности короче, укладываться в машинное слово или полуслово. Решение проблемы выбора формата команды значительно усложняется в микропроцессорах, работающих с коротким словом.
Проследим изменения классических структур команд.
Чтобы команда содержала в явном виде всю необходимую информацию о задаваемой операции, она должна, как это показано на рис. 3.1 (б), содержать следующую информацию: А1, А2 - адреса операндов, А3 - адрес результата, А4 - адрес следующей команды (принудительная адресация команд).
Рис.
3.1. Структуры команд: а) обобщенная, б)
четырехадресная, в) трехадресная, г)
двухадресная, д) одноадресная, е)безадресная
Такая структура приводит к большей длине команды и неприемлема для прямой адресации операндов основной памяти. В компьютерах с RISC-архитектурой четырехадресные команды используются для адресации операндов, хранящихся в регистровой памяти процессора.
Можно установить, как это принято для большинства машин, что после выполнения данной команды, расположенной по адресу К (и занимающей L ячеек), выполняется команда из (K+L)-ой ячейки. Такой порядок выборки команды называется естественным. Он нарушается только специальными командами (передачи управления). В таком случае отпадает необходимость указывать в команде в явном виде адрес следующей команды.
В трехадресной команде (рис. 3.1, в) первый и второй адреса указывают ячейки памяти, в которых расположены операнды, а третий определяет ячейку, в которую помещается результат операции.
Можно условиться, что результат операции всегда помещается на место одного из операндов, например первого. Получим двухадресную команду (рис. 3.1, г), т.е. для результата используется подразумеваемый адрес.
В одноадресной команде (рис. 3.1, д) подразумеваемые адреса имеют уже и результат операции и один из операндов. Один из операндов указывается адресом в команде, в качестве второго используется содержимое регистра процессора, называемого в этом случае регистром результата или аккумулятором. Результат операции записывается в тот же регистр.
Наконец, в некоторых случаях возможно использование безадресных команд (рис. 3.1, е), когда подразумеваются адреса обоих операндов и результата операции, например, при работе со стековой памятью.
С точки зрения программиста, наиболее естественны и удобны трехадресные команды. Обычно в ЭВМ используется несколько структур и форматов команд разной длины. Приведенные на рис. 3.1. структуры команд достаточно схематичны. В действительности адресные поля команд большей частью содержат не сами адреса, а только информацию, позволяющую определить действительные (исполнительные) адреса операндов в соответствии с используемыми в командах способами адресации.
