Функціональна організація і система команд процесора
Розробка мікропроцесора - найбільш важливий етап розробки ЕОМ. Складання команд, наближених до структури і функціонування процесорних пристроїв, принципи їх побудови і зв'язок з оперативною і регістровою пам'яттю. Опис структурної схеми процесора.
Рубрика | Программирование, компьютеры и кибернетика |
Вид | курсовая работа |
Язык | украинский |
Дата добавления | 21.10.2012 |
Размер файла | 49,6 K |
Отправить свою хорошую работу в базу знаний просто. Используйте форму, расположенную ниже
Студенты, аспиранты, молодые ученые, использующие базу знаний в своей учебе и работе, будут вам очень благодарны.
Размещено на http://www.allbest.ru/
ЗМІСТ
ВСТУП
1. ФУНКЦІОНАЛЬНА ОРГАНІЗАЦІЯ ПРОЦЕСОРА
1.1 Опис команди "І безпосереднє"
1.2 Складання з нормалізацією
1.3 Завантаження і перевірка
1.4 Завантаження PSW
2. СИНТЕЗ ОПЕРАЦІЙ
2.1 Вибірка команди
2.2 Реалізація команди "І безпосереднє"
2.3 Реалізація команди "Складання з нормалізацією"
2.4 Реалізація команди "Завантаження і перевірка"
2.5 Реалізація команди "Завантаження PSW"
3. ОПИС СТРУКТУРНОЇ СХЕМИ ПРОЦЕСОРА
3.1 Процесор
3.2 Оперативна пам'ять
3.3 Регістрова пам'ять
3.4 Слово стану процесора
3.5 Мікрооперації і логічні умови
4. СИНТЕЗ АВТОМАТА, ЩО УПРАВЛЯЄ
4.1 Розмітка граф схеми
4.2 Розбиття мікрооперацій по полях і кодування логічних умов
4.3 Прошивка МПЗУ
4.4 Опис структурної і електричної принципової схеми автомата, що управляє
ВИСНОВОК
ВСТУП
Даний курсовий проект присвячений розробці мікропроцесора, що виконує деякий набір команд. Для наближення до структури і функціонування реальних процесорних пристроїв були дані команди і принципи роботи із зовнішніми пристроями аналогічні реально існуючому процесору IBM/370. Розробка процесора - це один з найбільш важливих етапів розробки ЕОМ в цілому. Попри те, що для функціонування модулів пам'яті і інших зовнішніх по відношенню до процесора пристроїв байдужа внутрішня структура процесора, важливо брати до уваги при виборі набору пристроїв найбільш характерні типи даних оброблювані процесором, типи команд, призначення і функції зовнішніх виводів процесора. В даному випадку, оскільки команди процесора можуть мати довжину 16 або 32 розряди, то бажано використати пам'ять, що дозволяє прочитувати одночасно не менше 32 розрядів. Подібний вибір структури пам'яті добре стикується і з найбільш характерними форматами даних, з якими працює процесор. В даному випадку не позбавлений сенсу був і вибір пам'яті з можливістю вибірки 64-розрядних слів, оскільки процесор працює і з 64-розрядними словами, але оскільки така розрядність використовується тільки в одній з мікрооперацій, а дані при цьому знаходяться в регістровій пам'яті, то при цьому 64-розрядна пам'ять використовувалася б виключно для вибірки команд, а магістраль велику частину часу простоювала. Таким чином, була вибрана структура процесора, що має 32-розрядну зовнішню і 32-розрядну внутрішню структуру.
При виборі структури регістрової пам'яті враховувалося, то що одночасно не використовуються регістри з плаваючою точкою і регістри загального призначення, тому можливе їх об'єднання в одну регістрову пам'ять. Відмінність у форматі при цьому не є проблемою, оскільки регістри з плаваючою точкою при цьому представляються у вигляді двох 32-розрядних регістрів. Це не призводить до зменшення продуктивності системи, як було відмічено раніше, магістраль є 32-розрядною і, все одно, треба робити прочитування регістра з плаваючою комою за два звернення до регістрової пам'яті, а конвеєрний спосіб зв'язку з нею дозволив робити це прочитування за три машинні такти.
1. ФУНКЦІОНАЛЬНА ОРГАНІЗАЦІЯ ПРОЦЕСОРА
Процесор повинен виконувати наступні команди:
Складання з нормалізацією
Завантаження і перевірка
Завантаження PSW
1.1 Опис команди "І безпосереднє"
NI |
D1 |
(B1), |
I2 (SI) |
|
9416 |
I2 |
B1 |
D1 |
|
0 8 |
16 |
20 |
31 |
Порозрядний логічний твір (И) першого і другого операндів поміщається на місце першого операнда.
Операнди обробляються як логічні величини, що не мають внутрішньої структури, і до відповідних біт застосовується операція логічного І. У біті результату встановлюється 1, якщо у відповідних бітах обох операндів містяться одиниці, інакше - встановлюється 0.
У разі команди NC поля операндів обробляються зліва направо. Якщо операнди перекриваються, результат виходить таким, начебто операнди оброблялися побайтно, кожен байт результат записувався в пам'ять відразу ж після вибірки потрібного байта операнда.
1.2 Складання з нормалізацією
AER |
R1, |
R2 (RR, короткі операнди) |
|
3A16 |
R1 |
R2 |
|
0 8 |
12 |
15 |
Другий операнд складається з першим операндом, і нормалізована сума поміщається в осередок першого операнда.
Складання двох чисел з плаваючою точкою полягає у вирівнюванні характеристик і складанні мантис. Характеристики обох операндів порівнюються, і мантиса операнда з меншою характеристикою зрушується управо; при кожному зрушенні на шістнадцятиричну цифру робиться збільшення характеристики цього операнда на 1. Зрушення триває до тих пір, поки характеристики обох операндів не стануть рівними.
Якщо операнд зрушений управо під час вирівнювання, то найлівіша шістнадцятирична цифра поля, висуненого за межі розрядної сітки, зберігається в якості додаткової цифри. Вважається, що операнд, який не піддався зрушенню, має додаткову молодшу цифру, рівну 0. Якщо вирівнююче зрушення не робиться, то вважається, що обидва операнди розширені молодшими шістнадцятиричними нулями. Потім робиться складання алгебри мантис для отримання проміжної суми.
При складанні коротких операндів мантиса проміжної суми складається з 7 шістнадцятиричних цифр і, можливо, цифри перенесення. Якщо перенесення має місце, сума зрушується управо на одну цифру, і характеристика збільшується на 1.
Після складання проміжна сума зрушується вліво так, щоб отримати нормалізоване число, за умови, що мантиса не дорівнює 0. У молодші шістнадцятиричні позиції, що звільнилися, записуються нулі, а характеристиці зменшується на число одиниць, рівне числу зрушень, потім мантиса проміжної суми усікається так, щоб отримати мантису результату потрібної довжини.
Знак суми визначається за правилами алгебри, за винятком випадку, коли усі цифри мантиси проміжної суми дорівнюють 0. У цій ситуації встановлюється позитивний знак.
Якщо перенесення із старшої позиції мантиси проміжної суми характеристики нормалізованої суми перевищує число 127, то фіксується особливий випадок переповнювання порядку. Операція завершується шляхом формування характеристики, яка на 128 менше дійсного значення, і відбувається програмне переривання із-за переповнювання порядку. При цьому результат буде нормалізованим, а знак і мантиса зберігають правильні значення. У разі команди складання для розширених операндів (AXR) зберігається також правильне значення характеристики молодшої частини.
Якщо характеристика нормалізованої суми менше 0, а мантиса не дорівнює 0, має місце особливий випадок зникнення порядку. Якщо біт маски зникнення порядку дорівнює 1, операція завершується шляхом формування характеристики, яка на 128 більше дійсного значення. Результат нормалізується, а знак і мантиса зберігають правильні значення. Потім відбувається програмне переривання із-за зникнення порядку. Якщо зникнення порядку має місце, а біт маски зникнення порядку дорівнює 0, то програмне переривання не відбувається. Замість цього операція завершується шляхом формування результату, рівного істинному 0.У разі команди складання для розширених операндів зникнення порядку не фіксується, якщо характеристика молодшої частини менше 0, а характеристика старшої частини більше або рівна 0.
Якщо мантиса проміжної суми, включаючи додаткову цифру, дорівнює 0, має місце особливий випадок втрати значущості. Якщо біт маски втрати значущості дорівнює 1, то характеристика проміжної суми не міняється і стає характеристикою результату. Нормалізація не робиться, і відбувається програмне переривання із-за втрати значущості.
Якщо біт маски втрати значущості дорівнює 0, програмне переривання не відбувається; Замість цього формується результат, рівний істинному 0.
Ознака результату:
0 - Мантиса результату дорівнює 0;
1 - Результат менше 0;
2 - Результат більше 0;
Програмні переривання:
Операція (якщо в цій установці відсутній засіб обробки чисел з плаваючою точкою або у разі команди AXR відсутній засіб обробки чисел з плаваючою точкою підвищеної точності)
Специфікація;
Переповнювання порядку;
Зникнення порядку;
Втрата значущості.
1.3 Завантаження і перевірка
LTR |
R1, |
R2 (RR) |
|
1216 |
R1 |
R2 |
|
0 8 |
12 |
15 |
Другий операнд без зміни поміщається на місце першого операнда. Поля R1 і R2 повинні визначати регістри 0,2,4 або 6; інакше фіксується особливий випадок специфікації.
Ознака результату:
0 - результат дорівнює 0;
1 - результат менше 0;
2 - результат більше 0;
Програмні переривання відсутні.
1.4 Завантаження PSW
LPSW D2(S)
8216 |
///////// |
B2 |
D2 |
0 8 16 20 31
Подвійне слово з області, вказаної адресою другого операнда, заміщає поточне PSW.
Якщо в новому PSW заданий режим BC, то при завантаженні PSW вміст позиції 16-33 нового PSW не зберігається. Коли надалі PSW записується в пам'ять. Ці позиції містять новий код переривання і код довжини команди.
Робиться тимчасова відміна поєднання. Виконання операції в процесорі затримується до тих пір, поки не буде завершені попередні доступи цього процесора в основну пам'ять по відношенню до інших каналів і процесором.
До тих пір, поки виконання цієї команди не буде завершено, доступ до подальших команд і їх операндом не робиться.
Операнд має бути розташований на границі подвійного слова; інакше розпізнається особливий випадок специфікації і операція пригнічується і тоді, коли має місце особливий випадок захисту або адресації.
Біти 8-15 команд ігноруються.
Ознака результату визначається вмістом відповідного поля нового PSW.
Програмне переривання:
Привілейована операція;
2. СИНТЕЗ ОПЕРАЦІЙ
2.1 Вибірка команди
Перед виконанням будь-якої команди треба рахувати її з пам'яті в регістр команд РК. Адреса прочитуваної команди задається в лічильнику адреси команди СЧАК, що є бітами 40.62 із слова стану програми PSW. З пам'яті одночасно прочитуються 32 розряди - Регістр ОП, адреса якого знаходиться в Адресному регістрі ОП. Оскільки довжина команди може дорівнювати 16 або 32 розрядам, то за одне звернення до пам'яті може бути лічена одна або дві команди або одна команда і частина наступної.
Щоб не робити повторне прочитування, розряди РОП(16:31) можуть запам'ятати у буферному регістрі БР. Для того, щоб визначити, чи знаходиться у БР корисна інформація, використовується тригер переходів ТП, одиничне значення якого означается, що інформація у БР не може бути використана для формування нової команди. Якщо ТП=0, то вміст БР може бути використаний для формування нової команди.
Якщо вибирана команда має формат RR, перше півслово, що є командою, передається на РК, а розряди (16:31) зберігаються на БР. При цьому СЧАК збільшується на "1".
Якщо вибирана команда розпочинається з другого півслова і має довжину в слово, то на РК розряди(0:15) передаються розряди (16:31) РОП, СЧАК збільшується на "2" і відбувається повторне звернення до ОП. Розряди (0:15) РОП передаються на РК (16:31).
Функціональна мікропрограма вибірки команди приведена на рис. 1 у додатку 1. Після вибірки команда знаходиться в РК. Її КОП ми по черзі порівнюємо з Копами наших команд, як тільки вони співпадуть йдемо на виконання. Якщо такого Копа немає, то викликається програмне переривання.
2.2 Реалізація команди "І безпосереднє"
У команді "І безпосереднє " явно даний другий операнд, довжина якого 1 байт - це поле I2. Другий операнд знаходиться в ОП. Його адреса обчислюється наступним способом: з РП за адресою В1 витягається РОН який складається зі зміщенням D1.В результаті отримуємо адресу операнда в ОП. Залежно від останніх 2-х бітів адреси витягаємо відповідний байт і проводимо операцію "І безпосереднє". Потім результат записуємо на місце 1-го операнда і робимо запис отриманого регістра в пам'ять. Ознака результату встановлюється у відповідності вищеописаної умови.
Блок-схема алгоритму показана на малюнку 2.
2.3 Реалізація команди "Складання з нормалізацією"
Для реалізації команди "Складання з нормалізацією" були використані наступні елементи. Тригера SA, SB, які служать для зберігання знаку (модернізований код); тригер DS використовується як прапор переповнювання при складанні. Чотирирозрядні регістри DOPA і DOPB, де зберігаються додаткові цифри для відповідних операндів. Операнди знаходяться в регістровій пам'яті по адресах R1 і R2 відповідно. При витяганні операндів перевіряється коректність завдання адрес. Для зручності операнди розбиті по полях: РА і РВ - поля характеристик, МА і МВ - поля мантис. Програма реалізується відповідно до опису - підрозділ 1.2. Схема алгоритму програми представлена на малюнку 3.
2.4 Реалізація команди "Завантаження і перевірка"
При виконанні цієї команди перевіряється коректність завдання адрес R1 і R2. Відповідно до завдання встановлюється ознака результату.
2.5 Реалізація команди "Завантаження PSW"
Операнд знаходиться в ОП. Його адреса обчислюється наступним способом: з РП за адресою В2 витягається РОН який складається зі зміщенням D2.В результаті отримуємо адресу операнда в ОП. Витягаємо регістр і записуємо його в PSW(0:31), потім збільшуємо на 1-у і записуємо регістр в PSW(32:63).
процесор команда оперативний регістровий
3. ОПИС СТРУКТУРНОЇ СХЕМИ ПРОЦЕСОРА
3.1 Процесор
Процесор складається з наступних основних частин:
· 32-розрядній магістралі М;
· 32- розрядного регістра Z для сполучення з магістраллю;
· 32- розрядного ALU
· 32-розрядних регістрів А, В;
· Тригери DS, SA, SB;
· 4- розрядних регістрів DOPA, DOPB;
· 16-розрядного буферного регістра БР і 32-розрядного регістра команд РК;
· 64- розрядного PSW;
· Тригера переходу ТП;
· Формувачів кодів ФК1-ФК6;
· Різних схем порівняння, мультиплексорів і ліній зв'язку.
Крім того, для роботи процесора потрібні РП і ОП, які можуть знаходитися усередині процесора або підключатися у вигляді зовнішніх пристроїв.
Магістраль процесора служить для зв'язку РП і ОП з внутрішніми регістрами. РП підключена до М через регістр РРП. ОП підключена до М через регістр РОП. Z служить для зв'язку РРП і РОП з регістрами процесора. БР і РК пов'язані з М безпосередньо. ALU служить для виконання різних операцій і для зв'язку між внутрішніми регістрами.
3.2 Оперативна пам'ять
У оперативній пам'яті місткістю 256 кілобайт зберігаються 32 - розрядні слова. Слово читається і записується в оперативну пам'ять тільки цілком за одне звернення до ОП. Адреса слова, до якого робиться звернення, вказується на регістрі адреси основної пам'яті АОП. Довжина регістра АОП дорівнює _, де _- емність ОП в словах. Слово інформації, яке записується або читається з ОП, розмішається в регістрі РОП. Операція в ОП збуджується сигналами читання з основної пам'яті ЧТОП і записи в основну пам'ять ЗПОП. Момент закінчення операції в ОП відзначається сигналом _. Оскільки цикл основної пам'яті має тривалість велику такту роботи процесора, то повинна забезпечуватися синхронізація роботи процесора і оперативної пам'яті за рахунок вершин графа мікропрограми, що чекають.
3.3 Регістрова пам'ять
Регістрова пам'ять застосовується для збільшення швидкодії процесора. РП складається з регістрів загального призначення (РОН) і регістрів з плаваючою комою (РПЗ). Рони використовуються в якості індекс регістрів, базових регістрів, а також для зберігання слів і півслів, що беруть участь в операціях з фіксованою комою. Рони є 32 - розрядні регістри і адресуються числами від 0 до 15. Для звернення до РОНам в командах будь-якого формату відводиться чотирирозрядне поле R.
При виконанні операцій з плаваючою комою один або обидва операнди можуть розташовуватися на РПЗ. Всього використовується чотири регістри завдовжки 8 байтів з адресами 0,2,4,6 відповідно.
Рони і РПЗ структурно об'єднані в 24-регістрову пам'ять РП, регістри 0-15 є Рони, а інші 8 регістрів використовується для зберігання чотирьох восьмибайтних слів. Довжина регістра РП дорівнює 32 розрядам. Адреса регістра вказується на 5-розрядному регістрі АРП. Операнд, який записується або читається з РП, поміщається на регістр РРП. Читання і запис слова ініціюються відповідно сигналами ЧТРП і ЗПРП.
Для зберігання поточної інформації використовується РК. Дані з нього можуть поступати на АРП і на ALU.
3.4 Слово стану процесора
Слово-стан процесора PSW містить інформацію про стан процесора. У зв'язку з обмеженим набором команд використовуються не усі розряди. Розряди 16-31 містять код помилки, що викликала програмне переривання. В даному випадку використовують розряди 28-31. Розряди 32-33 зберігають інформацію про довжину останньої команди, що виконалася. У розряди 34-35 записується ознака результату. Розряди 36-39 зберігають маску переривань. Розряди 40-63 використовуються для зберігання адреси команди. ФК1 використовується для формування коду довжини помилки. ФК2 - коду довжини команди, ФК3 - ознаки результату, ФК4 - адреси пам'яті, ФК5 і ФК6 - для формування деякого коду при виконанні унарних операцій.
Схеми порівняння використовуються для генерації логічних умов.
При написанні мікропрограм потрібно враховувати набір наявного устаткування. Для полегшення визначення необхідного устаткування спочатку пишемо мікропрограму для самої більшої за витратами устаткування команди. Їй являється команда з плаваючою комою. Команда порівняння двох операндів з плаваючою комою. числа представляються в короткому форматі.
± |
Характеристика |
Мантиса |
0 1 7 8 31
Негативні числа зображаються в прямому коді. Характеристика Х дорівнює порядку числа, збільшеному на 64, і представляє значення порядку в діапазоні від - 64 до +63. Набір символів (_=) означає привласнення змінної на початку машинного такту, а набір символів (: =) означає привласнення змінної у кінці такту.
Структурна схема процесора (операційна частина) приведена в додатку 2.
3.5 Мікрооперації і логічні умови
Перелік усіх мікрооперацій показаний в таблиці 2.
Перелік усіх логічних умов показаний в таблиці 3.
Таблиця 2
Перелік мікрооперацій
Y |
ОПЕРАЦІЯ |
Y |
ОПЕРАЦІЯ |
|
Y1 |
PSW(28:31):=01012 |
Y45 |
MA.DOPA:=1110.MA |
|
Y2 |
PSW(28:31):=01102 |
Y46 |
A(0):=1 |
|
Y3 |
AOП:=СЧАК+1 |
Y47 |
MA.DOPA:=A(11:31) |
|
Y4 |
ЧТОП |
Y48 |
SA.MA:=SA.MA+DOPA(0) |
|
Y5 |
PK(0:15):=БР |
Y49 |
PSW(28:31):=11002 |
|
Y6 |
СЧАК:=СЧАК+1 |
Y50 |
MA:=0001.A(8:27) |
|
Y7 |
M_=РОП |
Y51 |
PSW(34:35):=nA(0).A(0) |
|
Y8 |
Z:=M |
Y52 |
PA:=6410 |
|
Y9 |
PK(0:15):=Z(0:15) |
Y53 |
PSW(28:31):=11102 |
|
Y10 |
БР:=M(16:31) |
Y54 |
Z:=A |
|
Y11 |
PK(16:31):=M(0:15) |
Y55 |
РРП:=M |
|
Y12 |
ТП:=0 |
Y56 |
M_=Z |
|
Y13 |
ТП:=1 |
Y57 |
PSW(32:33):=112 |
|
Y14 |
БР:=M(16:31) |
Y58 |
A:=0.0.D2 |
|
Y15 |
РК:=Z |
Y59 |
АРП:=0.B2 |
|
Y16 |
PSW(32:33):=012 |
Y60 |
PSW(32:33):=102 |
|
Y17 |
APП:=0.R2 |
Y61 |
A:=A+Z |
|
Y18 |
ЧТРП |
Y62 |
ОАП:=A(12:29) |
|
Y19 |
M_=РРП |
Y63 |
A(12:29):=A(12:29)+1 |
|
Y20 |
ЗПРП |
Y64 |
PSW(0:31):=B |
|
Y21 |
АРП:=0.R1 |
Y65 |
PSW(32:63):=B |
|
Y22 |
A:=Z |
Y66 |
PSW(28:31):=00012 |
|
Y23 |
PSW(34:35):=102 |
Y67 |
A:=0.0.D1 |
|
Y24 |
PSW(34:35):=002 |
Y68 |
АРП:=0.B1 |
|
Y25 |
PSW(34:35):=012 |
Y69 |
B(0:7):=I2 |
|
Y26 |
АРП:=1.R1 |
Y70 |
B:=B(0:7)&Z(0:7).Z(8:31) |
|
Y27 |
DOPA:=0 |
Y71 |
A(0:7):=B(0:7)&Z(0:7) |
|
Y28 |
DOPB:=0 |
Y72 |
B:=Z(0:7).B(0:7)&Z(8:15).Z(15:31) |
|
Y29 |
APП:=1.R2 |
Y73 |
A(0:7):=B(0:7)&Z(8:15) |
|
Y30 |
SA:=Z(0) |
Y74 |
B:=Z(0:15).B(0:7)&Z(16:23).Z(24:31) |
|
Y31 |
DS:=0 |
Y75 |
A(0:7):=B(0:7)&Z(16:23) |
|
Y32 |
B:=Z |
Y76 |
B:=Z(0:23) B(0:7)&Z(24:31) |
|
Y33 |
SB:=Z(0) |
Y77 |
A(0:7):=B(0:7)&Z(24:31) |
|
Y34 |
B:=A |
Y78 |
Z:=B |
|
Y35 |
SB:=SA |
Y79 |
РОП:=M |
|
Y36 |
PA:=PA+1 |
Y80 |
ЗПОП |
|
Y37 |
MA.DOPA:=0000.MA |
Y81 |
АОП:=4016 |
|
Y38 |
MA.DOPA:=nMA.nDOPA+1 |
Y82 |
Z:=PSW(0:31) |
|
Y39 |
MB.DOPB:=nMB.nDOPB+1 |
Y83 |
Z:=PSW(32:63) |
|
Y40 |
DS.SA.A(0).MA.DOPA:= |
Y84 |
АОП:=4116 |
|
:=SA.A(0).MA.DOPA+ |
Y85 |
АОП:=10416 |
||
SB.B(0).MB.DOPB |
Y86 |
PSW(32:63):=Z |
||
Y41 |
SA.A(0).MA.DOPA:= |
Y87 |
АОП:=10510 |
|
:=SA.A(0).MA.DOPA+1 |
Y88 |
PSW(0:31):=M |
||
Y42 |
SA:=0 |
|||
Y43 |
A(0):=0 |
|||
Y44 |
MA.DOPA:=0001.MA |
Таблиця 3
Перелік логічних умов
X |
Логічна умова |
x |
Логічна умова |
|
X1 |
PSW(63) |
X19 |
SB |
|
X2 |
СЧАК(0:5)=0 |
X20 |
DS |
|
X3 |
ТП |
X21 |
SA+A(0) |
|
X4 |
СЧАК(22) |
X22 |
PA=0 |
|
X5 |
Z(16:17) |
X23 |
A(8:11)=0 |
|
X6 |
Z(0:1)=0 |
X24 |
MA=0 |
|
X7 |
ZOП |
X25 |
PSW(39) |
|
X8 |
КОП=1216 |
X26 |
КОП=8216 |
|
X9 |
R1(0)+R1(3) |
X27 |
B2=0 |
|
X10 |
R2(0)+R2(3) |
X28 |
B2(3) |
|
X11 |
A(1:31) |
X29 |
A(29:30)=0 |
|
X12 |
A(0) |
X30 |
A(0:5) |
|
X13 |
A(0:7) |
X31 |
КОП=9416 |
|
X14 |
БР(0:1)=0 |
X32 |
B1=0 |
|
X15 |
КОП=0A16 |
X33 |
B1(30 |
|
X16 |
Z(1:7)>PA |
X34 |
A(30) |
|
X17 |
PB - PA=0 |
X35 |
A(31) |
|
X18 |
SA |
4. СИНТЕЗ АВТОМАТА КОТРИЙ УПРАВЛЯЄ
Для синтезу автомата, що управляє, було отримано наступне завдання: автомат, що управляє, повинен мати одне поле Логічних умов - Х, одна укорочена адреса - А і поля Yi для мікрооперацій.
4.1 Розмітка граф схеми
Розмітка здійснюється таким чином: операційний блок і логічна умова представляються одним станом - Pi, де i змінюється від 0 до 50(за завданням). Якщо між операційним блоком і логічною умовою є розгалуження, то операційний блок і логічна умова розмічаються як два різні стани - Рi і Pi+1 відповідно.
Розмітка обмежена кількістю станів (за завданням) - їх повинно бути 50. На розміченій ГСА усі мікрокоманди замінені на yi, а логічні умови на xi. отримана ГСА зображена в додатку 1.
4.2 Розбиття мікрооперацій по полях і кодування логічних умов
Принцип розбиття полягає в наступному: yi розташовані в одному операційному блоці записуються в різні поля. Тому кількість полів в цьому прикладі дорівнює 5. У кожному полі включається мікрооперація y0 (відсутність мікрооперацій в змозі). У таблиці 4 показано розбиття по полях і кодування yi.
Таблиця 4
Розбиття по полях
Y1 |
Y2 |
Y3 |
Y4 |
Y5 |
||||||
Операція |
Код |
Операція |
Код |
Операція |
Код |
Операція |
Код |
Операція |
Код |
|
Y0 |
0000 |
Y0 |
0000 |
Y0 |
000 |
Y0 |
000 |
Y0 |
000 |
|
Y7 |
0001 |
Y6 |
0001 |
Y10 |
001 |
Y11 |
001 |
Y12 |
001 |
|
Y1 |
0010 |
Y4 |
0010 |
Y8 |
010 |
Y15 |
010 |
Y21 |
010 |
|
Y2 |
0011 |
Y9 |
0011 |
Y13 |
011 |
Y14 |
011 |
Y31 |
011 |
|
Y3 |
0100 |
Y18 |
0100 |
Y26 |
100 |
Y17 |
100 |
Y29 |
100 |
|
Y5 |
0101 |
Y22 |
0101 |
Y36 |
101 |
Y20 |
101 |
Y43 |
101 |
|
Y19 |
0110 |
Y38 |
0110 |
Y32 |
110 |
Y27 |
110 |
Y46 |
110 |
|
Y28 |
0111 |
Y47 |
0111 |
Y30 |
111 |
|||||
Y24 |
1000 |
Y41 |
1000 |
|||||||
Y25 |
1001 |
Y44 |
1001 |
|||||||
Y35 |
1010 |
Y23 |
1010 |
|||||||
Y37 |
1011 |
Y40 |
1011 |
|||||||
Y39 |
1100 |
Y45 |
1100 |
|||||||
Y33 |
1101 |
Y16 |
1101 |
|||||||
Y43 |
1110 |
У вибраній нами ділянці схеми застосовуються лише 20-ть логічних умов. У таблиці 5 представлено їх кодування, де додані сигнали «1» і «0».
Таблиця 5
Логічні умови
X |
Код |
X |
Код |
x |
Код |
|
“0” |
00000 |
X8 |
01000 |
X16 |
10000 |
|
X1 |
00001 |
X9 |
01001 |
X17 |
10001 |
|
X2 |
00010 |
X10 |
01010 |
X18 |
10010 |
|
X3 |
00011 |
X11 |
01011 |
X19 |
10011 |
|
X4 |
00100 |
X12 |
01100 |
X20 |
10100 |
|
X5 |
00101 |
X13 |
01101 |
“1” |
11111 |
|
X6 |
00110 |
X14 |
01110 |
|||
X7 |
00111 |
X15 |
01111 |
4.3 Прошивка МПЗУ
Для прошивки МПЗУ необхідно підрахувати, скільки розрядів потрібно виділити для РАМК. У нас 50 станів і можливо з'явиться парі БП, тому n =]ln2(60)[ =6. У полі команди адреса укорочена на один біт: А(0:4). Після того, як ми розбили мікрооперації на поля і закодували логічні умови, команда має наступний вигляд:
Y1 |
Y2 |
Y3 |
Y4 |
Y5 |
X |
A |
0 3 7 10 13 16 21 26
Прошивка МПЗУ робиться за наступними правилами.
1) Якщо в стані Рi є операційний блок і (чи) логічна умова, то їх коди вписуються у відповідні поля.
2) Полі А - це укорочене значення РАМК на 1 біт. У нім вказується адреса переходу по «0», укорочений на одиницю, на наступний стан.
3) Останній біт адреси дорівнює значенню Xi, тому за станом, куди ми переходимо по «0», повинен слідувати стан, куди ми переходимо по «1». Якщо
такі стани вже описані, то записуємо безумовний перехід.
4) За відсутності в стані логічної умови, останній біт адреси кодується «0» або «1», залежно від того де ми розмістили наступний стан.
5) Алгоритм обчислення РАМК представлений на малюнку 1.
Мал. 1. Алгоритм обчислення РАМК
Наслідуючи вищевикладені правила проведемо прошивку ПЗП(таблиця 6).
Таблиця 6
Прошивка МПЗУ
РАМК |
Y1 |
Y2 |
Y3 |
Y4 |
Y5 |
X |
A |
P(t) |
P(t+1) |
|
000000 |
0000 |
0000 |
000 |
000 |
000 |
00001 |
00001 |
P0 |
P3 |
|
000001 |
0110 |
0101 |
010 |
111 |
011 |
10000 |
10101 |
P29 |
P31 |
|
000010 |
0000 |
0000 |
000 |
000 |
000 |
00010 |
00010 |
P3 |
P1 |
|
000011 |
0011 |
0000 |
000 |
000 |
000 |
00000 |
00000 |
P2 |
P0 |
|
000100 |
0010 |
0000 |
000 |
000 |
000 |
00000 |
00000 |
P1 |
P0 |
|
000101 |
0000 |
0000 |
000 |
000 |
000 |
00011 |
00011 |
P4 |
P7 |
|
000110 |
0000 |
0000 |
000 |
000 |
000 |
00100 |
00100 |
P7 |
P5 |
|
000111 |
0110 |
0000 |
010 |
101 |
010 |
00000 |
10010 |
P33 |
P34 |
|
001000 |
0100 |
0010 |
000 |
000 |
000 |
11111 |
00101 |
P5 |
P6 |
|
001001 |
0101 |
0001 |
000 |
000 |
000 |
01101 |
00110 |
P8 |
P10 |
|
001010 |
0001 |
0001 |
010 |
000 |
000 |
00100 |
00111 |
P9 |
P14 |
|
001011 |
0000 |
0000 |
000 |
000 |
000 |
00111 |
00101 |
P6 |
P9 |
|
001100 |
0000 |
0000 |
000 |
000 |
000 |
00010 |
01000 |
P10 |
БП1 |
|
001101 |
0000 |
0000 |
000 |
000 |
000 |
00111 |
01100 |
P20 |
P24 |
|
001110 |
0000 |
0000 |
000 |
000 |
000 |
00101 |
01010 |
P14 |
P9 |
|
001111 |
0000 |
0000 |
000 |
000 |
000 |
00110 |
01011 |
P17 |
P19 |
|
010000 |
0000 |
0000 |
000 |
000 |
000 |
00000 |
00010 |
БП1 |
P1 |
|
010001 |
0100 |
0010 |
000 |
000 |
000 |
11111 |
01001 |
P11 |
P12 |
|
010010 |
0001 |
0001 |
0001 |
001 |
001 |
11111 |
00110 |
P13 |
P20 |
|
010011 |
0000 |
0000 |
000 |
000 |
000 |
00111 |
01001 |
P12 |
P13 |
|
010100 |
0000 |
0011 |
000 |
000 |
000 |
00000 |
00110 |
P15 |
P10 |
|
010101 |
0000 |
0011 |
011 |
000 |
000 |
11111 |
00110 |
P16 |
P20 |
|
010110 |
0000 |
0011 |
000 |
011 |
001 |
11111 |
00110 |
P19 |
P20 |
|
010111 |
0000 |
0001 |
011 |
010 |
000 |
11111 |
00110 |
P18 |
P20 |
|
011000 |
0000 |
0000 |
000 |
000 |
000 |
01000 |
01101 |
P24 |
БП2 |
|
011001 |
0000 |
0000 |
000 |
000 |
000 |
01110 |
10000 |
P21 |
P22 |
|
011010 |
0000 |
0000 |
000 |
000 |
000 |
00000 |
00000 |
БП2 |
P0 |
|
011011 |
0000 |
0000 |
000 |
000 |
000 |
00000 |
01110 |
P25 |
P28 |
|
011100 |
0111 |
0100 |
100 |
110 |
101 |
01001 |
01111 |
P27 |
P28 |
|
011101 |
0011 |
1101 |
000 |
000 |
000 |
00000 |
00000 |
P26 |
P0 |
|
011110 |
0110 |
0100 |
010 |
000 |
101 |
11111 |
00000 |
P28 |
P29 |
|
011111 |
0000 |
0000 |
000 |
000 |
000 |
11111 |
01110 |
БП3 |
P26 |
|
100000 |
0000 |
0000 |
000 |
000 |
000 |
01001 |
10001 |
P22 |
P32 |
|
100001 |
0011 |
1101 |
000 |
000 |
000 |
00000 |
00000 |
P23 |
P0 |
|
100010 |
1111 |
1101 |
000 |
100 |
000 |
11111 |
00011 |
P32 |
P33 |
|
100011 |
0000 |
0000 |
000 |
000 |
000 |
11111 |
10000 |
БП4 |
P23 |
|
100100 |
0000 |
0101 |
000 |
000 |
000 |
01011 |
10011 |
P34 |
P35 |
|
100101 |
0000 |
0000 |
000 |
000 |
000 |
10000 |
10110 |
P39 |
P40 |
|
100110 |
0000 |
0000 |
000 |
000 |
000 |
01010 |
10100 |
P35 |
P36 |
|
100111 |
1001 |
0000 |
000 |
000 |
000 |
00000 |
00000 |
P38 |
P0 |
|
101000 |
0000 |
1010 |
000 |
000 |
000 |
00000 |
00000 |
P36 |
P0 |
|
101001 |
1000 |
0000 |
000 |
000 |
000 |
00000 |
00000 |
P37 |
P0 |
|
101010 |
1001 |
0101 |
101 |
000 |
100 |
11111 |
10010 |
P31 |
P39 |
|
101011 |
1110 |
0000 |
110 |
000 |
000 |
11111 |
10010 |
P30 |
P39 |
|
101100 |
1001 |
0000 |
101 |
000 |
000 |
11111 |
10010 |
P40 |
P39 |
|
101101 |
0000 |
0000 |
000 |
000 |
000 |
10001 |
10111 |
P41 |
P43 |
|
101110 |
0000 |
0000 |
000 |
000 |
000 |
10010 |
11000 |
P43 |
P45 |
|
101111 |
1100 |
0000 |
000 |
000 |
000 |
00000 |
10111 |
P42 |
43 |
|
110000 |
0000 |
1011 |
000 |
000 |
000 |
10011 |
11001 |
P45 |
P47 |
|
110001 |
1100 |
0000 |
000 |
000 |
000 |
00000 |
11000 |
P44 |
P45 |
|
110010 |
0000 |
0000 |
000 |
000 |
000 |
10100 |
11010 |
P47 |
P48 |
|
110011 |
0000 |
0000 |
000 |
101 |
000 |
00000 |
11001 |
P46 |
P47 |
|
110100 |
0000 |
0000 |
000 |
000 |
000 |
00000 |
00000 |
P48 |
P0 |
|
110101 |
0000 |
0000 |
000 |
000 |
000 |
10001 |
11011 |
P49 |
P50 |
|
110110 |
0000 |
1001 |
101 |
000 |
110 |
00000 |
00000 |
P50 |
P0 |
|
110111 |
1110 |
1100 |
101 |
000 |
111 |
00000 |
00000 |
P52 |
P0 |
4.4 Опис Структурної і Електричної принципової схеми автомата, що управляє
Пристрої, використані для реалізації мікропрограм можна розбити таким чином: DС1, DC2 дешифратори 4 на 16; DС3, DC4, DC5 дешифратори 3 на 8, МЅ - мультиплексор з 24 в 1; ПЗП (0:26) - для зберігання форматів команд; РАМК(0:5) - адресний регістр, для звернення до осередків ПЗП. Вхідні дані - логічні умови Х, вихідні - безліч кодованих У. Структурна схема автомата, що управляє, приведена в додатку 2.
При побудові принципової електричної схеми використані серії КР155 і КР556. З серії КР556 вибирається для запам'ятовування слів мікропрограми 3 ПЗП КР556РТ17 місткістю 16 кілобайт. Усі інші елементи: мультиплексори, дешифратори, інвертори і регістр адреси ПЗП вибрані з серії КР155. Мікросхеми цієї серії - це малопотужні, швидко діючі, цифрові, інтегральні мікросхеми, призначені для організації високошвидкісного обміну і обробки цифрової інформації тимчасового і електричного узгодження сигналів в обчислювальних системах. Мікросхеми серії КР155 в порівнянні з відомими серіями логічних ТТЛ мікросхем мають мінімальне значення твору швидко дії на розсіювану потужність.
Принципова електрична схема побудована на основі структурної схеми автомата, що управляє, і приведена в графічному застосуванні 3.
ВИСНОВОК
В ході виконання курсового проекту я вивчив принципи побудови процесорних пристроїв і принципи їх зв'язку з іншими пристроями, такими як оперативна пам'ять і регістровий пристрій, що запам'ятовує.
По своїй структурі операційна частина процесора ближче до структури М-автомата, в якому усі регістри пов'язані між собою через АЛУ. У цьому процесорі таким чином пов'язані регістри що безпосередньо беруть участь в арифметичних операціях, хоча і між не якими їх них є безпосередній зв'язок.
Така структура дозволила значно спростити операційний автомат.
У М-автоматі можливе виконання тільки однієї мікрооперації за один машинний такт, а цей процесор дозволив значно нейтралізувати це обмеження за рахунок введення деяких безпосередніх зв'язків і за рахунок розрядності АЛУ в два рази розрядність одного внутрішнього регістра загального призначення, що перевищує, що дозволило використати АЛУ, як єдине ціле при виконанні мікрооперацій над 64-розрядними операндами або як два незалежних АЛУ при роботі з 32-розрядними операндами. Крім того, одночасно з виконанням арифметико-логічних операцій можлива вибірка даних з оперативної або регістрової пам'яті, установка ознак результату і не яких інших дій за рахунок безпосереднього зв'язку з магістраллю регістрів, не пов'язаних з виконанням арифметико-логічних операцій.
Размещено на Allbest.ru
Подобные документы
Схема суперскалярної організації процесора. Вплив залежності між даними на роботу суперскалярного процесора. Апаратний паралелізм – це міра здатності процесора отримувати переваги із паралелізму на рівні команд. Запуск команд у суперскалярному процесорі.
реферат [34,9 K], добавлен 08.09.2011Реалізація програми на мові асемблера для процесора i8086. Регістрова структура процесора. Використання сегментних регістрів для апаратної підтримки найпростішої моделі сегментованої пам'яті. Формування арифметичних прапорців. Система команд процесора.
контрольная работа [240,5 K], добавлен 27.02.2013Розробка структурної схеми. Опис основних елементів мікропроцесора. Вибір підходящої структури процесорного елемента та його опис. Реалізація пристрою управління. Розробка мікропрограми та загальний алгоритм виконання процесором команди SBR Rm, B.
контрольная работа [83,6 K], добавлен 04.06.2009Функціонування мікрокомп’ютерів з шинною організацією. Системні локальні шини. Організація та структура пам’яті. Базова система введення-виведення. Режими роботи процесора I80286. Програмна модель процесора. Регістри процесора та умови програмування.
курсовая работа [326,1 K], добавлен 06.06.2013Отримання показників процесора за допомогою програми EVEREST Ultimate 2006. Приклад отриманих характеристик: властивості ЦП, виробник та завантаження. Набори команд та інструкцій, з якими працює процесор. Властивості та виробник графічного процесора.
лабораторная работа [19,5 K], добавлен 16.12.2010Трансп’ютер - мікрокомп'ютер із власною внутрішньою пам'яттю й каналами для з'єднання з іншими трансп’ютерами. Структура центрального процесора. Система команд трансп’ютера і їхнє виконання. Організація пам'яті трансп’ютера, диспетчеризація процесів.
реферат [140,8 K], добавлен 30.03.2011Принципи роботи команд мікросхеми 24LC08: читання, запису даних. Опис і блок-схеми програми і підпрограм, що обслуговує пристрій. Вибір середовища програмування і розробка програми, яка забезпечує можливість демонстрації команд. Проведення тестування.
курсовая работа [114,2 K], добавлен 08.12.2011Команди умовних і безумовних переходів в програмах, скорочення накладних витрат переходу, черга команд і технологія розгалуження із суміщенням. Основи конвеєризації, конвеєрна обробка команд у комп'ютері та збільшення пропускної здатності процесора.
реферат [39,5 K], добавлен 19.06.2010Складання багаторівневого списку за допомогою редактора Word, їх класифікація та різновиди. Порядок побудови діаграми по даних таблиці, структурної схеми, математичних формул. Графічне супроводження інформації. Структура інтерфейсу користувача Windows.
контрольная работа [372,5 K], добавлен 09.05.2010Концепція суперскалярної організації процесорів. Ознаки повноцінного суперскалярного процесора в моделі Pentium Pro. Етапи протікання процесу виконання програми в Pentium II. Вузли добування і розшифровки команд. Конвеєр обробки команд розгалуження.
реферат [59,8 K], добавлен 08.09.2011