s
Sesiya.ru

РАЗРАБОТКА АРХИТЕКТУРЫ СПЕЦИАЛИЗИРОВАННОГО МИКРОКОМПЬЮТЕРА

Информация о работе

Тема
РАЗРАБОТКА АРХИТЕКТУРЫ СПЕЦИАЛИЗИРОВАННОГО МИКРОКОМПЬЮТЕРА
Тип Отчет по практике
Предмет Программирование
Количество страниц 27
Язык работы Русский язык
Дата загрузки 2014-11-25 14:17:52
Размер файла 894.18 кб
Количество скачиваний 14
Скидка 15%

Поможем подготовить работу любой сложности

Заполнение заявки не обязывает Вас к заказу


Скачать файл с работой

Помогла работа? Поделись ссылкой

Вариант 19
ИСХОДНЫЕ ДАННЫЕ

Разрядность данных 24 бит.
Представление данных в ЭВМ: прямой код.
Способы адресации операндов: прямая, косвенная регистровая, автоинкрементная, базовая индексная;
Емкость ОЗУ 3840 кб.
Тип интегральной схемы ОЗУ: 565РУ7.
Микропроцессорный БИС блока обработки данных: 1804ВС2.
Арифметическая операция y(x)=Lnxi; xi=bai.

1. РАЗРАБОТКА АРХИТЕКТУРЫ СПЕЦИАЛИЗИРОВАННОГО МИКРОКОМПЬЮТЕРА

1.1. Анализ известных реализаций спецкомпьютеров, формулирование требований к разрабатываемому микрокомпьютеру

В период развития и становления вычислительной техники появилось много моделей представления компьютера, но наиболее распространённой является трёхшинная модель. Её структуру можно представить рис. 1.1:



Рис. 1.1. Структура трёхшинной модели

Опишем назначение блоков:
Устройство управления (УУ). Предназначено для управления всеми блоками компьютера путем посылки сигналов предписывающие те или иные действия. УУ используется для автоматической работы компьютера и указывает на:
функцию выполнения АЛУ
источники информации для АЛУ
приемники результатов полученных в ходе вычислений.
Арифметико-логическое устройство (АЛУ). Предназначено для выполнения арифметических и логических операций, представленных в формате с плавающей запятой или фиксированной запятой. Кроме данных АЛУ может обрабатывать адресную информацию (формирование исполнительного адреса), команды (преобразование форматов), признаки (выход переноса, признак нулевого результата, переполнение, знаковый разряд и т.д.).
Оперативная память (ОП).Предназначена для хранения информации поступающей в компьютер из вне. Этот блок также предназначены для хранения программ, результатов промежуточных расчетов и другой машинной информации. ОП состоит из ячеек, в каждой из которых хранится машинное слово. Основными характеристиками ОП является емкость памяти и время обращения. Под временем обращения понимается длительность цикла записи или чтения операнда из любой ячейки ЗУ.
Устройства ввода/вывода (УВВ).Предназначены для связи компьютера с внешними периферийными устройствами. Устройство ввода обеспечивает считывание информации с внешних носителей и представление ее в форме электрических сигналов. Устройство вывода преобразует кодовую информацию, поступающую из памяти или других блоков машины, в форму, необходимую для обмена с внешней средой.
Кроме основных вышеперечисленных блоков в состав компьютера может входить система прямого доступа к памяти (ПДП)и система прерываний.
Система ПДП позволяет осуществить непосредственный обмен данными между памятью и периферийными устройствами под управлением контроллера ПДП без участия АЛУ, что позволяет повышать скорость выполнения обмена.
Система прерываний предназначена для прерывания программы пользователя, если возникло прерывание от внешних устройств, либо внутреннее прерывание. Например, при работе с внешними устройствами необходима работа с УВВ, обладающие небольшим быстродействием. Поэтому для синхронизации их с компьютером используется контроллер прерываний, выдающий соответствующие сигналы в УУ, когда УВВ готово к работе. При этом выполнение текущей операции спецкомпьютера приостанавливается и запускается программа обработки информации от УВВ. После завершения данной программы, выполнение прерванной операция возобновляется.
В рамках данного курсового проекта, при разработке спецкомпьютера предполагается использование вышеприведённой модели. В качестве базовых микросхем используются микросхемы серии К1804.
Проектируемый спецкомпьютер должен использовать разрядность данных равную 24 бит. Данные будут представляться в форме с плавающей запятой в обратном коде. Также спецкомпьютер будет содержать систему памяти для хранения информации, поддерживать ввод/вывод данных, использовать систему прерываний и систему прямого доступа к памяти.

1.2. Проектирование алгоритмов, выбор состава макроопераций и программирование задач

