Процесс разработки универсального процессора ЭВМ с фиксированной системой команд и форматами данными. Обоснование выбранных форматов данных. Изучение форматов команд при разработке ВМ. Использование сегментных регистров. Режимы процессора и памяти.
Аннотация к работе
Проектирование универсального процессораОбъект разработки - процессор ЭВМ с фиксированной системой команд и форматами данных, который может выполнять универсальную обработку информации. Цель работы - разработка универсального процессора с заданным быстродействием. Процессор должен удовлетворять следующему техническому заданию: - Быстродействие - 6,0 млн. оп/сек; Ширина выборки из памяти - 64 бит;Объект разработки - процессор ЭВМ с фиксированной системой команд и форматами данных, который может выполнять универсальную обработку информации.В соответствии c заданием процессор должен работать со следующими типами данных: 8-, 16-, 32-или 64-разрядные числа в формате с ФЗ и 64-разрядное слово в формате с ПЗ. Целые числа без знака представлены в прямом коде (ПК), целые числа со знаком - в дополнительном коде (ДК). Процессор не различает числа со знаком и без знака, это решает программист. Ниже рассмотрены используемые форматы данных: 1) Байт без знака. Диапазон представления чисел от 0 до 255 (рисунок 1 а).С другой стороны, способ задания адресов должен способствовать максимальному сближению конструктов языка программирования высокого уровня и машинных команд. Все это привело к тому, что в архитектуре системы команд предусмотрены несколько способов адресации операндов. Не требуется дополнительного обращения к памяти для вызова операнда, однако таким способом можно работать только с константами, и число значений ограничено размером адресного поля команды. Этот способ адресации используется в случаях, когда операнд находится в одном из регистров общего назначения. Этот способ адресации используется в случаях, когда операнд находится в памяти, а его адрес находится в одном из регистров общего назначения.С одной стороны целесообразна минимизация формата команды, что позволит сократить место в памяти для хранения программ и время выборки команды из памяти, однако при этом усложняется процесс декодирования команды. Следовательно, достижение минимального размера команды должно уравниваться со временем, затрачиваемым на декодирование и выборку команды. Чтобы обеспечить гибкости системы команд с точки зрения программирования, но в то же время, исключить слишком длинные инструкции, решено ввести 3 основных формата команд: 2-х, 1-но и безадресные, что позволяет оптимально закодировать все команды, наиболее полно используя код операции (КОП). Операционная часть команды одинакова для всех команд, но в разных форматах могут отсутствовать некоторые поля, которые используются в качестве дополнительных бит кода операции (КОП). Ф (2 бита: 9,8) - разрядность операндов: 00 - 8 бит, 01 - 16 бит, 10 - 32 бит, 11 - 64 бит;Согласно ТЗ, процессор должен быть универсальным, поэтому в систему команд должны входить команды для решения широкого круга задач. Таблица 5: Код операции Мнемоника Описание Таблица 6: Код операции Мнемоника Описание Таблица 7: Код операции Мнемоника Описание Таблица 8: Код операции Мнемоника ОписаниеРазрядность РОН определяется максимальной разрядностью данных, обрабатываемых устройством. Каждый из РОН может быть использован в арифметико-логических операциях. Так как в проектируемом устройстве используются данные разрядности также 8, 16, 32 в РОН’ах есть возможность адресации к младшим 16 битам, поделенным на восьмибитные поля, и к младшим 32 битам. Рисунок 8 - Формат регистров общего назначения: Все РОН могут участвовать в арифметико-логических операциях. Вместе с тем каждый РОН имеет свою специальную функцию, что позволяет уменьшить разрядность команд и повысить, в некоторых случаях, быстродействие.Указатель инструкций IP (16 разрядов) содержит смещение следующей исполняемой инструкции относительно базы сегмента кода. IP находится в РОН и может быть прочитан или перезагружен как и другие регистры. Рисунок 9 - Указатель инструкций: В состав архитектуры процессора входит 16-ти разрядный регистр слова состояния ПР PSW (рисунок 10). Слово состояния находится в УУВС, чтобы было проще поддерживать соответствие флагов операций в PSW и ОУ. M - устанавливается текущий режим работы ПР (0 - реальный режим, 1 - защищенный режим);Сегментные регистры содержат 16-битные базовые адреса (в реальном режиме) или селекторы (в защищенном режиме) сегментов CS (сегмент кодов команд); SS (сегмент стека); DS (сегмент данных); ES - дополнительный сегмент. Использование сегментных регистров определяется типом обращения к памяти. С каждым из 4-х сегментных регистров связаны программно-недоступные теневые регистры дескрипторов (в защищенном режиме), автоматически загружаемые при загрузке соответствующих селекторов сегмента. Рисунок 11-Использование сегментных регистров: а) - защищенный режим, б) - реальный режим: Базовый адрес определяет сегмент в памяти (при реальном режиме), размером от 64Кб до 1Мб.
План
Содержание
Введение
1. Постановка задачи
2. Разработка архитектуры процессора
2.1 Выбор и обоснование форматов данных
2.2 Выбор способов адресации
2.3 Выбор форматов команд
2.4 Разработка системы команд
2.5 Определение внутренних регистров процессора
2.5.1 Регистры общего назначения
2.5.2 Управляющие регистры
2.5.3 Регистры сегментов
2.5.4 Регистры системных адресов
3. Разработка функциональных схем отдельных устройств