Специализированный компьютер

Автор работы: Пользователь скрыл имя, 18 Мая 2015 в 13:29, курсовая работа

Описание работы

Проектированиекомпьютеров специального назначения является одной из важнейших задач, стоящих перед разработчиками цифровой аппаратуры. Основное назначение спецкомпьютеров – это отработка определенного класса алгоритмов в некоторой заданной проблемно-ориентированной области. В частности, большой класс вычислительных систем используется в блоках управления механическими подвижными платформами в целях коррекции их траектории движения. Эффективность решения нетривиальных задач при этом во многом зависит от качества бортовых компьютеров и их программного обеспечения, входящих в состав управляемых объектов.

Содержание работы

ВВЕДЕНИЕ3
1. РАЗРАБОТКА АРХИТЕКТУРЫ СПЕЦИАЛИЗИРОВАННОГО
КОМПЬЮТЕРА6
1.1. Анализ известных реализаций спецкомпьютеров, формирование
требований к разрабатываемому компьютеру6
1.2. Исследование арифметической функции, решаемой
специализированным компьютером8
1.3. Проектирование системы команд12
1.4. Проектирование ЗУ микрокомпьютера 19
1.5. Разработка обобщенной структуры микроЭВМ на основе системы команд 23
2. ПРОЕКТИРОВАНИЕ ОСНОВНЫХ СТРУКТУРНЫХ КОМПОНЕНТОВ
СХЕМЫКОМПЬЮТЕРА28
2.1. Разработка схемы блока обработки данных28
2.2. Разработка устройства управления32
2.3. Разработка системы ввода-вывода данных35
3. ПРОЕКТИРОВАНИЕ ВНУТРЕННЕГО ИНТЕРФЕЙСА КОМПЬЮТЕРА39
3.1. Включение системы прерываний в схему устройства управления
спецкомпьютера39
3.2. Проектирование системы прямого доступа к памяти40
4. РАЗРАБОТКА МИКРОПРОГРАММНОГО ОБЕСПЕЧЕНИЯ42
4.1. Формат микрокоманды. Микропрограммная интерпретация команд
компьютера42
4.2. Разработка микропрограмм арифметических операций51
4.3. Разработка служебного микропрограммного обеспечения53

ЗАКЛЮЧЕНИЕ59
ЛИТЕРАТУРА60

Файлы: 5 файлов

~$$Схема электрическая принципиальная.~vsd

— 4.00 Кб (Скачать файл)

~$$Схема электрическая структурная.~vsd

— 4.00 Кб (Скачать файл)

Пояснительная записка.docx

— 1.05 Мб (Скачать файл)

 

 

      Таблица 4.9

К1804ВУ1 (БМУ)

БОД

К1804ВС1 (БОД)

К1804ВР2 (БОД)

                         

66..55

54..51

50

49   48

47  46

45..42

41..38

37

36..28

27..15

14 13 12

11   10

9   8   7   6

Команда div(деление, ДМ < ДТ)

N.

Запись делителя с шины данных в регистр RG0

X

 

1

10

01

0000

X

0

2178

08

111

11

1111

 

СМК

 

YRGA=Roff

RGMk A

RGMk B

Запись в РЗУ вкл.;

R=DA

B=0

(Дт)

A=X

YМПС= вкл

R=D

F=R+C0

F→ B

C0=0

SL, SR = Roff

YВР2=Roff

CT= Roff

Запрет RGM, RGN

Запрет записи признаков в RGM

N+1.

Запись делимого с шины данных в регистр RG1

X

 

1

10

01

0001

X

0

2178

X

111

11

1111

N+2.

Запись числа циклов деления с шины данных в регистр RG4

X

 

1

10

01

0100

X

0

2178

X

111

11

1111

N+3.

Запись нуля в регистр частного RG3

X

 

1

10

01

0011

X

0

218

X

111

11

1111

 

СМК

 

YRGA=Roff

RGMk A

RGMk B

Запись в РЗУ вкл.;

R=DA

B=X

A=X

YМПС= вкл

F=0000

I=X

SL, SR = Roff

YВР2=Roff

CT= Roff

Запрет RGM, RGN

Запрет записи признаков в RGM

N+4.

Проверка делителя на равенство нулю: RG0 RG0и переход по z

N+11

(End)

 

0

10

10

0000

0000

0

368

58

110

01

1111

 

RGMk

z=0,

СМК

z=1

 

YRGA=Roff

RGMk A

RGMk B

Запись в РЗУ выкл.;

R=A

B=0

A=0

YМПС= вкл.

R=R0

S= R0

F=RvS

F→ B

CT=

SL, SR = Roff

YВР2=Roff

CT= вкл.

Запрет RGM,

RGNвкл.

Запрет записи признаков в RGM


 

 

 

 

      Продолжение  таблицы 4.9

К1804ВУ1 (БМУ)

БОД

К1804ВС1 (БОД)