В соответствии с заданием необходимо разработать программное обеспечение для выполнения арифметических операций: ln(x), xi = bai, разработать программу контроля функционирования ОЗУ по алгоритму теста «Крест».
Для решения поставленной задачи на первом этапе следует построить график заданной функции, определить ее максимальное и минимальное значения, а также диапазон изменения аргумента. График функции изображен на рис. 1.2. Диапазон изменения аргумента в пределах (0;+∞). Значение функции изменяется в пределах [1;+∞). Для расчетов конкретных значений функции используем разложение ln(x) в степенной ряд Тейлора:

ln⁡x=(x-1)/x+1/2 ((x-1)/x)^2+1/3 ((x-1)/x)^3+⋯,1/2≤x<∞ (1.1)

Из данного равенства видно, что одному значению функции соответствует бесконечное число членов ряда. Выбор же числа членов для расчета функции при заданномx определяется:
точностью представления результатов в компьютере,
допустимой длительностью расчета управляющей информации.


Рис. 1.2. График функции ln(x)

Для решения функции в целом предварительно необходимо выполнить функцию x= b*ai которая сводится к операции суммирования значения b*(a1+a2+a3+ ... +ai+ ...). Таким образом, по логике наших рассуждений инициатором начала расчета должен быть появляющийся в ОЗУ массив данных {ai}.
Заданная разрядность нашего числа – 24 (см. рис. 1.3).
Длина поля порядка n_p=〖intlog〗_2 M=〖intlog〗_2 24=5, длина поля мантиссы – 17 разрядов.

23 22 6 4 0
± Мантисса 17 разряда ± Порядок 5 разрядов
Рис. 1.3. Формат числа с плавающей запятой

Общая ошибка вычислений в компьютере обуславливается:
следует из ограничений на число членов в разложении в ряд Тейлора,
определяется ограничениями разрядной сетки.

Исследуем закон изменения общего члена ряда при различных значениях аргумента x (0 ≤ x ≤ 8). Поставленной задаче будут соответствовать величины, представленные в табл. 1.1.


Таблица 1.1

i 1 2 3 4 5 6 7 8
1 0,5000 2,0000 4,5000 8,0000 12,5000 18,0000 24,5000 32,0000
2 0,0417 0,6667 3,3750 10,6667 26,0417 54,0000 100,0417 170,6667
3 0,0014 0,0889 1,0125 5,6889 21,7014 64,8000 163,4014 364,0889
4 0,0000 0,0063 0,1627 1,6254 9,6881 41,6571 142,9762 416,1016
5 0,0000 0,0003 0,0163 0,2890 2,6911 16,6629 77,8426 295,8945
6 0,0000 0,0000 0,0011 0,0350 0,5097 4,5444 28,8961 143,4640
7 0,0000 0,0000 0,0001 0,0031 0,0700 0,8989 7,7797 50,4489
8 0,0000 0,0000 0,0000 0,0002 0,0073 0,1348 1,5884 13,4530
9 0,0000 0,0000 0,0000 0,0000 0,0006 0,0159 0,2543 2,8137
10 0,0000 0,0000 0,0000 0,0000 0,0000 0,0015 0,0328 0,4739
11 0,0000 0,0000 0,0000 0,0000 0,0000 0,0001 0,0035 0,0656
12 0,0000 0,0000 0,0000 0,0000 0,0000 0,0000 0,0003 0,0076
13 0,0000 0,0000 0,0000 0,0000 0,0000 0,0000 0,0000 0,0007
14 0,0000 0,0000 0,0000 0,0000 0,0000 0,0000 0,0000 0,0001
15 0,0000 0,0000 0,0000 0,0000 0,0000 0,0000 0,0000 0,0000
16 0,0000 0,0000 0,0000 0,0000 0,0000 0,0000 0,0000 0,0000

Как видно из табл. 1.1, члены ряда с порядковыми номерами 12 – 16 близки к нулю и практически не влияют на результирующее значение функции. Причём, чем меньше значение аргумента, тем меньшее число членов ряда влияют на результат.
График влияния i-го члена ряда на результат представлен на рис. 1.4.

Рис. 1.4. Значения членов ряда при различных значениях аргумента

Найдем значения целевой функции ln(x) в данных условиях (см. табл. 1.2).

