Автор работы: Пользователь скрыл имя, 18 Мая 2015 в 13:29, курсовая работа
Описание работы
Проектированиекомпьютеров специального назначения является одной из важнейших задач, стоящих перед разработчиками цифровой аппаратуры. Основное назначение спецкомпьютеров – это отработка определенного класса алгоритмов в некоторой заданной проблемно-ориентированной области. В частности, большой класс вычислительных систем используется в блоках управления механическими подвижными платформами в целях коррекции их траектории движения. Эффективность решения нетривиальных задач при этом во многом зависит от качества бортовых компьютеров и их программного обеспечения, входящих в состав управляемых объектов.
Содержание работы
ВВЕДЕНИЕ3 1. РАЗРАБОТКА АРХИТЕКТУРЫ СПЕЦИАЛИЗИРОВАННОГО КОМПЬЮТЕРА6 1.1. Анализ известных реализаций спецкомпьютеров, формирование требований к разрабатываемому компьютеру6 1.2. Исследование арифметической функции, решаемой специализированным компьютером8 1.3. Проектирование системы команд12 1.4. Проектирование ЗУ микрокомпьютера 19 1.5. Разработка обобщенной структуры микроЭВМ на основе системы команд 23 2. ПРОЕКТИРОВАНИЕ ОСНОВНЫХ СТРУКТУРНЫХ КОМПОНЕНТОВ СХЕМЫКОМПЬЮТЕРА28 2.1. Разработка схемы блока обработки данных28 2.2. Разработка устройства управления32 2.3. Разработка системы ввода-вывода данных35 3. ПРОЕКТИРОВАНИЕ ВНУТРЕННЕГО ИНТЕРФЕЙСА КОМПЬЮТЕРА39 3.1. Включение системы прерываний в схему устройства управления спецкомпьютера39 3.2. Проектирование системы прямого доступа к памяти40 4. РАЗРАБОТКА МИКРОПРОГРАММНОГО ОБЕСПЕЧЕНИЯ42 4.1. Формат микрокоманды. Микропрограммная интерпретация команд компьютера42 4.2. Разработка микропрограмм арифметических операций51 4.3. Разработка служебного микропрограммного обеспечения53
Регистр адреса – 4-разрядный
регистр, информацияв который может приниматься
по 4-разрядной шине R3-R0. Вход
является управляющим. На этот вход
подается сигнал разрешения записи в регистр
адреса. При
= 0 на положительном фронте тактового
импульса информация, поступающая по шине R3-R0, принимается
в регистр адреса.
Стек содержит накопитель из
четырех 4-разрядных регистров и 2-разрядного
указателя, стека, хранящего адрес входа
в накопитель. Работой стека управляют
сигналы
и PUP. Сигнал
служит сигналом разрешения изменения
содержимого указателя стека, PUP — сигналом,
определяющим направление изменения содержимого
указателя стека (при PUP = 0 — уменьшение,
при PUP = 1 — увеличение
содержимого указателя стека).
Пусть регистры накопителя CT0, СТ1CT2, CT3 хранят
соответственно адреса А, В, С, D. В дальнейшем
под регистром СT0 будем
понимать регистр накопителя, адресуемый
указателем стека. Рассмотрим процессы
в стеке при различных комбинациях управляющих
сигналов
и PUP.
Пусть в текущий такт поступает
сигнал
= 1, значение сигнала PUP безразлично.
Значение
= 1 задает режим чтения без изменения
содержимого указателя стека. При этом
в текущем такте из стека на вход блока
выбора адреса поступает содержимое регистра СT0. При переходе
к следующему такту размещение информации
в регистрах накопителя остается прежним.
Если в текущем такте подается
комбинация управляющих сигналов
= 0 и PUP=0, то устанавливается
так называемый режим выталкивания из
стека. В этом случае в текущем такте на
вход блока выбора адреса выдается адрес А, хранившийся
в регистре СT0; при переходе
к следующему такту происходит перемещение
информации в регистрах.
При подаче в текущем такте
комбинации сигналов
= 0 и PUP = 1 устанавливается
так называемый режим записи, при котором
в текущем такте на вход блока выбора адреса
выдается содержимое регистра СT0 (адрес
А), а при переходе к следующему такту происходит
перемещение информации в регистрах накопителя
в обратном направлении и в регистр СT0 принимается
содержимое счетчика микрокоманд.
Стек используется при обращении
к подпрограммам. При переходе к подпрограмме
адрес ее первой микрокоманды выдается
на выход схемы управления адресом микрокоманды
из регистра адреса либо с шины D. Стек устанавливается
в режим записи, и при переходе к следующему
такту в регистр СT0 накопителя
стека принимается содержимое счетчика
микрокоманд, соответствующее адресу
очередной микрокоманды, на которой было
установлено выполнение главной программы.
После окончания выполнения подпрограммы
выдается адрес из стека и происходит
возврат в главную программу.
Блок выбора адреса кроме входов,
предназначенных для приема содержимого
четырех рассмотренных выше источников
адреса, имеет входы маски QR3-QR0, которые
используются для модификации адреса:
может быть установлена единица в любом
разряде адреса путем подачи ее в соответствующий
разряд шины QR3-QR0.
Нумерация выводов БИС К1804ВУ1
приведена на рис.2.4.
Рис. 2.4. Нумерация выводов БИС
К1804ВУ1
Адрес с выхода блока выбора
адреса передается на выход микросхемы
через буфер адреса, который построен
на элементах с тремя состояниями, управляемых
сигналом
. При
= 0 буфер адреса открыт, при
= 1 он отключает микросхему от высшей
шины адреса.
Микрокоманда может содержать
три поля управления:
генерацией адреса следующей
команды;
длительностью такта;
операционной частью микропроцессора.
Обычно суммарная длина микрокоманды
составляет 30-100 бит, но может быть и более.
Для БИС КI804ВУI характерны три
способа адресации:
последовательная, инкрементированием адреса;
принудительная, полным значением прямого адреса;
функциональная (конкатенацией адресных полей).
Разработка системы
ввода-вывода данных
В данном проекте используется
подключение к микро-ЭВМ внешних носителей
информации. Обмен информацией ведется
через порты ввода-вывода. В структуре
микро-ЭВМ выделено 12 портов ввода-вывода.
Система портов строится на
основе регистров К1804ИР3. Данная микросхема
представляет собой 8-разрядный параллельный
двунаправленный регистр, предназначенный
для организации порта ввода/вывода данных
в микро-ЭВМ. Назначение выводов ИМС К1804ИР3
дано в таблице 2.1. Условно - графическое
обозначение ИМС представлено на рисунке
2.7.
Таблица 2.1.
Назначение входов и выходов
К1804ВР3
Обозначение выводов
Номер контакта
Назначение вывода
DA(7-0)
26,27,28,1,2,3,6,7
Двунаправленная 8-ми разрядная
шина данных
DB(7-0)
18,17,16,15,14,13,10,9
Двунаправленная 8-ми разрядная
шина данных
FRI, FSI
12,4
Входы обнуления триггеров
WRR, WRS
20,24
Входы синхронизации записи
в RGR и RGS
ECR, ECS
21,23
Входы разрешения записи данных
в RGR и RGS
EDA, EDB
25,19
Входы разрешения выдачи данных
в DA и DB
FRO, FSO
5,11
Выходы триггеров TR и TS
Ucc
8
Напряжение питания (+5В)
В состав данной ИМС входят
два 8-разрядных регистра R и S, для реализации
двунаправленного режима работы, а также
два триггера запросов обмена TS, TR. Синхронизация
работы ИМС К1804ИР3 осуществляется по положительному
фронту импульсов на входах ECS и ECR.
Для организации требуемого
количества портов ввода/вывода требуется
12 микросхем K1804ИР3. Сигнал FS0 от каждого
порта ввода/вывода является запросом
на прерывание от данного порта. Выбор
определенного порта осуществляется с
помощью дешифратора отдельно для портов
ввода и вывода, следовательно, необходимо
использовать два дешифратора открываемых
с помощью различных сигналов.
Блок ввода-вывода данных представлен
на рис. 2.8.
В режиме считывания из порта
внешнее устройство формирует сигнал WR=0, указывающий
на запрос от ВУ. Переход WR из «1» в «0»
формирует сигнал разрешения записи в RGR через DA (7…0). При этом
устанавливается сигнал запроса прерываний FS0 = «1». Процессор
принимает сигнал запроса и формирует
сигнал IOR на шине управления.
Если IOR = «0» и адрес
порта указан верно, то на вход EDA подается «1»,
что соответствует разрешению считывания
данных из порта на ШД.
В режиме записи в порт процессор
формирует на ШУ сигнал IOW = «0». На вход ECR передается «0», что соответствует
перепаду из «1» в «0», т.к. сигнал
IOW был установлен в «1».
Рис. 2.7. УГО К1804ИР3
Рис. 2.8. Блок ввода-вывода данных
Подача «0» на вход ECR разрешает
передачу данных с ШД на ВУ и в тоже время
формирует сигнал FR0 = «1» для передачи
запроса к ВУ на вход RDY. При совпадении
адреса порта, на вход EDB попадает «1»,
что разрешает выдачу данных с ШД на внешнее
устройство.
ПРОЕКТИРОВАНИЕ ВНУТРЕННЕГО
ИНТЕРФЕЙСА КОМПЬЮТЕРА
Включение системы
прерываний в схему
устройства управления
спецкомпьютера
Система прерываний предназначена
для прерывания программы пользователя,
если возникло прерывание от внешних устройств,
либо внутреннее прерывание. Каждое прерывание
имеет свой приоритет, что обуславливает
выполнения того прерывания, которое имеет
наивысший приоритет, когда прерываний
возникает несколько. Система прерываний
должна реализовывать данный аспект. Также
система прерываний должна поддерживать
выполнение пользовательской программы,
если прерываний не поступает, т.е. можно
сказать, что пользовательская программа
имеет низший приоритет. Система прерываний
также должна обеспечивать загрузку на
выполнение микропрограммы обслуживающей
то прерывание, которое необходимо обслужить
в данный момент.
При проектировании данного
спецкомпьютера, необходимо реализовать
систему прерываний вида 2/8-11, т.е. двухуровневую
систему одиннадцати прерываний, восемь
из которых являются прерываниями от портов
ввода/вывода и три внутренних прерываний.
Можно выделить следующие уровни прерываний:
прерывание от пользовательской программы
(имеет низший приоритет), прерывания от
портов ввода/вывода и внутренние прерывания
(имеют высший приоритет).
В разрабатываемой системе
количество прерываний 11, поэтому для
организации выделения прерывания с высшим
приоритетом требуется ПЗУ с разрядностью
адреса – 11 и данных – 12 (разрядность адреса
микропрограммы). Так как имеется ПЗУ 556РТ14,
разрядность адреса которого – одиннадцать,
а данных – четыре, то требуется три таких
микросхемы.
Функция опроса системы прерываний
чаще всего выполняется после выполнения
очередной команды компьютера. При этом
каждая микропрограмма, соответствующая
команде высокого уровня, последней микрокомандой
должна иметь микрокоманду перехода к
опросу системы прерываний (ПА).
Входная шина ПЗУ ПА (преобразователя
адреса) используется для приема вектора
запросов на прерывание, поступающих от
портов ввода–вывода К1804ИР3. При этом
каждому конкретному вектору в соответствие
ставится адрес микропрограммы обработки
прерывания, имеющего наивысший приоритет
среди запросов, составляющих данный вектор.
Выполнение соответствующей микропрограммы,
как правило, сопровождается переходом
к подпрограмме, расположенной в ОЗУ, что
позволяет обслуживать практически любое
количество портов.
Если код поступивший на ПА
равен нулю (прерываний нет), то ПА выдаст
адрес микропрограммы, отвечающей за загрузку
следующей макрокоманды из ОЗУ в регистр
макрокоманд и начало выполнения микропрограммы
соответствующей коду операции (КОП) находящегося
в данный момент в регистре макрокоманд,
т.е. при отсутствии прерываний процесс
выполнения пользовательской программы
продолжается.
В последней микрокоманде каждой
макрокоманды должен содержаться соответствующий
адрес для ПЗУ ветвлений в УУ, чтобы на
его выходе бит, идущий на вход ПА, был установлен
для разрешения выдачи адреса микропрограммы
обработки прерывания.
Проектирование системы
прямого доступа к памяти
Система прямого доступа к памяти
позволяет осуществить непосредственный
обмен данными между памятью и периферийными
устройствами под управлением контроллера
ПДП без участия БОД, что позволяет повышать
скорость выполнения обмена.
Устройство, осуществляющее
управлением передачей дынных при ПДП,
называется контроллером ПДП и выполняет
следующие функции: управление шиной адреса,
управление передачей данных, формирование
адреса, подсчет числа слов, управление
режимов передачи. Контроллер ПДП должен
передавать соответствующий адрес на
шину адреса памяти и вырабатывать сигналы
управления передачей данных между памятью
и устройством ввода/вывода. Контролер
ПДП должен содержать указатель адреса,
который формирует адрес ячейки памяти,
из которой считываются или в которую
записываются очередное слово передаваемых
данных. Содержимое этого указателя должно
увеличиваться или уменьшаться после
передачи очередного слова данных. Перед
началом передачи данных в контроллер
ПДП поступают информация о числе передаваемых
слов и начальный адрес. Во время передачи
данных контроллер ПДП должен осуществлять
контроль числа переданных слов и закончить
передачу по достижении заданного числа
слов. Таким образом, контроллер ПДП должен
содержать схему управления режимом передачи,
которая определяет направление потока
данных, способ определения конца передачи
и т. д.
Восьмиразрядный счетчик адресов
ПДП КМ1804ВУ6 предназначен для использования
в контроллерах ПДП. Основные функции
адресного генератора ПДП заключается
в формировании последовательности адресов
ячеек памяти при передаче данных в память
или из нее, в подсчет числа предаваемых
слов и формировании соответствующего
сигнала по завершении передачи данных.
УГО КМ1804ВУ6 представлено на
рис. 3.1.
Рис. 3.1. Микросхема КМ1804ВУ6
Назначение выводов микросхемы
КМ1804ВУ6 показано в таблице 3.1.
Таблица 3.1
Обозначение
Назначение
D(0-7)
Двунаправленная шина данных,
используется для ввода/ вывода информации
A(0-7)
Выход адреса, предназначен
для вывода информации из счетчика адреса
ОЕА
Вход разрешения выдачи адреса
I(0-2)
Вход инструкции, определяет
одну из восьми инструкций адресного генератора
ПДП
ACI
Входной перенос счетчика адреса
АСО
Выходной перенос счетчика
адреса
WCI
Входной перенос счетчика слов
WCO
Выход переноса слов
DON
Выход индикации конца передачи.
Наличие единицы на этом выходе определяет
окончание передачи данных в трех режимах
управления
Адресный генератор ПДП К1804ВУ6
имеет следующую особенность: возможность
наращивания для получения адреса любой
разрядности, кратной восьми
Функционирование системы ПДП
осуществляется посредством шести разрядов
от УУ. Сигнал DON идет на мультиплексор
признаков в УУ, как признак окончания
работы системы ПДП.
Так как разрядность адреса
ОЗУ разрабатываемого спецкомпьютера
составляет двадцать бит, то при создании
системы ПДП необходимо использовать
три микросхемы 1804ВУ6.
РАЗРАБОТКА МИКРОПРОГРАММНОГО
ОБЕСПЕЧЕНИЯ
Формат микрокоманды.
Микрокомандная интерпретация команд
языка компьютера
В разрабатываемом спецкомпьютере
используются макрокоманды и микрокоманды.
Макрокоманды вводятся пользователем
и определяют программу. Каждой макрокоманде
в данном спецкомпьютере ставится в соответствие
микропрограмма, состоящая из микрокоманд.
Все микропрограммы находятся в микропрограммной
памяти (ПЗУ) и вводятся разработчиком.
Микропрограммы могут быть изменены за
счет возможности перепрошивки микропрограммной
памяти. Это обуславливает гибкость разрабатываемого
спецкомпьютера. Каждая макрокоманда
состоит из кода операции (КОП) и полей
операндов. КОП предназначен для кодирования
макрокоманд. КОП поступает в ПНА в качестве
адреса ПЗУ, в котором по данному адресу
расположен адрес начала микропрограммы,
соответствующей данной макрокоманде.
Данная микропрограмма обуславливает
выполнение требуемой макрокоманды.