Функціональна організація і система команд процесора

[ виправити ] текст може містити помилки, будь ласка перевіряйте перш ніж використовувати.

скачати

Завдання

Побудувати мікропроцесор, що виконує команди, наведені в таблиці 1.

Команди для проектованого процесора

Таблиця 1

Назва команди

КОП16

І безпосереднє

94

Додавання з нормалізацією

Завантаження та перевірка

12

Завантаження PSW

82

Повинні оброблятися програмні переривання, що виникають у процесі виконання команд.

Керуючий автомат синтезується для частини мікропрограми. Синтез УА необхідно виконувати у вигляді УА програмованою логікою з примусовою адресацією і перевіркою двох логічних умов

Анотація

У ході даного курсового проекту був синтезований мікропроцесор. Принцип його функціонування заснований на принципі функціонування ЕОМ загального призначення IBM/370. Для спрощення синтезу даний процесор реалізує тільки чотири команди з набору команд системи IBM/370. Вони являють собою арифметичну, логічну команду, а також команду переходу і команду пересилання, таким чином, охоплюючи найбільш характерні групи команд. Процесор дозволяє обробляти різні виняткові ситуації, що виникають у ході виконання програми.

Як приклад розглянута реалізація керуючого автомата для окремої ділянки узагальненої мікропрограми. УА був реалізований у вигляді керуючого автомата з програмованою логікою, що дозволило значно спростити його синтез і його структурну схему.

Зміст

Введення

1. Функціональна організація процесора

1.1 Опис команди "І безпосереднє"

1.2 Додавання з нормалізацією

1.3 Завантаження та перевірка

1.4 Завантаження PSW

2. Синтез операцій

2.1 Вибірка команди

2.2 Реалізація команди "І безпосереднє"

2.2 Реалізація команди "Складання з нормалізацією"

2.3 Реалізація команди "Завантаження та перевірка"

2.4 Реалізація команди "Завантаження 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 D 1 (B 1), I 2 (SI)

9416

I2

B 1

D1

0 8 16 20 31

Поразрядное логічне твір (І) першого і другого операндів поміщається на місце першого операнда.

Операнди обробляються як логічні величини, що не мають внутрішньої структури, і до відповідних бітам застосовується операція логічного І. У бите результату встановлюється 1, якщо у відповідних бітах обох операндів містяться одиниці, в іншому випадку - встановлюється 0.

У випадку команди NC поля операндів обробляються зліва направо. Якщо операнди перекриваються, результат виходить таким, як якщо б операнди оброблялися побайтно, кожен байт результат записувався в пам'ять відразу ж після вибірки потрібного байта операнда.

Ознака результату:

0-результат дорівнює 0;

1-результат не дорівнює 0;

2 -

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;

3 -

Програмні переривання відсутні.

1.4 Завантаження PSW

LPSW D 2 (B 2) (S)

8216

/ / / / / / / / /

B 2

D 2

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 байт-це поле I 2. Другий операнд знаходиться в ОП. Його адреса

обчислюється таким способом: з РП за адресою В1 витягується РОН який складається зі зміщенням D 1. У результаті отримуємо адресу операнда в ОП. У залежності від останніх 2-х бітів адреси витягаємо відповідний байт і проводимо операцію "І безпосереднє". Потім результат записуємо на місце 1-го операнда і виробляємо запис отриманого регістра в пам'ять. Ознака результату встановлюється відповідно вищеописаного умови.

Блок-схема алгоритму показана на малюнку 2.

2.2 Реалізація команди "Складання з нормалізацією"

Для реалізації команди "Складання з нормалізацією" були використані наступні елементи. Тригера SA, SB, які служать для зберігання знака (модернізований код); тригер DS використовується як прапор переповнення при підрахунках. Чотирирозрядний регістри DOPA і DOPB, де зберігаються додаткові цифри для відповідних операндів . Операнди знаходяться в реєстрової пам'яті за адресами R 1 і R2 відповідно. Виймання операндів перевіряється коректність завдання адрес. Для зручності операнди розбиті по полях: РА і РВ - поля характеристик, МА та МВ - поля мантис. Програма реалізується згідно з описом - підрозділ 1.2 Схема алгоритму програми представлена ​​на малюнку 3.

2.3 Реалізація команди "Завантаження та перевірка"

При виконанні цієї команди перевіряється коректність завдання адрес R 1 і R 2. Відповідно до завдання встановлюється ознака результату.

2.4 Реалізація команди "Завантаження PSW"

Операнд знаходиться в ОП. Його адреса обчислюється таким способом: з РП за адресою В2 витягується РОН який складається зі зміщенням D 2. У результаті отримуємо адресу операнда в ОП. Витягаємо регістр і записуємо його в 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. Синтез керуючого автомата

Для синтезу керуючого автомата було отримано наступне завдання: керуючий автомат повинен мати одне поле Логічних умов - Х, один укорочений адреса - А і поля Y i для мікрооперацій.

4.1 Розмітка граф схеми

Розмітка здійснюється наступним чином: операційний блок і логічне умова представляються одним станом - P i, де i змінюється від 0 до 50 (за завданням). Якщо між операційним блоком і логічним умовою є розгалуження, то операційний блок і логічне умова розмічаються як два різних стани - Р i і P i +1 відповідно.

Розмітка обмежена кількістю станів (за завданням) - їх повинно бути 50. На розміченій ДСА всі мікрокоманд замінені на y i, а логічні умови на x i. отримана ДСА зображена в додатку 1.

4.2 Розбиття мікрооперацій по полях і кодування логічних умов

Принцип розбиття полягає в наступному: y i розташовані в одному операційному блоці записуються в різні поля. Тому кількість полів в даному прикладі дорівнює 5. У кожному полі включається мікрооперацій y 0 (відсутність мікрооперацій в змозі). У таблиці 4 показано розбиття по полях та кодування y i.

