Автор работы: Пользователь скрыл имя, 06 Февраля 2014 в 11:24, курсовая работа
В настоящее время существуют две тенденции в проектировании средств вычислительной техники: во-первых, разработка устройств, специализированных ЭВМ на основе микропроцессорных средств, во-вторых, реализация ЭВМ с использованием СБИС программируемых логических матриц, матриц программируемых логических элементов, программируемых логических интегральных схем (ПЛИС) и базовых матричных кристаллов.
В настоящее время существуют две тенденции в проектировании средств вычислительной техники: во-первых, разработка устройств, специализированных ЭВМ на основе микропроцессорных средств, во-вторых, реализация ЭВМ с использованием СБИС программируемых логических матриц, матриц программируемых логических элементов, программируемых логических интегральных схем (ПЛИС) и базовых матричных кристаллов. Построение ЭВМ на СБИС связано не только с комплексированием микропроцессорных средств в систему, что отражает первую тенденцию проектирования, но и с применением современных методов логического синтеза арифметико-логических и управляющих устройств, размещаемых на СБИС, а также методов оценки результатов проектирования. В связи с этим подготовка инженеров – системотехников по специальности ЭВМ включает вопросы изучения методики системотехнического и логического проектирования ЭВМ и самостоятельную разработку устройств машины в рамках дисциплины «Организация ЭВМ, комплексов и систем».
1. Цель курсового проектирования
Целью курсового проектирования является освоение методики проектирования и разработки операционных и управляющих устройств ЭВМ, а также подготовки технической документации на эти устройства. Объектом курсового проектирования является специализированное вычислительное устройство, включающее процессор и запоминающее устройство. Процессор проектируется для заданного списка команд и должен удовлетворять заданным требованиям технического задания.
2. Задание на курсовое проектирование
Вариант задания №7
Исходные данные для проектирования описаны в таблице 1
Таблица 1 – Задание на курсовое проектирование
Список операций, выполняемых устройством, должен быть следующим:
арифметические операции:
сложение;
вычитание;
умножение;
деление;
логические операции:
дизъюнкция;
конъюнкция;
сложение по модулю два;
условный переход по значению >0;
условный переход по значению <0;
условный переход по значению =0;
условный переход по переполнению;
безусловный переход;
вызов подпрограммы;
возврат из подпрограммы;
операции с запоминающим устройством:
запись в запоминающее устройство;
чтение из запоминающего устройства;
операции со стеком:
запись;
чтение;
сложение со стеком;
вычитание из стека;
операции с внешними устройствами:
запись во внешнее устройство;
чтение из внешнего устройства;
системные операции:
останов;
разрешение прерывания;
запрещение прерывания;
возврат из прерывания;
загрузка регистра базы;
загрузка указателя стека.
3. Разработка структурной схемы вычислительного устройства
В курсовом проекте необходимо
разработать процессор и
Рисунок 1 – Структурная
схема вычислительного
ОЗУ – оперативно запоминающее устройство;
Pr – блок регистров и логических схем;
АЛУ – арифметико-логическое устройство;
УУ – устройство управления;
БС – блок согласования разрядности шин;
ША – шина адреса;
ШД – шина данных;
ШУ – шина управления;
ШС – шина состояния;
ВУ – внешнее устройство.
4. Выбор системы команд и определение форматов команд вычислительного устройства
Определим разрядности основных шин и блоков, регистров, а так же разрядности команд и данных и количество регистров, обеспечивающих выполнение заданного набора операций.
Разрядность шины данных (ШД) определяется из варианта задания. В нашем случае разрядность ШД равна 64, т.е. ШД (63-0). Для определения разрядности шины адреса (ША) используем заданные в таблице 2.1 параметры запоминающего устройства: разрядность слова и емкость. Определим количество ячеек памяти: , для того, чтобы адресовать все ячейки ОЗУ необходима разрядность ША равная 14, т.к. 214 = 16384. Получаем ША(13-0).
Чтобы найти разрядность шины управления (ШУ) надо определить формат команд. Для кодирования операций нам понадобиться поле кода операций (КОП). Так как количество операций, которые необходимо реализовать в разрабатываемом устройстве 28, нам понадобиться 5 двоичных разрядов для двоичного кодирования. Кодирование команд представлено в таблице 4.1
Таблица 4.1 – Кодирование команд
Тип операции |
Код |
Тип операции |
Код |
Сложение |
00000 |
Запись в ЗУ |
01110 |
Вычитание |
00001 |
Чтение из ЗУ |
01111 |
Умножение |
00010 |
Запись в стек |
10000 |
Деление |
00011 |
Чтение из стека |
10001 |
ИЛИ |
00100 |
Сложение со стеком |
10010 |
И |
00101 |
Вычитание из стека |
10011 |
Сумма по модулю 2 |
00110 |
Запись в ВУ |
10100 |
Условный переход если >0 |
00111 |
Чтение из ВУ |
10101 |
Условный переход если <0 |
01000 |
Остановка |
10110 |
Условный переход по =0 |
01001 |
Разрешение прерывания |
10111 |
Условный переход по переполнению |
01010 |
Запрещение прерывания |
11000 |
Безусловный переход |
01011 |
Возврат из прерывания |
11001 |
Переход к подпрограмме |
01100 |
Загрузка регистра базы |
11010 |
Выход из подпрограммы |
01101 |
Загрузка указателя стека |
11011 |
В задании дано два формата команды, чтобы их закодировать достаточно одного бита: ФК SI = 1, ФК RR = 0.
Для того чтобы закодировать содержимое поля тип адресации (ТА), необходимо два разряда, так как задано три типа адресации. Для прямой адресации (П) код ТА = 00, для косвенной (К) – ТА = 01 и для относительной (О) – ТА = 10
Для команды формата SI получаем:
Рисунок 2.1 – формат команды SI
Первым операндом данной команды является ячейка ОЗУ, его разрядность 14, равная разрядности шины адреса. Вторым операндом для этой команды является непосредственный операнд разрядности 64. Так как разрядность команды должна быть кратна степени двойки, дополним ее до 128 разрядов. Получаем разрядность формата команды (127-0).
Для команды формата RR получаем:
Рисунок 2.2 – формат команды RR
Первым операндом является регистр общего назначения (РОН), разрядность которого равна 4, так как требуется адресовать 16 регистров.
Вторым операндом является
также РОН. Для удобства организации
выборки команды из памяти, анализа
команды и определения
Разрядность ШУ равна разрядности формата команды, т.е. получаем ШУ(127-0)
Составим содержательную таблицу кодирования всех вариантов форматов команд (таблица 4.2).
Таблица 4.2 - Кодирование форматов команд
Код операции |
Формат команды |
Тип адресации (ТА) |
Код ТА |
Содержание операции |
Арифметические | ||||
Сложение 00000 |
SI |
П |
00 |
C:=ОЗУ[S] +I |
К |
01 |
C:=ОЗУ[ОЗУ[S]] +I | ||
О |
10 |
C:=ОЗУ[S+PC] +I | ||
RR |
П |
00 |
C:=РОН[R] + РОН[R] | |
К |
01 |
C:=ОЗУ[РОН[R]]+ ОЗУ[РОН[R]] | ||
О |
10 |
C:= ОЗУ[РОН[R]+IP]+ОЗУ[РОН[R]+IP] | ||
Вычитание 00001 |
SI |
П |
00 |
C:=ОЗУ[S] –I |
К |
01 |
C:=ОЗУ[ОЗУ[S]] –I | ||
О |
10 |
C:=ОЗУ[S+PC] –I | ||
RR |
П |
00 |
C:=РОН[R] - РОН[R] | |
К |
01 |
C:=ОЗУ[РОН[R]]- ОЗУ[РОН[R]] | ||
О |
10 |
C:= ОЗУ[РОН[R]+IP]-ОЗУ[РОН[R]+IP] | ||
Умножение 00010 |
SI |
П |
00 |
C:=ОЗУ[S] *I |
К |
01 |
C:=ОЗУ[ОЗУ[S]] *I | ||
О |
10 |
C:=ОЗУ[S+PC] *I | ||
RR |
П |
00 |
C:=РОН[R] * РОН[R] | |
К |
01 |
C:=ОЗУ[РОН[R]]*ОЗУ[РОН[R]] | ||
О |
10 |
C:= ОЗУ[РОН[R]+IP]*ОЗУ[РОН[R]+IP] | ||
Деление 00011 |
SI |
П |
00 |
C:=ОЗУ[S] /I |
К |
01 |
C:=ОЗУ[ОЗУ[S]] /I | ||
О |
10 |
C:=ОЗУ[S+PC] /I | ||
RR |
П |
00 |
C:=РОН[R] / РОН[R] | |
К |
01 |
C:=ОЗУ[РОН[R]]/ ОЗУ[РОН[R]] | ||
О |
10 |
C:= ОЗУ[РОН[R]+IP]/ОЗУ[РОН[R]+IP] |
Продолжение таблицы 4.2
Код операции |
Формат команды |
Тип адресации (ТА) |
Код ТА |
Содержание операции |
Логические | ||||
Дизъюнкция 00100 |
SI |
П |
00 |
C:=ОЗУ[S] ÚI |
К |
01 |
C:=ОЗУ[ОЗУ[S]] ÚI | ||
О |
10 |
C:=ОЗУ[S+PC] ÚI | ||
RR |
П |
00 |
C:=РОН[R] Ú РОН[R] | |
К |
01 |
C:=ОЗУ[РОН[R]]ÚОЗУ[РОН[R]] | ||
О |
10 |
C:= ОЗУ[РОН[R]+IP] Ú ОЗУ[РОН[R]+IP] | ||
Конъюнкция 00101 |
SI |
П |
00 |
C:=ОЗУ[S] ÙI |
К |
01 |
C:=ОЗУ[ОЗУ[S]] ÙI | ||
О |
10 |
C:=ОЗУ[S+PC] ÙI | ||
RR |
П |
00 |
C:=РОН[R] Ù РОН[R] | |
К |
01 |
C:=ОЗУ[РОН[R]]ÙОЗУ[РОН[R]] | ||
О |
10 |
C:= ОЗУ[РОН[R]+IP] Ù ОЗУ[РОН[R]+IP] | ||
Сложение по модулю 2 00110 |
SI |
П |
00 |
C:=ОЗУ[S] ÅI |
К |
01 |
C:=ОЗУ[ОЗУ[S]] ÅI | ||
О |
10 |
C:=ОЗУ[S+PC] ÅI | ||
RR |
П |
00 |
C:=РОН[R] ÅРОН[R] | |
К |
01 |
C:=ОЗУ[РОН[R]]ÅОЗУ[РОН[R]] | ||
О |
10 |
C:= ОЗУ[РОН[R]+IP] Å ОЗУ[РОН[R]+IP] |
Продолжение таблицы 4.2
Код операции |
Формат команды |
Тип адресации (ТА) |
Код ТА |
Содержание операции |
УП по > 0 00111 |
SI |
П |
00 |
if (SF = 0) and (ZF = 0) then PC := I |
К |
01 | |||
О |
10 | |||
RR |
П |
00 | ||
К |
01 | |||
О |
10 | |||
УП по < 0 01000 |
SI |
П |
00 |
if SF = 1 then PC := I if SF = 1 then PC := I |
К |
01 | |||
О |
10 | |||
RR |
П |
00 | ||
К |
01 | |||
О |
10 | |||
УП по = 0 01001 |
SI |
П |
00 |
if ZF = 1 then PC:=I |
К |
01 | |||
О |
10 | |||
RR |
П |
00 | ||
К |
01 | |||
О |
10 | |||
УП по переполнению 01010 |
SI |
П |
00 |
if OF = 1 then PC:=I |
К |
01 | |||
О |
10 | |||
RR |
П |
00 | ||
К |
01 | |||
О |
10 | |||
Безусловный переход 01011 |
SI |
П |
00 |
PC:=I |
К |
01 | |||
О |
10 | |||
RR |
П |
00 | ||
К |
01 | |||
О |
10 |