Таблица 1.2
x
sum 1 2 3 4 5 6 7 8
1 1,5000 3,0000 5,5000 9,0000 13,5000 19,0000 25,5000 33,0000
2 1,5417 3,6667 8,8750 19,6667 39,5417 73,0000 125,5417 203,6667
3 1,5431 3,7556 9,8875 25,3556 61,2431 137,8000 288,9431 567,7556
4 1,5431 3,7619 10,0502 26,9810 70,9312 179,4571 431,9193 983,8571
5 1,5431 3,7622 10,0665 27,2699 73,6223 196,1200 509,7619 1279,7516
6 1,5431 3,7622 10,0676 27,3049 74,1320 200,6644 538,6580 1423,2156
7 1,5431 3,7622 10,0677 27,3080 74,2020 201,5633 546,4377 1473,6645
8 1,5431 3,7622 10,0677 27,3082 74,2093 201,6981 548,0261 1487,1175
9 1,5431 3,7622 10,0677 27,3082 74,2099 201,7140 548,2804 1489,9312
10 1,5431 3,7622 10,0677 27,3082 74,2099 201,7155 548,3132 1490,4051
11 1,5431 3,7622 10,0677 27,3082 74,2099 201,7156 548,3167 1490,4707
12 1,5431 3,7622 10,0677 27,3082 74,2099 201,7156 548,3170 1490,4783
13 1,5431 3,7622 10,0677 27,3082 74,2099 201,7156 548,3170 1490,4791
14 1,5431 3,7622 10,0677 27,3082 74,2099 201,7156 548,3170 1490,4792
15 1,5431 3,7622 10,0677 27,3082 74,2099 201,7156 548,3170 1490,4792
16 1,5431 3,7622 10,0677 27,3082 74,2099 201,7156 548,3170 1490,4792

Из формата компьютерного слова следует, что максимальное значение функции с учетом разрядности мантиссы M=17 и порядка P = 5 определится формулой:
217 – 1 = 2 097 151,
x_max= 0, 2097151 ⋅ 231 = 450359747,9886848 (1.2)

Минимальное значение будет определяться единичным битом в младшем разряде мантиссы с учетом порядкаP = -31:

x_min= -1 ⋅ 2-17⋅ 2 -31 = -1 ⋅ 2-52 (1.3)

Введем ограничения на расчетный параметр ln(x), полагая, что допустимая погрешность вычислений равна . Тогда из формулы (1.1) для аргумента {x} можно записать соотношение:

(1.4)

На основании ряда (1.1) при имеем:

(1.5)

Тогда по формуле (1.4) найдем ряд погрешностей для значений i равных:

(1.6)

Итак, из соотношений (1.6) следует, что заданный уровень погрешности вычислений при x=1 не превышается, если расчет функции осуществляется на основании 2-х членов ряда.
На основании табл. 1.3 находим погрешности для остальных значений аргумента x:


(1.7)


Таким образом, ввод данных должен сопровождаться обращением к служебной таблице вида (1.7) и определением числа вычислительных циклов, необходимых для расчета функции ln(x)для конкретного x. В простейшем случае число членов ряда выбирается равным 8.
Погрешность, вносимая ограниченностью разрядной сетки (с учетом бесконечной длины значения функции), будет определяться разностью между эталонным значениемln(x), в нашем случае равнымln(8), и значением, размещаемым в 17-разрядной сетке компьютера:

(1.8)

Из (1.8) следует, что , то есть может не учитываться как погрешность для данного класса функций.
В целом, для решения каждой конкретной задачи может быть использовано несколько схем расчета. При этом для каждого алгоритма определяется точность представления результатов и максимальное время вычисления наиболее неблагоприятного параметра. Предпочтение конкретному способу решения задачи отдается в зависимости от поставленной цели управления.

1.3. Проектирование системы команд

Анализ параметров алгоритмов, как правило, выполняется с использование языковых и программных средств. С этой целью каждой вершине ГСА решаемой задачи ставится в соответствие команда машины. После этого выполняется расширение набора команд с использованием заданных методов адресации и варьирования поля КОП. Полученная система дополняется командами управления работой компьютера, командами ввода-вывода и другими управляющими словами, позволяющими получить требуемые режимы работы компьютера.
Рассмотрим блок-схему алгоритма расчета функции ch(x) в соответствии с формулой (1.1) рис. 1.5 и исследуем методику решения поставленной задачи.
Основной недостаток алгоритма вычисления ch(x) заключается в сложности и длительности формирования результата с использованием команд:


Выполним модернизацию алгоритма, учитывая, что вычисления на каждом -м шаге выполняются по правилу:




Рис. 1.5. Блок-схема алгоритма расчета функции ch(x)

Иными словами, в каждом i-ом цикле вычислений легко прослеживается зависимость:

. (1.9)

С учетом равенства (1.9) модернизируем граф схему алгоритма (рис. 1.5) и поставим в соответствие всем вершинам ГСА команды компьютера (рис. 1.6).

Рис. 1.6. Блок-схема модернизированного алгоритма расчета функции ch(x)

Вполученнойвыше граф-схеме удалось избежать долговременных повторных вычислений в командах и заменить их на множительно-делительные преобразования свойственные практически всем высокоуровневым языкам компьютера. Общая таблица команд для вычисления ch(x) при этом принимает следующий вид:








Итак, базовая система команд без учета команд служебного и специального ПО будет содержать 8 управляющих слов.
Расширим систему команд за счет некоторых команд условногоперехода (Jg, Jl), а также способов адресации операндов (см. таблицы 1.4 - 1.8):
прямая адресация,
косовенно-регистровая адресация,
автоинкрементная адресация,
Базово-индексная адресация.


