Проектирование микро-ЭВМ

Описание взаимодействия всех блоков микро-ЭВМ и их оптимизации. Запоминающие устройства, функциональный состав и временные диаграммы. Разработка устройства управления, системы прерываний. Описание работы устройства на вентильно-регистровом уровне.

Рубрика Программирование, компьютеры и кибернетика
Вид курсовая работа
Язык русский
Дата добавления 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

Работы в архивах красиво оформлены согласно требованиям ВУЗов и содержат рисунки, диаграммы, формулы и т.д.
PPT, PPTX и PDF-файлы представлены только в архивах.
Рекомендуем скачать работу.