Розбиття по полях таблиця 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 =] ln 2 (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

РАМКИ

Y 1

Y 2

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

P 52

P0

4.4 Опис Структурною і Електричної принципової схеми Керуючої автомата

Пристрої, використані для реалізації мікропрограм можна розбити наступним чином: DС1, DC2 дешифратори 4 на 16; DС3, DC4, DC 5 дешифратори 3 на 8, Μ Ѕ - мультиплексор з 24 в 1; ПЗУ (0: 26) - для зберігання форматів команд ; РАМКИ (0: 5) - адресний регістр, для звертання до комірок ПЗУ. Вхідні дані - логічні умови Х, вихідні - безліч кодованих У. Структурна схема керуючого автомата наведена в додатку 2.

При побудові принципової електричної схеми використані серії КР155 і КР556. Із серії КР556 вибирається для запам'ятовування слів мікропрограми 3 ПЗУ КР556РТ17 ємністю 16 кілобайт. Всі інші елементи: мультиплексори, дешифратори, інвертори і регістр адреси ПЗУ обрані з серії КР155. Мікросхеми даної серії - це малопотужні, швидко діючі, цифрові, інтегральні мікросхеми, призначені для організації високошвидкісного обміну та обробки цифрової інформації тимчасового і електричного узгодження сигналів в обчислювальних системах. Мікросхеми серії КР155 в порівнянні з відомими серіями логічних ТТЛ мікросхем володіють мінімальним значенням твори швидко дії на рассеиваемую потужність.

Принципова електрична схема побудована на основі структурної схеми керуючого автомата і приведена в графічному додатку 3.

Перелік використовуваних скорочень

РП - реєстрова пам'ять;

ОП - оперативна пам'ять;

АРП - адреса реєстрової пам'яті;

АОП - адреса оперативної пам'яті;

РОП - регістр оперативної пам'яті;

РРП - регістр реєстрової пам'яті;

РК - регістр команд;

БР - буферний регістр;

PSW - регістр слово стану процесора;

СЧАК - лічильник адреси команд;

РА - характеристика А;

РВ - характеристика В;

МА - мантиса А;

МВ - мантиса В;

М - магістраль;

Z - вхідний і вихідний регістр процесора;

А, В - робочі регістри;

DOPA, DOPB - додаткова цифра;

DS, SA, SB - знакові регістри;

ТП - тригер переходу;

ФК - формувач кодів;

ALU - арифметичне логічний пристрій;

Список використаної літератури

  1. Райков "Принципи роботи IBM/370". - М.: Світ, 1975;

  2. Каган В.М. "Електронні обчислювальні машини та системи". - М.: Енергія, 1979;

  3. Майоров С.А., Новіков Г.І. "Структура електронних обчислювальних машин". - Л.: Машинобудування, 1976;

  4. Методичні вказівки до курсового проектування з дисципліни "Теорія і проектування ЦВМ". - Одеса ОПІ-1981;

  5. М.М. Акімов "Резистори, конденсатори, трансформатори, дроселі,

  6. комутаційні пристрої, РЕА ". - Мінськ, Білорусь 1994;

  7. Тарабрін, довідник "Цифрові та інтегральні мікросхеми";

  8. Петровський І.І., довідник "Логічні ІВ КР1533 і КР1554". - Москва: Біном, 1993;

  9. Нешумова К.А. "Електронні обчислювальні машини і системи" - Москва: Вища школа, 1989.

  10. ГОСТ 2.708. - 81. ЕСКД. Правила виконання електричних схем

  11. цифрової обчислювальної техніки;

  12. ГОСТ 2.743-82. ЕСКД. Позначення умовні графічні в схемах.

  13. Елементи цифрової техніки.

Висновок

У ході виконання курсового проекту я вивчив принципи побудови процесорних пристроїв та принципи їх зв'язку з іншими пристроями, такими як оперативна пам'ять і реєстрового запам'ятовуючий пристрій.

За своєю структурою операційна частина процесора ближче до структури М-автомата, в якому всі регістри пов'язані між собою через АЛП. У даному процесорі таким чином пов'язані регістри безпосередньо беруть участь в арифметичних операціях, хоча й між не якими їх них є безпосередній зв'язок. Така структура дозволила значно спростити операційний автомат.

У М-автоматі можливе виконання тільки однієї мікрооперації за один машинний такт, а даний процесор дозволив значно нейтралізувати це обмеження за рахунок введення деяких безпосередніх зв'язків і за рахунок розрядності АЛП у два рази перевищує розрядність одного внутрішнього регістра загального призначення, що дозволило використовувати АЛУ, як єдине ціле при виконанні мікрооперацій над 64-розрядними операндами або як два незалежних АЛУ при роботі з 32-розрядними операндами. Крім того, одночасно з виконанням арифметико-логічних операцій можлива вибірка даних з оперативної або реєстрової пам'яті, установка ознак результату і не яких інших дій за рахунок безпосереднього зв'язку з магістраллю регістрів, не пов'язаних з виконанням арифметико-логічних операцій.

Додати в блог або на сайт

Цей текст може містити помилки.

Програмування, комп'ютери, інформатика і кібернетика | Курсова
204.6кб. | скачати


Схожі роботи:
Система команд Структура слова команд Синтаксис команд Групи команд
Структура і набір команд процесора intel80X86
Організація пам`яті Організація систем адресації і команд
Система команд мікроконтролерів
Система команд конфігурування маршрутизаторів Cisco
Лексико граматична організація українських військових команд
Лексико-граматична організація українських військових команд
Функціональна організація мозку
Лінійно-функціональна система управління
© Усі права захищені
написати до нас