К1804ВР2 (БОД)

                         

66..55

54..51

50

49   48

47  46

45..42

41..38

37

36..28

27..15

14 13 12

11   10

9   8   7   6

N+5.

Сдвиг регистра делимого RG1 влево на 1 разряд

X

 

1

10

01

0001

X

0

4108

08

110

01

1111

 

СМК

 

YRGA=Roff

RGMk A

RGMk B

Запись в РЗУ вкл.;

R=DA

B=1

(Дм)

A=X

YМПС= вкл

S=B

F=S+C0

2F→ B

C0=0

SL, SR = Roff

YВР2=Roff

CT= вкл.

Запрет RGM,

RGNвкл.

Запрет записи признаков в RGM

N+6.

Сдвиг регистра частного RG3 влево на 1 разряд

X

 

1

10

01

0011

X

0

4118

08

110

11

1111

N+7.

RGQ = RGДм – RG Дт и переход по знаку результата

N+10

 

0

10

01

0001

0000

0

2208

40378

110

01

1111

адрес перехода

F3=1

СМК,

F3=0

RGMk

 

YRGA=Roff

RGMk A

RGMk B

Запись в РЗУ вкл.;

R=DA

B=1

A=0

YМПС= вкл.

R=A

S=B

F=S-R-1+ +C0

F→ Q

CT=

C0=1

SL, SR = Roff

YВР2=Roff

CT= вкл.

Запрет RGM,

RGNвкл.

Запрет записи признаков в RGM

N+8.

Инкремент регистра частного RG3

X

 

1

10

01

0011

X

0

2108

X

110

11

1111

 

СМК

 

YRGA=Roff

RGMk A

RGMk B

Запись в РЗУ вкл.;

R=DA

B=3

A=X

YМПС= вкл.

S=B

F=S+C0

F→ B

I=X

SL, SR = Roff

YВР2=Roff

CT= вкл.

Запрет RGM, RGN

Запрет записи признаков в RGM


 

 

 

 

 

 

 

 

Окончание таблицы 4.9

К1804ВУ1 (БМУ)

БОД

К1804ВС1 (БОД)

К1804ВР2 (БОД)

                         

66..55

54..51

50

49   48

47  46

45..42

41..38

37

36..28

27..15

14 13 12

11   10

9   8   7   6

N+9.

Пересылка содержимого регистра RGQв RG1

X

 

1

10

01

0001

X

0

2118

X

110

01

1111

 

СМК

 

YRGA=Roff

RGMk A

RGMk B

Запись в РЗУ вкл.;

R=DA

B=1

(Дм)

A=X

YМПС= вкл.

S=Q

F=S+C0

F→ B

I=X

SL, SR = Roff

YВР2=Roff

CT= вкл.

Запрет RGM,

RGNвкл.

Запрет записи признаков в RGM

N+10.

Декремент RG4 и переход по признаку z

N+5

 

0

10

01

0100

X

0

2208

58

110

01

1111

адрес перехода

z=0

СМК,

z=1

RGMk

 

YRGA=Roff

RGMk A

RGMk B

Запись в РЗУ вкл.;

R=DA

B=4

A=X

YМПС= вкл.

R=0

S=B

F=S-R-1+ +C0

F→ B

CT=

C0=0

SL, SR = Roff

YВР2=Roff

CT= вкл.

Запрет RGM,

RGNвкл.

Запрет записи признаков в RGM

N+11.

Останов

X

 

1

10

01

0011

0011

1

2108

08

111

11

1111

 

RGMk

 

YRGA=Roff

RGMk A

RGMk B

Запись в РЗУ вкл.;

R=DA

B=3

A=3

YМПС= вкл.

S=B

F=S+C0

F→ B

C0=0

SL, SR = Roff

YВР2=Roff

CT= Roff

Запрет RGM, RGN

Запрет записи признаков в RGM


 

 

При выборке очередной команды для фиксации адреса перехода, находящего в СчАК, на следующий такт времени используется внутренний регистр блока обработки данных RGA. Этот регистр подключен к выходу АЛУ, поэтому он должен быть настроен на выдачу необходимого адреса. При этом на вход регистра RGA подается нулевой потенциал.

На микропрограммном уровне условный переход реализуется задействованием СУСС 1804ВР2. Нулевой потенциал на входе разрешает запись признаков во внутренний регистр RGN. При этом код операции I12-I0 задается таким образом, чтобы выход CT показывал значение нужного признака. Данный выход подключен к младшему разряду адреса ПЗУ микропрограммного управления. Для реализации ветвления тут используется различное информационное наполнение соседних ячеек ПЗУ. При наличии единичного значения признака читается нечетная ячейка, которая содержит управляющую информацию, необходимую для выборки следующей команды по адресу перехода.

 

    1. Разработка микропрограмм арифметических операций

 

