Добавил:
Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Курсовой (1).doc
Скачиваний:
29
Добавлен:
15.06.2014
Размер:
1 Mб
Скачать

ОМСКИЙ ГОСУДАРСТВЕННЫЙ ТЕХНИЧЕСКИЙ УНИВЕРСИТЕТ

Кафедра информатики и вычислительной техники

ПОЯСНИТЕЛЬНАЯ ЗАПИСКА

к курсовой работе

по курсу "Организация ЭВМ и систем. "

Тема: "Разработка специализированной микроЭВМ с микропрограммным управлением."

Выполнил:

студент гр.В-220 Никонов В.А.

Проверил:

к.т.н., доцент Нестерук В.Ф.

Омск-2001

Задание на курсовое проектирование по дисциплине

Организация ЭВМ и систем”

студенту Никонову В.А. группы В-220

  1. Тема проекта: “Разработка специализированной микроЭВМ с микропрограммным управлением.”

  2. Технические условия: Система представления – двоичная с фиксированной запятой; Длина разрядной сетки – 14 разрядов (из них 2 знаковых); Способ кодирования – модифицированный прямой код; Способ реализации – программный.

  3. Элементная база: микропроцессорный комлект серии К584 и совместимые с ним интегральные микросхемы других серий.

  1. Осуществить системное, структурное, и функциональное проектирование микроЭВМ с трехмагистральной структурой и асинхронным внешним интерфейсом.

  2. Рассчитать технические параметры микроЭВМ.

  3. Содержание графической части работы:

  • структурная схема алгоритма.

  • структурная схема микроЭВМ.

  • функциональная схема микроЭВМ

  • микропрограмма работы микроЭВМ

  • графики временных диаграмм работы микроЭВМ

  1. Срок сдачи законченного проекта “___”___________2001 г.

  2. Дата выдачи задания “___”____________2001 г.

Руководитель проекта к.т.н., доцент __________ Нестерук В.Ф.

Студент ___________________ Никонов В.А.

Алгоритм работы микроЭвм

Структура внешнего интерфейса

ШД — это 12-ти разрядная двунаправленная шина данных передающая также код операции по трём младшим битам.

Все операции, за исключением операции "НЕ", требуют два операнда, подаваемых на вход микроЭВМ после кода операции. Операция "НЕ" требует лишь один операнд.

Описание шины управления

1 — входной перенос;

2 - 10 — код микроинструкции БМП;

11 - 24 — код микроинструкции БМУ;

25 — ГОТ;

26 - 32 — код микроинструкции МПП;

33 - 35 — код микроинструкции МЛУ;

36 - 39 — код микроинструкции ПЗУ;

40 — "DEC/INC" (логическое условие)

41 — "INC1/INC2" (логическое условие)

42 — "INC2/INC1" (логическое условие)

43 — SD (строб данных)

Структурная схема микроЭвм

Функциональная схема микроЭвм

Функциональная схема блока микропроцессоров (БМП)

Функциональная схема блока микропрограммного управления (бму)

Функциональная схема магистрального приёмопередатчика (мпп)

Система синхронизации

Сигналы синхронизации S1-S5 вырабатываются на основе сигнала "S0" равного 200нс.

Постоянная память

Предназначена для хранения констант.

Константы в ПЗУ

Адрес

Значение

000

001000000000

001

100000000000

010

110000000000

011

010000000000

100

000000001010

101

001111111111

110

000000000001

Формат микрокоманды

КМИ БМП — поле кода микроинструкции блока микропроцессоров.

П — поле входного переноса блока микропроцессоров.

КМИ КМУ — поле кода микроинструкции блока микропрограммного управления.

КМИ МЛУ — поле кода микроинструкции мультиплексора логических условий.

КМИ МПП — поле кода микроинструкции магистрального приёмопередатчика.

КМИ ПЗУ — поле кода микроинструкции постоянного запоминающего устройства.

ГОТ — поле сигнала ГОТ.

Микропрограмма

Адрес

КМИ БМП

П

КМИ БМУ

КМИ МЛУ

КМИ МПП

КМИ ПЗУ

ГОТ

Примечания

000

0

