Разработка архитектуры специализированного микрокомпьютера

Автор: Пользователь скрыл имя, 09 Сентября 2011 в 09:28, курсовая работа

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

Микропроцессорные БИС относятся к классу микросхем, одной из особенностей которого является возможность программного управления работой БИС с помощью определенного набора команд. Эта особенность нашла отражение в программно-аппаратном принципе построении микропроцессорных систем, или микросистем (МС), - цифровых устройств или систем обработки данных, контроль и управления, построенных на базе одного или нескольких МП.

Содержание

Введение ………………………………………………………………………
1. Разработка архитектуры специализированного микрокомпьютера.
1.1. Анализ известных реализаций спецкомпьютеров, критика аналогов проектируемой системы, формулирование требований к разрабатываемому микрокомпьютеру ……………………………………………………..
1.2. Проектирование алгоритмов, выбор состава микроопераций и программирование задач …………………………………………………………
1.3. Разработка обобщенной структуры микроЭВМ на основе алгоритмов решения задач ……………………………………………………………
2. Проектирование основных структурных компонентов схемы микрокомпьютера.
2.1. Разработка схемы блока обработки данных ……………………………
2.2. Проектирование ОЗУ микрокомпьютера ………………….……….….
2.3. Разработка устройства управления ……………………………………..
2.4. Разработка системы ввода-вывода данных …………………………….
3. Проектирование внутреннего интерфейса микрокомпьютера.
3.1. Проектирование системы адресации …………………………………...
3.2. Включение системы прерываний в схему устройства управления спецкомпьютера ………………………………………………………………
3.3. Проектирование системы ПДП …………………………………………
3.4. Разработка блока регенерации памяти …………………………………
4. Разработка микропрограммного обеспечения.
4.1. Формат микрокоманды. Микропрограммная интерпретация команд языка компьютера ……………………………………………………………
4.2. Разработка микропрограмм арифметических операций ………………
4.3. Разработка служебного микропрограммного обеспечения …………...
Заключение ……………………………………………………………………
Литература …………………………………………………………………….

Работа содержит 1 файл

Курсач_ded-2.doc

— 1.06 Мб (Скачать)
КОП

28                24

Rg1

23                                20

Rg2

19                                  16

Rg3

15                         0

      В свою очередь формат микрокоманды специфичен для данной микроЭВМ и условно разделен на несколько полей с определенным числом разрядов под каждое из них.

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

      БОД К1804ВС2
СУСС  К1804ВР2
А – адрес источника В – адрес  приемника

      Функция

Функция
0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24
 
СУСС  К1804ВР2 СУАМ  К1804ВУ2

Функция

Управление

Адрес

Управл.
25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48
 
СУАМ  К1804ВУ2
ПЗУ
констант
 Контроллер  ПДП
Контроллер прерываний Ms

условий

Управление Управление Команда Управл. Управл. Селектор
49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69
 
Регистр выходных данных Регистр входных данных Регистр адреса Регистр команд

ОЗУ

Управление Управление Управление Управление Управление
70 71 72 73 74 75 76 77 78 79
 

     Размер  микрокоманды составляет 74 бита, которые выполняют следующие функции:

0-3 поле адреса А источника данных К1804ВС2.

4-7 поле адреса В источника данных К1804ВС2.

8-16 поле выбора функции АЛУ К1804ВС2.

17-29 микрокоманда СУСС К1804ВР2.

30-33 поле управления СУСС К1804ВР2.

    1. адрес следующей микрокоманды.

46-52 выполняемая функция СУАМ К1804ВУ2.

53-57 управление ПЗУ констант.

    1. команда контроллера ПДП.
    2. управление контроллером ПДП.

65-66 управление контроллером прерываний.

67-69 управление мультиплексором условий.

    1. управление регистром выходных данных.

72-73 управление регистром входных данных.

74-75 управление регистром адреса.

76 управление регистром команд.

