Звіт до Курсової роботи з архітектури комп’ютера

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

ВУЗ:
Національний університет Львівська політехніка
Інститут:
Не вказано
Факультет:
КН
Кафедра:
Кафедра ЕОМ

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

Рік:
2012
Тип роботи:
Звіт
Предмет:
Архітектура комп'ютерів

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

Міністерство освіти і науки України Національний університет „Львівська політехніка” Кафедра ЕОМ Звіт до Курсової роботи з архітектури комп’ютера 1. Вихідні дані на проектування Варіант визначається за допомогою наступної послідовності символів: Шевчук Відповідно до заданої послідовності символів визначимо вихідні дані на проектування: Позиція символа послідовності відповідає за завдання та його варіант, які визначаємо з Таблиць 3 та 4 методичних вказівок до курсового проекту. Завдання 1 з літерою Ш відповідає 28 номеру завдання, де кількість регістрів загального призначення в регістровому файлі процесора = 32. Завдання 2 з літерою Е відповідає 6 номеру завдання, де кількість команд, які може виконувати процесор = 4. Завдання 3 з літерою В відповідає 3 номеру завдання, де розрядність безпосереднього операнда =16. Завдання 4 з літерою Ч відповідає 27 номеру завдання, де об'єм основної пам'яті комп'ютера = 256 Мб. Завдання 5 з літерою У відповідає 23 номеру завдання, де основна пам'яь комп'ютера побудована на елементах, в яких кількість комірок = 256, а розрядність однієї комірки = 8. Завдання 6 з літерою К відповідає 14 номеру завдання, де розмір кеш- пам'яі даних = 64к, а розмір блоку = 64. Завдання 7 з літерою Ш відповідає 28 номеру завдання, де розмір кеш- пам'яі команд = 64к, а розмір блоку =64. Завдання 8 з літерою Е відповідає 6 номеру завдання, де команда для демонстрації є логічна ЗМІСТ Вихідні дані на проектування. Основні принципи побудови скалярних RISC-комп'ютерів. Проектування комп'ютера з архітектурою RISC. Висновки. Література. 2.Основні принципи побудови скалярних RISC-комп'ютерів. Формати RISC інструкцій DLX процесора подано рисунком 1.  Рис. 1 - Формати інструкцій RISC-DLX процесора [Hennessy & Patterson, 2003] Пояснення щодо форматів інструкцій. I - тип інструкції опрац, що використовує безпосередній операнд (Immediate ). R - тип інструкції; така інструкція отримує пару операндів із джерельних регістрів (Registers) регістрового файлу процесора і повертає результат знов таки до регістру призначення з цього файлу. J – тип є інструкцією безумовного переходу (jump). OpCode є полем коду операції, який залежить від кількості виконуваних процесором команд. Розрядність даного поля=Log2N, де N – множина виконуваних процесором команд. В даному випадку довжина поля складає 6 розрядів. rs1,rs2 є полями, що задають номери регістрів-джерел операндів (register of source), що належать множині регістрів регістрового файла. Розрядність кожного з цих полів визначається, як Log2N, де N – множина регістрів регістрового файлу. В даному випадку кожне поле має довжину 5 бітів, а множина регістрів від R0 до R31. rd є полем номера регістра призначення (приймача результату дії, register of destination). Розрядність поля визначається, як Log2N, де N – множина регістрів регістрового файлу. Регістр призначення також обирають з множини регістрів регістрового файлу. В даному випадку поле є п'ятибітовим. Immediate - це 16-ти бітове поле, що містить безпосередній операнд; при цьому найлівіший розряд immediate розглядають як знаковий; при використанні безпосередній операнд попередньо знаково розширюють вліво (як доповняльний код) до 32-х бітів. Function - це поле, що визначає функцію, що розширює на 211 – 1 = 2047 комбінацій обмежене число дозволених кодів операції. Offset added to PC - це 26-ти бітова константа, яку додають до вмістимого регістру наступної адреси аби знайти цільову адресу безумовного переходу. Особливості поданих форматів інструкцій: Довжина всіх форматів – 32 біти. Реалізовано дизайн архітектури load/store. Реалізовано фіксовану систему поділу форматів на поля. Всі інструкції з погляду їхньої обробки поділено на три групи: АЛП операції, операції load/store, операції керування виконанням програми. Отже, формати АЛП-операцій є триадресувальними, тобто, завжди подаються як OP RX,RY,RZ. Основою побудови структури інформаційного тракту (data path) є часова діаграма виконання інструкції з найбільшою складністю. До такої інструкції в нашому класичному RISC комп’ютері належить, наприклад, інструкція завантаження слова з комірки пам’яті до регістра. Тому розглянемо виконання інструкції завантаження слова LW R5, 16(R26) для багатоцикловоїї RISC машини (такий варіант побудови RISC машини є наочнішим в передбаченні подальшого переходу до конвеєрного варіанту). Задля виконання інструкції завантаження потрібно: вибрати нструкцію з пам’яті (на це витрачаємо перший цикл виконання з назвою IF ), декодувати інструкцію і (паралельно, тобто, незалежно) вибрати операнди (на це витрачаємо другий цикл виконання з назвою ID), виконати інструкцію, тобто, в нашому випадку розрахувати виконавчу адресу операнда 16 + <R26> (на це витрачаємо третій цикл виконання з назвою EX), вибрати операнд із головної пам’яті (витрачаємо четвертий цикл виконання з назвою MEM), переслати вибраний з пам’яті операнд до регістра R5 регістрового файла (витрачаємо п’ятий цикл виконання з назвою WB). Зауважимо, що (апаратним) циклом ми називаємо один тактовий інтервал. Отже, виконання інструкції, що розглядається, вимагає витрати п’яти циклів. Іншим інструкцїям можуть не знадобитися всі щойно перелічені цикли виконання через їхню меншу часову складність, Проте менш складним інструкціям теж віддають на виконанання п’ять циклів, деякі з яких є робочими, а деякі - порожніми. Ясно, що при рівній довжині кожного машинного циклу ми нехтуємо наявним ефектом парадоксу пам’яті. Адже, наприклад, довжини циклів маніпулювання комірками МЕМ і маніпулювання регістрами ID/OF в нас є рівними. Наступним рисунком подано черговість слідування апаратних циклів (інколи кажуть - фаз, сходинок) при виконанні RISC інструкції. Зауважимо ще раз, що не всі інструкції вимагають виконання усіх фаз. Наприклад, інструкції переходів використовують як роочі лише перши три цикли, а два останні цикли – як порожні. При конвеєрному виконанні інструкції переходу два останні цикли також витрачають як порожні, аби вирівняти час виконання всіх, як складних, так і спрощених інструкцій. При цьому на перших трьох апаратних циклах перехід є переходом, а на два останні він долає вже як інструкція nop.  Рис. 2 – Організація апаратних засобів інформаційного тракту RISCмашини Тут: IF – апаратні засоби вибирання з інструкційної пам’яті ІМ чергової інструкції, ID – апаратні засоби декодування інструкції і паралельного з цим вибирання операндів, EX – апаратні засоби виконання інструкції, MEM – апаратура запису/читання пам’яті даних МЕМ, WB – зворотній запис до регістрового файла (як мети) результату виконання інструкції. 3. Проектування комп'ютера з архітектурою RISC. Завдання 1. Вдосконалити структуру процесора з архітектурою RISC, відповідно до отриманого завдання. Нанести на структурі розрядність адресних ліній, ліній даних та ліній керування (при необхідності), вказати зв'язок з основною пам'яттю, а також розробити формат інструкцій різних типів (І-тип, R-тип, J- тип) згідно варіанту. Також необхідно врахувати, що процесор оперує 32 розрядними даними. Згідно завдання: Кількість регістрів загального призначення в регістровому файлі процесора = 32. Кількість команд, які може виконувати процесор = 4. Розрядність безпосереднього операнда = 16. Розрядність шини даних основної пам'яті комп'ютера = 8. Розрахунок та проектування формату команди типу І: Визначаємо розмірність поля OPCode, в якому закодована максимальна кількість виконуваних комп'ютером команд: OPCode = ]Log2 N[, де N - множина виконуваних процесором команд. Розрядність поля OPCode = ]Log2 4[ = 2. Визначаємо розмірність поля rsl, в якому задається адреса регістра- джерела. Ця адреса залежить від розмірності регістрового файду процесора: rs1 - ]Log2 N[, де N множина регістрів загальног призначення в регістровому файлі процесора. Розрядність поля rsl = ]Log2 32[ = 5. Визначаємо розмірність поля rd, в якому задається адреса регістра- призначення. Ця адреса залежить від розмірності регістрового файду процесора: rd = ]Log2 N[, де N - множина регістрів загального призначення в регістровому файлі процесора. Розрядність поля rd = ]Log2 32[ = 5. Розрядність поля Immediate, згідно отриманого завдання =16. Розрядність команди типу І=28. Так як розрядність команди вийшла не кратною розрядності основної пам'яті комп'ютера - необхідно доповнити розрядність команди до 32, відповідно в команді з'явиться поле Function, розрядність якого буде = 4. OPCode rsl rd Immediate Function   2  5  5 16 4   Рис. 5. Формат команди І-типу Розрахунок та проектування формату команди типу R: Визначаємо розмірність поля OPCode, в якому закодована максимальна кількість виконуваних комп'ютером команд: OPCode = ]Log2 N[, де N - множина виконуваних процесором команд. Розрядність поля OPCode = ]Log2 4[ = 2. Визначаємо розмірність поля rsl, в якому задається адреса регістра- джерела 1. Ця адреса залежить від розмірності регістрового файду процесора: rsl - ]Log2 N[, де N - множина регістрів загального призначення в регістровому файлі процесора. Розрядність поля rsl = ]Log2 32[ = 5. Визначаємо розмірність поля rs2, в якому задається адреса регістра- джерела 2. Ця адреса залежить від розмірності регістрового файду процесора: rs2 = ]Log2 N[, де N - множина регістрів загального призначення в регістровому файлі процесора. Розрядність поля rs2 = ]Log2 32[ = 5. Визначаємо розмірність поля rd, в якому задається адреса регістра- призначення. Ця адреса залежить від розмірності регістрового файду процесора: rd = ]Log2 N[, де N - множина регістрів загального призначення в регістровому файлі процесора. Розрядність поля rd = ]Log2 32[ = 5. Розрядність команди типу R = 17. і як розрядність команди R-типу вийшла меншою за розрядність обраної для формату команди І-типу, тому поле Function необхідно доповнити до обраної розрядності команди для того, щоб всі команди мали однакову довжину, відповідно воно матиме розрядність рівну 15. OPCode rsl rs2 rd Function   2 5 5 5 15 Риє. 6. Формат команди R-типу Розрахунок та проектування формату команди типу J: Визначаємо розмірність поля OPCode, в якому закодована максимальна кількість виконуваних комп'ютером команд: OPCode = ]Log2 N[, де N - множина виконуваних процесором команд. Розрядність поля OPCode = ]Log2 4[ = 2. Визначаємо розмірність поля Offset, в якому задається значення, яке додається до вмістимого регістру наступної адреси для знаходження цільової адреси безумовного переходу. Розрядність поля Offset визначається обраною довжиною попередніх команд і задається рівним 30. Розрядність команди типу J = 32. Рис. 7. Формат команди J-гину Так як нанесення розрядності ліній необхідно здійснити після виконання деяких наступних завдань - структуру комп'ютера буде подано пізніше. OPCode Offset   2 30 Завдання 2 Розрахувати загальну кількість елементів основної пам'яті, відповідно до елементів на яких вона побудована та загального об'єму основної пам'яті Згідно завдання: Основна пам'яь комп'ютера побудована на елементах, в яких кількість комірок = 256, а розрядність однієї комірки = 8 (256 К х 8). Об'єм основної пам'яті комп'ютера = 256 Мб. Розрядність шини даних відповідає розрядності одного її елемента і ~ 8. Розрахунок загальної кількості елементів основної пам'яті. Для побудови основної пам'яті об'ємом 256 Мб на елеменах пам'яті 256 Кх 8 нам необхідно: Визначити об'єм основної пам'яті в Кілобайтах: ММ=256* 1024=262144 Кбайт. Визначити об'єм одного елемента пам'яті в Кілобайтах: SM=z*x Кбайт. (х=у/8, де у-розрядність елемента пам'яті, /.-кількість комірок в одному елементі пам'яті.) SM=256*8/8 = 256 Кбайт. Визначити кількість елементів пам'яті N можна поділивши об'єм основної пам'яті ММ на об'єм пам'яті одного елемента SM. N=262144/256=1024. Завдання 3 Розрахувати розрядність шини адрес, відповідно до елементів на яких вона побудована та загального об'єму основної пам'яті. Згідно завдання: Основна пам'ять комп'ютера побудована на елементах, в яких кількість комірок = 256, а розрядність однієї комірки = 8 (256 К х 8). Об'єм основної пам'яті комп'ютера = 256 Мб. Розрядність шини даних відповідає розрядності одного її елемента і ~ 8. Розрахунок кількості комірок основної пам'яті. Для визначення кількості комірок основної пам'яті об'ємом 256 Мб на елементах памяті 256 К х 8 необхідно: Визначити об'єм основної пам'яті в Кілобайтах: ММ=256* 1024=262144 Кбайт. Визначити розрядність кожної комірки пам'яті (згідно завдання) R = 8 Визначити об'єм основної пам'яті в бітах: ММb = 262144 * 1024 *8 = 2147483648 Для визначення кількості комірок NM нам потрібно визначити об'єм основної пам'яті в бітах ММЬ та поділити його на розрядність комірки R: Кількість комірок основної пам'яті NM=MMb/R=2147483648/8=268435456 Розрахунок розрядності шини адрес. Розрядність шини адрес RA визначається за формулою: RA = ] Log2 NM [ Розрядність шини адрес RA - ] Log2 268435456 [ - 28 Завдання 4. Визначити кількість процесорних тактів, за якою будуть зчитуватись дані з основної пам'яті. Згідно завдання: Процесор оперує 32 розрядними даними. Розрядність шини даних відповідає розрядності одного її елемента і = 8. Розрахунок кількості процесорних тактів за якою будуть зчитуватись дані з основної пам'яті. Так як шина даних для взаємодії між процесором та основною пам'яттю має розрядність 8, а дані, якими оперує процесор складають 32 розряди - то для визначення кількості процесорних тактів для зчитування даних з основної пам'яті нам необхідно 32/8= 4 такти Завдання 5. Визначити значення константи, яке необхідне для обчислення наступного значення програмного лічильника (наступної адреси інструкції в основній пам'яті). Згідно завдання: Розрядність шини даних відповідає розрядності одного її елемента і = 8. Розрахована розрядність команди = 32. Розрахунок константи, яку необхідно додати для обчислення наступного значення програмного лічильника. Так як шина даних для взаємодії між процесором та основною пам'яттю має розрядність 8, а розрядність команд = 32, то значення константи для визнаячення наступного значення програмного лічильника буде = 32/8 = 4 Завдання 6. Визначити розрядність регістра інструкцій. Згідно завдання: Розрахована розрядність команди = 32. Розрядність регістра інструкцій залежить від розрядності команди, оскільки розрядність команди = 32, то і розрядність регістра інструкцій буде = 32. Завдання 7. Розрахувати формат адреси для кеш-пам'яті даних згідно отриманого завдання Згідно завдання: Розмір кеш-пам'яті даних = 64, а розмір блоку = 64. Об'єм основної пам'яті комп'ютера = 256 Мб. Процесор звертається до пам'яті за фізичною адресою, а кеш перехоплює це звернення без відома процесора та трактує адресу за своїм форматом, визначеним відносно параметрів кешу. Вся основна пам'ять ділиться на секції розміром пам'яті кешу. У свою чергу секція ділиться на блоки, а кількість байт у блоці рівна розміру блоку. Кожний із кешів має свої параметри: розмір пам'яті та кількість блоків. Тому формат адреси для кожного із кешів різні. Визначення розрядності полів формату адреси кешу даних: Розмір зовнішньої пам'яті MemSize = 256 Мб = 536870912 Байт. Розмір пам'яті кешу команд InstructionCacheSize = 64 К = 65536 Байт. Розрядність поля Section рівна: NSection= ] log2(MemSize/lnstructionCacheSize) [ = ] log2 (536870912 /65536) [ = 13. Розмір блоку BlockSize = 64. Кількість блоків BlockNumber _ InstractionChacheSize/BlockSize ~ 65536 /64 = 1024. Розрядність поля Block рівна: NBlock = ] log2 (BlockNumber) [ = ] log2 (1024) [= 10. Розрядність поля Byte рівна NByte = ] log2 (BlockSize) [ = ] log2 (64) [ = 6. 28 23 22 13 12 0 Byte Block Section  6 10 13 Рис. 8. Формат адреси кешу команд Завдання 8. Розрахувати формат адреси для кеш-пам'яті команд згідно отриманого завдання: Згідно завдання: Розмір кеш-пам'яті команд = 64к, а розмір блоку =64. Об'єм основної пам'яті комп'ютера = 256 Мб. Розв'язання: Розмір зовнішньої пам’яті MemSize = 256 Мб = 536870912 Byte; Розмір пам’яті кешу команд InstructionCacheSize = 64К= 65536 Byte; Розрядність поля Section рівна:  Кількість блоків рівна BlockNumber =64; Розрядність поля Block рівна:  Розмір блоку BlockSize = InstructionChacheSize/BlockNumber = = 65536/ 64= 1024 Byte; Розрядність поля Byte рівна:  Формат адреси кешу даних наведено на рисунок : 28 19 18 13 12 0  Byte(10) Block(6) Section(13)  Формат адреси кешу команд. Завдання №9 Відобразити послідосність мікродій, які виконуються на різних етапах (циклах) процесора за допомогою трьох команд (завантаження даних з ОП, запис даних в ОП, виконання арифметичної/логічної операції з використанням безпосереднього операнду). Розв'язання: Щоб відобразити послідосність мікродій, які виконуються на різних етапах (циклах) процессора, я використаю настунні команди : LW – завантажити слово; SW – зберегти слово; NAND – побітове логічне І-НЕ; Таблиця №2 – Відображення послідовності мікродій процесора. Цикли виконання інструкцій  LW  SW  NAND   IF IR = IM[PC]; NPC = PC+4; IR = IM[PC]; NPC = PC+4; IR = IM[PC]; NPC = PC+4;   ID A=Regs[IR25.. 29]; B=Regs[IR20..24]; Imm=Regs( (IR4)4##IR3...0) A=Regs[IR25.. 29]; B=Regs[IR20.24]; Imm=Regs((IR4)4## IR3...0) A=Regs[IR25.. 29]; B=Regs[IR20..24];   EX  ALUoutput = A+Imm  ALUoutput = A+Imm  ALUoutput = A nand B.   MEM  LMD = DM [ALUoutput]  DM [ALUotput]=B    8WB  Regs[ IR20..24] = LMD   Regs[IR15..19] = ALUoutput   Завдання №10 Сформулювати загальні висновки, щодо продуктивності процесора, на підставі отриманих розрахункових даних. Розв'язання: Розрядність шини даних 8 біт, що є досить багато, також враховуючи формат інструкції – її вибірка буде складати 4 такти, що є досить добре. Розрядність поля безпосереднього операнда складає 16 біт, що дає можливість використовувати числа в діапазоні від 0 до 65 536 для без знакових чисел, і від – 32 768 до 32 767для знакових чисел. Даний процесор може виконувати 4 операції, що дуже погано. Тому, беручи до уваги зроблені вище висновки, як висновок можна сказати що процесор розроблений в даному курсовому проекті має хорошу швидкодію і продуктивність, але за рахунок малої кількості команд має обмежене застосування. Висновок Під час виконання данного курсового проекту були виконанні поставленні завдання, при проектуванні RISC-комп'ютера. Тобто виконанні наступні етапи: 1. Було розроблено формат інструкцій різних типів (I-тип, R-тип, J-тип); 2. Розраховано загальну кількість елементів основної пам’яті; 3. Розраховано розрядность шини адрес; 4. Визначенно кількість процесорних тактів, за якою будуть зчитуватись дані з основної пам’яті. 5. Визначенно значення константи, яке необхідне для обчислення наступного значення програмного лічильника (наступної адреси інструкції в основній пам’яті); 6. Визначенно розрядність регістра інструкцій; 7. Розраховано формат адреси для кеш-пам’яті; Література Майоров С.А., Новиков Г.И. Принципы организации цифровых машин. - Л., Машиностроение, 1974. Баранов С.И. Синтез микропрограммных автоматов. - Л.: Машиностроение, 1980. Hamacher V., Vranesic Z., and Safwat G. Computer Organization. - McGraw-Hill Publishing Company, International Edition, 1990. - 617 p. Мотоока Е., Томита С., Танака Т., Сайто Е., Уэхара Т. Компьютеры на СБИС. В двух книгах. - М.: Мир, 1988. Искусственный интеллект: В 3-х книгах. Кн. 3. Программные и аппаратные средства: Справочник/Под ред. В.Н. Захарова, В.Ф., Хорошевского. - М.: Радио и связь. - 1990. - 368 с. Microprocessors, Volume I. - Intel Corp., 1992. Пом А., Агравал О. Быстродействующие системы памяти. - М.: Мир, 1987. - 264 с. Додаток А 
Антиботан аватар за замовчуванням

09.01.2013 22:01-

Коментарі

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

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

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

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

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

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

Admin

26.02.2023 12:38

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