Таблица 1.4
Способ адресации Команда Move
прямая КОП mod Ri Прямой адрес
память – регистр Ri
косвенно-регистровая КОП mod Ri R База Смещение
память (через регистр базы и смещение) – регистр Ri
непосредственная Kop mod Ri Константа
константа – регистр Ri
Базово-индексная КОП mod Прямой адрес


Таблица 1.5
Способ адресации Команда Div
прямая КОП mod Ri Прямой адрес
Дм в регистре Ri – Дт в памяти
относительная КОП mod Ri R База Смещение
Дм в регистре Ri – Дт в памяти (через регистр базы и смещение)
непосредственная КОП mod Ri Константа
Дм в регистре Ri – Дт задаётся явно
автоинкремент КОП mod Ri Rj
Дм в регистре Ri – Дт в памяти (автоинкр. через Rj)
регистровая КОП mod Ri Rj
Дм в регистре Ri – Дт в регистре Rj

Форматы команд Mul, Sum, Subаналогичны Div.
В приведенных форматах команд имеет место следующая интерпретация полей: КОП – поле кода операциибазовой команды;mod – модификатор команды,определяющийспособиспользования регистров общего назначения при адресации ОЗУ;Ri–регистристочник иприемникпересылаемого операнда;Rj– регистр косвеннойадресации.

Таблица 1.6
Способ адресации Команда Inc
регистровая КОП mod Ri
Инкрементируется содержимое регистра Ri
Таблица 1.7
Способ адресации Команды Jz (Jg, Jl) метка
Jz– переход, если результат операции равен нулю,
Jg– результат больше нуля, Jl – меньше нуля
прямая КОП mod Прямой адрес
Условный переход по адресу, хранящемуся в памяти
относительная КОП mod R База Смещение
Условный переход по адресу, хранящемуся в памяти (через регистр базы и смещение)
непосредственная КОП mod метка
Условный переход по адресу, задаваемому явно

Таблица 1.8
Способ адресации Команда Jmpметка
прямая КОП mod Прямой адрес
Условный переход по адресу, хранящемуся в памяти
относительная КОП mod RБаза Смещение
Условный переход по адресу, хранящемуся в памяти (через регистр базы и смещение)
непосредственная КОП mod метка
Условный переход по адресу, задаваемому явно

Определим разрядность поля кода операции базовой команды (КОП):
int(log2(8 команд + 2 ввод/вывод + 1 тест)) = 4.
Разрядность поля modравна 3, т.к. возможно 5 видов адресации.
Кроме команд реализации вычислений по ГСА ch(x), в систему команд включают команды ввода-вывода и команды, используемые при тестировании памяти.
Полная таблица кодирования команд представлена в таблице 1.9.

Таблица 1.9
№ КОП Код Тип mod Примечание
1 2 3 4 5 6
I0 NOP 0000 - 000 Нет операции
I1 Move 0001 RS 000 Пересылка ОЗУ из RG (прямая)
I2 Move 0001 RS 001 Пересылка ОЗУ из RG (относ.)
Продолжение табл. 1.9
1 2 3 4 5 6
I3 Move 0010 RS 000 Пересылка RG из ОЗУ (прямая)
I4 Move 0010 RS 001 Пересылка RG из ОЗУ (относ.)
I5 Move 0010 RI 010 Константу в RG (непосредств.)
I6 Move 0011 RR 100 Пересылка RG1 в RG2 (регистровая)
I7 Div 0011 RS 000 Деление, Дм в RG, Дт в ОЗУ (прямая)
I8 Div 0011 RS 001 Деление, Дм в RG, Дт в ОЗУ (относ.)
I9 Div 0011 RI 010 Деление, Дм в RG, Дт - константа (непосредств.)
I10 Div 0011 RS 011 Деление, Дм в RG, Дт в ОЗУ автоинкр. через RG
I11 Div 0011 RR 100 Деление, Дм в RG, Дт в RG
I12 Mul 0100 RS 000 Умножение, RG и ОЗУ (прямая)
I13 Mul 0100 RS 001 Умножение, RG и ОЗУ (относ.)
I14 Mul 0100 RI 010 Умножение, RG и константа (непосредств.)
I15 Mul 0100 RS 011 Умножение, RG и ОЗУ автоинкр. через RG
I16 Mul 0100 RR 100 Умножение, RG и RG
I17 Sum 0101 RS 000 Сложение, RG и ОЗУ (прямая)
I18 Sum 0101 RS 001 Сложение, RG и ОЗУ (относ.)
I19 Sum 0101 RI 010 Сложение, RG и константа (непосредств.)
I20 Sum 0101 RS 011 Сложение, RG и ОЗУ автоинкр. через RG
I21 Sum 0101 RR 100 Сложение, RG и RG
I22 Sub 0110 RS 000 Вычитание, RG и ОЗУ (прямая)
I23 Sub 0110 RS 001 Вычитание, RG и ОЗУ (относ.)
I24 Sub 0110 RI 010 Вычитание, RG и константа (непосредств.)
I25 Sub 0110 RS 011 Вычитание, RG и ОЗУ автоинкр. через RG
I26 Sub 0110 RR 100 Вычитание, RG и RG
I27 Jz 0111 RS 000 Условный переход по метке в ОЗУ (прямая)
I28 Jz 0111 RS 001 Условный переход по метке в ОЗУ (относ.)
I29 Jz 0111 RI 010 Условный переход по метке (непосредств.)
I27 Jg 1000 RS 000 Условный переход по метке в ОЗУ (прямая)
I28 Jg 1000 RS 001 Условный переход по метке в ОЗУ (относ.)
I29 Jg 1000 RI 010 Условный переход по метке (непосредств.)
I27 Jl 1001 RS 000 Условный переход по метке в ОЗУ (прямая)
I28 Jl 1001 RS 001 Условный переход по метке в ОЗУ (относ.)
I29 Jl 1001 RI 010 Условный переход по метке (непосредств.)