Счёт

М3=М2

1

Установка ГОТ

001

0

Счёт

SD

М3=М1

0

Ожидание СД

002

РОН6:=ШИНвх

0

Счёт

М3=М1

0

Приём КОп

003

0

Счёт

М3=М2

1

Установка ГОТ

004

0

Счёт

SD

М3=М1

0

Ожидание СД

005

РОН0:=ШИНвх

0

Счёт

М3=М1

0

Приём А

006

POН3:=!П

1

Счёт

0

БС:=0

007

PP:=РОН6 +П

0

Счёт

0

Проверка: КОп=1110..00?

008

РР:=РР+ШИНвх

0

ПА(008)

INC2/INC1

Чтение(1)

0

—"—

009

0

ПА(00с)

0

КОп≠1110..00; Переход в 00с

00a

РР:=!РОН0+П

0

Счёт

0

Операция "НЕ"

00b

РОН2:=PР+П

0

ПА(0d5)

0

С:=!(А); Переход в

00c

0

Счёт

М3=М2

1

Установка ГОТ

00d

0

Счёт

SD

М3=М1

0

Ожидание СД

00e

РОН2:=ШИНвх

0

Счёт

М3=М1

0

Приём B

00f

ШИНвых:=РОН6+П

0

D=PK, Счёт

0

Передача КОп из БМП в БМУ для анализа

010

0

ПА{КОп}

0

Переход по КОп

011

РР:=РОН0+П

0

Счёт

0

Проверка А на 0

012

РР:=!РР+П

1

ПА(012)

INC2/INC1

0

—"—

013

0

ПА(016)

0

А≠0; Переход в 016

014

РР:=РОН1+П

0

Счёт

0

С:=В

015

РОН2:=РР+П

0

ПА(0d5)

0

—"—; Переход в

016

РР:=РОН1+П

0

Счёт

0

Проверка В на 0

017

РР:=!РР+П

1

ПА(017)

INC2/INC1

0

—"—

018

0

ПА(01b)

0

В≠0; Переход в 01b

019

РР:=РОН0+П

0

Счёт

0

С:=А

01a

РОН2:=РР+П

0

ПА(0d5)

0

—"—; Переход в

01b

РР:=РОН0+П

0

Счёт

0

Проверка знака А

01c

РР:=ШИНвх+РР+П

0

ПА(1d)

INC2/INC1

Чтение(2)

0

—"—

01d

0

ПА(22)

0

А>0; Переход в 22

01e

РР:=ШИНвх xor РР

0

Счёт

Чтение(3)

0

Инвертирование

01f

РР:=РР+П

1

ПА(21)

0

+1. Прыжок

020

0

ПА(011)

0

Переход к А+В

021

РОН0:=РР+П

0

Счёт

0

Запись преобразованного А

022

РР:=РОН1+П

0

Счёт

0

Проверка знака В

023

РР:=ШИНвх+РР+П

0

ПА(24)

INC2/INC1

Чтение(2)

0

—"—

024

0

ПА(28)

0

В>0; Переход в 28

025

РР:=ШИНвх xor РР

0

Счёт

Чтение(3)

0

Инвертирование

026

РР:=РР+1

1

Счёт

0

+1

027

РОН1:=РР+П

0

Счёт

0

Запись преобразованного В

028

РР:=РОН0+П

0

Счёт

0

А+В

029

РР:=РР+РОН1+П

0

Счёт

0

—"—

02a

РОН2:=РР+П

0

Счёт

0

С:=А+В

02b

РР:=ШИНвх & РР

0

Счёт

Чтение(3)

0

Проверка на переполнение

02c

РР:=ШИНвх+РР+П

0

Счёт

Чтение(4)

0

—"—

02d

РОН3:=РР+П

0

Счёт

0

Запись байта сообщений

02e

РР:=РОН2+П

0

Счёт

0

Проверка знака C

02f

РР:=ШИНвх+РР+П

0

ПА(2f)

INC2/INC1

Чтение(2)

0

—"—

030

0

ПА(34)

0

В>0; Переход в 034

031

РР:=ШИНвх xor РР

0

Счёт

Чтение(3)

0

