Розробка мікропроцесора
Функціональна організація процесора. Вибірка операндів, обробка виняткових ситуацій в командах типа RХ. Команди І, перехід по лічильнику і віднімання без нормалізації. Розбиття мікрооперацій, логічних умов по полях і їх кодування. Лічильник адреси команд.
Рубрика | Программирование, компьютеры и кибернетика |
Вид | курсовая работа |
Язык | украинский |
Дата добавления | 26.12.2010 |
Размер файла | 42,0 K |
Отправить свою хорошую работу в базу знаний просто. Используйте форму, расположенную ниже
Студенты, аспиранты, молодые ученые, использующие базу знаний в своей учебе и работе, будут вам очень благодарны.
Размещено на http://www.allbest.ru/
ВСТУП
Даний курсовий проект присвячений розробці мікропроцесора, що виконує деякий набір команд. Для наближення до структури і функціонування реальних процесорних пристроїв були надані команди і принципи роботи із зовнішніми пристроями аналогічні реально існуючому процесору IBM/370.
1. ВИБІР ВАРІАНТУ ЗАВДАННЯ
1.1 Об'єктом проектування в даному курсовому проекті є процесор, призначений для реалізації заданого набору команд із множини команд обчислювальних машин IBM/370
Вихідні дані для проектування обумовлюються номером завдання. У зв'язку з тим, що мій номер в групі дорівнює 3, то мої вихідні данні наведенні в таблиці 1.
Таблиця 1
Код |
Мнемонічне позначення |
Назва |
|
54 |
N |
І |
|
3F |
SUR |
Віднімання без нормалізації (короткі операнди) |
|
46 |
BCT |
Перехід по лічильнику |
Довжина слова оперативної пам'яті складає 8 байт.
Об'єм оперативної пам'яті складає 4096 байт.
Тип адресації управляючого автомата: примусова адресація з перевіркою двох логічних умов і одним полем укороченої адреси у форматі мікрокоманди.
2. ФУНКЦІОНАЛЬНА ОРГАНІЗАЦІЯ ПРОЦЕСОРА
2.1 Опис форматів команд
2.1.1 У процесорі, що розробляється, використовується два формати команд RR та RX. Ці формати представлені на мал.1
мал.1
Перші два біти коду операції визначають тип команди: 00 - RR, 01 - RX. Не важко побачити, що із заданих кодів команд: 54 = 010101002 і 46 = 010001102 є командами формату RX, а 3F = 001111112 - формату RR.
2.1.2 У командах типа RR операнди вибираються з регістрової пам'яті, адреси яких задані в полях R1 і R2
Для формату RX перший операнд вибирається з регістрової пам'яті, адреса якого задана в полі R1, другий операнд вибирається з оперативної пам'яті, при цьому його адреса обчислюється як сума вмісту регістра індексу, базового регістра і зміщення А2 = РЗП[X2]+РЗП[В2]+D2. Якщо ж якесь поле рівне нулю, то відповідний доданок опускається.
2.2. Опис форматів даних
2.2.1 У команді 3F (віднімання без нормалізації) використовується числа з плаваючою комою в короткому форматі. В даних цього типу число представляється виді поля, розміром 32 біти, де нульовий розряд є знаковим, наступні 7 бітів зайнято характеристикою, потім йде поле, що містить мантису, яка складається з 6 шістнадцятирічних цифр (мал. 2).
Знак |
Характеристика |
Мантиса (6 цифр) |
0 1 8 31
мал. 2
Негативні числа зберігаються в прямому коді. Характеристика еквівалентна порядку числа, збільшеному на 64, і представляє значення порядку в діапазоні від -64 до +63.
2.2.2. У команді 54 (И) використовуються дані, представлені у вигляді логічних величин, які не мають внутрішньої структури і представлені як поля, розміром 32 біти
2.2.3. У команді 46 (перехід по лічильнику) використовуються числа з фіксованою комою в довгому форматі (мал. 3). Нульовий розряд є знаковим. Негативні числа зберігаються в пам'яті в додатковому коді
Знак |
Код модуля числа Мантиса (6 цифр) |
0 1 31
мал. 3
2.3 Принципи виконання операцій
2.3.1 У команді 54 (І) здійснюється порозрядне логічне множення першого і другого операндів і результат поміщається на місце першого операнда
Операнди обробляються як логічні величини, що не мають внутрішньої структури, і до відповідних біт застосовується операція логічного І. В біті результату встановлюється 1, якщо у відповідних бітах обох операндів містяться одиниці, інакше встановлюється 0.
Ознака результату:
0 - результат рівний 0;
1 - результат не рівний 0.
Програмні переривання:
- доступ (вибірка другого операнда).
2.3.2 У команді 46 (перехід по лічильнику) з вмісту загального регістра, заданого полем R1, віднімається 1. Якщо результат рівний 0, продовжується виконання команди в звичайній послідовності з використанням просунутої адреси команди. Якщо результат відмінний від 0, адреса команди в поточному PSW помічається адресою переходу
Як адреса переходу використовується адреса другого операнда.
Адреса переходу визначається перед операцією віднімання з лічильника. Віднімання з лічильника не змінює ознаки результату. Переповнювання, що виникає при переході від максимального негативного числа до максимального позитивного числа, ігнорується. В іншому віднімання виконується, як звичайна операція з фіксованою комою, і в ній беруть участь всі 32 біти в загальному регістрі.
Ознака результату не змінюється.
Програмні переривання:
- доступ (вибірка другого операнда).
2.3.3 У команді 3F (віднімання без нормалізації) другий операнд віднімається з першого операнда, і ненормалізована різниця поміщається на місце першого операнда. Віднімання двох чисел з плаваючою комою полягає у вирівнюванні характеристик і відніманні мантис.
Характеристики обох операндів порівнюються, і мантиса операнда з меншою характеристикою зсовується праворуч; при кожному зсуві на шістнадцятирічну цифру проводиться збільшення характеристики цього операнда на 1. Зсув продовжується доти, поки характеристики обох операндів не стануть рівними.
Потім проводиться віднімання мантис для отримання проміжної суми.
Якщо перенос із старшої позиції мантиси проміжної суми служать причиною того, що значення характеристики ненормалізованої суми перевищує число 127, то фіксується особливий випадок переповнювання порядку.
Якщо мантиса проміжної суми дорівнює 0, має місце особливий випадок втрати значущості. Якщо біт маски втрати значущості рівний 1, відбувається програмне переривання через втрату значущості. Якщо біт маски втрати значущості рівний 0, програмне переривання не відбувається, натомість формується результат, рівний істинному 0.
Ознака результату:
0 -- мантиса результату рівна 0;
1 -- результат менше 0;
2 -- результат більше 0.
Програмні переривання:
- специфікація;
- переповнювання порядку;
- втрата значущості.
3. РОЗРОБКА ФУНКЦІОНАЛЬНИХ МІКРОПРОГРАМ ЗАДАНИХ ОПЕРАЦІЙ
3.1 Вибірка команди
3.1.1 Перед виконанням будь-якої команди потрібно прочитати її з пам'яті в регістр команд (РК). Адреса прочитаної команди задається в лічильнику адреси команди (СЧАК). З пам'яті одночасно прочитуються 64 розряди в регістр оперативної пам'яті (РОП), адреса якого знаходиться в регістрі адреси оперативної пам'яті (РАОП). Оскільки довжина команди може дорівнювати 16, 32 розрядам, то за одне звернення до пам'яті може бути прочитано декілька цілих команд або декілька команд і частину наступної.
Щоб не проводити повторне читання, розряди РОП можуть запам'ятати в буферному регістрі (БР). Для того, щоб визначити, чи знаходиться в БР корисна інформація, використовується тригер переходів (ТП), одиничне значення якого означає, що інформація в БР не може бути використана для формування нової команди. Якщо ТП = 0, той вміст БР може бути використане для формування нової команди.
3.1.2 Якщо ТП = 1, то можливі два варіанти подальших дій
Якщо вибрана команда має формат RR, перше півслово, що є командою, передається на РК, а розряди (16:63) зберігаються на БР. При цьому СЧАК збільшується на 1, якщо команда має формат RХ, то перше слово поміщається в РК, а розряди (32:63) зберігаються на БР. Після цього СЧАК збільшується на 2.
3.1.3 Якщо ТП = 0, то можливі сім варіантів подальших дій
У будь-якому випадку з БР в РК поміщається відповідна команда.
Якщо два останні біти СЧАК(9:10)= 11, 10, 01, то залежно від типу команди (БР(0:1)), збільшується на 1 СЧАК і зміщується на 16 біт БР або збільшується на 2 СЧАК і зміщується на 32 біт БР. Якщо з БР прочитана вся інформація, то ТП = 1.
Якщо СЧАК = 00, то це означає, що РК знаходиться частина команди RХ і приймаються відповідні дії для повного формування команди RХ.
3.2. Вибірка операндів і обробка виняткових ситуацій в командах типа RХ
3.2.1 Оскільки поле R1 адресує регістрову пам'ять загального призначення, то ніяких виняткових ситуацій відбутися не може і перший операнд завжди вибирається коректно
3.2.2 У результаті формування адреси оперативної пам'яті, де знаходиться другий операнд (див. п.2.1.1.) можуть виникнути виняткові ситуації, а саме невірна специфікація і невірна адресація
3.2.3 Невірна специфікація виникає тоді, коли три останні біти обчисленої адреси містять 1, тобто обчислена адреса не є кратною 64 (оскільки слово оперативної пам'яті рівне 64 біти). В цьому випадку в слові стану програми (PSW) фіксується факт наявності невірної специфікації і виконання команди припиняється
3.2.4 Невірна адресація виникає тоді, коли розряди (0:20) обчисленої адреси не рівні 0, тобто перевищується об'єм доступної оперативної пам'яті (пам'ять має об'єм 4096 Байт). В цьому випадку в PSW фіксується факт наявності невірної адресації і виконання команди припиняється
3.2.5 Оскільки в процесорі обробляється дві команди RХ, то може бути заданий невірний код команди, то в цьому випадку у PSW фіксується факт наявності невірної операції і виконання команди припиняється
3.3 Вибірка операндів і обробка виняткових ситуацій в командах типа RR
3.3.1 Оскільки в команді типа RR, в полях R1 і R2 зберігаються адреси регістрів з плаваючою комою, то може виникнути виняткова ситуація типу невірна специфікація. Фіксується у тому випадку, коли біти 1 і 4 адреси не рівні 0, що означає невірну адресацію регістрів з плаваючою комою 0,2,4,6. У такому разі виконання команди припиняється
3.4 Команди І, перехід по лічильнику і віднімання без нормалізації
3.4.1 Виконання даних команд описано в п. 2.3
3.5 Узагальнена функціональна мікропрограма
3.4.1 На підставі заданих команд написані мікропрограми для кожної з них і з'єднані в узагальнену функціональну мікропрограму.
На підставі узагальненої функціональної мікропрограми розпишемо по полях дві множини: мікрооперацій У і логічних умов X .
3.4.2. Безліч мікрооперацій У
Таблиця 2
Обознач. |
Мікрооперація |
|
У1 |
РАОП(0:8):=СЧАК(0:8) |
|
У2 |
ЧТОП |
|
У3 |
М(0:63):=РОП(0:63) |
|
У4 |
РК(0:15):=М(0:15) |
|
У5 |
БР(0:47):=М(16:63) |
|
У6 |
СЧАК:=СЧАК+1 |
|
У7 |
ТП:=0 |
|
У8 |
РК(0:31):=М(0:31) |
|
У9 |
БР(0:31):=М(32:63) |
|
У10 |
СЧАК:=СЧАК+2 |
|
У11 |
РК(16:31):= М(0:15) |
|
У12 |
РК(0:31):=БР(0:31) |
|
У13 |
БР(0:15):=БР(32:47) |
|
У14 |
РК(0:15):=БР(0:15) |
|
У15 |
БР(0:31):=БР(16:47) |
|
У16 |
ТП:=1 |
|
У17 |
РАРП(0:4):=0.РК(8:11) |
|
У18 |
ЧТРП |
|
У19 |
М(0:31):=РРП(0:31) |
|
У20 |
А(0:31):=М(0:31) |
|
У21 |
СМ(0:31):=0000016.РК(20:31) |
|
У22 |
РАРП(0:4):=0.РК(16:19) |
|
У23 |
СМ(0:31):=СМ(0:31)+М(0:31) |
|
У24 |
РАРП(0:4):=0.РК(12:15) |
|
У25 |
СМ(0:31):=А(0:31) |
|
У26 |
СМ(0:31):=СМ(0:31)+FFFFFFFF16 |
|
У27 |
М(0:31):=СМ(0:31) |
|
У28 |
РРП(0:31):=М(0:31) |
|
У29 |
ЗПРП |
|
У30 |
СЧАК(0:10):=СМ(21:31) |
|
У31 |
PSW(53:63):=СЧАК(0:10) |
|
У32 |
РАОП(0:8):=СМ(21:29) |
|
У33 |
М(0:31):=РОП(0:31) |
|
У34 |
СМ(0:31):=СМ(0:31)&М(0:31) |
|
У35 |
PSW(34:35):=01 |
|
У36 |
PSW(34:35):=00 |
|
У37 |
PSW(28:31):=0101 |
|
У38 |
PSW(28:31):=0110 |
|
У39 |
PSW(28:31):=0001 |
|
У40 |
PSW(28:31):=1110 |
|
У41 |
РАРП(0:4):=1.РК(8:11) |
|
У42 |
РАРП(0:4):=1.РК(12:15) |
|
У43 |
В(0:31):=М(0:31) |
|
У44 |
СМ(25:31):=А(1:7) |
|
1 |
СМ:=СМ+1 |
|
У45 |
А(1:31):=СМ(25:31).0000.А(8:27) |
|
У46 |
СМ(25:31):=В(1:7) |
|
У47 |
В(1:31):=СМ(25:31).0000.В(8:27) |
|
У48 |
А(8:31):=А(8:31)+1 |
|
У49 |
В(8:31):=В(8:31)+1 |
|
У50 |
В(0):= В(0) |
|
У51 |
СМ(6:31):=А(0).А(0) .А(8:31) |
|
У52 |
СМ(6:31):=СМ(6:31)+В(0).В(0) .В(8:31) |
|
У53 |
СМ(8:31):=0000.СМ(8:27) |
|
У54 |
СМ(0:31):=СМ(7:31).А(1:7) |
|
У55 |
PSW(28:31):=1100 |
|
У56 |
СМ(1:24):= СМ(1:24)+1 |
|
У57 |
PSW(39):=1 |
|
У58 |
СМ(0:31):=0000000016 |
|
У59 |
PSW(34:35):=10 |
|
У60 |
РРП(0:31):=0000000016 |
|
У61 |
М(0:31):=СМ(0).СМ(25:31) .СМ(1:24) |
|
У62 |
3.4.3 Безліч умов Х
Таблиця 3
Обознач. |
Умова |
|
Х1 |
ТП |
|
Х2 |
Zоп |
|
Х3 |
РОП(0:1)=00 |
|
Х4 |
СЧАК(9) |
|
Х5 |
СЧАК(10) |
|
Х6 |
БР(0:1)=00 |
|
Х7 |
РК(16:19)=0000 |
|
Х8 |
РК(12:15)=0000 |
|
Х9 |
СМ(8:20) =00.0 |
|
Х10 |
СМ(29:31) |
|
Х11 |
РК(0:7)=4616 |
|
Х12 |
РК(0:7)=5416 |
|
Х13 |
СМ(0:31) =00.0 |
|
Х14 |
РК(8) .РК(11)=00 |
|
Х15 |
РК(12) .РК(15)=00 |
|
Х16 |
А(1:7)=В(1:7) |
|
Х17 |
А(1:7)>В(1:7) |
|
Х18 |
А(0) |
|
Х19 |
В(0) |
|
Х20 |
СМ(6)=СМ(7) |
|
Х21 |
А(1:7)=127 |
|
Х22 |
СМ(0) |
|
Х23 |
СМ(1:24) =00.0 |
|
Х24 |
PSW(39)=0 |
4. РОЗРОБКА СТРУКТУРНОЇ СХЕМИ ОПЕРАЦІЙНОГО АВТОМАТА
4.1 Набір елементів
4.1.1 Проектування будь-якого автомата поділяється на синтез операційного і управляючого автоматів. ОА відповідає безпосередньо за апаратну реалізацію виконуваних мікрокоманд, а КА визначає коли і яку мікрооперацію вимагається виконати
4.1.2 Для реалізації роботи процесора нам буде потрібно лічильник адреси команд (СЧАК), регістр команд (РК), регістри операндів А і В, регістрова (РП) і основна (ОП) пам'ять, накопичуючий суматор (СМ), формувач кодів (ФК), буферний регістр (БР), регістр слова стану програми(PSW), тригер переходу (ТП) і схеми порівнянь
Таким чином, структурна схема операційного автомата проектованого процесора представлена в додатку В.
4.1.3 Більшість даних в ОА передається по магістралі (М). Магістраль процесора служить для зв'язку РП і ОП з внутрішніми регістрами. РП підключена до М через регістр РРП. ОП підключена до М через регістр РОП
4.2 Оперативна пам'ять
4.2.1 У оперативній пам'яті місткістю 4096 Байт зберігаються 512 8-байтних слів. Адреса слова, до якого проводиться звертання, вказується на регістрі адреси основної пам'яті РАОП. В нашому випадку розрядність РАОП повинна бути log2512 = 9. Слово читається і записується в оперативну пам'ять тільки повністю за одне звертання до ОП. Слово інформації,яке записується або читається з ОП, розмішається в регістрі РОП
4.2.2 Операція в ОП збуджується сигналами читання з основної пам'яті ЧТОП і запису в основну пам'ять ЗПОП. Момент закінчення операції в ОП наголошується сигналом Zоп. Оскільки цикл основної пам'яті має велику тривалість, то повинна забезпечуватися синхронізація роботи процесора і оперативної пам'яті за рахунок чекаючих вершин графа мікропрограми
4.3.Регістрова пам'ять
4.3.1 Регістрова пам'ять застосовується для збільшення швидкодії процесора. РП складається з регістрів загального призначення (РОН) і регістрів з плаваючою комою (РПЗ)
4.3.2 РОН використовуються в якості індексних регістрів, базових регістрів, а також для зберігання слів і півслів, що беруть участь в операціях з фіксованою комою. РОН є 32 - розрядні регістри і адресуються числами від 0 до 15. Для звертання до РОН в командах будь-якого формату відводиться чотирьох розрядне поле R
4.3.3 При виконанні операцій з плаваючою комою один або обидва операнди можуть розташовуватися на РПЗ. Всього використовується чотири регістри завдовжки 8 байтів з адресами 0,2,4,6 відповідно
4.3.4 РОН і РПЗ структурно з'єднано в 24-регістрову пам'ять РП, регістри 0-15 є РОН, а решта 8 регістрів використовується для зберігання чотирьох восьмибайтних слів. Довжина регістра РП рівна 32 розрядам. Тип регістра, що адресується, задається старшим байтом адреси РП (0 - РОН, 1 - РПЗ), записуваної в 5-ти розрядний регістр адреси РП (РАРП). Операнд, який записується або читається з РП, поміщається на регістр РРП. Читання і запис слова ініціюються відповідно сигналами ЧТРП і ЗПРП
4.3.5 Для зберігання поточної команди використовується РК.В регістр команд на початку кожного машинного циклу вибирається команда, де вона незмінно міститься, поки виконується команда. РК повинен мати такий об'єм, щоб можна було зберігати найбільшу команду. В даному випадку - 32 біта
4.3.6 Буферний регістр використовується для зберігання команд, прочитаних з ОП в процесі вибірки команд з ОП. Наявність БР дозволяє підвищити швидкість процесора, оскільки скорочується використання більш повільної ОП
4.3.7. Слово стану процесора PSW містить інформацію про стан процесора. У зв'язку з обмеженим набором команд використовуються не всі розряди. Розряди 16-31 містять код помилки, що викликала програмне переривання. В даному випадку використовують розряди 28-31. В розряди 34-35 записується ознака результату. Розряди 36-39 зберігають маску переривань. Розряди 40-63 використовуються для зберігання адреси команди.
4.3.8 Регістри А і В використовуються для зберігання операндів команд
4.4 Лічильник адреси команд
4.4.1 Довжина СЧАК визначається місткістю ОП в півсловах, тобто log2E - 1, де Е - місткість ОП в байтах. В нашому випадку СЧАК має довжину log2E - 1= log24096-1 = 11 біт
4.5 Накопичуючий суматор
4.5.1 Накопичуючий суматор є багатофункціональним регістром
Основне призначення накопичуючого суматора полягає в обчисленні суми чисел. Крім того, накопичуючий суматор може виконувати бінарні логічні операції, мікрооперації рахунку і передачу слова через суматор без зміни.
4.6 Формувачі кодів
4.6.1 Формувачі кодів застосовується для перекладу прямого двійкового коду в додатковий
процесор мікрооперація кодування
5. РОЗРОБКА КЕРУЮЧОГО АВТОМАТА
5.1 Керуючий автомат з програмованою логікою
5.1.1 Для такого автомата використовується ПЗУ, в якому записана певна кількість мікрокоманд (МК). На кожному такті вибирається одна команда, яка визначає які треба видавати вихідні сигнали і на яку адресу в ПЗУ слід переходити. В даному курсовому проекті розглядається керуючий автомат з примусовою адресацією з перевіркою двох логічних умов і одним полем укороченої адреси. Формат мікрокоманди матиме вигляд, зображений на мал. 4
У |
X1 |
Х2 |
А |
мал. 4
5.1.2 Поле У задає вихідний сигнал. Для зменшення розрядності МК використовуємо двійкове кодування сигналів. Оскільки ГСА в більшості вершин виконується одночасно по 2 - 4 мікрооперації (МО), то доцільне це поле розбити на стільки підполів Yi, скільки максимальне МО в одній вершині. При цьому МО з однієї вершини поміщаємо в різні підмножини. Кожна підмножина повинна містити y0, при виводі якого на ОА ніякий сигнал не подається
5.1.3 У полях Х1 і Х2 вказується номер логічних умов, які виконуються в даний момент. Залежно від того, чому рівні логічні умови в полях Х1 і Х2 можуть бути сформовані різні адреси переходів: А.00, А.01, А.10 і А.11
Номер логічної умови в полі Х1 і Х2 також має двійковий код.
5.1.4 Таким чином, структурна схема нашого КА з програмованою логікою представлена в додатку С
5.2.Разметка граф схеми
5.2.1 Розмітка здійснюється таким чином: операційний блок і логічна умова представляються одним станом- Pi. Якщо між операційним блоком і логічною умовою є розгалуження, то операційний блок і логічна умова розмічаються як два різних стана - Рi і Pi+1 відповідно. Якщо йдуть підряд дві логічні умови, в яких використовуються всі розгалуження, то вони також кодуються як один стан
5.2.2 Розмітка обмежена вибіркою команд і виконанням команд 46 і 54. На розміченій ГСА всі мікрокоманди замінені на Уi, а логічні умови на Хi . Розмічена ГСА зображена в додатку D
5.3 Розбиття мікрооперацій і логічних умов по полях і їх кодування
5.3.1 Принцип розбиття полягає в наступному: Уi, розташовані в одному операційному блоці, записуються в різні поля. Тому кількість полів в даному прикладі рівна 4. В кожному полі включається мікрооперація У0 (відсутність мікрооперацій)
5.3.2 У вибраній ділянці застосовуються 39 мікрооперацій. В таблиці 4 показано розбиття по полях і кодування Уi
Таблиця 4
Y1 |
КодY1 |
Y2 |
КодY2 |
Y3 |
КодY3 |
Y4 |
КодY4 |
|
У0 |
0000 |
У0 |
0000 |
У0 |
000 |
У0 |
00 |
|
У1 |
0001 |
У2 |
0001 |
У5 |
001 |
У6 |
01 |
|
У3 |
0010 |
У4 |
0010 |
У9 |
010 |
У10 |
10 |
|
У14 |
0011 |
У8 |
0011 |
У7 |
011 |
У34 |
11 |
|
У12 |
0100 |
У11 |
0100 |
У21 |
100 |
|||
У19 |
0101 |
У15 |
0101 |
У17 |
101 |
|||
У22 |
0110 |
У13 |
0110 |
У29 |
110 |
|||
У24 |
0111 |
У16 |
0111 |
У39 |
111 |
|||
У25 |
1000 |
У18 |
1000 |
|||||
У27 |
1001 |
У20 |
1001 |
|||||
У30 |
1010 |
У23 |
1010 |
|||||
У32 |
1011 |
У26 |
1011 |
|||||
У36 |
1100 |
У28 |
1100 |
|||||
У37 |
1101 |
У31 |
1101 |
|||||
У38 |
1110 |
У33 |
1110 |
|||||
У35 |
1111 |
5.3.3 У вибраній ділянці схеми застосовуються лише 13 логічних умов
В таблиці 5 представлено їх кодування, де є додатковий сигнал «0» і «1».
Таблиця 5
X1 |
Код Х1 |
X2 |
Код Х2 |
|
Х00 |
0000 |
Х00 |
00 |
|
Х01 |
0001 |
Х01 |
01 |
|
Х4 |
0010 |
Х5 |
10 |
|
Х1 |
0011 |
|||
Х2 |
0100 |
|||
Х3 |
0101 |
|||
Х6 |
0110 |
|||
Х7 |
0111 |
|||
Х8 |
1000 |
|||
Х9 |
1001 |
|||
Х10 |
1010 |
|||
Х11 |
1011 |
|||
Х12 |
1100 |
|||
Х13 |
1101 |
5.4 Прошивка ПЗУ
5.4.1 Прошивка МПЗУ проводиться за наступними правилами
а. Якщо в стані Рi є операційний блок і (або) логічна умова, то їх коди вписуються у відповідні поля.
б. Поле А - це укорочене значення РАМК на 2 біти. В ньому вказується адреса переходу на наступний стан (можливі 4 варіанти).
в. Останній біт адреси рівний значенню X2, а передостанній біт адреси рівний значенню Х1.
г. За відсутності в стані логічної умови, останні 2 біти адреси кодується «0» або «1», залежно від того де ми розмістимо наступну мікрооперацію(4 варіанти).
5.4.2 Слідуючи вищевикладеним правилам проведемо прошивку ПЗУ (таблиця 6)
Таблиця 6
Р |
РАМК |
У1 |
У2 |
У3 |
У4 |
Х1 |
Х2 |
А |
|
Р1 |
000000 |
0000 |
0000 |
000 |
00 |
0011 |
01 |
0000 |
|
Р2 |
000011 |
0001 |
0001 |
000 |
00 |
0001 |
00 |
0001 |
|
Р3 |
000110 |
0000 |
0000 |
000 |
00 |
0100 |
00 |
0001 |
|
Р4 |
000100 |
0000 |
0000 |
000 |
00 |
0101 |
01 |
0001 |
|
Р5 |
000111 |
0010 |
0011 |
010 |
10 |
0001 |
00 |
1001 |
|
Р6 |
000101 |
0010 |
0010 |
001 |
01 |
0000 |
00 |
0010 |
|
Р7 |
100110 |
0000 |
0000 |
011 |
00 |
0000 |
01 |
0101 |
|
Р8 |
001000 |
0000 |
0000 |
011 |
00 |
0000 |
00 |
0000 |
|
Р9 |
000001 |
0000 |
0000 |
000 |
00 |
0010 |
10 |
0011 |
|
Р10 |
001100 |
0001 |
0001 |
000 |
00 |
0001 |
01 |
0010 |
|
Р11 |
001011 |
0000 |
0000 |
000 |
00 |
0100 |
01 |
0010 |
|
Р12 |
001001 |
0010 |
0100 |
001 |
01 |
0001 |
00 |
0010 |
|
Р13 |
001010 |
0000 |
0000 |
011 |
00 |
0000 |
01 |
0101 |
|
Р14 |
001101 |
0000 |
0000 |
000 |
00 |
0110 |
00 |
0100 |
|
Р15 |
010000 |
0011 |
0101 |
011 |
01 |
0000 |
00 |
0000 |
|
Р16 |
010010 |
0100 |
0110 |
011 |
10 |
0000 |
01 |
0101 |
|
Р17 |
001110 |
0000 |
0000 |
000 |
00 |
0110 |
01 |
0100 |
|
Р18 |
010001 |
0011 |
0101 |
011 |
01 |
0000 |
00 |
0000 |
|
Р19 |
010011 |
0100 |
0111 |
000 |
10 |
0000 |
01 |
0101 |
|
Р20 |
001111 |
0000 |
0000 |
000 |
00 |
0110 |
00 |
0101 |
|
Р21 |
010100 |
0011 |
0111 |
000 |
01 |
0000 |
00 |
0000 |
|
Р22 |
010110 |
0011 |
0000 |
011 |
01 |
0000 |
00 |
0000 |
|
Р23 |
010101 |
0000 |
1000 |
101 |
00 |
0001 |
01 |
0101 |
|
Р24 |
010111 |
0101 |
1001 |
100 |
00 |
0111 |
00 |
0110 |
|
Р25 |
011010 |
0110 |
1000 |
000 |
00 |
0000 |
01 |
0110 |
|
Р26 |
011001 |
0101 |
1010 |
000 |
00 |
0000 |
00 |
0110 |
|
Р27 |
011000 |
0000 |
0000 |
000 |
00 |
1000 |
00 |
0110 |
|
Р28 |
011110 |
0111 |
1000 |
000 |
00 |
0001 |
01 |
0110 |
|
Р29 |
011011 |
0101 |
1010 |
000 |
00 |
0000 |
00 |
0111 |
|
Р30 |
011100 |
0000 |
0000 |
000 |
00 |
1001 |
01 |
0111 |
|
Р31 |
011111 |
1101 |
0000 |
000 |
00 |
0000 |
00 |
0000 |
|
Р32 |
011101 |
0000 |
0000 |
000 |
00 |
1010 |
00 |
1000 |
|
Р33 |
100010 |
1110 |
0000 |
000 |
00 |
0000 |
00 |
0000 |
|
Р34 |
100000 |
0000 |
0000 |
000 |
00 |
1011 |
01 |
1000 |
|
Р35 |
100001 |
1000 |
1011 |
101 |
00 |
0000 |
00 |
1001 |
|
Р36 |
100100 |
1001 |
1100 |
110 |
00 |
1101 |
00 |
0000 |
|
Р37 |
000010 |
1010 |
1101 |
000 |
00 |
0000 |
00 |
0000 |
|
Р38 |
100011 |
0000 |
0000 |
000 |
00 |
1100 |
01 |
1001 |
|
Р39 |
100111 |
0000 |
0000 |
111 |
00 |
0000 |
00 |
0000 |
|
Р40 |
100101 |
1011 |
0001 |
000 |
00 |
0001 |
00 |
1010 |
|
Р41 |
101010 |
0000 |
0000 |
000 |
00 |
0100 |
00 |
1010 |
|
Р42 |
101000 |
1000 |
1110 |
101 |
11 |
0000 |
01 |
1010 |
|
Р43 |
101001 |
1001 |
1100 |
110 |
00 |
1101 |
00 |
1011 |
|
Р44 |
101100 |
1100 |
0000 |
000 |
00 |
0000 |
00 |
0000 |
|
Р45 |
101110 |
0000 |
1111 |
000 |
00 |
0000 |
00 |
0000 |
5.5 Опис електричної структурної і принципової схеми керуючого автомата
5.5.1 Пристрої, використані для реалізації мікропрограм можна розбити таким чином: DС1 - DC2 дешифратори 4 на 16, DС3 - дешифратор 3 на 8, DС4 - дешифратор 2 на 4, ?Ѕ1 - мультиплексор 16-1, МЅ2 - мультиплексор 4-1, ПЗУ (0:22) - для зберігання форматів команд; PАMK(0:5) - адресний регістр для звернення до ПЗУ. Вхідні дані - логічні умови Х, вихідні - безліч мікрооперацій У. Структурна схема управляючого автомата приведена в додатку С
5.5.2 При побудові принципової електричної схеми використані елементи серії К155 і КР556. З серії КР556 вибирається для запам'ятовування слів мікропрограми 3 ПЗУ КР556РТ17 місткістю 4 кілобайтів з розрядністю слова 8 біт. Вся решта елементів: мультиплексори, дешифратори, інвертори, елементи АБО, тригери вибрані з серії К155
ВИСНОВОК
В результаті виконання курсового проекту був спроектований процесор, що виконує операції логічного І, перехід по лічильнику і віднімання з плаваючою комою (на основі команд IBM/370). Як управляючий автомат в процесорі застосовувався програмований автомат з примусовою адресацією з перевіркою двох логічних умов і одним полем укороченої адреси у форматі мікрокоманди.
СПИСОК ЛІТЕРАТУРИ
Райков «Принципы работы IBM/370». - М.: Мир, 1975;
Каган В.М. «электронные вычислительные машины и системы». - М.: Энергия, 1979;
Майоров С.А., Новиков Г.И. «Структура электронных вычислительных машин». - Л.: Машиностроение, 1976;
Методические указания к курсовому проектированию по дисциплине «Теория и проектирование ЦВМ». - Одесса ОПИ-1981;
Н. Н. Акимов «Резисторы, конденсаторы, трансформаторы , дроссели, коммутационные устройства, РЭА». - Минск, Беларусь 1994;
Тарабрин, справочник «Цифровые и интегральные микросхемы»
Петровский И.И. , справочник «Логические ИС КР1533 и Кр1554». - Москва: Бином, 1993;
Нешумова К.А. «Электронные вычислительные машины и системы» - Москва: Высшая школа, 1989.
Размещено на Allbest.ru
Подобные документы
Команди умовних і безумовних переходів в програмах, скорочення накладних витрат переходу, черга команд і технологія розгалуження із суміщенням. Основи конвеєризації, конвеєрна обробка команд у комп'ютері та збільшення пропускної здатності процесора.
реферат [39,5 K], добавлен 19.06.2010Конструктивний розрахунок блоку порівняння між лічильником віднімання та суматором з використанням тригерів. Призначення і склад пристрою, технічні вимоги. Обгрунтування умов експлуатації. Розробка та опис конструкції; розрахунок технологічності блоку.
курсовая работа [81,2 K], добавлен 19.08.2012Реалізація програми на мові асемблера для процесора i8086. Регістрова структура процесора. Використання сегментних регістрів для апаратної підтримки найпростішої моделі сегментованої пам'яті. Формування арифметичних прапорців. Система команд процесора.
контрольная работа [240,5 K], добавлен 27.02.2013Схема суперскалярної організації процесора. Вплив залежності між даними на роботу суперскалярного процесора. Апаратний паралелізм – це міра здатності процесора отримувати переваги із паралелізму на рівні команд. Запуск команд у суперскалярному процесорі.
реферат [34,9 K], добавлен 08.09.2011Додавання (віднімання) чисел на ДСОК: двійкова система числення, представлення з рухомою комою, суматор оберненого коду. Побудова схеми керування заданого автомату, алгоритм додавання(віднімання) та його представлення у вигляді блок-схеми, кодування.
курсовая работа [616,7 K], добавлен 03.01.2014Розробка структурної схеми. Опис основних елементів мікропроцесора. Вибір підходящої структури процесорного елемента та його опис. Реалізація пристрою управління. Розробка мікропрограми та загальний алгоритм виконання процесором команди SBR Rm, B.
контрольная работа [83,6 K], добавлен 04.06.2009Т-тригер з динамічним входом синхронізації. 4-розрядний лічильник, що віднімає, з наскрізним переносом. Асинхронні входи тригерів. Встановлення в лічильнику початкового нульового значення. Зберігання підрахованих імпульсів. Час інвертування стану тригера.
курсовая работа [1013,0 K], добавлен 28.03.2012Історія виникнення та характеристика мікропроцесора Power. Архітектура мікропроцесора MPC8640D. Порівняння процесорів MPC8640D і Core i5 650. Будова мікропроцесорної системи. Формалізація задачі, розробка програми на Assembler. Створення ехе–файлу.
курсовая работа [2,0 M], добавлен 13.06.2010Програма, що модифікує деякі команди для того, щоб вони могли працювати в захищеному режимі роботи мікропроцесора. Вимоги до надійності, маркування і пакування. Умови експлуатації. Стадії і етапи розробки програми. Опис і розробка алгоритму рішення.
курсовая работа [42,4 K], добавлен 20.01.2009Дослідження основних арифметичних команд над цілими двійковими числами. Особливості безумовно-умовних переходів мови Асемблер. Відмінні риси команд умовного переходу, організації циклів, порівняння. Характеристика ознак команди безумовного переходу.
реферат [18,9 K], добавлен 26.04.2010