/
Автор: Шамілов Е.М.
Теги: інформатика комп'ютерні технології комп'ютерна техніка курсова робота архітектура комп'ютера
Год: 2018
Похожие
Текст
Полтавський національний технічний університет
імені Юрія Кондратюка
Кафедра комп’ютерної інженерії
КУРСОВА РОБОТА
з дисципліни «Архітектура комп ’ютерів»
(назва дисципліни)
на тему: Основи проектування процесорного пристрою
Студента 3 курсу 3-ТКз групи
напряму підготовки
спеціальності Комп ’ютерні системи та мережі
Шамілов Е.М
(прізвище та ініціали)
Керівник доцент кафедри комп ’ютерної
інженерії к.т.н., доцент Тиртишніков О.І.
(посада, вчене звання, науковий ступінь, прізвище та ініціати)
Національна шк
Кількість балів:
Полтава - 2018
Кафедра комп’ютерної інженерії
ЗАВДАННЯ НА КУРСОВУ РОБОТУ
З навчальної дисципліни «Архітектура комп’ютерів»
«Основи проектування процесорного пристрою»
Варіант №
Скласти архітектурно-алгоритмічний опис однокристального процесорною
пристрою, що має наступні характеристики:
1. Тип процесора - для убудованих застосувань.
2. Архітектура пам’яті - гарвардська.
3. Обсяг пам’яті: даних - 64 Кбайт, команд - 64 Кбайт.
4. Розрядність даних: (біт) - 16, 32.
5. Способи адресації даних: відносна, пряма, непряма.
6. Максимальна адресність команд: 2.
7. Кількість регістрів загального призначення: 76.
8. Розрядність регістрів загального призначення: 32.
9. Спосіб організації введення-виведення: ізольоване.
10. Глибина конвеєризації: 5.
Перелік питань, що повинні бути розроблені:
1. Архітектурний опис однокристального процесорного пристрою.
2. Програмна модель процесорного пристрою.
3. Система команд процесорного пристрою.
Перелік обоє ’язкового графічного матеріалу:
1. Структурна схема процесорного пристрою.
2. Таблиця форматів команд та даних, що підтримуються процесором.
3. Схема програмної моделі процесорного пристрою.
4. Таблиця «Система команд процесорного пристрою».
Терміни виконання: з 01.01 по 28.05 2018 р.
З курсу 3-ТКз групи
Шамілов Е.М
(підпис, прізвище та ініціали)
Тиртишніков О.І.
(науковий стуш%»їтен^щвання, підпис, прізвище та ініціали)
Зміст
Перелік скорочень і умовних позначень 5
Вступ 6
1. Архітектурний опис однокристального процесорного пристрою 8
1.1. Формати даних та команд, що підтримуються процесорним пристроєм 11
1.1.1. Вибір форматів даних 11
1.1.2. Вибір форматів команд 12
1.2. Організація конвеєра команд 17
1.3. Алгоритм функціонування процесора 19
1.4. Структурна схема процесорного пристрою 20
2. Програмна модель процесорного пристрою 26
3. Система команд процесорного пристрою 28
Висновок 31
Список використаних джерел 32
РЕФЕРАТ
Метою даної курсової роботи є узагальнення теоретичних знань ті
поглиблення практичних навичок щодо застосування основних принципії
проектування однокристальних процесорів.
Пояснювальна записка обсягом у 32 сторінки складається з переліку
скорочень та умовних позначень, вступу, розділів основної частини, висновку ті
списку використаних джерел.
Вступ. В цій частині сформульована мета курсової роботи, визначенні
об’єкт дослідження та узагальнений результат.
Основна частина. Складається з 3 розділів. Перший розділ «Архітектурниі
опис одно кристального процесорного пристрою» містить в собі інформацію пр(
формати команд і даних, узагальнений алгоритм функціонування процесора
внутрішню організація процесора (до структурного рівня) з визначенням
характеристик окремих його вузлів та організацію конвеєра команд.
Другий розділ «Програмна модель процесорного пристрою» відображав
структуру та призначення програмно доступних регістрів.
Третій розділ «Система команд процесорного пристрою» містить перелі]
команд, що підтримуються розроблюваним процесором.
Робота містить 6 таблиць та 18 рисунків.
Висновок. Містить узагальнену інформацію про виконання курсової роботі
та особливості розробленого процесора.
Списки використаних джерел. В ході виконання даної курсової роботи бул<
використано 10 джерел.
Ключові слова: процесорний пристрій, процесор, гарвардська архітектур
архітектура, архітектурно-алгоритмічний опис, розрядність шини, формат даних
команд, конвеєр команд, програмна модель процесора, система команд.
ПЕРЕЛІК СКОРОЧЕНЬ І УМОВНИХ ПОЗНАЧЕНЬ
АЛП (ALU) - арифметико-логічний пристрій
ОЗП - оперативний запам’ятовувальний пристрій
ОПП - однокристальний процесорний пристрій
КОп. - код операції
МК - мікроконтролер
ПЦС (DSP) - процесор цифрових сигналів
РЗП - регістр загального призначення
ТТТА - шина адреси
ПІД - шина даних
CISC - Complex Instruction Set Computing, повний набір команд
EX - виконання команди
Flags - регістр прапорців
FPU -блок обчислень з рухомою комою
DM - пам'ять даних
ID - декодування команди, дешифратор команд
IF - вибірка команди
ІМ - пам'ять команд (програм)
IP - Instruction Pointer, лічильник команд
IR - Instruction Register, регістр команд
MEM - звернення до пам’яті даних
NAN - Not a Number, не число
R - Register, регістр
RF - Register of Flags, регістр прапорців
RISC - Reduced Instruction Set Computing, скорочений набір команд
S - Sign, знак
SP - Stack Pointer, вказівник стеку
WA - Way of Addressing, спосіб адресації
WB - запам’ятовування результату
W/R - запис/читання
Вступ
Процесор є основним та найбільш складним компонентом комп’ютера. Ві
призначений для безпосереднього виконання програм та загального керуванн
функціонуванням комп’ютера. Відповідно він складається з АЛП та пристрої
управління. Разом з основною пам’яттю він утворює ядро комп’ютера.
Процесори можна розділити на дві групи: універсальні (загальног
призначення) та спеціалізовані (для убудованих застосувань). Універсали
призначені для розв’язання максимально широкого кола завдань та мают
розвинений набір команд, іноді з частковим дублюванням функцій окреми
команд (повна система команд - CISC), що забезпечує зручність та гнучкість ї
програмування. Як правило, процесори для убудованих застосувань мают
гарвардську архітектуру пам’яті, тобто пам'ять команд відокремлена від пам’я"
даних. Для універсальних процесорів характерна наявність спільної памяг
команд та даних (нейманівська архітектура пам’яті).
Спеціалізовані процесори призначені для заздалегідь відомого і обмеженог
класу вирішуваних завдань. Основною вимогою до таких процесорів є, я
правило, можливість функціонування в реальному масштабі часу та максимальн
пристосованість до розв’язання визначеного кола завдань. Система коман
спеціалізованих процесорів також не є повністю універсальною, як правило, набі
команд є обмеженим (скорочена система команд - RISC).
Метою даної курсової роботи є узагальнення теоретичних знань і
поглиблення практичних навичок щодо застосування основних принципі
проектування однокристальних процесорів.
Об’єктом дослідження, згідно отриманого варіанта завдання, є архітектур
однокристального універсального процесорного пристрою (загальног
призначення).
Структура та система команд розроблюваного процесора максимальн
наближені до «ідеальної» RISC - архітектури, яка передбачає:
- рівноправність всіх РЗП;
- функціональну повноту системи команд без надмірності (надлишковоп
дублювання);
- однаковий час виконання команд;
- відокремлення операцій звернення до пам’яті від операцій оброблення т
перетворення даних;
- виконання максимальної кількості команд за принципом «регістр - регістр»
Узагальнений результат курсової роботи - архітектурно-алгоритмічни:
опис універсального ОГІП процесора, що має задані характеристики.
Архітектурно-алгоритмічний опис складається з наступних частин:
- архітектурного опису,
- опису програмної (регістрової) моделі,
- опису системи команд.
1. АРХІТЕКТУРНИЙ ОПИС ОДНОКРИСТАЛЬНОГО ПРОЦЕСОРНОГО
ПРИСТРОЮ
Згідно варіанту завдання, ОПП є процесором для убудованих застосуван
має гарвардську архітектуру, тобто розподілені ІМ і DM команд та, відповідн
відокремлені шини даних та шину команд (точніше, ПІД ІМ). Роздільї
зберігання та обробка команд і даних є головною відмінною ознакою гарвардськ
архітектури. Архітектура була розроблена Говардом Айкеном наприкінці 1930
років в Гарвардському університеті.
У гарвардській архітектурі принципово неможливо здійснити операці
запису в ІМ, що виключає можливість випадкового руйнування керуюч
програми в разі помилки програми при роботі з даними або атаки третіх осі
Крім того, для роботи з ІМ і DM організуються окремі шини обміну даним
(системні шини), як це показано на рис. 1.
Память Память
программ данных
Рис. 1. Структурна схема ОПП гарвардської архітектури
Ці особливості визначили області застосування гарвардської архітектур]
Вона застосовується в МК та ПЦС, де потрібно забезпечити високу надійніст
роботи апаратури. У ПЦС гарвардська архітектура доповнюється застосування
трьохшинного операційного блоку. Трьохшинна архітектура операційного блок
дозволяє поєднати операції зчитування двох операндів із записом результат
виконання команди в пам'ять мікропроцесора. Це значно збільшує продуктив
ПЦС без збільшення його тактової частоти.
У гарвардській архітектурі характеристики пристроїв ІМ і DM не за
однакові. У них можуть відрізнятися розрядність ІТЇД і розподіл адрес па
Часто адресні простори пам'яті програм і пам'яті даних виконують різним]
призводить до відмінності розрядності ША для цих видів пам'яті. У МІ
зазвичай реалізується у вигляді постійної пам'яті, а пам'ять даних - у вигляді
У ПЦС ІМ також виконується у вигляді ОЗП, що обумовлено її більш вис
швидкодією. При цьому в процесі функціонування процесора здійснюється з;
від запису в ОЗП програм.
Застосування двох системних шин для звернення до ІМ і DM ма<
недоліки - високу вартість реалізації і велику кількість зовнішніх коні
(ніжок) мікропроцесора. При використанні двох шин для передачі команд і д
мікропроцесор повинен мати майже вдвічі більше контактів, тому що ША :
утворюють основну частину контактів мікропроцесора. Для зменшення кіль
контактів кристала мікропроцесора фірми - виробники мікросхем об'єднуюті
і ШД для зовнішніх ІМ і DM, залишаючи тільки різні сигнали управлін
всередині мікропроцесора зберігають класичну гарвардську архітектуру,
рішення отримало назву модифікованої гарвардської архітектури.
Модифікована гарвардська архітектура застосовується в сучі
мікросхемах ПЦС. Ще далі по шляху зменшення вартості кристала за ра>
зменшення площі, займаної системними шинами пішли виро£
однокристальних МК. У цих мікросхемах застосовується єдина системна
для передачі команд і даних (модифікована гарвардська архітектура) і всер
кристалу.
У ПЦС для реалізації таких алгоритмів, як швидке перетворення Ф;
цифрова фільтрація часто необхідна більша кількість внутрішніх шин. Зви1
застосовуються дві шини для читання даних, одна шина для запису даних і
шина для читання інструкцій. Подібна структура мікропроцесора отримала
розширеної гарвардської архітектури. Цей підхід практикують виробники П
фірми Analog Devices (сімейства ПЦС BlackFin і Tiger Shark), Texas Instrunen
(сімейства ПЦС C5000 ™ DSPs і C6000 ™ DSPs), Freescale (сімейства ПЦ
MSC8251 і DSP56K).
Згідно завдання, ОПП має 32-розрядні РЗП, та адресує дані розрядністю 16
32. Тому доцільна розрядність внутрішньої ПІД процесора (та, відповідна
зовнішньої ШД) - 32 біти. Адресованим елементом DM доцільно вибрати 1<
бітове слово (визначається найменшою розрядністю даних, що підтримується
Таким чином, структура DM - 32К*16, тобто 32К слів. Відповідно, 32-розряді
дані будуть зберігатися у двох суміжних комірках DM, адресою подвійного слої
будемо вважати адресу молодшого слова.
Для забезпечення доступу до всього обсягу DM в режимі прямоадресоваш
пам’яті розрядність ША має складати 15 біт. Таким чином, маємо пам'ять
вигляді лінійної послідовності слів.
Якщо формат команд також вибрати 16-розрядним, структура адресног
простору ІМ буде повністю аналогічною DM. Логічна структура пам’яті ОП
пояснюється рис. 2.
ІМ 32К*16 DM32KM6
Адреса
7FFFh
000 lh
OOOOh
Рис. 2. Структура адресного простору ОПП
Таким чином, остаточно маємо:
- структура адресного простору ІМ повністю аналогічна DM, що дозволь
організувати спільну для ІМ та DM 16-розрядну ША (наявність «надлишкового
15 0 Адреса 15 0
7FFFh
000 lh
0000h
1
старшого біта адреси дозволяє, при необхідності, підключити зовнішні блоки її
та DM такого ж розміру, що і внутрішня пам'ять),
- 32-розрядну ПІД, що забезпечує однотактову передачу 32-розрядних довги
слів, та можливість передачі двох 16-розрядних слів даних (операндів) одночасн
по старший та молодший половинам ПІД. Очевидно, що доцільно тако:
передбачити в програмній моделі ОІ1І1 можливість одночасного збереженні две
слів в двох половинах 32-розрядного РЗП,
1.1. Формати даних та команд, що підтримуються процесорним пристроєм
1.1.1. Вибір форматів даних
Формати дата - сукупність регламентованих в архітектурі комп’ютер
структур для представлення різних за специфікою обробки та представлень
видів інформації (цілих чисел, дробових чисел, текстових рядків тощо).
Формати даних, можна розбити на дві великих групи: цілочисельні формат
й формати для чисел із рухомою комою.
Цілі числа можуть бути знаковими або беззнаковими. Знакові цілі чиєї
подаються у доповняльному коді, беззнакові - в натуральному коді. Цілі числа
знака також використовуються для подання адрес.
Всі підтримувані ОПП формати даних (знакових чисел), згідно стандарт
ANSI/IEEE Standart 754.подані в таблиці 1. Для кожного формату вказаі
діапазони подання чисел (табл. 2), а також додано опис подання виняткове
ситуацій (нуль, переповнення, NAN) в таблиці 3.
Таблиця 1. Формати дат
Тип даних Знак Розряди модуля числа
Слово (ціле число)
S
Модуль
15
14 0
Подвійне слово (ціле число)
S
Модуль
31
ЗО
0
Число з рухомою комою
S
Р- Порядок
М - Мантиса
(одинарний формат)
31
ЗО 23
22 0
1
Таблиця 2 Діапазони подання
Формат
Діапазон
Зі знаком
Без знаї
Слово (ціле число)
і
ІО_
L/1
1
1
VO
In
о
Подвійне слово (ціле число)
- 231...231 -1
0...232 -
Число з рухомою комою (одинарний формат)
1(Г38..10+38
Таблиця 3. Подання виняткових сит
Виняткова ситуація
S (знак)
Експонента
Мантиса
+0
0
0 0
0 0
-0
1
0 0
0 0
+нескінченність
0
1 1
0 0
-нескінченність
1
1 1
0 0
NAN (не число)
*
1 1
J * *
(крім 0...0)
1.1.2. Вибір форматів команд
Формат команди - це порядок розміщення структури команди в розр
сітці комп’ютера з розміткою номерів розрядів, що визначають межу окр
полів команди, або з визначенням кількості бітів в полях команди.
Формати команд визначаються заданою максимальною адресніст]
способами адресації. Згідно варіанту завдання максимальна адресність дорі
2. Тобто ми можемо використовувати двоадресні, одноадресні та безар
команди.
В двоадресній команді вказуються адреси двох вхідних операндів, над я
виконується операція, адреса результату припускається (найчастіше, співпг
адресою першого операнда, тобто при виконанні операції, визначеної комаї
результат заміщує перший операнд. Двоадресними також є операції копію:
даних. Одноадресними, наприклад, є команди умовних та безумовних пере:
Безадресними можуть бути, наприклад, службові команди.
Також варіантом передбачено використання наступних способів адресац
Пряма (або абсолютна) адресація. В адресному полі прямо вказується
розміщення операнда, тобто виконавча адреса операнда. При цьому в:
можливі два випадки: пряма адресація зовнішнього ОЗП та пряма адресація РЗЕ
процесора. Для розпізнавання типу адресованої пам'яті до команди вводиться
спеціальне поле типу пам'яті (або операції оброблення та перетворення данго
відокремлюються від звернень до ОП, для яких вводяться спеціальні команди).
Непряма адресація. В адресному полі вказується місце розміщення адрес*
операнда (комірка пам'яті або РЗП процесора), виконавча адреса обчислюється
Непряма адресація служить для зменшення довжини програми з великок
кількістю змінних адрес.
Відносна адресація. Для отримання виконавчої адреси операнда вміо:
адресного поля команди додається до вмісту IP, тобто вміст адресного полі
команди є зміщенням відносно адреси поточної команди. Є основним типоі\
адресації.
Приклади використання даних способів адресації наведені в табл.4.
Таблиця 4. Способи адресаці
Спосіб
адресації
Приклад
команди
Вміст команди
Примітка
Пряма
ADD R1,R2
<R1><=<R1>+<R2>
Всі операнди
адресуються прямо
(знаходяться у
вказаних
регістрах),адреса
результату
припускається.
Непряма
WR [R1],R2,
<[R1]x=<R2>
Адреса комірки
пам’яті визначається
вмістом R1.
Відносна
RDR1, [R2]
<Rlx=<IP+[R2]>
Адреса комірки
пам’яті визначається
додаванням вмісту R2
до вмісту IP.
Інструкції типу пам'ять-пам'ять виключені, адже операції обробки даних
RISC архітектурі реалізуються тільки у форматі регістр-регістр. Обмін мі:
регістрами і пам'яттю виконується тільки командами завантаження-запису (RI
WR).
1
Команда оброблення даних повинна задавати операцію і операнди. Зазвича
операція задається номером (кодом) операції КОп в множині операціі
визначених для операційного пристрою. Якщо операнди, використовувані
операції, є результатами раніше виконаних операцій (тип операнда - змінні
адресний операнд), то вони задаються номерами (адресами) зарезервованих дл
них комірок пам'яті. Адресний операнд може бути вмістом РЗП або комірк
пам’яті. Взагалі, якщо операнд відомий до виконання операції (константа), то ві
може задаватися в команді своїм значенням (безпосередній операнд
Безпосередня адресація варіантом завдання не передбачена, тому в систел
команд за її допомогою виконуються тільки деякі допоміжні функції..
У разі двоадресної операції команда повинна задавати (явно або неявно, ал
не безпосередньо):
1) тип операції у вигляді КОп;
2) адресу першого операнда;
3) адресу другого операнда;
4) адреса збереження результату не вказується, а припускається.
Адреса наступної команди завжди вказується лічильником команд IP.
Виконувана операція задається полем КОп. Кожен процесор орієнтований н
апаратну реалізацію певного кінцевого набору операцій, тому КОп - це двійкови
порядковий номер з набору реалізованих операцій. За цим номером аб
вибирається спеціалізований виконавчий пристрій, або універсальний виконавчи
пристрій налаштовується на заданий вид обробки. Можливі комбінації ци
рішень. Структура та схема виконання двоадресної команди зображена на рис. 3.
Рис. 3. Структура та схема виконання двоадресної адресної команди
1
Крім виконуваної операції, КОп часто задає формат і тип оброблювана
даних. Під форматом тут розуміється розмірність операндів (байт, слово, подвійї
слово і т.д.), а під типом - тип арифметики (цілечисельні операції, з рухомо
комою). Обчислення адреси наступної команди виконується шляхом додавані
довжини виконуваної команди (наприклад, в байтах) до її адреси. Але окреї
суміжні фрагменти іїрограми можуть розміщуватися і в несуміжних ділянка
пам'яті. Для їх з'єднання в єдину програму використовуються команди переда
управління з вказівкою на початок наступної лінійної ділянки програм
Прикладом таких команд є команда: Jmp (безумовний перехід) на адресу переда
управління.
В адресній частині цих команд вказується адреса першої команди наступної
фрагмента програми. Команди передачі управління можуть бути умовними, кої
передача управління проводиться з урахуванням коду умови, що зберігається
регістрі стану комп’ютера. Прикладом таких команд є команда Jez - перехі
якщо ознака результату попередньої команди дорівнює нулю - на адресу переда
управління при виконанні умови переходу.
Команди умовної передачі управління дозволяють виконувати розгалужені
і цикли програми. Різновидом команд передачі управління є команди переда
управління з поверненням (команди переходів на процедури або підпрограмі
При виконанні цих команд перед передачею управління на підпрогра\
запам'ятовується адреса повернення (вміст лічильника команд до переда
керування). Адреса повернення використовує інший різновид команд переда
управління - команди виходу з підпрограми. Адреса повернення зазвичі
запам'ятовується в спеціальному регістрі, програмному або апаратному стеці.
Для адресації 16 РЗП в форматі двоадресної команди достатньо двох полів і
чотири розряди в кожному (всього 8 розрядів). 6-розрядне поле КОп забезпечу
можливість розширення системи команд до 64-х команд. Крім того, пропонуєть<
наявність двох однорозрядних полів WA1, WA2 що визначають спосіб адресаі
відповідних операндів: 0 - пряма; 1 - непряма. Відносна адресація д.і
двоадресних команд типу регістр-регістр не передбачається. На підстав
вищевикладеного, пропонується наступний формат двоадресної команди (рис. 4).
КОп
WA1
WA2
R1
R2
15 10
9
8
7 4
3 0
Рис. 4. Формат двоадресної команди (регістр-регістр).
Для команд запису / читання (регістр-пам'ять) W/R формат команди буд(
виглядати наступним чином:
КОп
WA1
1
R1
[R2]
15 10
9
8
7...4
3 0
Рис.5. Формат команд запису /читання (регістр-пам'ять)
Тут поле WA2 завжди має значення 1, тому що операнда [R2]
адресується тільки непрямо. Формат, аналогічний основному, мають й інші
команди пересилки (копіювання) даних команди.
Відповідно, формат команд переходів зображений на рис. 6:
КОп
зарезервовано
[R1]
15 10
9 4
3 0
Рис. 6. Формат команд переходів
Тут для адресації комірок пам’яті використовуються винятково відносна
адресація, вміст молодших 16 розрядів R1 забезпечує дальність переходів в
межах всього адресного простору.
Очевидно, що для безадресних команд у форматі необхідно тільки поле
КОп (рис. 7).
КОп
зарезервовано
15 10
9 0
Рис. 7. Формат безадресних команд
Т
Таким чином, з урахуванням того, що безадресних команд в системі
команд процесора небагато (в основному, це команди управління), та
зустрічаються вони в реальних програмах не дуже часто, можна
запропонувати для всіх команд єдиний 16-бітовий формат, що спрощує
вибірку команд (при виконанні лінійних ділянок програм вміст IP завжди
збільшується на 1).
1.2. Організація конвеєра команд
Конвеєр команд - апаратна структура в обчислювальних пристроя
комп’ютера, призначена для прискорення виконання машинних команд шляхо
суміщення певних стадій їх виконання в часі.
Згідно завданню маємо глибину (ступінь) конвеєризації, що дорівнює :
Тобто можливе виконання п’яти операцій за одиницю часу (такт
П’ятиетупеневий конвеєр може бути побудований по аналогії з конвеєро
процесорів Intel 486.
Хай виконання типової команди процесором можна подати у вигля,;
наступних етапів:
1. IF - вибірка команди (за адресою, заданою лічильником команд, із пам'я1
команд ІМ зчитується команда).
2. ID - декодування команди / вибірка операндів з регістрів регістрової
файла Reg.
3. ЕХ - виконання операції та обчислення ефективної адреси пам'я
арифметико-логічним пристроєм АЛУ.
4. МЕМ - звернення до пам'яті даних DM.
5. WB - запам'ятовування результату (запис в регістр регістрового файї
Reg).
Для структуризації конвеєра необхідні 4 конвеєрних регістри, н
розташовані на межах його ярусів (рис. 8):
CR1
CR2
CR3
CR4
IF/ID
ID/EX
ЕХ/МЕМ
MEM/WB
Рис. 8. Конвеєрні регістри п ’ятиступеневого конвеєра
1
Часова діаграма функціонування конвеєра команд наведена в табл.5.
Таблиця 5. Часова діаграма функціонування конвеєра комаш
К/такт
1
2
3
4
5
6
7
8
9
1
IF
ID
EX
MEM
WB
IF
ID
EX
MEM
2
IF
ID
EX
MEM
WB
IF
ID
EX
3
IF
ID
EX
MEM
WB
IF
MEM
4
IF
ID
EX
MEM
WB
IF
5
IF
ID
EX
MEM
WB
Функціонування конвеєра у вигляді зміщених в часі схем тракту дани:
представлена на рис. 9.
Рис. 9. Функціонування конвеєра у вигляді зміщених в часі схем тракту
даних
1
На рисунку перша опрацьована команда знаходитися вгорі, остання - зниз
СС - тактовий інтервал. Регістровий файл Reg працює в кожній команді на дв<
ярусах - ID (два читання) та WB (один запис). Ці фази двох різних команд можу
збігатися у часі. Тому регістровий файл має два порти на читання та один і
запис. Також необхідно запобігати запису даних до того ж самого регістра. Такс
видно, що для одночасного виконання етапів IF та МЕМ двох різних комаї
потрібні незалежні пристрої пам’яті даних та команд (гарвардська пам’ять). Тоі\
що ці пристрої повинні відпрацьовувати звернення за один тактовий інтерва
необхідно застосування відокремлених кешів даних та команд.
Конвеєризація збільшує пропускну здатність процесора (кількіс
виконаних команд за одиницю часу), але вона не скорочує час виконання окрем
команди, а навпаки, збільшує його (незбалансованість затримки на кожному яру
та накладні витрати на організацію конвеєра - затримка сигналів у конвеєрні
регістрах).
1.3 Алгоритм функціонування процесорного пристрою
Обробка даних - основна функція процесора, що включає як обчислення, т
і маніпулювання даними. Схеми, що виконують обчислення даних, утворюю
АЛП або операційний пристрій.
Управління системою - друга основна функція процесора, яку викон
пристрій управління. Управління визначає, як обробляти дані.
Робота процесора складається з наступних кроків: спочатку вибираєть
команда, потім пристрій управління її декодує (розшифровує), після то
починається виконання команди. Ці кроки називають циклом вибірка-виконанг
Для кожної команди, яка зберігається в пам’яті, процесор виконує один такі
цикл.
Найбільш узагальнений алгоритм функціонування процесора (без урахуван
алгоритмів виконання команд) зображений на рис. 10. Алгоритми виконай
команд різних типів зображені на рис. 11-15.
Словесний опис узагальненого алгоритму функціонування процесора:
1. При завантаженні процесор перевіряє, чи порожня черга команд: якщ<
порожня, то наступна операція буде зчитуватися з пам’яті.
2. В іншому випадку буде обиратися команда, яка знаходиться в черзі.
3. Після цього виконується перевірка типу операції в порядку
показаному на рис. 10. та її виконання.
4. Після завершення будь-якої операцій відбувається перевірка наявноси
переривання. Якщо переривання наявне, виконується його оброблення.
5. Після завершення оброблення переривання цикл функціонуванн
процесора повторюється.
1.4. Структурна схема процесорного пристрою
На основі визначених складу та характеристик устаткування процесор
побудуємо його структурну схему (рис. 16).
Операційний пристрій ALU/FPU побудований на основі паралельного Зі
розрядного суматора виконує дії над двома операндами, що подаються на йоі
регістри Regl і Reg2. Результат операції записується до регістру Reg3, поті
пересилається у регістр-приймач, визначений командою. Операційний пристр
здатний виконувати операції над числами як с фіксованою, так і рухомою комо
у визначених форматах.
Блок формування адрес забезпечує формування адрес для ІМ, DM та порт
введення-виведення. Адресна шина є спільною та всіх перелічених видів пам’яті
Блок управління та синхронізації використовує вихід дешифратора ID д.
синхронізації циклів, генерації сигналів стану і управління шиною.
Регістр команд IR приймає з пам'яті команду, яка дешифрується 1
(перетворюється на послідовність сигналів, необхідних для реалізації машинні
циклів, запропонованих КОп).
8-розрядний регістр прапорців Flags містить ознаки результатів операцій
прапорці управління.
Блок управління перериваннями отримує запити маскованих переривань
входу INTR та формує підтвердження на виході INTA.
Початок
Операція відсутня
Рис. 10. Узагальнений алгоритм функціонування процесора
Початок
Рис. 11. Алгоритм виконання операції «регістр-регістр»
Рис. 12. Алгоритм виконання операції читання/запису
Початок
Формуван
ня адреси
Зміь
а IP
Кінець
Рис. 13. Алгоритм виконання операції безумовного переходу
Рис. 14. Алгоритм виконання операції умовного переходу
Початок
Помилка в
обробленні команди
Рис. 15. Алгоритм оброблення адресної частини команди
INTA
Рис. 16. Структурна схема процесора
2. ПРОГРАМНА МОДЕЛЬ ПРОЦЕСОРНОГО ПРИСТРОЮ
Регістр процесора — це комірка швидкодіючої внутрішньої пам'яг
процесора, що використовується для тимчасового збереження операндів, на
якими безпосередньо проводяться обчислення, а також часто використовувани
даних з метою швидкого доступу до них. Крім того, в регістрах зберігається
додаткова інформація, потрібна процесору для функціонування (зокрем;
поточний контекст процесора, адреса наступної команди тощо).
Процесори зазвичай містять від декількох до декількох сот регістрів різног
функціонального призначення. Регістри характеризуються своєю розрядністк
тобто кількістю біт інформації, яка може в них розміщуватися Регістр
найчастіше реалізуються як масиви статичної пам'яті (SRAM) з довільна
доступом.
У загальному випадку процесор містить дві групи регістрі]
користувальницькі та системні. Крім того, може бути деяка кількість регістрі
управління. Користувальницькі регістри можуть розподілятися на універсальн
що можуть бути й адресними, і регістрами даних (РЗП), та функціональне
орієнтовані (адресні, цілечисельні, для чисел з рухомою комою).
Програмною моделлю процесора називається та частина регістрів процесор;
що доступна програмісту мовою асемблера.
Згідно завдання, процесор має 16 32-розрядних РЗП. Крім того, груп
регістрів стану та управління утворюється регістрами: 16-розрядним IP та 1
розрядним регістром прапорців RF.
Структура програмної моделі процесора зображено на рис. 17.
Для забезпечення можливості збереження двох 16-розрядних слів в тому :
самому 32-розрядному регістрі пропонується організація в ньому двох логічни
регістрів (наприклад, Rlh та R11).
2
РЗП
31 о
Регістри стану та управління
IP
16
0
RF
X
X
X
І
0
S
с
Z
8
0
Рис. 17. Програмна модель процесора
Логічна структура РЗП представлена на рис. 18.
R1
Rlh
Rll
31 16
15 0
Рис. 18. Варіант логічнос
розподілу 32-розрядних РЗП процесора
На рисунку:
R1 - фізичний 16-розрядний регістр,
Rlh, Rll - старша та молодша половини регістра R1 (логічні 16-розряд]
регістри).
Регістри стану та управління:
- IP (Instruction Pointer) - 16-розрядний лічильник команд, за допомого]
якого пристрій вибірки команд обирає наступну команду,
- 8-розрядний регістр Flags, що містить 5 прапорців:
- Z - ознака нульового результату;
- С - ознака переносу із старшого розряду;
- S - знак результату;
- О - ознака переповнення результату;
- І - дозвіл переривання.
Прапори - ознаки результатів операцій (біти 1, 2 ,3 ,4) — індикато]
результату виконання арифметичних інструкцій, таких як ADD, SUB, MUL, DI
Функції прапорів:
• ZF (Zero Flag) - прапор нуля (біт 1) — встановлюється, якщо результ
виконання операції - нуль,
• CF (Carry Flag) — прапор переносу (біт 2) — встановлюється, яки
арифметична операція генерує перенос, що виходить за межі значущих біт
результату. Показує переповнення при операціях з беззнаковими цілими.
• SF (Sign Flag) — прапор знаку (біт 3) — встановлюється рівним знаковою
біту результату: 0 — вказує на додатне значення, 1 — на від'ємне,
• OF (Owerflow Flag) — прапор переповнення (біт 4) — встановлюється, яка
ціле число завелике додатне, чи замаленьке від'ємне (виключаючи біт знак}
щоб бути розташованим у операнді призначення, в протилежному випаді
скидається. Прапор сигналізує про стан переповнення, в знаковій ціл
арифметиці.
• IF (Interrupt enable flag, біт 5) - прапор дозволяє або блокує маскова
переривання.
4. СИСТЕМА КОМАНД ПРОЦЕСОРНОГО ПРИСТРОЮ
Система команд ОПП подана в таблиці 6. Ізольоване ведення-виведені
передбачає наявність відокремленого від ОП адресного простору введенн
виведення та, відповідно, команд запису в порт та читання з порту. Такс
передбачена спеціальна команда для читання констант з комірок ІМ у РЗП.
Таблиця 6. Система команд процесорного пристрс
Мнемо-
Назва
Зміст
Прапори
Код
ніка
Z
с
S
0
І
Звернення до нам ’яті, пересилання
RD
Читання пам'ять-
регістр
<R1><=[R2]
-
-
-
-
-
000000
WR
Запис в пам’ять
<R1>=>[R2]
-
-
-
-
-
000001
IN
Читання з порту
<R1><= port [R2]
-
-
-
-
-
000010
OUT
Запис у порт
<R1>=> port [R2]
-
-
-
-
-
000011
MOV
Копіювання RG <>RG
<R1><=<R2>
-
-
-
-
-
000100
wc
Запис константи в DM
<MEM><=const
-
-
-
-
-
000101
RIM
Читання константи з
їм
<R1><=[R2]
-
-
-
-
-
000110
Арифметичні операції
ADD
Додавання
<R1 ><=<R2>+<R1 >
+
+
+
+
-
000111
SUB
Віднімання
<Rlx=<R2>-<Rl>
+
+
+
+
-
001000
MUL
Множення
<Rlx=<R2>*<Rl>
+
+
+
+
-
001001
DIV
Ділення
<R 1 ><=<R2>/<R 1 >
+
+
+
+
-
001010
ADDF
Додавання з рухомою
комою
<R1 ><=<R2>+R1
+
+
+
+
-
001011
SUBF
Віднімання з рухомою
комою
<Rlx=<R2>-Rl
+
+
+
+
-
001100
MULF
Множення з рухомою
комою
<Rlx=<R2>*Rl
+
+
+
+
-
001101
DIVF
Ділення з рухомою
комою
<R 1 ><=<R2>/R 1
+
+
+
+
-
001110
Логічні операції та зсуви
AND
«I»
<Rlx=<R2>&<Rl>
+
-
+
-
-
001111
OR
«АБО»
<R 1 ><=<R2>or<R 1 >
+
-
+
-
-
010000
XOR
Виключне «АБО»
<R 1 ><=<R2>xor<R 1 >
+
-
+
-
-
010001
NOT
«НЕ»
<R1 ><=not<Rl >
+
-
+
-
-
010010
SL
Логічний зсув вліво
<R1><—n
-
+
-
-
-
010011
SR
Логічний зсув вправо
<R1>—»n
-
-
-
-
-
010100
Команди переходів і переривань
CLI
Скидання прапору
дозволу переривань
IF<=0
-
-
-
-
0
010101
STI
Встановлення прапору
дозволу переривань
IF<=1
-
-
-
-
1
010110
INT
Виклик переривання
<стек><=<ІР>
<Rl><=<flags>
010111
IRET
Повернення 3
переривання
<ІР><=<стек>
<flags><=<Rl>
011000
CALL
Виклик підпрограми
<стек><=<ІР>
IP <=<IP>+<R 1 >
011001
RET
Повернення із
підпрограми
<ІР><=<стек>
011010
CMP
Порівняння
<R2>-<R1>
+
+
+
+
-
011011
JMP
Безумовний перехід
<IP><=<IP>+disp
011100
JZ
Перехід по ZF=1
<IP><=<IP>+disp
011101
JNZ
Перехід по ZF=0
<IP><=<IP>+disp
011110
JO
Перехід no OF=l
<ІР><=<ІР>+ [R11
011111
JNO
Перехід no OF=0
<ІР><=<ІР>+ [R1 ]
100000
JC
Перехід no CF=1
<IP><=<IP>+[R1]
100001
JNC
Перехід no CF=0
<ІР><=<ІР>+[R11
100010
JS
Перехід no SF=1
<IPX=<IP>+[R1]
100011
JNS
Перехід no SF=0
<ІР><=<ІР>+[R11
100100
Операції управління
RFL
Читання прапорців
<Rlx=<Flags>
100101
WFL
Запис прапорців
<Rl>=xFlags>
+
+
+
+
+
100110
HLT
Очікування
переривання
-
-
-
-
1
100111
NOP
Немає операції
<1Рх=<1Р>+1
101000
Висновок
У курсовій роботі складений архітектурно-алгоритмичний опис ОПП д:
убудованих застосувань, що має гарвардську архітектуру пам’яті. Отримаї
модель процесора, що розроблена відповідно до технічного завдання, що :
властивостями та принципами функціонування наближається до RISC
архітектури.
Визначено структуру пам’яті процесора, формати даних та команд, н
підтримуються. Запропоновано єдиний 16-розрядний формат команд, що спроїщ
вибірку команд (при виконанні лінійних ділянок програм вміст IP зaвж^
збільшується на 1).
Структура адресного простору ІМ ОПП повністю аналогічна DM, н
дозволяє організувати спільну для ІМ та DM 16-розрядну ІІІА (наявній
«надлишкового» старшого біта адреси дозволяє, при необхідності, підключш
зовнішні блоки ІМ та DM такого ж розміру, що і внутрішня пам'ять),
32-розрядна ПІД забезпечує однотактову передачу 32-розрядних довгих елі
та можливість передачі двох 16-розрядних слів даних (операндів) одночасно г
старший та молодший половинам ПІД.
Процесор має п’ятиступеневий обчислювальний конвеєр, що суттєі
підвищує вимоги до підсистеми пам’яті.
Розроблено структурну схему та алгоритм функціонування процесора.
Програмна модель процесора складається з 16 32-розрядних РЗП та две
регістрів стану та управління: 32-розрядного вказівника команд IP та <
розрядного регістра прапорців Flags, що містить п’ять прапорців. Дг
забезпечення можливості збереження двох 16-розрядних слів в тому ж самому З;
розрядному регістрі пропонується організація в ньому двох логічних регістр
(наприклад, Rlh та R11).
Розроблена система команд складається із 41 команди різних типів. В систег
команд враховані ізольоване введення-виведення та можливість читання констаь
з пам’яті команд.
1
Список використаних джерел
1. Мельник А.О. Архітектура комп’ютера. Наукове видання: / Підручник.
Луцьк: Волинська обласна друкарня, 2008. - 470 с.
2. Схемотехніка електронних систем. У 3 кн. Кн. 3. Мікропроцесори "
мікроконтролери: Підручник / В.І. Бойко, А.М. Гуржий, В.Я Жуйков та ін.
К.: Вища шк., 2004. - 399 с.
3. Танненбаум Э. Архитектура комп’ютера. 5-е изд. - СПб.: Питер, 2007. - 84
с.
4. Поворознюк А.И. Архитектура компьютеров. Архитектур
микропроцессорного ядра и системных устройств: Учеб, пособие. 4.1.
Харьков: Торнадо, 2004. - 355 с.
5. Костров Б.В., Ручкин В.Н. Архитектура микропроцессорных систем. - М
Изд-во Диалог МИФИ, 2007. - 304 с.
6. Столингс У. Структурная организация и архитектура компьютерных систеї
5-е издание. — М.: Изд. дом Вильямс, 2002. - 896 с.
7. Ульянов М.В. Архитектуры процессоров. - М.: МГАПИ, 2002. - 68 с.
8. Жмакин А. П. Архитектура ЭВМ. - СПб.: БХВ-Петербург, 2006. - 320 с.
9. Буза М.К. Архитектура компьютеров: учеб. - Минск: Новое знание, 2006.
559 с.
10. Навчально-методичний посібник до виконання рефератів, розрахункове
графічних, курсових і кваліфікаційних робіт / Т.С. Грицька, І.І. Слюсарь, О.
Тиртишніков, Ю.В. Уткін - Полтава: ПолтНТУ, 2012. - 60 с.