Инвертирование

032

РР:=РР+1

1

Счёт

0

+1

033

РОН2:=РР+П

0

Счёт

0

Запись преобразованного C

034

0

ПА(0d5)

0

Переход в

035

РР:=РОН0+П

0

Счёт

0

Проверка А на 0

036

РР:=!РР+П

1

ПА(036)

INC2/INC1

0

—"—

037

0

ПА(03a)

0

А≠0; Переход в 03a

038

РР:=РОН1+П

0

Счёт

0

С:=-В

039

РОН2:=РР+П

0

ПА(0d5)

0

С:=-В; Переход в

03a

РР:=РОН1+П

0

Счёт

0

Проверка В на 0

03b

РР:=!РР+П

1

ПА(03b)

INC2/INC1

0

—"—

03c

0

ПА(03f)

0

В≠0; Переход в 03f

03d

РР:=РОН0+П

0

Счёт

0

С:=А

03e

РОН2:=РР+П

0

ПА(0d5)

0

—"—; Переход в

03f

РР:=РОН0+П

0

ПА(041)

0

Проверка знака А. Прыжок

040

0

ПА(035)

0

Переход к А–В

041

РР:=ШИНвх+РР+П

0

ПА(01d)

INC2/INC1

Чтение(2)

0

Проверка знака А

042

0

ПА(046)

0

А>0; Переход в 046

043

РР:=ШИНвх xor РР

0

Счёт

Чтение(3)

0

Инвертирование

044

РР:=РР+П

1

Счёт

0

+1

045

РОН0:=РР+П

0

Счёт

0

Запись преобразованного А

046

РР:=РОН1+П

0

Счёт

0

Проверка знака В

047

РР:=ШИНвх+РР+П

0

ПА(47)

INC2/INC1

Чтение(2)

0

—"—

048

0

ПА(04c)

0

В>0; Переход в 04c

049

РР:=ШИНвх xor РР

0

Счёт

Чтение(3)

0

Инвертирование

04a

РР:=РР+1

1

Счёт

0

+1

04b

РОН1:=РР+П

0

Счёт

0

Запись преобразованного В

04c

РР:=РОН0+П

0

Счёт

0

А–В

04d

РР:=РР+РОН1+П

0

Счёт

0

—"—

04e

РОН2:=РР+П

0

Счёт

0

С:=А–В

04f

РР:=ШИНвх & РР

0

Счёт

Чтение(3)

0

Проверка на переполнение

050

РР:=ШИНвх+РР+П

0

Счёт

Чтение(4)

0

—"—

051

РОН3:=РР+П

0

Счёт

0

Запись байта сообщений

052

РР:=РОН2+П

0

Счёт

0

Проверка знака C

053

РР:=ШИНвх+РР+П

0

ПА(53)

INC2/INC1

Чтение(2)

0

—"—

054

0

ПА(58)

0

В>0; Переход в 053

055

РР:=ШИНвх xor РР

0

Счёт

Чтение(3)

0

Инвертирование

056

РР:=РР+1

1

Счёт

0

+1

057

РОН2:=РР+П

0

Счёт

0

Запись преобразованного C

058

0

ПА(0d5)

0

Переход в

059

РР:=РОН0+П

0

Счёт

0

Проверка А на 0

05a

РР:=!РР+П

1

ПА(05a)

INC2/INC1

0

—"—

05b

0

ПА(05e)

0

А≠0; Переход в 05e

05c

РР:=РОН1+П

0

Счёт

0

С:=0

05d

РОН2:=РР+П

0

ПА(0d5)

0

—"—; Переход в

05e

РР:=РОН1+П

0

ПА(061)

0

Проверка В на 0.Прыжок

05f

060

0

ПА(095)

0

Переход к А*В

061

РР:=!РР+П

1

ПА(03b)

INC2/INC1

0

—"—

062

0

ПА(065)

0

В≠0; Переход в 065

063

РР:=РОН0+П

0

Счёт

0

С:=0

064

РОН2:=РР+П

0

ПА(0d5)

0

—"—; Переход в

065

РОН4:=!П

1

Счёт

0

РС=0

066

