Проектування RISC-комп’ютера для набору команд згідно варіанту

Інформація про навчальний заклад

ВУЗ:
Ужгородський національний університет
Інститут:
Не вказано
Факультет:
Комп'ютерна інженерія
Кафедра:
Не вказано

Інформація про роботу

Рік:
2010
Тип роботи:
Курсовий проект
Предмет:
Архітектура комп’ютерів та комп’ютерних систем
Варіант:
13

Частина тексту файла (без зображень, графіків і формул):

ДЕРЖАВНИЙ ВИЩИЙ НАВЧАЛЬНИЙ ЗАКЛАД «УЖГОРОДСЬКИЙ НАЦІОНАЛЬНИЙ УНІВЕРСИТЕТ» Інженерно-технічний факультет Кафедра комп’ютерних систем та мереж КУРСОВА РОБОТА з дисципліни «Архітектура комп’ютерів» Напрям підготовки 6.050102 – «Комп’ютерна інженерія» ДЕРЖАВНИЙ ВИЩИЙ НАВЧАЛЬНИЙ ЗАКЛАД «УЖГОРОДСЬКИЙ НАЦІОНАЛЬНИЙ УНІВЕРСИТЕТ» Інженерно-технічний факультет Кафедра комп’ютерних систем та мереж ТЕХНІЧНЕ ЗАВДАННЯ до курсової роботи з дисципліни «Архітектура комп’ютерів» студента 4 курсу Цахілова Володимира 1. Тема роботи: Проектування RISC-комп’ютера для набору команд згідно варіанту 2. Вхідні дані: Індекс Група інструкцій   Пересилання Арифметичні та логічні Керування  7 LBU, SW ADDU, SUBU, SRL BNEZ   3. Вихідні дані: Розширена, детальна структурна схема прототипу скалярного RISC-комп'ютера з поданням структури, інформаційних та керуючих зв'язків інформаційного тракту i пристрою керування з врахуванням конкретизованої за завданням підмножини системи інструкцій. Внутрішня структура пристроїв інформаційного тракту, апаратура пристрою керування. Підсистема уводу/виводу інформації. Детальна мікропрограма виконання інструкцій. Запропонувати принцип конвеєризації структури інформаційного тракту разом із конвеєрною мікропрограмою керування. Детальні креслення структури кешів даних та інструкцій з поясненням принципу побудови цих кешів та їхнього зв'язку з модифікованою гарвардською архітектурою. 4. Пояснювальна записка повинна містити: - титульну сторінку; - анотацію; - зміст; - конкретизовані та розширені вихідні дані на проектування; - аналітичний розділ з роз'ясненням та аналізом основних принципів побудови скалярних RISC-комп'ютерів на прикладі визначених на реалізацію інструкцій; - розділ з описом синтезу та розробки структурної схеми; - основні результати роботи (висновок); - перелік наукових першоджерел: монографій, статей, патентів і підручників. Завдання видано________________________ Термін здачі роботи_____________________ Керівник_______________________________   ЗМІСТ Вступ 5 1. Структура RISC Комп’ютера 7 1.1 Основні принципи побудови RISC комп’ютерів 7 1.2 Побудова інформаційного тракту 7 2. Пам’ять 12 2.1 Кеш пам’ять 12 2.2 Основна пам’ять 14 3. Пристрій керування………………………………………………………………16 Висновок 21 Список літератури 22 Додатки 23 Вступ Архітектури з комплексними наборами команд, розвиток яких припав на кінець 60-х - 70-ті роки пропонували програмісту досить різноманітний набір порівняно високорівневих інструкцій машинної мови, таких, наприклад, як "виклик підпрограми" або "відняти одиницю та перейти, якщо результат ненульовий", а також велику кількість способів звертання до операндів в пам'яті для полегшення роботи зі складними структурами даних. В ті часи, за відсутності повноцінних мов програмування високого рівня та відповідних компіляторів, така апаратна підтримка високорівневого інструментарію програмування могла підвищити продуктивність праці програміста. До того ж, програма, складена з таких команд займала небагато в пам'яті комп'ютера. Подібна архітектура отримало назву CISC (англ. Complex Instruction Set Computer - комп'ютер зі складним набором команд) - це архітектура системи команд, в якій більшість команд є комплексними, тобто реалізують певний набір простіших інструкцій процесора або шляхом співставлення з кожною CISC-командою певної мікропрограми, або принаймні можуть бути зведені до набору таких простих інструкцій. Для вирішення проблеми, CISC-архітектур призвели до створення в 80-ті роки RISC-архітектур (від англ. Reduced Instruction Set Computer - комп'ютер зі скороченим набором команд), які вибудовують прямо протилежну модель системи команд з максимальним спрощенням семантики машинної команди, зведенням її до елементарної, мінімізацією методів адресації пам'яті тощо та принциповою орієнтацією на мови високого рівня й оптимізуючі компілятори з них, аніж на програмування безпосередньо в машинних мовах. Сутність RISC підходу полягає у перерозподілі складності в парі апаратура – системні програми в спосіб спрощення системи інструкцій процесора, збільшення тактової частоти, уведення конвейєрного принципу виконання інструкцій послідовного програмного потоку з одночасним підвищення складності компілятора. За рахунок перерозподілу та перекладання додаткової частки часових витрат на етап підготування програми (compile time) скорочують часові витрати на виконання машинного коду (run-time). Метою даної курсової роботи є спроектувати прототип комп’ютера з RISC архітектурою, який містить 6 команд: завантаження і вивантаження в пам'ять, три арифметичні команди і команда переходу. При виконанні курсової роботи слід дотримуватись основних принципів RISC архітектури. 1. Структура RISC Комп’ютера 1.1 Основні принципи побудови RISC комп’ютерів Перший крок розробки прототипного (неконвейєрного) варіанту скалярного RISC-комп'ютера - це синтез структурної схеми машини. Синтез грунтується на часовій діаграмі виконання репрезентативної інструкції процесора, тобто такої інструкції, що має найбільшу часову складність виконання. Вимоги до побудови RISC процесора: Регістрова пам'ять має включати велику кількість програмно-доступних регістрів. Команди обробки даних мають реалізуватися лише у формі "регістр-регістр" Обміни з основною пам'яттю виконуються лише за допомогою команд завантаження/запису. Довільна комп'ютерна команда, незалежно від її типу, має виконуватися за один такт (чи однотактовий цикл). Пристрій керування та арифметико-логічний пристрій процесора мають орієнтуватися на виконання мінімальної кількості спрощених команд, що статистично переважають у програмах, причому в системі команд відносно небагато операцій та режимів адресації операндів (способів адресації). Дешифрування команд із спрощеними форматами має виконуватися лише апаратно, аби збільшити швидкодію. 1.2 Побудова інформаційного тракту Основою проектування структури процесора комп'ютера з простою системою команд є часова діаграма виконання команд з найбільшою складністю, до числа яких належить, зокрема, команда завантаження даних. Розглянемо цикл виконання команди вибірки з основної пам'яті (завантаження) без знакового байту LBU. В комп'ютері DLX командний цикл поділений на п'ять фаз. Тому для виконання вказаної команди потрібно виконати наступні фази: - декодувати команду та вибрати операнди (друга фаза виконання команди із назвою ID (Instruction Detecting); - переслати вибраний з основної пам'яті операнд до відповідного регістра регістрового файла (п'ята фаза виконання команди із назвою WB (Write Back). - вибрати зазначену команду з основної пам'яті (перша фаза виконання команди із назвою IF (Instruction Fetch); - вибрати операнд із основної нам'яті (четверта фаза виконання команди із назвою MEM (Memory); - виконати команду, тобто обрахувати виконавчу адресу операнда (третя фаза виконання команди із назвою EX (Execution); Використані назви фаз дещо узагальнюють притаманну лише команді LBU семантику кожної окремої фази. Це коректно, бо нашою метою є наближення до такої послідовності фаз, яка задовольняє вимогам будь-якої команди із заданої до реалізації множини з метою досягнення найбільшої швидкодії. Інші команди не завжди вимагають реалізації усього переліченого набору фаз, тому що мають меншу часову складність. Залежно від структури процесора команда може бути виконаною за різний час, який буде складатися з суми проміжків часу, необхідних для виконання кожної фази. Розглянемо підхід до побудови процесора з тим, щоб задовольнити вимогу, згідно з якою довільна комп'ютерна команда, незалежно від її типу, має виконуватися за один такт (чи однотактовий цикл), яка ставиться до процесорів комп'ютера з простою системою команд. Для того, щоб команда виконувалася за один такт, потрібно апаратно відобразити алгоритм її виконання, тобто поставити у відповідність кожному оператору алгоритму функціональні вузли процесора, які їх виконують, та з'єднати їх між собою. Ця відповідність наведена в таблиці 1.1. Таблиця 1.1 Мікродії виконання команд Цикл Група інструкцій   LBU SW ADDU  IF IR = IM [PC]; NPC = PC + 4;  ID A=Regs [ IR6..10 ]; Imm=(IR16 )16 ## IR16..31; A=Regs [ IR6..10 ]; Imm=(IR16 )16 ## IR16..31; B=Regs [ IR11..15 ]; A=Regs [ IR6..10 ]; B=Regs [ IR11..15 ];  EX ALUout = A + Imm; ALUout = A + Imm; ALUout = A + B;  MEM LMD = DM[ALUout]; DM [ALUout] = B;   WB Regs [ IR11..15 ] = LMD;  Regs[IR16..20]= ALUout;   SUBU SRL BNEZ  IF IR = IM [PC]; NPC = PC + 4;  ID A=Regs [ IR6..10 ]; B=Regs [ IR11..15 ]; A=Regs [ IR6..10 ]; B=Regs [ IR11..15 ]; A=Regs [ IR6..10 ];  EX ALUout = A - B; ALUout = A >> B; ALUoutput = NPC + Imm; Zero(cond) = A op 0; PC = {if cond then ALUoutput else NPC};  MEM     WB Regs[IR16..20]= ALUout; Regs[IR16..20]= ALUout;    Подальший крок полягає у розробці об’єднаного алгоритму функціювання комп'ютера в цілому. Алгоритм треба складати на основі вище розглянутих мікродій. Результат наведено у таблиці 1. Зрозуміло, що інструкція Load вимагає виконання повного ланцюжку зміни циклів, а саме - IF, ID, EX, MEM, WB. Але для branch-інструкцій порожнім виявився цикл WB. Проте уведення деякої надлишковості до циклової діаграми сприяє уніфікації і створює грунт для конвертування нашого прототипу до стандартного конвейєрного RISC-комп'ютера. Перший оператор IF виконується на наступних елементах: програмному лічильнику PC (Program Counter), суматорі ADD та двох регістрах NPC і IR. Вміст програмного лічильника PC визначає адресу команди в основній пам'яті. Комбінаційний суматор ADD обраховує адресу наступної за чергою виконання команди. При цьому враховано, що впорядкована послідовність команд (програма) складається з чотирибайтових команд (усі команди мають формати довжиною 32 біти), які розміщено в основній пам'яті за послідовними адресами 0,4, 8, С і т. д. Через це константа зсуву адреси (пересування покажчика на наступну за чергою команду) дорівнює +4. Визначене за допомогою суматора значення адреси вибирання наступної команди зберігається у регістрі NPC (next PC). Зчитаний з пам'яті інструкцій IM код поточної команди записується до регістра команди IR. Поля щойно вибраної команди містять адреси програмно-доступних регістрів регістрової файла процесора. Вміст зазначених полів формату команди в рамках оператора ID надсилається на адресні входи регістрової пам'яті Regs, а відповідні надісланим адресам коди операндів завантажуються до внутрішніх, програмно-недосяжних, тобто службових, регістрів А і В. В цілому можна нарахувати чотири можливі операнди на вході арифметико-логічного пристрою ALU процесора: з регістрів А, В, Imm та вміст регістра адреси наступної для виконання команди NPC, над якими виконується функціональний оператор ЕХ. Операнд-адреса NPC опрацьовується в ALU при виконанні команди умовного переходу, коли на додаток до наступної потрібна ще одна адреса, що утвори на додаванням до вмісту NPC деякої константи переходу. Вибирання двох операндів на вхід ALU із чотирьох можливих виконується за допомогою мультиплексорів, розташованих на його входах. Результат операції з ALU тимчасово запам'ятовується у проміжному службовому регістрі ALUout. Якщо результатом операції є число, тоді воно заноситься до комірок регістрового файла. Якщо результатом операції є адреса, тоді ця адреса надсилається до (верхнього на рисунку) мультиплексора вибору адреси mux. За допомогою зазначено: мультиплексора вибирають адресу переходу (чергова чи перехід), яка і надсилається де програмного лічильника PC, аби коректно продовжити виконання програми. Керування мультиплексором вибору адреси наступної команди покладено на вузол Zero?, де вміст службового регістра А порівнюється із нулем (дорівнює нулю, більше нуля, менше нуля і т. д., залежно від виду виконуваної у поточний час операції умовно: переходу). Результат порівняння є бінарним логічним значенням (так або ні). Саме цей бінарний результат керує роботою мультиплексора вибирання адреси наступної команди. При виконанні фази MEM результат-адреса з виходу ALU надсилається до основної пам'яті як отримана адреса комірки цієї нам'яті (для команд збереження/завантаження) Результатом на виході правого на рисунку мультиплексора може бути або вміст основної пам'яті (при виконанні команди завантаження LBU слова з основної пам'яті до регістра регістрового файла), або результат виконання арифметичної(ADDU, SUBU) або зсувної(SRL) операції в ALU. Такий результат в рамках виконання фази WB засобами мікропрограмування зберігають в регістрі регістрового файла. Отже, зазначений мультиплексор комутує на вхід регістрового файла потрібну інформацію. Таким чином, апаратно відобразивши алгоритм виконання команд, вдалося забезпечити вимогу, щоб вони виконувалася за один такт. 2. Пам’ять 2.1 Кеш пам’ять Кеш-пам’ять це пам'ять для тимчасового зберігання даних, проміжна між різними типами пам'яті. Використовується для підвищення ефективності роботи комп'ютера. Кеш-пам'ять між оперативною пам'яттю й твердим магнітним диском буває двох типів: апаратна й програмна. Апаратна кеш-пам'ять звичайно використовується в мережних серверах у дискових адаптерах (контролерах) і являє собою напівпровідникову, енергозалежну, дуже швидкодіючу пам'ять. Програмна кеш-пам'ять частина оперативної пам'яті — звичайно використовується в настільних системах для підвищення ефективності роботи із зовнішньою пам'яттю. Принцип роботи наступний: при звертанні до дискової пам'яті контролер кеш-пам'яті копіює зажадані дані у свою пам'ять, крім цих даних копіюються ( відповідно до закладеного алгоритму керування) і найближчі або зв'язані дані. Тому при наступному запиті до дискової пам'яті процесор спочатку переглядає кеш-пам'ять і, якщо потрібних даних там не знаходить, тільки тоді звертається до основної пам'яті. Процесор генерує адреси пам'яті так, ніби кеш пам'яті не має, а сам кеш на апаратному рівні перехоплює сигнали процесора читання/запису. Якщо кеш пам'ять спроможна підмінити собою основну пам'ять (у понад 96-98 відсотків випадків), тоді вона за рахунок власних ресурсів задовольняє запит процесора. Процесор не пригальмовується і продовжує працювати на повній швидкості. Коли «підміна» основної пам'яті неможлива (менше від двох-чотирьох відсотків випадків), тоді кеш пам'ять залучає до роботи основну пам'ять, обмін з якою суттєво пригальмовує процесор. При поясненні роботи кеша можна прийняти, що процесор також не “бачить” кеш і генерує адреси пам’яті так, ніби кеша немає. Проте кеш, як правило, існує, і на апаратному рівні перехоплює сигнали процесора читання/запис, а коли треба, то надає процесору швидкі копіїі інформаційних кодів, які тимчасово зберігає у власній робочій пам’яті. Якщо кеш спроможний підмінити собою пам’ять (у понад 96-98 відсотків випадків), тоді він за рахунок власних ресурсів задовільняє запит процесора. Процесор не пригальмовується і залишається працювати на повній швидкості. Коли “підміна” пам’яті неможлива (менше від двох-чотирьох відсотків випадків), тоді кеш залучає до роботи пам’ять, обмін з якою суттєво пригальмовує процесор. Спрощений варіант структури комп'ютера, в якому використовується кеш пам'ять, подано в додатку. Пристрій керування надсилає керуючі сигнали до процесора та основної пам'яті. З процесора сигнали станів, якими можуть бути біти регістра команди і інше. надходять до пристрою керування, аби реалізувати розгалуження мікропрограми. Кеш характеризують: функцією проекції блоків пам’яті на блоки кеша (в нас – пряма проекція); алгоритмом заміни блоків кеша на блоки пам’яті (в нас – найпростіший, примусовий алгоритм); алгоритмом виконання запису слова, як результату виконання дій в процесорі, до складної системи кеш-пам’ять (в нас застосовано спрощений алгоритм наскрізного запису). 2.2 Основна пам’ять Основну частину основної пам'яті утворює ОЗП, який називають оперативним, тому що він допускає як запис, так і зчитування інформації, причому обидві операції виконуються подібним чином та практично за той же час. У англомовній літературі ОЗП відповідає абревіатура RAM , тобто "пам'ять з довільним доступом", що не зовсім коректно, оскільки пам'яттю з довільним доступом є також ПЗП і регістровий файл процесора. Для більшості типів напівпровідникових ОЗП характерна енергозалежність - навіть при короткочасному перериванні живлення інформація, що зберігається в цій пам'яті, втрачається. Тому мікросхема ОЗП повинна бути постійно підключеною до джерела живлення, а ця пам'ять може використовуватися тільки як тимчасова пам'ять. Загальна структурна схема пам’яті наведена в додатку. В мікросхемах пам'яті реалізується координатний принцип адресації комірок, згідно з яким комірка із заданим номером лежить на перетині відповідних вертикальної та горизонтальної ліній. Запам'ятовуючі елементи, об'єднані загальним горизонтальним провідником, прийнято називати рядком. Запам'ятовуючі елементи, підключені до загального вертикального провідника, називають стовпцем. Кожній горизонтальній лінії відповідає один з кодів адреси рядка, а кожній вертикальній лінії відповідає один з кодів адреси стовпця. Молодші розряди адреси вказують адресу рядка, а старші розряди адреси вказують адресу стовпця. Адреса комірки, що поступає в мікросхему пам'яті, пропускається через логіку вибору, де вона розділяється на дві складові: адресу рядка і адресу стовпця. Адреси рядка і стовпця запам'ятовуються в буфері адреси. Адреси рядка і стовпця подаються в мікросхему на дешифратори стовпця і рядка відповідно. Виходи дешифраторів утворюють систему горизонтальних і вертикальних провідників, до яких підключені матриці комірок пам'яті, при цьому кожна комірка пам'яті розташована на перетині одного горизонтального й одного вертикального провідників. Крім адресних вертикальних провідників у мікросхемі повинна бути така ж кількість інформаційних провідників, по яких передаватиметься інформація, яка зчитується та записується до пам'яті. Сукупність запам'ятовуючих елементів і логічних схем, пов'язаних із вибором рядків і стовпців, називають ядром мікросхеми пам'яті. Крім ядра, в мікросхемі є ще інтерфейсна логіка, що забезпечує взаємодію ядра із зовнішнім світом. У її завдання, зокрема, входить проведення комутації потрібного стовпця на вихід при читанні і на вхід при записі, яка здійснюється через вихідні ключі, що керуються логічними схемами запису і зчитування. При цьому логічна схеми запису і зчитування (логіка запису та логіка зчитування), а також логіка керування, яка задає режими роботи пам'яті, працюють на основі аналізу зовнішніх сигналів керування пам'яттю /RAS, /СЕ, /WE, /CAS. Для синхронізації процесів фіксації й обробки адресної інформації всередині мікросхеми адреса рядка (RA) супроводжується сигналом RAS (Row Address Strobe - строб рядка), а адреса стовпця (CA) - сигналом CAS (Column Address Strobe - строб стовпця). Щоб стробування було надійним, ці сигнали подаються із затримкою, достатньою для завершення перехідних процесів на шині адреси та в адресних лініях мікросхеми. Сигнал WE (Write Enable - дозвіл запису) визначає вид виконуваної операції (зчитування або запис). На фізичну організацію ядра, як матрицю однорозрядних запам'ятовуючих елементів, накладається логічна організація пам'яті, під якою розуміється розрядність мікросхеми, тобто кількість ліній введення-виведення. Розрядність мікросхеми визначає кількість запам'ятовуючих елементів, що мають одну і ту ж адресу (таку сукупність запам'ятовуючих елементів називають коміркою), тобто кожен стовпець містить стільки розрядів, скільки є ліній введення-виведення даних. 3. Пристрій керування Пристрій керування виробляє послідовність сигналів, необхідних для виконання команди, та послідовності команд, тобто програми. Команда в комп'ютері виконується за один або за декілька тактів, в кожному із яких виконується одна або декілька мікрооперацій. Кожна мікрооперація представляє собою деяку елементарну дію передачі або перетворення інформації, яка ініціюється поступленням керуючого сигналу (мікронаказу) на вхід керування відповідного пристрою. Прикладом може бути керуючий сигнал, який встановлює або очищує прапорець стану, керуючий сигнал запису до регістра, керуючий код на вході мультиплексора і т. д. Для реалізації команди необхідно на відповідні керуючі входи подати розподілену в часі послідовність керуючих сигналів. В даній курсовій роботі пристрій керування побудований по принципу мікропрограмного керування, який передбачає формування керуючих сигналів за вмістом регістра мікрокоманд, в який мікрокоманди записуються із пам'яті мікрокоманд. Шляхом послідовного зчитування мікрокоманд із пам'яті в цей регістр організується потрібна послідовність керуючих сигналів. Пристрій керування будується на основі автоматів, в нашому випадку це автомат Мура. Автомат Мура визначено п’ятіркою з трьох множин: - множини внутрішних станів ; - множини вхідних сигналів ; - множини вихідних сигналів , і двох функцій, а саме, - функції переходів і функції виходів . Скінчений автомат має скінчені множини . Ініціальний автомат Мура має наперед визначений початковий внутрішний стан .Функція переходів визначає наступний стан в залежності від поточного стану і вхідного сигналу. Функція виходів визначає вихідний сигнал (мікродію) в залежності від внутрішнього стану. Для проектування автомату Мура потрібно визначити усі елементи зазначеної п’ятірки. Множини (таблиця 3.1), що складається з 16 елементів (мікродій) та , що складається з трьох елементів і визначаються поточною командою, вже визначено на етапі кодування автомату. Зауважимо наступне. Сигнал Reset змушує автомат перейти до ініціюючого стану. АА Мура починає діяти лише за умови, коли сигнал Reset знято. Перехід з першої до другої вершини виконують безумовно, за тактовим імпульсом. Переходи до вершин а3, а4, а5, а6 виконують за повним набором умов і, зрозуміло, коли є тактовий імпульс. У вершині а0 формують порожній сигнал мікродії у0. У вершині а3 формують сигнали мікрооперацій у5 та у6. Позначені на графі направлені ребра фіксують (чи визначають) функцію переходів. Функцію виходів визначено позначками мікрооперацій біля вершин автомата. Таким чином, всі елементи п’ятірки, якою означено АА Мура, винайдено, тобто автомат побудовано. Таблиця 3.1 Мікродії виконання команд LBU SW ADDU  IF IR = IM [PC];(y1) NPC = PC + 4;(y2)  ID A=Regs [ IR6..10 ];(y3) Imm=(IR16 )16 ## IR16..31;(y4) A=Regs [ IR6..10 ];(y3) Imm=(IR16 )16 ## IR16..31;(y4) B=Regs [ IR11..15 ];(y5) A=Regs [ IR6..10 ];(y3) B=Regs [ IR11..15 ];(y5)  EX ALUout = A + Imm;(y6) ALUout = A + Imm;(y6) ALUout = A + B;(y7)  MEM LMD = DM[ALUout]; (y12) DM [ALUout] = B;(y13)   WB Regs [ IR11..15 ] = LMD;(y15)  Regs[IR16..20]=ALUout;(y16)   SUBU SRL BNEZ  IF IR = IM [PC];(y1) NPC = PC + 4;(y2)  ID A=Regs [ IR6..10 ];(y3) B=Regs [ IR11..15 ];(y5) A=Regs [ IR6..10 ];(y3) B=Regs [ IR11..15 ];(y5) A=Regs [ IR6..10 ];(y3)  EX ALUout = A - B;(y8) ALUout = A >> B;(y9) ALUoutput = NPC + Imm;(y10) Zero(cond) = A op 0;(y11) PC = {if cond then ALUoutput else NPC};(y14)  MEM     WB Regs[IR16..20]=ALUout;(y16) Regs[IR16..20]=ALUout;(y16)    Множину  визначають за наступним правилом: 1. Стартову вершину позначають символом внутрішнього стану ; 2. Кожну операторну вершину позначають окремим, незбіжним із вже застосованими, символом внутрішнього стану; Результат проектування граф схеми автомата Мура наведено в додатку і містить 16 внутрішні стани, від  до . Пристрій керування має 14 керуючих виходів C1..C14. Кожний вихід відповідає за керування власного вузла інформаційного тракту. В таблиці 3.2 наведено які сигнали мають виходи пристрою керування в кожному стані автомата. Розглянемо призначення кожного з керуючих сигналів: С1 керує передачею даних з регістра інструкції IR в регістровий файл; С2 керує передачею даних з регістра інструкції IR в регістр безпосереднього даного Imm; C3 керує мультиплексором який визначає, що подавати на перший вхід АЛП(регістр нової адреси NPC або службовий регістр А); С4 керує мультиплексором який визначає, що подавати на другий вхід АЛП(службовий регістр В або регістр безпосереднього даного Imm); С5,С6 дозволяють ввід даних на перший і другий вхід АЛП відповідно; С7,С8 визначають яка операція повинна бути виконана в АЛП (00 – додавання, 01 – віднімання, 10 - зсув); С9 дозволяє передачу адреси комірки пам’яті на шину пам’яті даних, яка повинна бути завантажене в або з пам’яті; С10 дозволяє передачу даних з регістру В для послідуючого запису в пам'ять; С11 дозволяє вивід даних з регістру результату АЛП ALUout на мультиплексор з послідуючим записом в регістровий файл. С12 керує мультиплексором який визначає які дані записувати в регістровий файл; С13 дозволяє запис в регістровий файл; С14 дозволяє передачу в регістр поточної адреси адресу нової команди. Таблиця 3.2 Сигнали пристрою керування Стан C1 C2 C3 C4 C5 C6 C7 C8 C9 C10 C11 C12 C13 C14  a0 0 0 0 0 0 0 0 0 0 0 0 0 0 0  a1 0 0 0 0 0 0 0 0 0 0 0 0 0 1  a2 1 1 0 0 0 0 0 0 0 0 0 0 0 0  a3 1 1 0 0 0 0 0 0 0 0 0 0 0 0  a4 1 0 0 0 0 0 0 0 0 0 0 0 0 0  a5 1 1 0 0 0 0 0 0 0 0 0 0 0 0  a6 0 0 1 1 1 1 0 0 0 0 0 0 0 0  a7 0 0 1 1 1 1 0 0 0 0 0 0 0 0  a8 0 0 1 0 1 1 0 0 0 0 0 0 0 0  a9 0 0 1 0 1 1 0 1 0 0 0 0 0 0  a10 0 0 1 0 1 1 1 0 0 0 0 0 0 0  a11 0 0 0 1 1 1 0 0 0 0 0 0 0 0  a12 0 0 0 0 0 0 0 0 1 0 0 0 0 0  a13 0 0 0 0 0 0 0 0 1 1 0 0 0 0  a14 0 0 0 0 0 0 0 0 0 0 0 0 1 0  a15 0 0 0 0 0 0 0 0 0 0 1 1 1 0   Висновок В даній курсовій роботі спроектовано структурну схему комп’ютера на RISC архітектурі, який містить наступні блоки: інформаційний тракт, кеш інструкцій, кеш даних, основну пам'ять, пристрій керування. Спроектовано структурну схему кешів. Оскільки використовується роздільно кеші інструкцій і даних то кеш побудований на основі гарвардської архітектура. Основна ж пам'ять не має такого розмежування, отже вона базується на принстонській архітектурі. Пристрій керування побудований на основі абстрактного автомату Мура і має шістнадцять стійких станів, які визначаються поточною інструкцією, яка виконується на даний момент, і визначають стани чотирнадцятьох вихідних сигналів, які керують інформаційним трактом. Список літератури Patterson D., and Hennessy J. Computer Architecture. A quantitative Approach. Second Edition. - Morgan Kaufmann Publishers, Inc., San Francisco, California, 1996. - 760 p. Майоров С.А., Новиков Г.И. Принципы организации цифровых машин. - Л., Машиностроение, 1974. Баранов С.И. Синтез микропрограммных автоматов. - Л.: Машиностроение, 1980. Мотоока Е., Томита С., Танака Т., Сайто Е., Уэхара Т. Компьютеры на СБИС. В двух книгах. - М.: Мир, 1988. Искусственный интеллект: В 3-х книгах. Кн. 3. Программные и аппаратные средства: Справочник/Под ред. В.Н. Захарова, В.Ф., Хорошевского. - М.: Радио и связь. - 1990. - 368 с. Пом А., Агравал О. Быстродействующие системы памяти. - М.: Мир, 1987. - 264 с. Додатки
Антиботан аватар за замовчуванням

24.03.2013 22:03-

Коментарі

Ви не можете залишити коментар. Для цього, будь ласка, увійдіть або зареєструйтесь.

Ділись своїми роботами та отримуй миттєві бонуси!

Маєш корисні навчальні матеріали, які припадають пилом на твоєму комп'ютері? Розрахункові, лабораторні, практичні чи контрольні роботи — завантажуй їх прямо зараз і одразу отримуй бали на свій рахунок! Заархівуй всі файли в один .zip (до 100 МБ) або завантажуй кожен файл окремо. Внесок у спільноту – це легкий спосіб допомогти іншим та отримати додаткові можливості на сайті. Твої старі роботи можуть приносити тобі нові нагороди!
Нічого не вибрано
0%

Оголошення від адміністратора

Антиботан аватар за замовчуванням

Подякувати Студентському архіву довільною сумою

Admin

26.02.2023 12:38

Дякуємо, що користуєтесь нашим архівом!