77-79  управление ОЗУ.

 

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

       По заданию требовалось разработать микропрограмму вычисления арифметической  операции.

       Y(ai)=xi/n, где: xi>n, xi=b∙ai,

         Текст микропрограммы выполненный на псевдо-ассемблере ниже приведен:

math proc

      mov r0, 0; адрес порта переменной В

      mov r1, 1; адрес порта переменной A

      mov r2, 2; адрес порта переменной N

      mov r3, 3; адрес порта результата Х

     mov rs, 0; обнуление регистра счётчика

     in rb, r0; чтение из порта в регистр БОД переменной В

     in ra, r1; чтение из порта в регистр БОД переменной A

     in rn, r2; чтение из порта в регистр БОД переменной N

      mov bM[7.0], rb[27.20];  значение мантиссы переменной В

      mov bP[19.0], rb[19.0];  значение порядка переменной В

      mov aM[7.0], ra[27.20];  значение мантиссы переменной A

      mov aP[19.0], ra[19.0];  значение порядка переменной A

      mov nM[7.0], rn[27.20];  значение мантиссы переменной N

      mov nP[19.0], rn[19.0];  значение порядка переменной N

     cmp0 nM,0;  проверка условия nM=0;

     js m1;   результат - истина

     cmp0 bM,0;  

     js m3;   

     cmp0 aM,0;  

     js m3; 

m5: cmp0 bM[6.6],0;  

     js m4; 

m7: cmp0 aM[6.6],0;  

     js m6;   

m9: cmp0 nM[6.6],0;  

     js m8; 

     mov xP[7.0], bP[7.0];

     add xP[7.0], aP[7.0];

     jo m10;

m11: cmp0 bM[rs];

     add xM, aM;

     shr xM;

     cmp 7, rs;

     js m11;

     cmp0 aM[7.7];

     js m12;

     cmp0 bM[7.7];

     js m13;

     not oM[6.0];

     inc oM;

     js m14;

m13: mov oM, bM;

      add oM[6.0], 1111111;

     not oM[6.0];

     mov oM[7.7],0;

m14: add xM, oM;

m12: mov rs,7; 

      cmp0 xM[6.6]

      js m15;

m16:

m15: shl xM;

      inc xP;

      js m16;

m10:  cmp0 xM[7.7]

      js m3;

      js m1;

m8: SHL bM;

      jmp n9;

m6: shl aM;

      jmp m7;

m4: SHL bM;

      jmp m5;

m1: mov xM, 1111111;

     mov xP, 11111111111111111111;

     jmp m2;

m3:  mov xM, 0;

     mov xP, 0;

m2: mov rx[27.20], xM[7.0],;  значение мантиссы результата

      mov rx[19.0], xP[19.0];  значение порядка результата

     out rx, r3; запись результата вычислений в порт ВВ.

math end 

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

       По  заданию требовалось разработать  микропрограмму выполняющую тест ОЗУ  по методу “Диагональ”, алгоритм теста  приведен п.1.2.. Текст микропрограммы выполненный на псевдо-ассемблере приведен ниже: 

test proc

   m0: mov  r0, 0

         mov  r1, 0

   m1: cmp  r0, r1

               jne  m2

               mov  [r1*L+r0], r2 ; занесение по диагонали данных

   m2: cmp r0, L

               je m3

               inc r0

               jmp m1

   m3: cmp r1, M

         je m4

         inc r1

         mov r0, 0

               jmp m1

   m4: mov  r0, 0

               mov  r1, 0

   m6: mov  r3, [r1*L+r0]   ; проверка занесенных по диагонали данных

         cmp  r3, r2

         jne ERROR

         cmp r0, L

         je m5

      inc  r0

      jmp m6

   m5: cmp  r1, M

               je m7

               inc r1

               mov  r0, 0

               jmp m6

   m7: cmp r5, r4

               je QUIT

               mov r5, r2

               mov r2, r4

               mov r4, r5

Информация о работе Разработка архитектуры специализированного микрокомпьютера