РОН5:=ШИНвх

0

Счёт

Чтение(5)

0

СЧ=10

067

РР:=РОН0+П

0

Счёт

0

Формирование знака С

068

РР:=РОН1 xor РР

0

Счёт

0

—"—

069

РР:=ШИНвх & РР

0

Счёт

Чтение(3)

0

—"—

06a

РОН6:=РР+П

0

Счёт

0

Запись знака С

06b

РР:=РОН0+П

0

Счёт

0

|А|

06c

РР:=ШИНвх & РР

0

Счёт

Чтение(6)

0

—"—

06d

РОН0:=РР+П

0

Счёт

0

Запись |А|

06e

РР:=РОН1+П

0

Счёт

0

|B|

06f

РР:=ШИНвх & РР

0

Счёт

Чтение(6)

0

—"—

070

РОН1:=РР+П

0

Счёт

0

Запись |B|

071

РР:=РОН4+П

0

ПА(071)

INC2/INC1

0

Проверка РС

072

0

ПА(07e)

0

РС=0. Переход в

073

ШИНвых:=РОН1+П

0

D=PK, ПА(078)

0

Передача В из БМП в БМУ для анализа

074

0

ПА(079)

0

B[1,0]=00. Переход в 079

075

0

ПА(07f)

0

НОП. Переход в 07f

076

0

ПА(07b)

0

B[1,0]=10. Переход в 07b

077

0

ПА(07f)

0

НОП. Переход в 07f

078

0

ПА{В[1,0], РС1}

0

Переход по B[1,0] при РС=1

079

РОН4:=!П

1

Счёт

0

РС:=0

07a

РР:=РОН0+П

0

ПА(07d)

0

С:=С+А

07b

РР:=!П

1

Счёт

0

С:=С–А

07c

РР:=РР-РОН0-1+П

1

Счёт

0

—"—

07d

РОН2:=РОН2+РР+П

0

ПА(07f)

0

—"—

07e

0

ПА{В[1,0], РС0}

0

Переход по B[1,0] при РС=0

07f

РР:=РОН1+П

0

ПА(081)

0

Сдвиг В. Прыжок

080

0

ПА(069)

0

Переход к А/В

081

РР:=СЛП(РР)+П

0

Счёт

0

Сдвиг В

082

РОН1:=РР+П

0

Счёт

0

Запись сдвинутого В

083

РР:=РОН1+П

0

ПА(08b)

0

Сдвиг С. Прыжок

084

0

ПА(07f)

0

НОП. Переход в

085

0

ПА(07a)

0

B[1,0]=01. Переход в 07а

086

0

ПА(07f)

0

НОП. Переход в

087

0

ПА(088)

0

B[1,0]=11. Переход в 088

088

РР:=!П

0

Счёт

0

РС:=1

089

РР:=СЦП(РР)+П

0

Счёт

0

—"—

08a

РОН4:=РР+П

0

ПА(07b)

0

—"—

08b

РР:=СЛП(РР)+П

0

Счёт

0

Сдвиг С

08c

РР:=РОН4+РР+П

0

Счёт

0

Сдвиг С

08d

РОН2:=РР+П

0

Счёт

0

Сдвиг С

08e

РР:=!П

1

Счёт

0

Сч:=Сч–1

08f

РОН5:=РОН5-РР-1+П

0

Счёт

0

Сч:=Сч–1

090

РР:=РОН5+П

0

ПА(090)

INC2/INC1

0

Сч=0?

091

0

ПА(071)

0

Сч≠0. Переход в 071

092

РР:=РОН2+П

0

Счёт

0

Присвоение знака

093

РР:=РР xor РОН6

0

Счёт

0

Присвоение знака

094

РОН2:=РР+П

0

ПА(0d5)

0

Запись С. Переход в

095

РР:=РОН0+П

0

Счёт

0

Проверка А на 0

096

РР:=!РР+П

1

ПА(096)

INC2/INC1

0

—"—

097

0

ПА(09а)

0

А≠0; Переход в 09а

098

РР:=РОН1+П

0

Счёт

0

С:=0

099

РОН2:=РР+П

0

ПА(0d5)

0

