Ім'я файлу: Вивчення_основ_Асемблера_та_машинної_мови_архітектури_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

  1. h=68, o=6F, w=77, d=64, y=79

howdy=0x686F776479

  1. i=69, o=6F, n=6E, s=73

ions=0x696F6E73

  1. 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

  1. 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.
скачати

© Усі права захищені
написати до нас