[HomePage di Architettura]

Precedente Successiva

18: Il Set di Istruzioni (6)

[Slide]
[Riferimenti]
 [Schema]
[Auto-verifica]
[Esercizi]
 [Problemi]
 [Link]

Slides: (bianco e nero)

Riferimenti bibliografici

bullet

[Patterson]: Cap. 3 (par. 6 (fino a "Procedure annidate" escluso), par. 9, figura A.10 pag.694). Per ulteriori approfondimenti (non parte del programma ma sicuramente utili per cultura generale informatica!) potete consultare la Appendice A (da 1 a 6) e terminare la lettura del par. 3.6.

Schema della lezione

bullet

Istruzioni per la gestione delle procedure

bullet

Come si avvia un programma: compilatore, assemblatore, linker e loader

bullet

Ruolo dei registri e convenzioni utilizzate.

bullet

Alcune note conclusive: architetture RISC e CISC

Auto-verifica della comprensione degli argomenti della lezione

"Cosa si intende per auto-verifica?"
bullet

Perché è importante che il linguaggio Assembler implementi un qualche supporto alle procedure?

bullet

Perché c'è bisogno di usare lo stack in caso di procedure annidate (cioé di procedure che, al proprio interno, richiamano altre procedure..)?

bullet

Chi o cosa si incarica di salvare sullo stack i registri $s0, etc. ?

bullet

Quale è la differenza fondamentale tra istruzioni MIPS e le cosiddette pseudoistruzioni?

bullet

Quale è il ruolo principale di compilatore/assemblatore/linker/loader?

bullet

A cosa serve il registro $gp?

bullet

Quali sono i quattro principali principi della progettazione?

bullet

Sulla osservazione di quale fenomeno si basano le architetture RISC?

Esercizi

bullet

Descrivere i formati delle istruzioni finora descritti e le istruzioni che li usano.

bullet

E' possibile rinunciare alla istruzione BEQ (mantenendo BNE e J)?

bullet

E' possibile rinunciare alla istruzione BNE (mantenendo BEQ e J)?

bullet

E' possibile rinunciare alla istruzione J (mantenendo solamente la BEQ)?

Problemi

bullet

Riscrivere il programma che calcola un array con i numeri di Fibonacci, utilizzando una routine che riceve (in $a0 e $a1) due interi e ne restituisce (in $v0) la somma.

bullet

Scrivere come vengono tradotti dall'assemblatore le istruzioni blt, bge, bgt, ble.

Alcuni link utili:

bulletUna presentazione comparata delle Architetture RISC (Patterson-Hennessy)

Modificato il: 30/09/2003
Vittorio Scarano
Dipartimento di Informatica ed Applicazioni "R.M. Capocelli"
Università degli Studi di Salerno
vitsca@unisa.it