Окончание табл. 1.9
1 2 3 4 5 6
I30 Jmp 1010 RS 000 Переход по метке в ОЗУ (прямая)
I31 Jmp 1010 RS 001 Переход по метке в ОЗУ (относ.)
I32 Jmp 1010 RI 010 Переход по метке (непосредств.)
I33 Inc 1011 000 Инкремент RG
I34-I35 In 1100
1100 RS
RS 000
001 Команда ввода
I35-I36 Out 1101
1101 RS
RS 000
001 Командавывода


1.4. Проектирование ЗУ микрокомпьютера

Исходя из задания к курсовому проекту, локальная память разрабатываемой микро-ЭВМ должна быть, построена на основе БИС ЗУ К565РУ7.
В соответствии со справочнымиданными выбранный модуль памяти содержит:одноразрядную входнуюDIи выходнуюDO шины, линии адреса,образующие9-разряднуюлокальнуюША,входыстробированияадресов строки (RAS) ̅ и столбца(СAS) ̅,линиюуправлениязаписьючтениемW ̅/R. Модульреализуетфункциизаписи,хранения,чтенияирегенерации информации в соответствии с табл. 1.10.
В структурную схему ИМС памяти входят выполненные на одном кристалле: матрица накопителя с 262 144 элементами памяти, расположенными на пересечениях 512 строк и столбцов, 512 усилителей считывания и регенерации, дешифраторы строк и столбцов, устройство управления и два регистра адреса.

Таблица 1.10
(RAS) ̅ (СAS) ̅ W ̅/R A DI DO Режим работы
1 1 X X X z Хранение
1 0 X X X z Хранение
10 0 X X X z Регенерация
0 0 0 A 0 z Запись 0
0 0 0 A 1 z Запись 1
0 0 1 A X D Считывание

Минимальнаяемкость памяти, используемая компьютером с 24-разрядной шиной командданных,определяется общей емкостью 24 ИМС заданного модуля ОЗУ. В нашем случае эта величина составляет ровно 256 Кбит × 24 = 6144 Кбит или 768 Кбайт.Соответствующая организация такой подсистемы получила названиебанкапамятии показана на рис. 1.7. Обозначение банка,применяемое на структурных схемах, приведенонарис. 1.8.


Рис. 1.7. Банк памяти


Рис. 1.8. Обозначение банка
Общее количество банков, составляющих подсистему ОЗУ (в соответствии с заданной емкостью памяти 3840 Кбайт), рассчитывается путем деления заданной емкости ЗУ на емкость 1 банка: 3840/768 = 5 банков.




























2. ПРОЕКТИРОВАНИЕ ОСНОВНЫХ СТРУКТУРНЫХ КОМПОНЕНТОВ СХЕМЫ КОМПЬЮТЕРА

2.1 Разработка схемы блока обработки данных

Функциональное назначение блока обработки данных (БОД) состоит в решении ряда системных задач. Во-первых, это обработка данных под управлением сигналов регистра микрокоманды. Во-вторых, хранение счетчика команд и указателя стека. В-третьих, обработка адресной информации. При этом третья задача предполагает включение в БОД регистра адреса для гальванической развязки системных шин адреса и данных. Как правило, для реализации данной функции используется регистр К1804ИР1.
Согласно требованиям задания к данному курсовому проекту, для реализации БОД необходимо использовать микросхемы К1804ВС2 (рис. 2.1.1), которые предназначены для построения операционных блоков для устройств с разрядностью кратной четырем. Так как проектируемый компьютер имеет разрядность равную 24, то следует задействовать 6 секций К1804ВС2.