Разрабатываемый спецкомпьютер, согласно заданию, должен иметь программное обеспечение для вычисления значений функции, при этом . В подразд. 1.3 разд. 1 был подробно описан алгоритм вычисления данной функции и выявлены необходимые для этого машинные команды. Ранее (см. подразд. 4.1, 4.2 разд. 4) была рассмотрена микропрограммная интерпретация команд компьютера, включая арифметические операции, поэтому ниже приведем текст программы на языке ассемблера, вычисляющей значения функции.

 

Main proc

Mov R2, n

Mov X,0

L1:

Mov R1,A

Add X,R1

Dec R2

Cmp R2,0

Jnz L1

Cmp X,0.5

Jb L2

Cmp X,1.5

Ja L2

Mov R1,X

Call pr_ln

Jmp exit

L2:

Mov R1,X

And R1,15

Mov por, R1

Mov R2,X

Mov R1,X

Shl R2,por

Div R1,R2

Mov Z,R1

Call pr_ln

Mov R2,por

Add R2, 0.69314718

Add R2,R1

Exit:

Mov Rez,R2

Endp main

 

Pr_ln proc

Mov R2,R1

Add R1,0.707106781

Sub R2,0.707106781

Div R2,R1

Mov temp, R2

Mul temp,R2

Mul R2, 2.000000815

Mov R1,R2

Mul R2, 0.666445069

Add R1,R2

Mul R2,temp

Mul R2,0.415051254

Add R1,R2

Sub R1,0.346573590

Ret

Endppr_ln

 

Приведенная выше программа реализует алгоритм, представленный на граф-схеме вычисления функции (см. рис. 1.3.2 подразд. 3 разд. 1), и написана с использованием макрокоманд. Микропрограммная же интерпретация команд высокого уровня была рассмотрена в предыдущем подразделе (см. подразд. 1 разд. 4).

Программа вычисляет значение функциидля аргумента, получаемого с помощью операции взвешенного сложения с числами, расположенными подряд в памяти. При этом адрес первого элемента массива, число элементов массива, а также веса слагаемых, считаются константами. Число членов ряда разложения также задается константой и не зависит от значения аргумента.

При необходимости можно усовершенствовать приведенную программу с целью придания ей некоторой универсальности. Например, реализовать ввод адреса массива чисел с внешнего устройства (клавиатуры), однако это потребует дополнительного программного обеспечения (драйвера). Оптимальное число членов ряда разложения для различных значений аргумента можно считывать из служебного ПЗУ, которое включено в адресное пространство подсистемы памяти. При этом необходима микропрограммная реализация команд пересылки между регистрами процессора и содержимым этого ПЗУ.

 

    1. Разработка служебного микропрограммного обеспечения

 

Для диагностики функционирования микроЭВМ необходимо иметь определенный набор программ для контроля блоков.

Функциональный контроль решает следующие задачи: определение факта наличия неисправности в блоке и определение места неисправности. Вывод в правильности функционирования ОЗУ делается либо по результатам выполнения очередного элементарного теста (останов по ошибке), либо по конечному результату выполнения полного теста.

В алгоритме «Крест» в каждую ячейку ОЗУ записываются тестовые данные (нули или единицы), а в каждую из четырех смежных ячеек – фоновые данные (единицы или нули соответственно). Затем информация фона инвертируется и проверяется влияние этого изменения на тестируемую ячейку. С помощью этого теста проверяется чувствительность ячейки к изменениям состояний крестообразно расположенных соседних ячеек.

Рассмотрим алгоритм более детально. Последовательно по всем адресам производится запись фона 0. Затем по контролируемому адресу ASR = A00 считывается информация T и записывается информация по адресу AIJ(соседнему адресу относительно ASR по строке). Далее считывается информация T по адресу ASR = A00 и записывается информация по адресу AIJ(соседнему адресу ASR по столбцу). Такая операция производится для адреса ASR = A00 со всеми соседними адресами по «кресту» (по столбцу и строке). Далее переходят к адресу ASR = A01 и производят аналогичную проверку, как и для адреса A00. Такая проверка осуществляется для всех адресов последовательно. Затем производится запись фона 1 по всем адресам и цикл проверок повторяется. Блок-схема алгоритма представлена на рис. 4.1.

Константы в тексте программы: L – номер последней строки памяти, M – номер конечного столбца памяти, N – количество ячеек запоминающего устройства.

Программа теста ОЗУ по алгоритму "Обращение по прямому и дополняющему адресам ":

 

Main proc

Mov R1, 0 ; начальный адрес

Mov R3, 0

Call WriteFone ; записьфона 0 

Mov R1, 0 ; начальный адрес S,R

Mov R2, 0

Mov R3, 0 ; начальный адрес I,J

Схема электрическая принципиальная.vsd

— 676.00 Кб (Скачать файл)

Схема электрическая структурная.vsd

— 538.00 Кб (Скачать файл)

Информация о работе Специализированный компьютер