Функциональный состав микро-ЭВМ, разработка системы команд. Описание взаимодействия всех блоков электронно-вычислительной машины при выполнении команд программы. Арифметико-логическое устройство, кэш-память процессора, функциональное моделирование.
Аннотация к работе
Архитектура вычислительной машины - это концептуальная структура вычислительной машины, определяющая проведение обработки информации и включающая методы преобразования информации в данные и принципы взаимодействия технических средств и программного обеспечения. Различие заключается в структуре памяти: в принстонской архитектуре программы и данные хранятся в одном массиве памяти и передаются в процессор по одному каналу, тогда как гарвардская архитектура предусматривает отдельные хранилища и потоки передачи для команд и данных. В общем случае, когда говорят об архитектуре фон Неймана , подразумевают физическое отделение процессорного модуля от устройств хранения программ и данных. В статье обосновывалось использование двоичной системы для представления данных в ЭВМ (преимущественно для технической реализации, простота выполнения арифметических и логических операций - до этого машины хранили данные в десятичном виде), выдвигалась идея использования общей памяти для программы и данных. Имя фон Неймана было достаточно широко известно в науке того времени, что отодвинуло на второй план его соавторов, и данные идеи получили название «принципы фон Неймана».Данный элемент сообщает блоку выборки команды (COMANDFETCH) адрес, по которому необходимо загрузить следующую команду, либо выполнить прыжок по определенному адресу. Если по неверному предсказанию, например, не выполнен прыжок по команде условного перехода, то данный блок укажет адрес, с которого необходимо продолжить работу конвейера после очистки. Проверяется наличие необходимой команды в кэше команд, при ее отсутствии выполняется ее выборка из памяти, с дальнейшим сквозным отображением на кэш. Арбитр доступа к кэшу команд (COMMANDCACHEARBITER).Предоставляет доступ к кэшу со стороны блока выборки команд и блока записи результата. В результате работы данного элемента на блок выборки операндов поступает следующая информация: код операции, режим адресации (прямая либо прямая регистровая), адреса первого и второго операндов, а также адрес регистра, в который необходимо сохранить результат.Так как в системе используется 2 типа адресации, то необходимо иметь 2 различные интерпретации битов команды. Например, пока выбранная команда дешифрируется в декодере, блок выборки команд уже выбирает следующую команду. Затем блок посылает запрос на доступ к кэш арбитру кэша команд и приостанавливает свою работу, пока арбитр не пришлет разрешение на поиск в кэш данной команды. Если кэш возвращает сигнал Hit=1, что сигнализирует о наличие там данной команды, то результат работы данного блока готов, и он передается декодеру для дешифрации. Размер команды - 4 байта, но блок буферизировал 8 байт (2 команды), так как, размер одной строки кэш равен 8 байтам и, следую принципу локальности данных, можно предположить, что следующей командой будет команда, находящаяся в памяти непосредственно за текущей.Размер шины адреса составляет 16 бит, следовательно, возможно адресовать память объемом 216=65536 слов, каждое из которых имеет размер в 1 байт, так как размер шины данных по условию равен 8 битам. На рисунке 2.1 можно увидеть, что память имеет 4 входа и 1 выход: - data[7..0] - шина данных, по которой подаются данные для записи по адресу address[14..0]; wren-вход разрешения записи, 1 - запись разрешена, 0 - запрещена; Работа с память осуществляется блоком выборки команд, блоком выборки операндов и блоком записи результата. Арбитру на вход поступает запрос доступа, если их несколько, то доступ разрешается в соответствии с приоритетом: высший приоритет у блока выборки команды, затем блок выборки операндов и блок записи результата.В системе организована концепция квитирования, когда каждый модуль сообщает предыдущий и последующий об окончании определенного этапа обработки.Помимо указания адреса следующей команды, который мог определять и сам блок выборки команды, он отвечает за сохранения адреса возврата в случае ошибки предсказания и очистки конвейера. ALLOWJUMP-сигнал от АЛУ, указывающий, что предсказание по условному переходу было ошибочным и необходимо сделать прыжок там, где его не сделали, либо вернуться по определенному адресу там, где был выполнен прыжок; LOADNEXT-сигнал, поступающий от блока выборки команд после того, как они закончили обработку очередной команды, таким образом, блок извещает счетчик команд и готовности принять следующий адрес;Блок выборки команд представляет собой схему, которая получает от счетчика команд адрес текущей команды, вычисляет адрес следующей команды и отправляет его обратно. Сначала предпринимается попытка найти команду в кэш, затем в памяти. Если команды не было в кэш, то она кэшируется для дальнейшего использования. Особенностью здесь является то, что команды выбираются по 2, так как строка кэш в 2 раза больше размера команды, и последующая команда будет находиться в более быстрой памяти, следовательно, получается прирост скорости работы процессора.Он имеет довольно простое устройство и алгоритм его работы таков: подождать освобождения сигнала готовно
План
Содержание
Введение
1. Разработка общей структуры МИКРОЭВМ
1.1 Функциональный состав МИКРОЭВМ
1.2 Разработка системы команд
1.3 Описание взаимодействия всех блоков МИКРОЭВМ при выполнении команд программы
2. Разработка основных устройств МИКРОЭВМ
2.1 Запоминающие устройства
2.2 Устройство управления
2.2.1Счетчик команд
2.2.2 Блок выборки команд
2.2.3 Блок декодирования
2.2.4 Блок выборки операндов
2.2.5 Блок выполнения (OPERATIVEBLOCK)
2.2.6Блок стековой памяти
2.3 Арифметико-логическое устройство
2.3.1 Логическое построение АЛУ и блок РОНОВ
2.3.2 Реализация арифметических и логических операций
2.4 Организация кэш-памяти процессора
2.5 Описание схемы предсказания переходов
2.6 Описание арбитров
3. Функциональное моделирование
3.1 Пример программы
3.2 Временная диаграмма работы всего устройства
4. Анализ и оптимизация разработанной МИКРОЭВМ
4.1 Конвейерное выполнение фаз последовательностей команд
Заключение
Введение
Архитектура вычислительной машины - это концептуальная структура вычислительной машины, определяющая проведение обработки информации и включающая методы преобразования информации в данные и принципы взаимодействия технических средств и программного обеспечения.
В настоящее время наибольшее распространение в ЭВМ получили 2 типа архитектуры: принстонская (фон Неймана ) и гарвардская . Обе они выделяют 2 основных узла ЭВМ: центральный процессор и память компьютера . Различие заключается в структуре памяти: в принстонской архитектуре программы и данные хранятся в одном массиве памяти и передаются в процессор по одному каналу, тогда как гарвардская архитектура предусматривает отдельные хранилища и потоки передачи для команд и данных.
Разрабатываемая МИКРОЭВМ должна иметь принстонскую архитектуру (фон Неймана). Архитектура фон Неймана - широко известный принцип совместного хранения программ и данных в памяти компьютера . Вычислительные системы такого рода часто обозначают термином «машина фон Неймана », однако, соответствие этих понятий не всегда однозначно. В общем случае, когда говорят об архитектуре фон Неймана , подразумевают физическое отделение процессорного модуля от устройств хранения программ и данных.
В 1946 году трое ученых: Артур Беркс , Герман Голдстайн и Джон фон Нейман , опубликовали статью «Предварительное рассмотрение логического конструирования электронного вычислительного устройства». В статье обосновывалось использование двоичной системы для представления данных в ЭВМ (преимущественно для технической реализации, простота выполнения арифметических и логических операций - до этого машины хранили данные в десятичном виде), выдвигалась идея использования общей памяти для программы и данных. Имя фон Неймана было достаточно широко известно в науке того времени, что отодвинуло на второй план его соавторов, и данные идеи получили название «принципы фон Неймана».
- Принцип двоичного кодирования. Для представления данных и команд используется двоичная система счисления.
- Принцип однородности памяти. Как программы (команды), так и данные хранятся в одной и той же памяти (и кодируются в одной и той же системе счисления - чаще всего двоичной ). Над командами можно выполнять такие же действия, как и над данными.
- Принцип адресуемости памяти. Структурно основная память состоит из пронумерованных ячеек; процессору в произвольный момент времени доступна любая ячейка.
- Принцип последовательного программного управления. Все команды располагаются в памяти и выполняются последовательно, одна после завершения другой, в последовательности, определяемой программой.
- Принцип жесткости архитектуры. Неизменяемость в процессе работы топологии, архитектуры, списка команд.
Компьютеры, построенные на этих принципах, относят к типу фон-неймановских.
В более подробное описание, определяющее конкретную архитектуру, также входят: структурная схема ЭВМ, средства и способы доступа к элементам этой структурной схемы, организация и разрядность интерфейсов ЭВМ, набор и доступность регистров, организация памяти и способы ее адресации, набор и формат машинных команд процессора, способы представления и форматы данных, правила обработки прерываний.
По перечисленным признакам и их сочетаниям среди архитектур выделяют: - По разрядности интерфейсов и машинных слов: 8-, 16-, 32-, 64-, 128- разрядные (ряд ЭВМ имеет и иные разрядности);
- По особенностям набора регистров, формата команд и данных: CISC , RISC , VLIW ;
- По количеству центральных процессоров: однопроцессорные, многопроцессорные , суперскалярные .
Необходимо спроектировать МИКРОЭВМ со следующими характерными особенностями: - Ширина шины данных - 8 бит, адреса - 16 бит, следовательно, ЭВМ будет 8-разрядной;
- Процессор имеет фиксированную длину машинных инструкций (32 бита) и простой формат команд; так как в системе реализована прямая и прямая регистровая адресации, то возможно выполнение инструкций, которые обращаются непосредственно к данным в памяти (относится к прямой адресации); для операций с памятью доступны команды load-store; система имеет 28 регистров общего назначения, такое большое количество регистров характерно для RISC-процессоров, в CISC-процессорах их меньше и они выполняют строго определенные функции. Таким образом, реализуемая МИКРОЭВМ соответствует процессорам с RISC архитектурой, за исключением присутствия в системе прямой адресации, не характерной для процессоров данного типа.