Рис. 2.1.1. Микросхема К1804ВС2

Рассмотрим основные схемотехнические принципы создания вычислительных устройств на базе процессорной секции К1804ВС2.
Каждая процессорная секция настраивается на определенное положение в системе: правая крайняя МПС определяется как младшая и настраивается путем подачи на вход (LSS) ̅потенциала низкого уровня GND. При этом линия W ̅/(MSS) ̅ становится выходом W ̅и используется для управления записью в память. Левая крайняя процессорная секция должна иметь входной сигнал (LSS) ̅=1, что определят линию W ̅/(MSS) ̅как вход (MSS) ̅ с подачей на него низкого уровня сигнала. Настройка МПС как средней (все модули между старшей и младшей секциями) осуществляется сигналами (LSS) ̅=1и (MSS) ̅=1. Учитывая, что выходные сигналы F_3 и OVRиспользуются только в старшей МПС, в процессорах К1804ВС2 выполнено совмещение выводов ускоренного переноса и указанных признаков в парах G ̅/F_3и P ̅/OVR. Таким образом, при настройке секций на заданное положение осуществляется и соответствующая коммутация выводов.Недостатком данной технологии является возможность формирования только последовательного переноса в старшей МПС.
В проектируемом устройстве из двух шин данных DAи DBбудем использовать только одну шину DA, задавая, в частности, уровень сигнала (OEB) ̅=0. Это определяет состояние шины DB как выхода, который далее не используется.
На рис. 2.1.2 представлена реализация процессорного модуля Prim1, который не имеет старшей МПС, так как является некоторой составляющей частью всего блока обработки данных. Для каскадного соединения модулей Prim1 используются выводы P ̅и G ̅схемы ускоренного переноса К1804ВР1.
Для управления выходной шиной Yв МПС используется сигнал (OEY) ̅. В многоразрядных устройствах соответствующие сигналы всех модулей Prim1 соединяются электрически и подключаются к линиям регистра микрокоманд. Линии (WE) ̅всех модулей Prim1 также соединяются между собой, но управляются, как уже указывалось, выходом W ̅/(MSS) ̅младшей секции.
Сигнал (IEN) ̅=0используется для разрешения записи данных в регистр Qблока обработки данных, разблокировки выхода W ̅младшей МПС, а также для разрешения ряда дополнительных схем. При (IEN) ̅=1регистр запирается и хранит информацию до установки (IEN) ̅=0, на выходе W ̅устанавливается единица и, кроме того, блокируется ряд дополнительных функций. В упрощенном варианте блока обработки данных рассмотренный сигнал подключается к общему проводу GND.
Выход (EA) ̅МПС используется для управления внутренним мультиплексором данных. При (EA) ̅=0на вход АЛУ коммутируется регистр RGAблока внутренней памяти, при(EA) ̅=1 источником операнда становится внешняя шина DA. Управление входом (EA) ̅осуществляется из регистра микрокоманды.


Рис. 2.1.2. Процессорный модуль Prim1
Реализация блока обработки данных из подсхем Prim1 показана на рис. 2.1.3. Устройство содержит основные элементы и линии связей модулей Prim1 со схемами ускоренного переноса и управления состояниями и сдвигами при организации 36-разрядного вычислительного устройства Prim2. Особенностью данного блока обработки данных является принцип включения старшей микропроцессорной секции, в которой распространение переноса осуществляется последовательно. Это приводит к использованию только правой половины схемы ускоренного переноса во втором каскаде, остальная часть данного модуля не используется.


Рис. 2.1.3. 36-разрядный блок обработки данных Prim2

Выходом схемы СУСС К1804ВР2 является системная линия CT, определяющая условие перехода в микропрограмме или программе пользователя. Двунаправленные выводы YN,YV,YC,YZявляются транзитными выходами признаков процессора или входами сигналов компьютера, формируемых внутренними схемами прерываний.
При включении полученного вычислительного устройства (см. рис. 2.1.3) в блок-схему компьютера необходимо учитывать, что в зависимости от формата команды могут использоваться различные источники адреса регистра РЗУ. Поэтому во внутреннюю схему блока обработки данных включаются мультиплексоры адресов Aи B. Обобщенная схема включения спроектированного блока в блок-схему компьютера представлена на рис. 2.1.4.
В целом управление блоком обработки данных на основе микропроцессорной секции К1804ВС2 может осуществляться с помощью микрокоманды, показанной на рис. 2.1.5. На данном этапе проектирования управляющее слово занимает 51 разрядов регистра, где выделены 4 поля сигналов:
Сигналы управления подсистемой памяти (разряды 5..0)
Сигналы управления схемой управления состояниями и сдвигами К1804ВР2 (разряды 27..6)
Сигналы управления микропроцессорной секцией К1804ВС2 (разряды 47..28)
Сигналы управления элементами коммутации (разряды 50..48)
Реализация всех вычислений в блоке обработки данных может осуществляться под управлением микропрограмм, представленных кодами перечисленных полей.



