Проектування мікроЕОМ на основі мікропроцесорного комплекта серии 1804
Введення.
Сучасний етап науково-технічного прогресу характеризується широким застосуванням електроніки та мікроелектроніки в усіх сферах життя і діяльності людини. Важливу роль при цьому відіграло поява і швидке вдосконалення елементної бази для розробки і проектування різних периферійних пристроїв і пристроїв обчислювальної техніки.
Обчислювальні машини і комплекси застосовуються в даний час практично у всіх галузях життєдіяльності людини - зв'язку і передачі даних, медицині і в побуті, вимірювальних та контролюючих системах, в системах автоматичного управління та багатьох інших, де грають важливу роль і тому повинні відповідати високим вимогам, як точності, так і надійності.
Особливу роль, з недавнього часу, почали грати і так звані спеціалізовані або бортові комп'ютери. Ефективність різних сучасних рухомих і стаціонарних систем залежить багато в чому і від їхньої якості. Основне призначення цього класу обчислювальних пристроїв - збір самої різної інформації, як про стан навколишнього середовища, так і можливо, про стан самого об'єкта, її обробка і передача більш високому ланці управління об'єктом.
Процес проектування даного класу обчислювальних пристроїв визначається цілим рядом факторів, які необхідно враховувати при побудові такого пристрою. Цими факторами можуть бути:
ступінь рухливості об'єкта, що несе бортовий комп'ютер;
ступінь складності алгоритмів обчислень, вироблених їм та їх обсяг;
точність одержуваних, що обробляються і вихідних даних.
Зазвичай функціонування таких обчислювальних пристроїв відбувається не автономно (хоча не виключений і такий варіант), а під управлінням різних більш потужних і стаціонарних об'єктів або комплексів. У зв'язку з цим складність розробки структури і програмного забезпечення до таких пристроїв вимагає істотних тимчасових і матеріальних витрат.
Область застосування подібного класу обчислювальних пристроїв можна сказати всеосяжна. Практично на будь-якому рухомому об'єкті можливо (або навіть просто необхідно) застосування бортового комп'ютера, який може надавати оператору або керуючому пристрою - людині або машині, дані про об'єкт управління або навіть самостійно приймати будь-які рішення. Необхідно також сказати, що застосування таких обчислювальних пристроїв вже достатньо широке, що доводить перспективність їх подальших розробок і застосування в житті.
1. Розробка архітектури мікрокомп'ютера.
1.1 Проектування алгоритмів, вибір складу макрооперацій, проектування завдань.
При реалізації даного курсового проекту проектована мікро ЕОМ повинна була вирішувати наступні завдання:
виконання арифметичної операції , де ( - вміст портів);
тест ОЗУ методом "Звернення за прямим і доповнює адресами";
На підставі цих самих алгоритмів була обрана система команд проектованої мікро ЕОМ (система мікрооперацій).
Викладені вище алгоритми представлені далі у вигляді блок-схем.
Рис. 1. Арифметична операція
Рис. 2. Тест ОЗУ.
На підставі даних алгоритмів для мікро-ЕОМ була обрана наступна система команд (мікрооперацій):
mov Reg, операнд
mov Reg, Reg
mov Reg, Mem
mov Mem, Reg
add операнд (до акумулятора)
add Reg (до акумулятора)
inc Reg
dec Reg
inc Mem
dec Mem
cmp операнд
jz адреса
jmp адреса
neg Reg
mut Reg (акумулятор на Reg)
div Reg (акумулятор на Reg)
in Reg (в Reg номер порту)
out Reg (в Reg номер порту)
shr Reg (зсув регістра праворуч)
shl Reg (зсув регістра вліво)
and Reg, операнд
and Reg (Reg з акумулятором)
or Reg (акумулятор з Reg)
xor Reg (акумулятор з Reg)
1.2 Розробка узагальненої структури мікро ЕОМ на основі алгоритмів розв'язання задач.
З урахуванням вищевикладених алгоритмів узагальнену структуру мікро ЕОМ можна представити наступним чином (мал. 3.).
Рис. 3. Узагальнена структура мікро ЕОМ.
1.3 Синтез операційних автоматів для процесорних елементів мікро ЕОМ.
В якості операційного автомата для процесорних елементів мікро ЕОМ виберемо операційний автомат М-типу.
Автомати даного типу меншу апаратну складність, проте, продуктивність обчислень зменшується до однієї операції за такт. Логіка умови в автоматі М-типу можуть формуватися як в АЛП, так і в самих регістрах - шляхом відповідних висновків до керуючого автомату.
Далі синтезований операційний автомат М-типу, який реалізує арифметичну операцію, задану в умові ().
Блок-схема мікрооперацій, що реалізовує дану математичну операцію представлена нижче. (Рис. 4.)
Рис. 4.1 Блок схема мікрооперацій.
Рис. 4.2 Блок схема мікрооперацій.
Рис. 4.3 Блок схема мікрооперацій.
У структурі М-автомата використані дві шини даних ШД1 і ШД2. Вони з'єднані з входами АЛУ А1 і А2 відповідно. Розділемо безліч операндів АЛП на дві підмножини виходячи з умов.
Якщо регістри Ri та Rj операнди однієї мікрооперації, то вони включаються в різні підмножини.
Кожне слово R має належати хоча б одній з підмножин.
підмножини формуються таким чином, щоб витрати на комутацію були мінімальні.
Для визначення кожного з підмножин побудуємо таблицю виконуються мікрооперацій, і розподілимо регістри по шин.
Результат змін реєстру помістимо в таблицю.
b>
Зміст мікрооперацій b>
ШД1 b>
ШД2 b>
Рг. I [3.0]: = 1
--
1
Рг. Т [23.0]: = 0
--
--
Рг. LN [23.0]: = 0
--
--
Рг. К [3.0]: = 10
--
10
Рг. Х [23.0]: = Х
--
Х
Рг. Х [23.0]: = Рг. X [23.0] - 1
--
Рг. Х
Рг. Р [23.0]: = Рг. Х [23.0]
--
Рг.Х
Рг. Чт [23.0]: = 0
--
--
Рг. Дт.: = Рг.I.
--
Рг.I
Рг.Дм. [23.0]: = Рг.Х [23.0]
--
Рг.Х
Рг.Сч. [23.0]: = 23
--
23
Рг.Дм. [23.0]: = Рг.Дм. [23.0] + Рг.Дт + 1
Рг.Дм.
Рг.Дт.
Т3: = 1
--
--
Т3: = 0
--
--
Рг.Дм. : = Рг.Дм. [23.0] + Рг. Дт. [23.0]
Рг.Дм.
Рг.Дт.
Рг.Дм. : = L1 (Рг.Дм. [23.0] .0)
Рг.Дм.
--
Рг.Чт. : = L1 (Рг.Чт. [23.0] .0)
--
Рг.Чт.
Рг.Чт. [23.0]: = Рг.Чт. [23.0] + 1
--
Рг.Чт.
Рг.Сч. [23.0]: = Рг.Сч. [23.0] - 1
--
Рг.Сч.
Рг.Т. : = Рг.Чт. [23.0]
--
Рг.Чт.
Рг.LN [23.0]: = Рг.LN [23.0] + Рг.Т. [23.0]
Рг.LN
Рг.Т
Рг.I [23.0]: = Рг.I [23.0] + 1
--
Рг.I
Рг.См. [23.0]: = 0
--
--
Рг.Мн. [23.0]: = Рг.Х [23.0]
--
Рг.Х
Рг.Мт. [23.0]: = Рг.Р [23.0]
--
Рг.Р
Рг.Сч. [23.0]: = 13
--
13
витребування. : = 0
--
--
Рг.См. [23.0]: = Рг.См. [23.0] + Рг.Мн. [23.0]
Рг.См.
Рг.Мн.
Рг.См. [23.0]: = Рг.См. + L1 (Рг.Мн. [23.0] .0)
Рг.См.
Рг.Мн.
Рг.См. [23.0]: = Рг.См. + Рг.Мн. [23.0] + 1
Рг.См.
Рг.Мн.
витребування. : = 1
--
--
Рг.Мт. [23.0]: = R2 (00.Рг.Мт. [23.0])
--
Рг.Мт.
Рг.Мн. [23.0]: = L2 (Рг.Мн. [23.0] .00)
--
Рг.Мн.
Рг.Х [23.0]: = Рг.См. [23.0]
Рг.См.
--
Рг.Х [23.0]: = Рг.Х. [23.0] + 1
--
Рг.Х
Рг.К. : = Рг.К. [23.0] - 1
--
Рг.К.
Таким чином в першій підмножина потрапляють регістри:
Рг.Дм;
Рг.См;
Рг.LN.
По друге підмножина потрапляють регістри:
Рг.Х;
Рг.I;
Рг.Дт;
Рг.Чт;
Рг.Т;
Рг.Сч;
Рг.Р;
Рг.Мн.;
Рг.Мт;
Рг.К.
Поставимо у відповідність кожній мікрооперації виконуваної функції оператор присвоєння АЛП. Ці оператори характеризують дії, що виконуються безпосередньо в АЛП.
Складемо таблицю відповідних мікрооперацій:
Зміст оператора D b>
Приймач результату b>
b>
D: = 000 ... 01 b>
D-> Рг.I b>
D: = 000 ... 0 b>
D-> Рг.Т. b>
D: = 000 ... 0 b>
D-> Рг.LN b>
D: = 000 ... 01010 b>
D-> Рг.К b>
D: = A2 [23.0] b>
D-> Рг.Х b>
D: = A2 [23.0] + 111 ... 1 b>
D-> Рг.Х b>
D: = A2 [23.0] b>
D-> Рг.Р b>
D: = 00 .. 00 b>
D-> Рг.Чт b>
D: = A2 [23.0] b>
D-> Рг.Дт b>
D: = A2 [23.0] b>
D-> Рг.Дм. b>
D: = 000 ... 010111 b>
D-> Рг.Сч. b>
D: = A1 [23.0] + b> A2 [23.0] + 1 b>
D-> Рг.Дм. b>
D: = 000 ... 01 b>
D-> Т3 b>
D: = 000 ... 0 b>
D-> Т3 b>
D: = A1 [23.0] + A2 [23.0] b>
D-> Рг.Дм. b>
D: = L1 (A1 [23.0] .0) b>
D-> Рг.Дм. b>
D: = L1 (A2 [23.0] .0) b>
D-> Рг.Чт b>
D: = A2 [23.0] + 1 b>
D-> Рг.Чт b>
D: = A2 [23.0] + 1111 ... 11 b>
D-> Рг.Сч. b>
D: = A2 [23.0] b>
D-> Рг.Т. b>
D: = A1 [23.0] + A2 [23.0] b>
D-> Рг.LN b>
D: = A2 [23.0] + 1 b>
D-> Рг.I b>
D: = 000 ... 00 b>
D-> Рг.См. b>
D: = A2 [23.0] b>
D-> Рг.Мн. b>
D: = A2 [23.0] b>
D-> Рг.Мт. b>
D: = 000 ... 01101 b>
D-> Рг.Сч. b>
D: = 000 ... 00 b>
D-> ТД b>
D: = A1 [23.0] + A2 [23.0] b>
D-> Рг.См. b>
D: = A2 [23.0] + L1 (A2 [23.0] .0) b>
D-> Рг.См. b>
D: = A1 [23.0] + b> A2 [23.0] + 1 b>
D-> Рг.См. b>
D: = 000 ... 01 b>
D-> ТД. b>
D: = R2 (00.A2 [23.0]) b>
D-> Рг.Мт b>
D: = L2 (A2 [23.0] .00) b>
D-> Рг.Мн. b>
D: = A1 [23.0] b>
D-> Рг.Х b>
D: = b> A2 [23.0] + 1 b>
D-> Рг.Х b>
D: = A2 [23.0] + 111 ... 11 b>
D-> Рг.К. b>
Побудуємо таблицю вибору джерел операндів для АЛУ і таблицю вибору приймачів результатів.
Таблиця джерел. b>
Джерела b>
Сигнали управління b>
A1 b>
A2 b>
ai b>
bj b>
- b>
I b>
- b>
b1 b>
- b>
T b>
- b>
b2 b>
LN b>
- b>
a3 b>
- b>
- b>
К b>
- b>
b4 b>
- b>
X b>
- b>
b5 b>
- b>
P b>
- b>
b6 b>
- b>
Чт b>
- b>
b7 b>
- b>
Дт b>
a9 b>
b8 b>
Дм b>
- b>
- b>
- b>
Сч b>
- b>
b10 b>
- b>
Мн b>
- b>
b11 b>
- b>
Мт b>
- b>
b12 b>
См b>
- b>
a13 b>
- b>
Таблиця приймачів. b>
Приймач b>
Сигнал управління b>
D-> Рг.k b>
DК b>
I b>
d1 b>
T b>
d2 b>
LN b>
d3 b>
K b>
d4 b>
X b>
d5 b>
P b>
d6 b>
Чт b>
d7 b>
Дт b>
d8 b>
Дм b>
d9 b>
Сч b>
d10 b>
Мн b>
d11 b>
Мт b>
d12 b>
См b>
d13 b>
ТД b>
d14 b>
Т3 b>
d15 b>
Виконаємо кодування мікрооперацій наборами керуючих сигналів:
b>
b>
- b>
- b>
- b>
- b>
- b>
- b>
- b>
- b>
- b>
- b>
- b>
- b>
- b>
- b>
- b>
- b>
- b>
- b>
- b>
- b>
- b>
- b>
- b>
- b>
- b>
- b>
- b>
- b>
- b>
- b>
- b>
- b>
- b>
- b>
- b>
- b>
- b>
- b>
- b>
- b>
- b>
- b>
- b>
На підставі отриманих даних складемо підмножини еквівалентних операторів:
b>
;
b>
;
b>
Побудуємо узагальнені оператори.
Клас b>
Для установки регістрів
2. Клас b>
D = B1 + B2 + B3
При цьому
b>
b>
b>
Об'єднаємо класи k3, k4, k5, k7 в клас k8. Для цього узагальнений оператор прийме вигляд:
Клас b> :
D = B1 + B2
b>
Клас b> :
D = B1
b>
Побудуємо структурні схеми вузлів, що реалізують узагальнені оператори:
Клас b> :
b>
Клас b> :
b>
Клас b> :
b>
На підставі отриманих вище даних побудуємо узагальнену схему операційного автомата. (Рис. 5).
b>
Рис . 5. Узагальнена схема операційного автомата.
1.4 Розробка керуючих автоматів для процесорних елементів мікро ЕОМ.
При синтезі керуючого автомата домовимося про наступних припущеннях - Комбінаторний суматор, використаний при синтезі операційного автомата формує наступні ознаки:
P - знак числа
Число більше нуля - P = "0"
Число менше нуля - P = "1"
Z - ознака нуля
Число дорівнює нулю - Z = "1"
Число не дорівнює нулю - Z = "0"
Для по?? трієнь керуючого автомата зробимо розмітку ДСА (Рис. 6).
b>
Рис. 6.1 Схема розмітки ДСА.
b>
Рис. 6.2 Схема розмітки ДСА.
b>
Рис. 6.3 Схема розмітки ДСА.
b>
000000 b>
000001 b>
1 b>
- b>
- b>
000001 b>
000010 b>
1 b>
D5 b>
000010 b>
000011 b>
1 b>
D5 D6 b>
000011 b>
000100 b>
1 b>
D4 b>
000100 b>
000101 b>
1 b>
D4 D6 b>
000101 b>
000110 b>
1 b>
D4 D5 b>
000110 b>
000111 b>
1 b>
D4 D5 D6 b>
000111 b>
001000 b>
1 b>
D3 b>
001000 b>
001001 b>
1 b>
D3 D6 b>
001001 b>
001010 b>
1 b>
D3 D5 b>
001010 b>
001011 b>
1 b>
D3 D5 D6 b>
001011 b>
001100 b>
1 b>
D3 D4 b>
001100 b>
001101 b>
D3 D4 D6 b>
001110 b>
D3 D4 D5 b>
001101 b>
001111 b>
1 b>
D3 D4 D5 D6 b>
001110 b>
001111 b>
1 b>
D3 D4 D5 D6 b>
001111 b>
010000 b>
1 b>
D2 b>
010000 b>
010001 b>
1 b>
D2 D6 b>
010001 b>
010011 b>
D2 D5 D6 b>
010010 b>
D2 D5 b>
010010 b>
010100 b>
1 b>