Проектирование микро-ЭВМ
Описание взаимодействия всех блоков микро-ЭВМ и их оптимизации. Запоминающие устройства, функциональный состав и временные диаграммы. Разработка устройства управления, системы прерываний. Описание работы устройства на вентильно-регистровом уровне.
Рубрика | Программирование, компьютеры и кибернетика |
Вид | курсовая работа |
Язык | русский |
Дата добавления | 24.06.2013 |
Размер файла | 662,5 K |
Отправить свою хорошую работу в базу знаний просто. Используйте форму, расположенную ниже
Студенты, аспиранты, молодые ученые, использующие базу знаний в своей учебе и работе, будут вам очень благодарны.
Размещено на http://www.allbest.ru/
СОДЕРЖАНИЕ
ВВЕДЕНИЕ
1 РАЗРАБОТКА ОБЩЕЙ СТРУКТУРЫ МИКРО-ЭВМ
1.1 Функциональный состав
1.2 Описание взаимодействия всех блоков микро-ЭВМ
2 РАЗРАБОТКА ОСНОВНЫХ УСТРОЙСТВ МИКРО-ЭВМ
2.1 Запоминающие устройства. Функциональный состав и временные диаграммы.
2.2 Разработка устройства управления. Функциональный состав и временные диаграммы.
2.3 Разработка АЛУ. Функциональный состав и временные диаграммы.
2.4 Разработка КПДП. Функциональный состав и временные диаграммы.
2.5 Разработка системы прерываний функциональный состав и временные диаграммы.
3 РАЗРАБОТКА ПРИНЦИПИАЛЬНОЙ СХЕМЫ УСТРОЙСТВА
3.1 Описание работы устройства на вентильно-регистровом уровне.
3.2 Описание временной диаграммы работы устройства.
4 ОПТИМИЗАЦТЯ МИКРО-ЭВМ
ЗАКЛЮЧЕНИЕ
СПИСОК ИСПОЛЬЗОВАННОЙ ЛИТЕРАТУРЫ
Приложения
ВВЕДЕНИЕ
Программируемые логические интегральные схемы (ПЛИС) уже давно широко применяются при создании сложных систем управления. Если электронная аппаратура, разработанная на стандартной логике со степенью интеграции не выше триггера, занимала несколько стоек, то в настоящее время при помощи ПЛИС разрабатываются одноплатные устройства, функционально превосходящие изделия прошлых лет.
Данный курсовой проект представляет собой разработку микро-ЭВМ принстонской архитектуры на базе ПЛИС. Схема принстонской архитектуры изображена на рисунке 1.
Рисунок 1 - Схема принстонской архитектуры
Принстонская архитектура характеризуется использованием общей оперативной памяти для хранения программ и данных. Для обращения к этой памяти используется общая системная шина, по которой в процессе поступают и команды и данные. Эта архитектура имеет ряд важных достоинств:
- наличие общей памяти позволяет оперативно перераспределять ее объем для хранения отдельных массивов команд и данных;
- использования общей шины для передачи команд и данных значительного упрощает отладку и тестирование.
Главный недостаток этой системы заключается в том, что общая шина становиться узким местом, ограничивающим производительность цифровой системы.
Согласно заданию курсового проекта микро - ЭВМ должна состоять из следующих блоков: память, устройство управления, арифметико-логическое устройство, контроллер прямого доступа к памяти и контроллер прерываний.
Память должна быть реализована в виде двух частей: постоянного запоминающего устройства (ПЗУ) и оперативного запоминающего устройства (ОЗУ).
ПЗУ представляет собой энергонезависимый тип памяти, содержимое которой перезаписывается достаточно редко или вообще никогда не изменяется. Для данного устройства ПЗУ будет носить роль хранителя какой-либо постоянной информации (программа, обработчики прерываний и т.д.).
ОЗУ - это энергозависимое запоминающее устройство, основной целью которого является хранение информации необходимой непосредственно на этапе выполнения команд.
Арифметико-логическое устройство (АЛУ) необходимо для выполнения простейших арифметических и логических операций, таких, например, как сложение, вычитание, логические сдвиги и т.д.
Внешним устройствам ЭВМ часто необходимо обращаться к памяти. Для получения или записи информации устройствам необходимо осуществлять транзакции через центральный процессор. Однако, именно для обхода таких случаев существует контроллер прямого доступа к памяти (КПДП). КПДП организует обмен внешнего устройства с памятью без участия процессора, самостоятельно организовывая все управление.
Для мгновенной реакции на действия определенных внешних устройств должна быть разработана система прерываний. В общем случае, эта система при возникновении сигналов о том, что одно из внешних устройств требует моментальной обработки своего действия, прерывает выполнение текущей программы и переключается на выполнение других действий, называемых обработчиком прерывания.
Для управления каждым из блоков необходимо также разработать устройство управления. Через данное устройство организовывается весь процесс работы ЭВМ (чтение и выполнение команд, обработка прерываний, организация адресации и т.д.)
Для реализации полноценной работы устройства также потребуются и иные блоки (регистры общего назначения, мультиплексоры управляющих сигналов и т.д.).
В данном курсовом проекте в качестве среды разработки использовалась Quartus II 8.1 компании Altera. Эта среда позволяет проектировать логику работы микросхем схемотехнически и на языках программирования AHDL, VHDL, Verilog, и так же позволяет производить симуляцию проектов, программировать микросхемы и многое другое.
Основные возможности пакета Quartus II:
- система моделирования;
- система программирования ПЛИС;
- система синтеза;
- система размещения внутренних ресурсов и разводки ПЛИС;
- интегрированные средства разработки ПО для микро-ЭВМ.
1. РАЗРАБОТКА ОБЩЕЙ СТРУКТУРЫ МИКРО-ЭВМ
1.1 Функциональный состав
В состав разрабатываемой микро-ЭВМ входят отдельные компоненты и функциональные блоки.
Память предназначена для хранения исполняемых команд и данных. Представлена синхронным оперативным запоминающим устройством (ОЗУ) и асинхронным постоянным запоминающим устройством (ПЗУ). Память для инструкций и данных является общей.
ПЗУ (постоянное запоминающее устройство) - энергонезависимый тип памяти, позволяющий постоянно хранить данные, внесенные на этапе прошивки. Данный тип памяти - только для чтения. В ПЗУ - основная программа микро-ЭВМ. Считывание происходит асинхронно по изменению состояния адресных входов. Для разрешения работы ПЗУ будет предусмотрен сигнал селектора чипа. При подаче низкого уровня на селектор выход данных ПЗУ будет переводиться в высокоимпедансное состояние. Это необходимо для исключения влияния ПЗУ на общую шину данных, когда данные из ПЗУ уже загружены и не требуется работа с устройством.
ОЗУ (оперативное запоминающее устройство) - энергозависимый тип памяти, в данной микро-ЭВМ - синхронное. Необходимость данного типа памяти обосновано тем, что ее содержимое может быть легко модифицировано, что важно для функционирования ЭВМ как вычислительной системы. В отличие от асинхронной памяти, синхронная память будет иметь вход тактовых импульсов, поэтому все действия по осуществлению доступа к памяти должны осуществляться по изменению синхросигнала. ОЗУ имеет входы для разрешения работы всего блока (селектор чипа), чтения или записи. ОЗУ также должно иметь адресные входы и однопортовую двунаправленную шину для данных. Перед ОЗУ установлен специальный мультиплексор, задача которого организовывать циклы ПДП в том случае, если ОЗУ не используется УУ.
АЛУ должно реализовывать операции побитового «исключающего ИЛИ» (XOR) и побитового «И» (AND). Все операции в устройстве будут происходить синхронно с тактовыми импульсами. Блок АЛУ будет содержать входы для 2х операндов и отдельные сигналы для выбора операции.
Еще одним функциональным блоком является контроллер прерываний. По условию это устройство должно иметь 6 линий для прерываний. Каждая линия будет представлена отдельным сигнальным входом. Для контроллера прерываний следует предусмотреть команды разрешения и запрета прерываний (CLI и STI соответственно). Каждая из этих команд может быть представлена в двух вариантах: разрешение/запрет всех линий прерываний и определенных линий, причем для второго случая определенные линии не могут быть под номером большим, чем 5. Поэтому контроллер прерываний будет иметь входы для разрешения и запрета прерываний, а также входы для поступления номера линии. В случае если номер линии больше 5, разрешаются/запрещаются все прерывания, в обратном случае - только те линии, чей номер указан на входе. После поступления прерывания по одной из линий контроллер должен выдать на выход сигнал об обработке прерывания и адрес обработчика.
Блок КПДП по условию должен иметь доступ к 10 словам памяти начиная с 6-го адреса. Это устройство будет иметь вход, по которому будет поступать запрос на доступ к памяти от внешнего устройства. При поступлении сигнала по данному входу устройство должно будет сообщить процессору о том, что необходимо освободить системные шины, после чего процессор через отдельный вход передаст сигнал о своей готовности. При обращении к памяти КПДП должен иметь доступ ко всем управляющим сигналам ОЗУ, а также будет иметь выходы для выставления адреса и отправки/получения информации на шине данных. Так же устройство будет иметь двунаправленные входы для чтения/записи данных от внешнего устройства. При окончании работы КПДП сообщит процессору отдельным сигналом об окончании цикла.
В своем составе микро-ЭВМ также должно содержать регистры общего назначения (РОНы). Должно быть реализовано 8 регистров общего назначения. Доступ к регистрам будет осуществляться синхронно, что подразумевает наличие в данном блоке входа тактовых импульсов. Каждый из регистров будет иметь свой уникальный номер, поэтому устройство будет иметь входы адреса. Также будут присутствовать входы разрешения записи и чтения. 14-разрядные слова будут читаться/записываться с шины данных.
Устройство управления служит для выдачи всех управляющих сигналов (такие как чтение/запись в память, синхросигналы для работы устройств, асинхронные сигналы-события). Представляет собой автомат с конечным числом состояний. Устройство управления должно автоматически выбирать команду из соответствующей ячейки памяти, исполнять ее, выбирать следующую, отслеживать прерывания извне. За порядком исполнения команд следит счетчик-указатель инструкций (IP), который адресует следующую машинную инструкцию области памяти, может быть изменен командой перехода или вызовом обработчика прерывания. Также в состав УУ включен регистр адреса возврата, который хранит адрес возврата из процедуры обработки прерывания.
1.2 Описание взаимодействия всех блоков микро-ЭВМ
На рисунке 1.2.1 изображена функциональная схема разрабатываемой микро-ЭВМ.
Рисунок 1.2.1 - Функциональная схема разрабатываемой микро-ЭВМ
Устройство обладает тремя шинами: управления, адреса и данных.
На шину адреса будет выставляться текущий адрес исполняемой команды, адрес обработчика прерывания либо адрес данных необходимых для чтения или записи из памяти. Выставлять адрес на данную шину смогут устройство управления, контроллер прерываний и КПДП. Читать адрес с шины будет память.
На шине данных может находиться информация разного предназначения. Это может быть текущая команда для выполнения, результат выполнения арифметической или логической операции, данные записываемые либо считываемые из памяти и регистров общего назначения.
Шина управления будет состоять из наибольшего количества сигналов. В основном это управляющие линии, такие как разрешение чтения/записи в ПЗУ, ОЗУ, РОНы или операндов в АЛУ. В ШУ будут находиться сигналы возникновения прерываний либо необходимости прямого доступа к памяти. Также данная шина будет нести в себе синхронизационный сигнал.
Рассмотрим перечень машинных команд микро-ЭВМ, представленный в таблице 1.2.1.
Таблица 1.2.1 - Перечень машинных команд
Мнемоника |
Действие |
|
NOP |
Пустая команда |
|
HLT |
Остановка устройства |
|
CLI |
Запрет всех прерываний |
|
STI |
Разрешение всех прерываний |
|
CLI k |
Запрет прерывания под номером k (k<5) |
|
STI k |
Разрешение прерывания под номером k (k<5) |
|
RETI |
Возврат из обработчика прерывания |
|
JMP adr |
Переход к выполнению команды по адресу adr |
|
MOV adr, reg |
Переместить из регистра по адресу в памяти |
|
MOV reg, adr |
Переместить из адреса памяти в регистр |
|
XOR adr, reg |
Поразрядное «исключающее ИЛИ» с сохранением по адресу в памяти |
|
XOR reg, adr |
Поразрядное «исключающее ИЛИ» с сохранением в регистр |
|
AND adr, reg |
Поразрядное «И» с сохранением по адресу в памяти |
|
AND reg, adr |
Поразрядное «И» с сохранением в регистр |
Как видно из таблицы 1.2.1, данная ЭВМ будет выполнять 14 команд. Это означает, что код команды может поместиться в 4 разряда.
В общем случае выполнение команды в ЭВМ будет выполняться в несколько этапов:
- чтение команды из ОЗУ;
- анализ кода операции;
- чтение данных необходимых для выполнения команды;
- выполнение команды;
- запись результатов.
Количество этапов может меняться как в большую, так и в меньшую сторону в зависимости от кода операции.
В случае возникновения прерывания текущая команда выполняется до конца, после чего адрес текущей операции изменяется на адрес обработчика прерывания. После выполнения обработки счетчик адреса в устройстве управления восстанавливается сохраненным ранее значением, и выполнение программы продолжается в обычном режиме.
Если в КПДП возникает запрос на доступ к памяти, то микро-ЭВМ, как и в случае с прерыванием, сначала выполняет текущую операцию до конца, после чего освобождает все системные шины и извещает КПДП о своей готовности. КПДП выполняет обмен данными с ОЗУ, передавая по шине управления сигналы на чтение либо запись ОЗУ. После того как обмен закончится КПДП передает сигнал устройству управления о завершении цикла, в результате чего устройство управления продолжит выполнение команд читаемых из ОЗУ.
Назначение используемых сигналов приведено в таблицах 1.2.2 - 1.2.7.
Таблица 1.2.2 - Назначение сигналов ПЗУ
Название |
Тип |
Назначение |
|
ADDR |
Входной |
Адресные входы |
|
CS |
Входной |
Разрешение чтения из устройства |
|
DATA |
Выходной |
Информационные выходы |
Таблица 1.2.3 - Назначение сигналов ОЗУ
Название |
Тип |
Назначение |
|
CLK |
Входной |
Сигнал синхронизации |
|
ADDR |
Входной |
Адресные входы |
|
CS |
Входной |
Разрешение работы устройства |
|
WE |
Входной |
Разрешение записи в память |
|
OE |
Входной |
Разрешение вывода информации |
|
DATA |
Двунаправленный |
Информационные входы/выходы |
устройство управление прерывание запоминающий
Таблица 1.2.4 - Назначение сигналов устройства управления
Название |
Тип |
Назначение |
|
RESET |
Входной |
Сигнал сброса микро-ЭВМ |
|
CLK |
Входной |
Сигнал синхронизации |
|
IRQ_IN |
Входной |
Вход, информирующий о возникновении прерывания |
|
IRQ_ADDR |
Входной |
Адрес обработчика прерывания |
|
DMA_ACK |
Входной |
Вход, информирующий о требовании передать управление КПДП |
|
DMA_END |
Входной |
Вход, информирующий о завершении цикла КПДП |
|
ADDR |
Двунаправленный |
Адресные выходы |
|
DATA |
Двунаправленный |
Информационные двунаправленные входы |
|
ROM_CS |
Выходной |
Сигнал о разрешении работы ПЗУ |
|
RAM_CS |
Выходной |
Сигнал о разрешении работы ОЗУ |
|
Продолжение таблицы 1.2.4 |
|||
RAM_WE |
Выходной |
Сигнал о разрешении записи в ОЗУ |
|
RAM_OE |
Выходной |
Сигнал о разрешении чтения из ОЗУ |
|
IRQ_CLI |
Выходной |
Сигнал о запрете прерываний |
|
IRQ_STI |
Выходной |
Сигнал о разрешении прерываний |
|
IRQ_NUM |
Выходной |
Номер разрешаемого/запрещаемого прерывания |
|
REGS_CS |
Выходной |
Разрешение работы РОНов |
|
REGS_WE |
Выходной |
Разрешение записи в РОНы |
|
REGS_OE |
Выходной |
Разрешение чтения из РОНов |
|
REGS_ADDR |
Выходной |
Адрес РОНа |
|
ALD_CS |
Выходной |
Разрешение работы АЛУ |
|
ALD_A |
Выходной |
1й операнд АЛУ |
|
ALD_B |
Выходной |
2й операнд АЛУ |
|
ALD_XOR |
Выходной |
Выбор операции «исключающее ИЛИ» |
|
ALD_AND |
Выходной |
Выбор операции логическое «И» |
|
DMA_READY |
Выходной |
Сигнал о готовности процессора к передаче управления КПДП |
|
DMA_CONTROL |
Выходной |
Сигнал для мультиплексора управляющих сигналов ОЗУ |
Таблица 1.2.5 - Назначение сигналов арифметико-логического устройства
Название |
Тип |
Назначение |
|
A |
Входной |
Значение первого операнда |
|
B |
Входной |
Значение второго операнда |
|
XOR_SEL |
Входной |
Выбор режима логического «исключающего ИЛИ» |
|
AND_SEL |
Входной |
Выбор режима логического «И» |
|
CS |
Входной |
Разрешение работы устройства |
|
CLK |
Входной |
Сигнал синхронизации |
|
RESULT |
Выходной |
Результат операции |
Таблица 1.2.6 - Назначение сигналов контроллера прямого доступа к памяти
Название |
Тип |
Назначение |
|
CLK |
Входной |
Синхросигнал |
|
DMA_ACK_WR |
Входной |
Запрос на запись в память |
|
DMA_ACK_RD |
Входной |
Запрос на чтение из памяти |
|
CPU_READY |
Входной |
Сигнал об освобождении шин устройством управления |
|
DATA |
Двунаправленный |
Информационные двунаправленные входы внешнего устройства |
|
BUS_ADDR |
Выходной |
Адрес, выставляемый на шину адреса |
|
BUS_DATA |
Двунаправленный |
Информационные двунаправленные входы шины данных |
|
RAM_CS |
Выходной |
Сигнал разрешения работы ОЗУ |
|
RAM_WE |
Выходной |
Сигнал разрешения записи в ОЗУ |
|
RAM_OE |
Выходной |
Сигнал разрешения чтения из ОЗУ |
|
CPU_DMA_ACK |
Выходной |
Сигнал о запросе на ПДП для устройства управления |
|
END_OF_CYCLE |
Выходной |
Сигнал о конце цикла обмена данными с памятью |
Таблица 1.2.7 - Назначение сигналов устройства прерываний
Название |
Тип |
Назначение |
|
IRQ_IN |
Входной |
Линии прерываний |
|
CLI |
Входной |
Сигнал запрета прерывания |
|
STI |
Входной |
Сигнал разрешения прерывания |
|
NUM |
Входной |
Номер запрещаемого/разрешаемого прерывания |
|
CLK |
Входной |
Синхросигнал |
|
ADDR |
Выходной |
Адрес обработчика прерывания |
|
IRQ_OUT |
Выходной |
Выход сигнала возникновения прерывания |
|
MASK |
Выходной |
Маска прерываний |
Общая принципиальная схема разработанного микро-ЭВМ и его временная диаграмма находятся в приложении A и Б соответственно.
2. РАЗРАБОТКА ОСНОВНЫХ УСТРОЙСТВ МИКРО-ЭВМ
2.1 Запоминающие устройства. Функциональный состав и временные диаграммы
В курсовом проекте должны быть реализованы запоминающие устройства двух типов: постоянное запоминающее устройства (ПЗУ) и оперативное запоминающее устройство (ОЗУ).
Согласно заданию разрядность шины адреса составляет 6 бит, а разрядность шины данных - 14 бит. Следовательно память будет содержать 64 14-битных слова.
При проектировании памяти необходимо учесть способ доступа к памяти. Для данного варианта постоянное запоминающее устройство являются асинхронным, а оперативное запоминающее устройство являются синхронным.
Устройство ПЗУ разработано на языке VHDL и представлено в виде исходного кода в файле rom.vhd. Условное графическое обозначение ПЗУ приведено на рисунке 2.1.1.
Рисунок 2.1.1 - Условно-графическое обозначение ПЗУ
Рассмотрим работу ПЗУ и временные диаграммы его работы на примере работы ПЗУ данных. Для проверки работы ПЗУ использовался файл rom_data.mif с следующим содержанием:
WIDTH=14;
DEPTH=64;
ADDRESS_RADIX=UNS;
DATA_RADIX=DEC;
CONTENT BEGIN
0 : 2048;
1 : 3072;
2 : 4352;
3 : 5376;
[4..63] : 0;
END;
Временная диаграмма процесса считывания приведена на рисунке 2.1.2. На первом такте выходы устройства находятся в состоянии высокого импеданса, так как вход CS находится в низком уровне. Как только вход CS переходит в состоянии единицы, ПЗУ выдает свое содержимое в соответствии с выставленным адресом.
Рисунок 2.1.2 - Временная диаграмма работы ПЗУ
Устройство ОЗУ также разработано на языке VHDL. Исходный код программы расположен в файле ram.vhd. Условное графическое обозначение ОЗУ приведено на рисунке 2.1.3.
Рисунок 2.1.3 - Условно-графическое обозначение ОЗУ
Для проверки работоспособности ОЗУ необходимо записать данные по произвольному адресу, а затем прочитать их. Временная диаграмма процесса тестирования ОЗУ приведена на рисунке 2.1.4.
Рисунок 2.1.4 - Временная диаграмма работы ОЗУ
Как видно из временной диаграммы, устройство начинает свою работу с подачи на его вход CS высокого уровня. До этого информационные входы находятся в Z-состоянии. При подаче адреса и сигнала WE ОЗУ записывает информацию, которая содержится на информационных входах по приходу синхросигнала низкого логического уровня. Записав данные по адресам 0, 3, 5, 2 через некоторое время происходит их чтение при подаче сигнала разрешения чтения OE и соответствующих адресов.
2.2 Разработка устройства управления. Функциональный состав и временные диаграммы
Центральным блоком во всей системе микро-ЭВМ является устройство управления, на нем сходятся все логические связи. Именно блок устройства управления осуществляет управление всеми составляющими микро-ЭВМ. Правильная работа устройства управления определяет, насколько правильно будет работать вся схема в целом.
Устройства управления делятся на:
- УУ с жесткой, или схемной логикой;
- УУ с программируемой логикой (микропрограммные УУ).
В устройствах управления первого типа для каждой команды, задаваемой кодом операции, строится набор комбинационных схем, которые в нужных тактах вырабатывают необходимые управляющие сигналы.
В микропрограммном УУ каждой команде ставится в соответствие совокупность хранимых в специальной памяти слов - микрокоманд. Каждая из микрокоманд содержит информацию о микрооперациях, подлежащих выполнению в данном такте, и указание, какое слово должно быть выбрано из памяти в следующем такте.
В данном курсовом проекте использовалось устройство управления с жесткой логикой, функциональная схема которого приведена на рисунке 2.2.1.
Рисунок 2.2.1 - Функциональная схема устройства управления
Данное устройство представляет собой цифровой автомат, меняющий значение на выходах в зависимости от состояния в котором он находится. Выходы устройства управления подключаются к входам всех остальных устройств микро-ЭВМ.
Возможные состояния приведены в таблице 2.2.1.
Таблица 2.2.1 - Описание состояний устройства управления
Номер состояния |
Описание |
|
0 |
Простой |
|
1 |
Чтение команды из ПЗУ |
|
2 |
Запись команды в ОЗУ |
|
3 |
Инициализация регистров |
|
4 |
Подача сигналов на чтение команды из ОЗУ |
|
5 |
Чтение команды с шины данных |
|
6 |
Выполнение команды |
|
7 |
Чтение из регистра адреса |
|
8 |
Чтение из регистра данных |
|
9 |
Запись в регистр данных |
|
10 |
Запись в ОЗУ данных |
|
11 |
Чтение из ОЗУ данных |
|
12 |
Выполнение арифметической операции над заданными операндами |
|
13 |
Обработка запроса от КПДП |
|
14 |
Простой во время цикла ПДП |
|
15 |
Конец работы устройства |
На каждом положительном фронте синхросигнала устройство управления может остаться в предыдущем состоянии либо перейти в следующее. Какое из этих действий выбрать, определяется путем просмотра значений счетчика адреса либо кода операции.
В таблице 2.2.2 изображена полная система машинных команд микро-ЭВМ.
Таблица 2.2.2 - Полная система машинных команд
Мнемоника команды |
Значение |
||||||||||||||
Номер бита |
|||||||||||||||
13 |
12 |
11 |
10 |
9 |
8 |
7 |
6 |
5 |
4 |
3 |
2 |
1 |
0 |
||
NOP |
КОП=0000b |
X |
X |
X |
X |
X |
X |
X |
X |
X |
X |
||||
HLT |
КОП=0001b |
X |
X |
X |
X |
X |
X |
X |
X |
X |
X |
||||
CLI |
КОП=0010b |
X |
X |
X |
X |
X |
X |
X |
X |
X |
X |
||||
STI |
КОП=0011b |
X |
X |
X |
X |
X |
X |
X |
X |
X |
X |
||||
CLI k |
КОП=0100b |
k |
X |
X |
X |
X |
X |
X |
X |
||||||
STI k |
КОП=0101b |
k |
X |
X |
X |
X |
X |
X |
X |
||||||
RETI |
КОП=0110b |
X |
X |
X |
X |
X |
X |
X |
X |
X |
X |
||||
JMP [R] |
КОП=0111b |
R |
X |
X |
X |
X |
X |
X |
X |
||||||
MOV [R], Rn |
КОП=1000b |
R |
Rn |
X |
X |
X |
X |
||||||||
MOV Rn, [R] |
КОП=1001b |
Rn |
R |
X |
X |
X |
X |
||||||||
XOR [R],Rn |
КОП=1010b |
R |
Rn |
X |
X |
X |
X |
||||||||
XOR Rn, [R] |
КОП=1011b |
Rn |
R |
X |
X |
X |
X |
||||||||
AND [R],Rn |
КОП=1100b |
R |
Rn |
X |
X |
X |
X |
||||||||
AND Rn, [R] |
КОП=1101b |
Rn |
R |
X |
X |
X |
X |
Исходный код устройства управления на языке VHDL представлен в файле cd.vhd. Условное графическое обозначение отображено на рисунке 2.2.2.
Рисунок 2.2.2 - Условное графическое обозначение устройства управления
Для разделения доступа к управляющим сигналам ОЗУ был также реализован специальный мультиплексор, входами которого являются выходы для управления ОЗУ от устройства управления и КПДП. С выхода мультиплексора сигналы поступают на ОЗУ. Исходный код представлен в файле ramcontrol_mux.vhd.
Также для тестирования микро-ЭВМ была разработана программа, исходный код которой отображен в таблице 2.2.3.
Таблица 2.2.3 - Исходный код программы для тестирования микро-ЭВМ
Адрес |
Данные |
Мнемоника |
Комментарий |
|
Основная программа |
||||
0 |
0010 0000000000 |
CLI |
Запретить прерывания |
|
1 |
0011 0000000000 |
STI |
Разрешить прерывания |
|
2 |
0100 010 0000000 |
CLI 2 |
Запретить второе прерывание |
|
3 |
0101 010 0000000 |
STI 2 |
Разрешить второе прерывание |
|
4 |
0111 000 0000001 |
JMP [R0] |
Перейти по адресу из регистра R0 |
|
5 |
0000 0000000000 |
NOP |
Пропуск такта |
|
6 |
1000 000 001 0000 |
MOV [R0],R1 |
Запись по адресу в R0 числа из R1 |
|
7 |
1001 010 001 0000 |
MOV R2,[R1] |
Запись в регистр R2 числа по адресу в R1 |
|
8 |
1100 001 011 0000 |
AND [R1], R3 |
Вычисление побитового «И», запись результата по адресу в регистре R1 |
|
9 |
1011 010 001 0000 |
XOR R2, [R1] |
Вычисление побитового «искл. ИЛИ», запись результата в регистр R2 |
|
18 |
0001 0000000000 |
HLT |
Деинициализация ЭВМ |
|
Обработчики прерываний (подпрограмм) |
||||
32 |
0000 0000000000 |
NOP |
Обработчик линии 0 |
|
33 |
0110 0000000000 |
RETI |
Вернуться в программу |
|
34 |
0000 0000000000 |
NOP |
Обработчик линии 1 |
|
35 |
0110 0000000000 |
RETI |
Вернуться в программу |
|
36 |
0000 0000000000 |
NOP |
Обработчик линии 2 |
|
37 |
0110 0000000000 |
RETI |
Вернуться в программу |
|
38 |
0011 0000000000 |
STI |
Обработчик линии 3 |
|
39 |
0110 0000000000 |
RETI |
Вернуться в программу |
|
42 |
0000 0000000000 |
NOP |
Обработчик линии 4 |
|
43 |
0110 0000000000 |
RETI |
Вернуться в программу |
|
44 |
0000 0000000000 |
NOP |
Обработчик линии 5 |
|
45 |
0110 0000000000 |
RETI |
Вернуться в программу |
Временная диаграмма устройства управления и всей микро-ЭВМ при выполнении вышеописанной программы, изображена в приложении Г.
2.3 Разработка АЛУ. Функциональный состав и временные диаграммы
Арифметико-логическое устройство (АЛУ) - блок в микро-ЭВМ, отвечающий за выполнение элементарных логических и арифметических операций.
Блок АЛУ функционально состоит из следующих частей: регистры-защелки операндов, и собственно вычислительные блоки «исключающего ИЛИ» и логического «И». Выборка операций осуществляется подачей управляющих сигналов с шины управления ЭВМ. Функциональная схема АЛУ приведена на рисунке 2.3.1.
Рисунок 2.3.1 - Функциональная схема АЛУ
Логика работы операций АЛУ заключается в побитовом вычислении результата над соответствующими разрядами двоичных векторов операндов.
Условное графическое обозначение данного устройства изображено на рисунке 2.3.2.
Рисунок 2.3.2 - Условное графическое обозначение АЛУ
Устройство реализовано на регистрово-вентильном уровне, его схема и временная диаграмма работы представлена соответственно в приложениях В и Г пояснительной записки. Подробное описание и особенности проектирования рассмотрены в пункте 3 пояснительной записки.
2.4 Разработка КПДП. Функциональный состав и временные диаграммы
КПДП организует прямой доступ к памяти внешним устройствам. По заданию, КПДП должен передавать 10 машинных слов, потому необходимо выполнять передачу данных в несколько тактов. Для подсчета текущего адреса и количества переданных слов данное устройство содержит в себе счетчик адреса и счетчик данных (слов). В начале цикла КПДП счетчик адреса устанавливается в начальный адрес (по условию 6), а счетчик данных устанавливается в значение объема передаваемой информации (10). После очередной передачи порции информации счетчик адреса инкрементируется, а счетчик данных, наоборот, декрементируется. Так продолжается до тех пор, пока счетчик данных не будет обнулен.
Функциональная схема контроллера ПДП изображена на рисунке 2.4.1.
Рисунок 2.4.1 - Функциональная схема контроллера ПДП
Устройство КПДП разработано на языке VHDL и представлено в файле dma.vhd. Условное графическое обозначение КПДП изображено на рисунке 2.4.2.
Рисунок 2.4.2 - Условно-графическое обозначение КПДП
Временная диаграмма работы КПДП изображена на рисунке 2.4.3
Рисунок 2.4.3 - Временная диаграмма работы КПДП
На первом такте временной диаграммы возникает запрос на запись данных в память. Запрос сразу же передается устройству управления, после чего оно, освободив все шины, передает сигнал на вход CPU_READY. Получив этот сигнал, КПДП начинает работу с памятью, выставив сигналы разрешения работы и записи ОЗУ, а также начальный адрес. В результате данные с входов DATA транслируются на шину данных. После записи 10 байт информации КПДП выставляет сигнал END_OF_CYCLE, сигнализирующий о завершении цикла обмена с памятью.
2.5 Разработка системы прерываний функциональный состав и временные диаграммы
Прерывание - это прекращение выполнения текущей команды или текущей последовательности команд для обработки некоторого события специальной программой - обработчиком прерывания, с последующим возвратом к выполнению прерванной программы. Событие может быть вызвано особой ситуацией, сложившейся при выполнении программы, или сигналом от внешнего устройства. Прерывание используется для быстрой реакции процессора на особые ситуации, возникающие при выполнении программы и взаимодействии с внешними устройствами.
Любая особая ситуация, вызывающая прерывание, сопровождается сигналом, называемым запросом прерывания.
После появления сигнала запроса прерывания ЭВМ переходит к выполнению программы - обработчика прерывания. Обработчик выполняет те действия, которые необходимы в связи с возникшей особой ситуацией.
Для корректной работы контроллера прерываний, устройство должно постоянно хранить в себе маску прерываний. Маска прерываний представляет собой 6-разрядное число, каждый разряд которого хранит информацию о текущем состоянии соответствующей линии прерывания. Если в разряде храниться логическая единица, то это означает, что данная линия прерывания работает. Если разряд маски равен логическому нулю, то это означает, что эта линия запрещена.
Также контроллер прерываний хранит в себе все начальные адреса обработчиков для каждой из линий. Эти адреса в случае возникновения прерывания передаются устройству управления. Функциональная схема контроллера представлена на рисунке 2.5.1.
Рисунок 2.5.1 - Функциональная схема контроллера прерываний
Исходный текст модуля системы прерываний находится в файле irq.vhd. Условное обозначение данного устройства приведено на рисунке 2.5.2.
Рисунок 2.5.2 - Условно-графическое обозначение контроллера прерываний
Временная диаграмма работы устройства изображена на рисунке 2.5.3
Рисунок 2.5.3 - Временная диаграмма работы контроллера прерываний
На первом такте работы контроллера прерываний не возникает. На втором такте поступает команда на запрет 1-й линии прерываний и одновременно поступает сигнал на линии под номером 0. Как результат, маска прерываний изменилась - второй разряд стал равным нулю, и логическая единица на выходе IRQ_OUT. В итоге, по возникновению команд на запрет и разрешение линий можно убедиться в изменении соответствующих разрядов маски.
3. РАЗРАБОТКА ПРИНЦИПИАЛЬНОЙ СХЕМЫ УСТРОЙСТВА
3.1 Описание работы устройства на вентильно-регистровом уровне
По условию курсового проекта нужно было разработать принципиальную схему арифметико-логического устройства. Устройство АЛУ можно разбить на несколько функциональных блоков:
- блок хранения операндов;
- блок побитового «исключающего ИЛИ»;
- блок побитового «И».
Блок хранения операндов предназначен для защелкивания поступающих в АЛУ операндов в течение машинного такта. Схема построена на синхронных D-триггерах с входом разрешения записи и изображена на рисунке 3.1.1.
Рисунок 3.1.1 - Схема блока хранения операндов
Блок побитовой операции «исключающее ИЛИ» используется для выполнения соответствующей операции над двоичными числами. Блок составлен на элементарных одноразрядных логических элементах «исключающее ИЛИ» с высокоимпедансными буферами по выходам. Схема блока «исключающее ИЛИ» изображена на рисунке 3.1.2.
Рисунок 3.1.2 - Схема 14-разрядного блока логического исключающего ИЛИ
Блок логического «И» выполняет в разрабатываемом устройстве операцию AND. Его устройство достаточно элементарно: каждая пара разрядов двух операндов подается на вход элемента «И». В итоге на выходе мы получаем многоразрядный результат операции логическое «И». Схема устройства изображена на рисунке 3.1.3.
Рисунок 3.1.3 - Схема 14-разрядного блока логического И
Операнды поступают одновременно в оба блока АЛУ, где параллельно производятся операции над ними. В зависимости от кода операции на выход поступает результат только из одного блока. Использование буферов с тремя состояниями позволило отказаться от мультиплексора результатов.
Схема всего блока АЛУ представлена в приложении Б.
3.2 Описание временной диаграммы работы устройства
Временная диаграмма работы АЛУ представлена в приложении Г.
На первом такте не вызывается ни одна из операций, поэтому на выходах - Z-состояние.
Как только на входе AND_SEL или OR_SEL появляется сигнал высокого логического уровня вместе с положительным фронтом тактового сигнала - на выходе устройства АЛУ образуется результат требуемой операции.
По высокому уровню второго синхроимпульса данные защелкиваются в устройстве. В этом же такте выставлен селектор операции AND. Таким образом, на выходной шине устройства появляется результат операции 4 AND 5, равный 4.
Аналогично, по высокому уровню четвертого синхроимпульса выставлен селектор операции XOR, и, соответственно, на выходной шине устройства появляется результат операции 12 XOR 5, равный 9.
4. ОПТИМИЗАЦТЯ МИКРО-ЭВМ
Для оптимизации работы микро-ЭВМ можно использовать различные методы.
Одним из таких методов является использование обоих фронтов тактовых импульсов для совершения определенных действий. В таком случае можно повысить быстродействие приблизительно в 2 раза.
В данном курсовом проекте для оптимизации был разработан немного другой подход, который так же позволяет повысить быстродействие всей микро-ЭВМ в целом. Для этого были использованы две линии тактовых синхросигналов.
Оба сигнала передаются с фазовой задержкой. Одна линия подключается к тактовому входу устройства управления, а другая - ко всем остальным синхронным устройствам. Таким образом, устройство управления, выставив определенные сигналы на шине управления по одному положительному фронту, может ожидать что устройство, которому предназначались эти сигналы, среагирует за один такт. И на следующем положительном фронте устройство управления может проводить следующую операцию. При использовании одной линии синхронизации устройству управления приходилось бы совершать операции с остальными узлами ЭВМ за 2 такта.
Другим методом увеличения производительности микро-ЭВМ является сокращение длительности выполнения фаз отдельных команд. Здесь результат достигается путем увеличения частоты тактового генератора, что приведет к увеличению количества выполняемых команд в единицу времени.
Временные диаграммы работы микро-ЭВМ, при оптимизации путём повышения частоты работы тактового генератора и исходная, представлены в приложении Д.
Третьим методом оптимизации является конвейерное выполнение фаз последовательностей команд.
Конвейеризация в общем случае основана на разделении подлежащей исполнению функции на более мелкие части и выделении для каждой из них отдельного блока аппаратуры. Так обработку любой машинной команды можно разделить на несколько этапов, организовав передачу данных от одного этапа к следующему. При этом конвейерную обработку можно использовать для совмещения этапов выполнения разных команд. Производительность при этом возрастает благодаря тому, что одновременно на различных ступенях конвейера выполняются несколько команд. Конвейерная обработка такого рода широко применяется во всех современных быстродействующих процессорах.
ЗАКЛЮЧЕНИЕ
В данном курсовом проекте была реализована микро-ЭВМ с заданными характеристиками на элементной базе ПЛИС в среде автоматизированного проектирования Quartus II 8.1.
В соответствии с заданием на курсовое проектирование была реализована микро-ЭВМ по принципу принстонской архитектуры. Принстонская архитектура имеет одну общую шину данных и команд, поэтому скорость работы с данным типом архитектуры будет меньше, чем у гарвардской архитектуры. Достоинство принстонской архитектуры - это ее относительно меньшая стоимость по отношению к гарвардской.
Разрядность шины адреса разработанной микро-ЭВМ составляет 6 бит, шина данных - 14 бит. Количество регистров общего назначения - 8. ОЗУ является синхронным, ПЗУ - асинхронными.
Тип используемой адресации - косвенная. При этом типе адресации в адресной части команды указывается не прямой, а косвенный адрес операнда, т.е. адрес адреса операнда. Недостаток косвенной адресации - дополнительное обращение к памяти и, как следствие, уменьшение быстродействия ЦП. К достоинствам можно отнести уменьшение длины адресной части команды при косвенной регистровой адресации.
В микро-ЭВМ были разработаны: устройство управления, выполняющее общие команды, такие как HLT, CLI k, STI k, JMP adr, MOV adr, reg, MOV reg, adr, арифметико-логическое устройство, выполняющее операции XOR и AND, контроллер прямого доступа к памяти с начальным адресом 6 и объемом 10 бит, система прерываний с 6 линиями прерывания. Все устройства, кроме арифметико-логического устройства, были реализованы на языке программирования VHDL. АЛУ было реализовано схемотехнически.
Были предприняты попытки оптимизации работы микро-ЭВМ. Для этого использовались две линии тактовых синхросигналов, также была произведена оптимизация путём повышения частоты работы тактового генератора.
Таким образом, в ходе выполнения курсового проекта были получены знания по организации принстонской архитектуры, изучены принципы построения и функционирования ЭВМ в целом, а так же ее отдельных блоков, разработано устройство управления программного типа, получены знания по кодированию команд и разработке ПЛИС в среде автоматизированного проектирования САПР Quartus II.
Размещено на Allbest.ru
...Подобные документы
Функциональный состав микро-ЭВМ, разработка системы команд. Описание взаимодействия всех блоков электронно-вычислительной машины при выполнении команд программы. Арифметико-логическое устройство, кэш-память процессора, функциональное моделирование.
курсовая работа [981,4 K], добавлен 27.05.2013Определение принципов работы с САПР Xilinx WebPACK. Особенности проектирования простейших комбинационных схем на базе ПЛИС. Описание устройства на языке VHDL, набор тестовых воздействий и временные диаграммы его работы. Размещение устройства на кристалле.
лабораторная работа [318,7 K], добавлен 28.05.2012Изготовление устройства управления шаговым двигателем на базе микросхем дискретной логики ТТЛ. Временные диаграммы работы устройства. Условное графическое изображение и уровни реализации структуры ПЛИС. Расчет энергопотребления с помощью утилиты xPower.
курсовая работа [1,1 M], добавлен 28.12.2012Запоминающие устройства: винчестеры, дискеты,стримеры, флэш-карты памяти, MO-накопители, оптические: CD-R, CD-RW, DVD-R, DVD-RW, и новейшие запоминающие устройства. Информацию необходимо сохранять на носителях, не зависящих от наличия напряжения.
реферат [14,9 K], добавлен 01.03.2006Функциональная схема и алгоритм работы устройства. Техническое обоснование выбора серии ИМС. Состав и описание работы узлов устройства. Расчёт необходимых сопротивлений резисторов, потребляемой мощности и тока. Построение и анализ временных диаграмм.
курсовая работа [311,7 K], добавлен 19.05.2011Описание алгоритма функционирования устройства сопряжения, которое подключается к системной шине ISA. Принципиальная и функциональная схемы интерфейсной и операционной части устройства. Моделирование схемы операционной части, построение диаграммы работы.
курсовая работа [50,7 K], добавлен 13.11.2009Иерархия запоминающих устройств ЭВМ. Микросхемы и системы памяти. Оперативные запоминающие устройства. Принцип работы запоминающего устройства. Предельно допустимые режимы эксплуатации. Увеличение объема памяти, разрядности и числа хранимых слов.
курсовая работа [882,6 K], добавлен 14.12.2012Разработка устройства управления двухконфорочной электроплитой на базе микроконтроллера, описание функциональных действий. Структурная схема аппаратной части. Проектирование программного обеспечения. Описание алгоритма работы системы и программы.
курсовая работа [709,3 K], добавлен 22.12.2010Алгоритм реализации арифметической операции и разработка блок-схемы устройства. Составление и минимизация логических выражений работы блоков. Логическая схема регистра, сумматора, сдвига и мультиплексора. Анализ и синхронизация работы устройства.
курсовая работа [1,2 M], добавлен 27.02.2014Проблема охлаждения в компьютере. Выбор и описание прототипов разрабатываемого устройства. Разработка структурной и принципиальной схемы. Разработка программного обеспечения, его выбор и обоснование. Моделирование работы исследуемого устройства.
курсовая работа [2,7 M], добавлен 10.11.2014Разработка принципиальной электрической схемы микропроцессорного устройства управления двигателем постоянного тока на базе контроллера ATmega 128. Разработка пакета подпрограмм на языке Assembler в целях регулирования и корректной работы устройства.
курсовая работа [271,5 K], добавлен 14.01.2011Применение однокристального микроконтроллера в адаптере параллельного обмена. Связь с внешними устройствами. Структурная схема устройства и ее описание. Назначение отдельных функциональных блоков. Разработка принципиальной схемы и программы устройства.
курсовая работа [303,0 K], добавлен 06.01.2009Разработка структурной и принципиальной схемы. Блок-схема основной программы и подпрограмм обработки прерываний. Имена переменных, используемых в них. Результаты моделирования работы устройства в программе ISIS пакета Рroteus. Разработка печатной платы.
курсовая работа [1,5 M], добавлен 13.11.2016Разработка алгоритма работы устройства, описание выбора элементной базы и работы принципиальной схемы. Текст программы, инициализация указателя стека, структура системы и ресурсов микроконтроллера. Запись кодов при программировании данного устройства.
контрольная работа [18,4 K], добавлен 24.12.2010Расчет статического модуля оперативной памяти и накопителя. Построение принципиальной схемы и временной диаграммы модуля оперативного запоминающего устройства. Проектирование арифметико-логического устройства для деления чисел с фиксированной точкой.
курсовая работа [3,2 M], добавлен 13.06.2015Характеристика понятия "процессор". История развития процессоров, описание их параметров и устройства, особенности работы. Что такое быстродействие и эффективность работы процессора. Тонкости сборки и вспомогательные устройства. Описание кэш-памяти.
практическая работа [4,3 M], добавлен 17.01.2011Разработка структурной схемы устройства управления учебным роботом. Выбор двигателя, микроконтроллера, микросхемы, интерфейса связи и стабилизатора. Расчет схемы электрической принципиальной. Разработка сборочного чертежа устройства и алгоритма программы.
курсовая работа [577,8 K], добавлен 24.06.2013Принцип работы преобразовательного устройства. Система автоматического управления. Расчет параметров катушки индуктивности. Схема преобразовательного устройства и описание элементов математической модели. Режим прерывистых и непрерывных токов дросселя.
курсовая работа [705,1 K], добавлен 21.10.2012Первые полупроводниковые оперативные запоминающие устройства. Разряд модуля памяти. Количество адресных входов микросхемы. Статические запоминающие устройства с произвольным доступом. Асинхронная статическая и конвейерно-пакетная статическая память.
лекция [279,2 K], добавлен 11.12.2013Схема алгоритма работы устройства сравнения трех чисел, структурная, функциональная и принципиальная схемы. Оценка параметров устройства. Схемы задержки и сброса по питанию, комбинационная схема определения среднего числа. Построение временной диаграммы.
курсовая работа [205,0 K], добавлен 24.06.2013