Рис. 2.1.4. Схема включения БОД в блок-схему компьютера




Рис. 2.1.5. Формат микрокоманды

В таблицах представлены микропрограммы операций move, jmp, jz для различных типов адресации. В таблице 4.9 представлена микропрограмма формирования частного от деления двух целых чисел больших нуля (Дм<Дт) по методу с восстановлением остатка. Микрокоманды обращения к памяти пропущены.Команда безусловного перехода, при использовании непосредственной адресации, требует лишь записи в регистр СчАК, который для упрощения предполагается разместить в РЗУ. При этом адрес перехода выставлен на шину данных регистром команды. Будем считать, что СчАК – это регистр с последним номером в РЗУ, то есть 1111.

БОД К1804ВС2 (БОД) К1804ВР2 (БОД)
(OE) ̅s_0 (WE) ̅(EA) ̅ B_3..B_0 A_3..A_0 (OEY) ̅ I_8..I_0 I_12..I_0 (SE) ̅(OEY) ̅(OECT) ̅ (CEN) ̅(CEM) ̅ (EZ) ̅(EN) ̅(EV) ̅(EC) ̅
49 48 47 46 45..42 41..38 37 36..28 27..15 14 13 12 11 10 9 8 7 6
Команда move R1, mem (прямая адресация)
Переход к адресации памяти, запись адреса строки/столбца
Загрузкаслова с шины данных в R1
10 01 X X 0 2178 08 111 11 1111
YRGA=Roff
RGK A
RGK B ЗаписьвРЗУвкл.;
R=DA ИзRG K [23..20]
B=R1 A=X YМПС = раб. реж. R=D
F=R+C0
F→ B C0=0 SL,SR=Roff
YВР2=Roff
CT= Roff Запрет RGM, RGN Запрет записи признаков в RGM
Команда move R1, const (непосредственная адресация)
Загрузкаслова с шины данных в R1
10 01 R1 X 0 2178 08 111 11 1111
YRGA=Roff
RGK A
RGK B ЗаписьвРЗУвкл.;
R=DA ИзRG K [23..20]
B=R1 A=X YМПС = раб. реж. R=D
F=R+C0
F→ B C0=0 SL,SR=Roff
YВР2=Roff
CT= Roff Запрет RGM, RGN Запрет записи признаков в RGM
Команда move R1, R2 (регистровая адресация)
Чтение изR2
10 10 X X 0 2178 08 111 11 1111
YRGA=Roff
RGK A
RGK B ЗаписьвРЗУвыкл.;
R=A ИзRG K [23..20]
B=R1 ИзRG K [19..16]
A=R2 YМПС = Roff R=R1
F=R+C0
F→ B C0=0 SL,SR=Roff
YВР2=Roff
CT= Roff Запрет RGM, RGN Запрет записи признаков в RGM
Запись в R1
10 00 X X 0 2178 08 111 11 1111
YRGA=Roff
RGK A
RGK B ЗаписьвРЗУвкл.;
R=A ИзRG K [23..20]
B=R1 ИзRG K [19..16]
A=R2 YМПС = раб. реж. R=R1
F=R+C0
F→ B C0=0 SL,SR=Roff
YВР2=Roff
CT= Roff Запрет RGM, RGN Запрет записи признаков в RGM
Команда jmplabel (непосредственная адресация)
Загрузкаконстанты labelв СчАК(R15) с шины данных
11 01 1111 X 0 2178 08 111 11 1111
YRGA=Roff
RGMk A
RGMk B ЗаписьвРЗУвкл.;
R=DA B=15 A=X YМПС = раб. реж. R=D
F=R+C0
F→ B C0=0 SL,SR=Roff
YВР2=Roff
CT= Roff Запрет RGM, RGN Запрет записи признаков в RGM
Команда jzlabel (непосредственная адресация)
Проверка признака Z (выход СТ= Z)
10 11 X X 1 X 48 110 01 1111
YRGA=Roff
RGKA
RGKB ЗаписьвРЗУвыкл.;
R=DA B=X A=X YМПС = Roff X CT=NZ SL, SR = Roff
YВР2=Roff
CT= раб. реж. Запрет RGM,
RGNвкл. Запрет записи признаков в RGM
ЗагрузкаконстантыlabelвСчАК (R15) сшиныданных
11 01 1111 X 0 2178 08 111 11 1111
YRGA=Roff
RGMk A
RGMk B ЗаписьвРЗУвкл.;
R=DA B=15 A=X YМПС = раб. реж. R=D
F=R+C0
F→ B C0=0 SL,SR=Roff
YВР2=Roff
CT= Roff Запрет RGM, RGN Запрет записи признаков в RGM
Микропрограмма выборки следующей команды

