Ім'я файлу: Вивчення_основ_Асемблера_та_машинної_мови_архітектури_MIPS.docx Розширення: docx Розмір: 270кб. Дата: 17.11.2022 скачати Пов'язані файли: Мартинюк О.П..pdf Все крім сорбції і рівняння Гіббса.odt Брижак Артур Андрійович Архітектура комп'ютерів студент 1(СТ) курсу ДВНЗ «УжНУ», спеціальність 123 – Комп’ютерна інженерія Практична робота по вивченню основ Асемблера та машинної мови архітектури MIPS Варіант 3 Завдання 1 1. Для простоти дотримуйтесь однотипності: Довжина команд в архітектурі МІРS стала, і становить 32 біти, це значно спрощує її розуміння | Для зручності, команди в архітектурі поділені на три типи: команди типу R. типу І та типу J. Формат команд для кожного окремого типу є однаковим. Машинний формат всіх команд в архітектурі обов'язково містить поле оpcode, розмір якого є однаковим для всіх інструкцій і складається з 6 біт. 2. Типовий сценарій повинен бути швидким: При використанні системи команд МІРS типовий сценарій стає швидким тому, що вона включає в себе тільки прості і постійно використовувані команди. MIPS відноситься до архітектури зі скороченим вибором команд (RISC), тоді прості операції тут виконуються швидше ніж в інших архітектурах. В архітектурі MIPS існують константи або операнди. 3. Чим менше, тим швидше. МІРS містить 32 регістри. шо досить мало порівняно з іншими архітектурами. Ще позитивно виливає на швидкість доступу до них. Оскільки чим менше регістрів, тим менший час доступу до них. Розмір всіх інструкцій досить малий, що також позитивно відображається на швидкості їх виконання. 4. Хороша розробка вимагає хороших компромісів Різні типи інструкцій (R I та J). мають різний формат. Інструкції у окремих тинах мають однакову структуру. але. самі тили відрізняються між собою. МІРS підтримує доступ до основної пам'яті. шо займає більше часу, ніж звернення до регістрів. але. за рахунок цього. створюється компрoміс, між швидким часом доступу і великим об'ємом пам'яті. Оскільки МІРS - це RІSС архітектура. то прості команди на ній виконуються швидше. ніж. наприклад на СІSС. але, в деяких сценаріях вона може програвати іншим архітектурам. Завдання 4 А) В MIPS одне слово займає 4 байти. Отже , якщо порядковий номер слова – 15 то 4*15=60=0х3С Б) Слово займає чотири байти: 0х3C 0x3D 0x3E 0x3F В) Зворотній порядок слідування: Завдання 5 Якщо після виконання наведеного коду, в регістрі $s5 міститиметься значення ОхСD - то порядок слідування байтів зворотній, а якщо Ох98 - то прямий. Завдання 7 h=68, o=6F, w=77, d=64, y=79 howdy=0x686F776479 i=69, o=6F, n=6E, s=73 ions=0x696F6E73 T=54, o=6F, пробіл=20, t=74, h=68, пробіл=20, r=72, e=65, s=73, u=75, e=65, !=21 To the rescue!=0x546F207468652072657363756521 Завдання 8 SOS=0x534F53 Cool!=0x436F6F6C21 Зворотній порядок слідування. Завдання 11 1)addi $s0,73 Інструкція «addi» є типу І і має наступну структуру: Згідно таблиці А1, дана інструкція має орсоdе 001000. Регістр rs ($0) має номер 00000 у двійковій системі числення. Регістр rt ($s0) має номер 10000 у двійковій системі числення. Десяткове число 73 розширене до 16 біт має вигляд 0000000001001001 у двійковій системі числення. Звідси код інструкції на машинній мові: 001000 00000 10000 0000000001001001. У шістнадцятковій системі числення: 0х20100049. 2) sw $t1, -7($t2) Інструкція «sw» також є інструкцією типу І та має структуру. аналогічну попередній. Згідно таблиці А1. дана інструкція має орсоtе 101011. Регістр rs ($t2) має номер 01010 у двійковій системі числення. Регістр rt ($t1) має номер 01001 у двійковій системі числення (номери регістрів були розширені до 5 біт). Десяткове число -7. розширене до 16 біт. має вигляд 111111111111111001 у двійковій системі числення. Звідси код інструкції на машинній мові: 101011 01010 01001 11111111111111001. У шістнаднятковій системі числення: ОхАDА9FFF9. 3) sub $s7,$s2 Iнструкція «sub» є інструкцією типу R і має наступну структуру: Всі інструкції типу R мають нульове значення поля орсоdе: 000000. Регістр ($s7) має номер 10111 у двійковій системі числення. Регістр rt $s2) має номер 10010 у двійковій системі числення. Регістр rd ($t1) має номер 01001 у двійковій системі числення (номери регістрів були розширені до 5 біт). Поле зсуву для даної інструкції дорівнює нулю: 00000. Згідно таблиці А2. поле func для інструкції sub дорівнює 100010. Звідси код інструкції на машинній мові: 000000 10111 1001001001 00000 100010. У шістнадцятковій системі числення: 0х2F24822. Завдання 12 lw $t0, 0x20 ($t7): 0х20 у двійковій системі числення: 00100000. Для розширення додатного числа до 16 біт. потрібно додати необхідну кількість нулів зліва: 0000000000100000. Код інструкції після розширення: 100011 01111 01000 0000000000100000. У шістнадцятковій системі числення: 0x8DЕ80020. 2) аddі $s0, $0. -10: 10 у двійковій системі числення: 1010. Для розширення від'ємного числа до 16 біт, потрібно записати його в доповняльному коді і додати необхідну кількість одиниць зліва 11111111111110110. Код інструкції після розширення: 00100000000100001111111111111110110. У шістнадцятковій системі числення: Ох2010FFF6. |