—"—; Переход в

09a

РР:=РОН0+П

0

Счёт

0

Проверка В на 0

09b

РР:=!РР+П

1

ПА(09b)

INC2/INC1

0

—"—

09c

0

ПА(09е)

0

В≠0; Переход в 09e

09d

РОН3:=РОН3+П

1

ПА(0d5)

0

БС:=00..001. Переход в

09e

РОН4:=ШИНвх

0

Счёт

Чтение(2)

0

Действие:="–"

09f

РОН5:=ШИНвх

0

ПА(0а1)

Чтение(5)

0

Сч:=10. Прыжок

0a0

0

ПА(0сf)

0

Переход к А&В

0a1

РР:=РОН0+П

0

Счёт

0

Формирование знака С

0a2

РР:=РОН1 xor РР

0

Счёт

0

—"—

0a3

РР:=ШИНвх & РР

0

Счёт

Чтение(3)

0

—"—

0a4

РОН6:=РР+П

0

Счёт

0

Запись знака С

0a5

РР:=РОН1+П

0

Счёт

0

Формирование Вдоп

0a6

РР:=ШИНвх or РР

0

Счёт

Чтение(3)

0

—"—

0a7

РР:=ШИНвх хor РР

0

Счёт

Чтение(6)

0

—"—

0a8

РОН6:=РР+П

1

Счёт

0

—"—

0a9

РР:=РОН0+П

0

Счёт

0

|А|

0aa

РР:=ШИНвх & РР

0

Счёт

Чтение(6)

0

—"—

0ab

РОН0:=РР+П

0

Счёт

0

Запись |А|

0ac

РР:=РОН1+П

0

Счёт

0

|B|

0ad

РР:=ШИНвх & РР

0

Счёт

Чтение(6)

0

—"—

0ae

РОН1:=РР+П

0

Счёт

0

Запись |B|

0af

РР:=РОН0+П

0

Счёт

0

|А|<|В|?

0b0

РР:=РР-РОН1-1+П

1

Счёт

0

|А|–|В|

0b1

РР:=ШИНвх+РР+П

0

ПА(0b1)

INC1/INC2

Чтение(2)

0

|А|<|В|?

0b2

0

ПА(0b5)

0

|А|<|В. Переход в 0b5

0b3

РОН3:=РОН3+П

1

Счёт

0

БС:=00..0010

0b4

РОН3:=РОН3+П

1

ПА(0d5)

0

БС:=00..0010.Переход в

0b5

РР:=РОН0+П

0

Счёт

0

Сдвиг А

0b6

РР:=СЛЛ(РР+П)

0

Счёт

0

—"—

0b7

РОН0:=РР+П

0

Счёт

0

Запись А

0b8

РР:=РОН2+П

0

Счёт

0

Сдвиг С

0b9

РР:=СЛЛ(РР+П)

0

Счёт

0

—"—

0ba

РОН2:=РР+П

0

Счёт

0

Запись С

0bb

РР:=РОН4+П

0

Счёт

0

Действие?

0bc

РР:=РОН4+РР+П

0

ПА(0bc)

INC2/INC1

0

Действие?

0bd

0

ПА(0с2)

0

Действие="+". Переход в 0с2

0be

РР:=РОН0+П

0

Счёт

0

А–В

0bf

РР:=РР+РОН6+П

0

ПА(0с1)

0

А–В.Прыжок

0c0

0

ПА(0d2)

0

Переход к А or В

0c1

РОН0:=РР+П

0

ПА(0с5)

0

Запись А–В. Переход в 0с3

0c2

РР:=РОН0+П

0

Счёт

0

А+В

0c3

РР:=РР+РОН6+П

0

Счёт

0

А+В

0c4

РОН0:=РР+П

0

Счёт

0

Запись А+В

0c5

РР:=СЦЛ(РР+П)

0

Счёт

0

Формирование С[0]

0c6

РР:=!РР+П

0

Счёт

0

Формирование С[0]

0c7

РР:=ШИНвх & РР

0

Счёт

Чтение(7)

0

Формирование С[0]

0c8

РОН2:=РОН2+РР+П

0

Счёт

0

Запись С[0]

