Инструкции во MIPS Flashcards
I колоквиум (24 cards)
Што се инструкции?
Инструкции – зборовите во компјутерскиот
јазик
Што е инструкциско множество?
Инструкциско множество – компјутерскиот
речник (сите валидни зборови)
Од каде се земаат операндите?
Операндите во аритметичките инструкции
се земаат од специјални хардверски
локации наречени регистри
Колкава е големината на МИПС регистар?
Големината на регистар во МИПС е 32 бита
Што е збор?
Групи од 32 бита се користат често, па им се
дава името збор
Зошто бројот на регистри е 32?
Бројот на регистри е ограничен на 32 зашто
– Многу голем број регистри можат да го
зголемат периодот на тактот
– Така наложува инструкцискиот формат
Колку има зачувани регистри?
$s0–$s7
вкупно 8
Колку има a регистри?
$a0–$a3
вкупно 4
Колку има привремени регистри?
$t0–$t9
вкупно 10
Колку има v регистри?
$v0–$v1
вкупно 2
Мемориски операции
- Програмските јазици имаат и посложени податочни структури – низи и структури – многу повеќе податоци од бројот на регистрите
- Kомпјутерската меморија содржи милијарди податочни елементи!!!
– Затоа податочните структури (низи и структури) се чуваат во меморијата
Инструкции за трансфер на податоци од и во меморија се:
lw и sw
Пристапување до збор
За да пристапи до одреден збор, инструкцијата мора да ја знае адресата на зборот
– Зборовите се сместени на адреси што се деливи со 4 – порамнување
На кој начин се доаѓа брзо до податоци??
Регистрите се побрзи и со поголема пропусна моќ од меморијата
– Затоа компајлерот се труди најпотребните променливи да ги смести во регистрите, а останатите ги префрла во меморија
Опиши ги Big endian и Little endian
Big endian: како што се запишани податоците во регистарот од лево кон десно, така се запишуваат и во меморија
Little endian: најзначајните податоци (најлево) од регистарот почнуваат да се запишуваат од „десната страна“ во меморија
(Пример за визуелизација на меморија)
a a+1 a+2 a+3 …
Дали МИПС е Big endian или Little endian
Big endian
Како се запишуваат елементите на низите во меморија?
- Елементите на низите во меморијата се запишуваат последователно (во зборови)
- Меморија се адресира по бајти
- За да го пристапиме х-от елемент на низа се што ни треба е да ја знаеме почетната адреса на низата
Константи во операндите
- Тестовите за мерење на перформансите покажале дека во повеќе од половина од аритметичките операции еден од операндите е константа
- Чување на константите во меморија бара дополнителна lw инструкција
- Затоа постои брза add инструкција
addi $s1,$s3,4 # $s1=$s3+4
Должина на МИПС зборовите
MIPS зборовите се со должина 32 бита
– Со 32 бита можете да ги претставите сите
броеви од 0 до 2^(32) - 1
Кои се најзначајни и најмалку значајни битови?
- Позицијата на битовите се енумерира од десно кон лево
- Најлевиот бит е најзначаен бит (most significant bit)
- Најдесниот бит е најмалку значеан бит (least significant bit)
Како се прикажува негативен број?
- Ако е потребно да се прикажат негативни броеви, тогаш треба да се додаде еден бит за знак (се бира најзначајниот бит).
- Опсегот се преполовува, т.е. од –2^31 до 2^31 -1
- 0 означува позитивен број, 1 негативен број
Предности на двоен комплемент:
– Брз начин да се добие негативниот број
* инвертирај и додади еден
– Лесна конверзија од 16-битен во 32-битен број
* со вредноста на најзначајниот бит се пополнуваат празните битови локации
Големата слика
- Денешните компјутери се базираат на два фундаментални принципа:
1. Инструкциите може да се претстават како броеви
2. Програмите, како и броевите, може да се читаат од и запишуваат во меморија - Овие принципи доведоа до концептот на програми зачувани во меморија
- Уште повеќе, програмите се испорачуваат како готови датотеки од бинарни броеви
- Компјутерите може да го користат готовиот софтвер само ако се компатибилни со инструкциското множество
– Затоа во индустријата егзистираат само мал број на архитектури
Што се логички операции?
Операциите кои овозможуваат компјутерите да работат со цели броеви и битови се викаат логички операции