Команда move R1, [R2]+offset (относительная адресация)
Запись в R2 в R1
00 00 X X 0 2178 08 111 11 1111
YRGA= Roff
RGK A
RGK B ЗаписьвРЗУвкл.;
R=A ИзRG K [23..20]
B=R1 ИзRG K [19..16]
A=R2 YМПС = вкл. R=R1
F=R+C0
F→ B C0=0 SL,SR=Roff
YВР2=Roff
CT= Roff ЗапретRGM, RGN ЗапретзаписипризнаковвRGM
Выполнениеоперации [R1]+offset и запись результата в RGA
00 11 X X 0 2068 X 111 11 1111
YRGA= Roff
RGK A
RGK B ЗаписьвРЗУвыкл.;
R=DA ИзRG K [23..20]
B=R1 A=X YМПС = вкл. R=DA
S=R1
F=R+S+C0
F→ Y I=X SL,SR=Roff
YВР2=Roff
CT= Roff Запрет RGM, RGN Запрет записи признаков в RGM
Запись из RGA на ША и переход к адресации ОЗУ
10 11 X X 0 X X 111 11 1111
YRGA =
раб.реж.
RGK A
RGK B ЗаписьвРЗУвыкл.;
R=DA B=X A=X YМПС = вкл. I=X SL,SR=Roff
YВР2=Roff
CT= Roff Запрет RGM, RGN Запрет записи признаков в RGM
Запись адреса стобца/строки ОЗУ
Чтение слова с ШД и его запись в R1
10 01 X X 0 2178 08 111 11 1111
YRGA=Roff
RGK A
RGK B ЗаписьвРЗУвкл.;
R=DA ИзRG K [23..20]
B=R1 A=X YМПС =вкл. R=D
F=R+C0
F→ B C0=0 SL,SR=Roff
YВР2=Roff
CT= Roff ЗапретRGM, RGN ЗапретзаписипризнаковвRGM
Команда div(деление, ДМ < ДТ)
Запись делителя с шины данных в регистр RG0
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
Запись делимого с шины данных в регистр RG1
10 01 0001 X 0 2178 X 111 11 1111
Запись числа циклов деления с шины данных в регистр RG4
10 01 0100 X 0 2178 X 111 11 1111
Запись нуля в регистр частного RG3
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
Проверка делителя на равенство нулю: RG0 RG0и переход по z
10 10 0000 0000 0 368 58 110 01 1111
YRGA=Roff
RGMk A
RGMk B ЗаписьвРЗУвыкл.;
R=A B=0 A=0 YМПС=вкл. R=R0
S= R0
F=RvS
F→ B CT=z ̅ SL,SR=Roff
YВР2=Roff
CT= вкл. Запрет RGM,
RGNвкл. Запрет записи признаков в RGM
Сдвиг регистра делимого RG1 влево на 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
Сдвиг регистра частного RG3 влево на 1 разряд
10 01 0011 X 0 4118 08 110 11 1111
RGQ = RGДм – RGДт и переход по знаку результата
10 01 0001 0000 0 2208 40378 110 01 1111
ЗаписьвРЗУвкл.;
R=DA B=1 A=0 YМПС=вкл. R=A
S=B
F=S-R-1+ +C0
F→ Q CT=(F3) ̅
C0=1 SL,SR=Roff
YВР2=Roff
CT= вкл. Запрет RGM,
RGNвкл. Запрет записи признаков в RGM
Инкремент регистра частного RG3
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
Пересылка содержимого регистра RGQв RG1
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
Декремент RG4 и переход по признаку z
10 01 0100 X 0 2208 58 110 01 1111
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=z ̅
C0=0 SL,SR=Roff
YВР2=Roff
CT= вкл. Запрет RGM,
RGNвкл. Запрет записи признаков в RGM
Останов
10 01 0011 0011 1 2108 08 111 11 1111
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. Этот регистр подключен к выходу АЛУ, поэтому он должен быть настроен на выдачу необходимого адреса. При этом на вход (OE) ̅ регистра RGA подается нулевой потенциал.
На микропрограммном уровне условный переход реализуется задействованием СУСС 1804ВР2. Нулевой потенциал на входе (CEN) ̅ разрешает запись признаков во внутренний регистр RGN. При этом код операции I12-I0 задается таким образом, чтобы выход CT показывал значение нужного признака. Данный выход подключен к младшему разряду адреса ПЗУ микропрограммного управления. Для реализации ветвления тут используется различное информационное наполнение соседних ячеек ПЗУ. При наличии единичного значения признака читается нечетная ячейка, которая содержит управляющую информацию, необходимую для выборки следующей команды по адресу перехода.

© Copyright 2012-2020, Все права защищены.