0c9

РР:=СЦП(РР+П)

0

Счёт

0

Формирование нового Действия

0ca

РОН4:=РР+П

0

Счёт

0

Запись нового Действия

0cb

РОН5:=РОН5-РР-1+П

0

Счёт

0

Сч:=Сч–1

0сс

РР:=РОН5+П

0

ПА(0cс)

INC2/INC1

0

Сч=0?

0cd

0

ПА(0b5)

0

Сч≠0. Переход в 0b5

0ce

0

ПА(092)

0

Переход в 092

0cf

РР:=РОН0+П

0

Счёт

0

А&В

0d0

РР:=РР & РОН1

0

Счёт

0

А&В

0d1

РОН2:=РР+П

0

ПА(0d5)

0

А&В

0d2

РР:=РОН0+П

0

Счёт

0

А or В

0d3

РР:=РР or РОН1

0

Счёт

0

А or В

0d4

РОН2:=РР+П

0

Счёт

0

А or В

0d5

ШИНвых:=РОН3

0

Счёт

М2=М3

1

Выдача БС

0d6

0

Счёт

SD

М3=М1

0

Ожидание СД

0d7

ШИНвых:=РОН2

0

Счёт

М2=М3

1

Выдача С

0d8

0

Счёт

SD

М3=М1

0

Ожидание СД

0d9

0

ПА(001)

0

Конец?

Пояснения к микропрограмме работы микроЭВМ

Адреса представлены в шестнадцатеричной системе счисления.

В КМИ БМП расположены мнемоники процессора К584. Знаком "–" обозначена "пустая операция" — РР:=РР+П.

В П расположен входной перенос БМП. (При "пустой операции" П должен быть равен нулю).

Мнемоника в КМИ БМУ:

Мнемокод команды

Двоичный код команды (10..23)

Примечания

Счёт

00 0000000000 10

Естественная адресация

ПА (Адрес)

00 |Адрес(10 бит)| 01

Принудительная адресация

D=PK, Счёт

01 0000000000 10

Сохранение шины данных в регистре команд(РК) и естественная адресация

ПА{КОп}

00 0011101000 11

Адресация по старшему байту регистра команд (АБ)

ПА{В[1,0],РС1}

00 0000011101 11

Адресация по старшему байту регистра команд (АДМ)

ПА{В[1,0],РС0}

00 0000100001 11

Адресация по старшему байту регистра команд (АДМ)

D=PK, ПА (Адрес)

00 |Адрес(10 бит)| 01

Сохранение шины данных в регистре команд(РК) и принудительная адресация

Мнемоника в КМИ МЛУ:

Мнемокод команды

Двоичный код команды (24..25)

Примечания

000

А (+0)

SD

001

Если SD =1, то А (+1), иначе А (-1)

INC1/INC2

010

Если INC1/INC2=1, то А (+1), иначе А (+2)

INC2/INC1

011

Если INC2/INC1=1, то А (+2), иначе А (+1).

*А — адрес который выработает БМУ без этого условия.

Мнемоника в КМИ МПП:

Мнемокод команды

Двоичный код команды (26..33)

Примечания

М3=М1

11110010

Передача информации из магистрали М3 в магистраль М1

М3=М2

01001111

Передача информации из магистрали М3 в магистраль М2

11111111

Нет операции

М2=М3

01011111

Мнемоника в КМИ ПЗУ:

Мнемокод команды

Двоичный код команды (34..37)

Примечания

0 000

Отсутствие операции

Чтение(1)

1 000

Чтение по адресу 000 (0)

Чтение(7)

1 110

Чтение по адресу 110 (6)

В ГОТ расположен бит выдачи сигнала готовности.

Влияние МЛУ на формирование адреса:

Команда М1 М0

"—" 0 0

"SD" 0 0(1)

"INC1/INC2" 0(1) 0

"INC2/INC1" 1(0) 0

Расшифровка байта сообщений(БС):

Код

Значение

00000000

Ошибок нет

10000000

Переполнение при сложении(вычитании)

00000001

Деление на 0

00000010

Делитель меньше делимого

Соседние файлы в предмете Организация ЭВМ