La macchina programmata Instruction Set Architecture (1)

Documenti analoghi
Il Processore: i registri

Architettura hardware

Architettura del calcolatore

C. P. U. MEMORIA CENTRALE

CPU. Maurizio Palesi

Corsi Speciali Abilitanti Indirizzo 2: Fisico-Matematico Modulo Didattico: Elementi di Informatica Classi: 48/A TEST D INGRESSO

Introduzione all'architettura dei Calcolatori

Struttura del calcolatore

Parte II.2 Elaboratore

Memoria Secondaria o di Massa

Corso di Calcolatori Elettronici I A.A Il processore Lezione 18

Architettura della CPU e linguaggio assembly Corso di Abilità Informatiche Laurea in Fisica. prof. ing. Corrado Santoro

1.4a: Hardware (Processore)

Lezione 3: Architettura del calcolatore

Fondamenti di informatica: un po di storia

DIMENSIONI E PRESTAZIONI

Dispensa di Informatica I.1

Il processore. Il processore. Il processore. Il processore. Architettura dell elaboratore

Lezione 1: L architettura LC-3 Laboratorio di Elementi di Architettura e Sistemi Operativi 10 Marzo 2014

Vari tipi di computer

CALCOLATORI ELETTRONICI

L architettura del calcolatore (Prima parte)

Programmazione in Java e gestione della grafica (I modulo) Lezione 1: Presentazione corso

Il calcolatore elettronico. Parte dei lucidi sono stati gentilmente forniti dal Prof. Beraldi

Lezione n.19 Processori RISC e CISC

Architettura di tipo registro-registro (load/store)

Esame di INFORMATICA

L architettura di riferimento

- Algoritmi ed esecutori di algoritmi - ALGORITMI MACCHINA DI VON NEUMANN

Architettura dei calcolatori I parte Introduzione, CPU

Informatica per la Storia dell Arte. Anno Accademico 2014/2015

Interpreti e compilatori La macchina di Von Neumann

Laboratorio di Informatica

SOMMARIO. La CPU I dispositivi iti i di memorizzazione Le periferiche di Input/Output. a Montagn Maria

introduzione I MICROCONTROLLORI

Architettura di un calcolatore: introduzione

Elementi di Informatica e Programmazione. # Memoria di massa. Problema: comprare un PC. Architettura del calcolatore. Architettura di Von Neumann

RETI E SISTEMI INFORMATIVI

IL COMPUTER APPUNTI PER LEZIONI NELLE 3 CLASSI LA MACCHINA DELLA 3 RIVOLUZIONE INDUSTRIALE. A CURA DEL Prof. Giuseppe Capuano

Programmazione. Dipartimento di Matematica. Ing. Cristiano Gregnanin. 25 febbraio Corso di laurea in Matematica

Corso di Informatica Applicata. Lezione 3. Università degli studi di Cassino

Architettura di un calcolatore

PROVA INTRACORSO TRACCIA A Pagina 1 di 6

Dispensa di Fondamenti di Informatica. Architettura di un calcolatore

Contenuti. Visione macroscopica Hardware Software. 1 Introduzione. 2 Rappresentazione dell informazione. 3 Architettura del calcolatore

INFORMATICA CORSO DI INFORMATICA DI BASE ANNO ACCADEMICO 2015/2016 DOCENTE: SARRANTONIO ARTURO

Architettura del Set di Istruzioni (ISA)

Struttura del Calcolatore Corso di Abilità Informatiche Laurea in Fisica. prof. Corrado Santoro

Conoscere il computer ed il software di base. Concetti base dell ICT TIPI DI COMPUTER. Prof. Francesco Procida

Von Neumann. John Von Neumann ( )

CALCOLATORI ELETTRONICI 15 aprile 2014

L unità di controllo. Il processore: unità di controllo. Le macchine a stati finiti. Struttura della macchina a stati finiti

Programmazione per Bioinformatica Il Calcolatore e la Programmazione. Dr Damiano Macedonio Università di Verona

Architettura di un computer

Fondamenti di Informatica PROBLEMI E ALGORITMI. Fondamenti di Informatica - D. Talia - UNICAL 1

I componenti di un Sistema di elaborazione. CPU (central process unit)

Hardware di un Computer

Informatica B a.a 2005/06 (Meccanici 4 squadra) PhD. Ing. Michele Folgheraiter

Scuola Secondaria di Primo Grado Anna Frank Nome Cognome classe anno sc. 2008/09 INFORMATICA

Tutorato Architettura degli elaboratori

Informatica - A.A. 2010/11

Il processore - CPU (CENTRAL PROCESSING UNIT)

Il processore - CPU. PDF created with pdffactory trial version

UNITÀ DI ELABORAZIONE (CPU) UNITÀ DI ELABORAZIONE (CPU) Opcode OpCode Operazione

Fondamenti di Informatica. Allievi Automatici A.A Nozioni di Base

Richiami di informatica e programmazione

Il Software. Il software del PC. Il BIOS

CALCOLATORI ELETTRONICI 29 giugno 2011

Architettura dei computer

[

Corso: Informatica+ Andrea Cremonini. Lezione del 20/10/2014

Hazard sul controllo. Sommario

Informatica di Base - 6 c.f.u.

23/02/2014. Dalla scorsa lezione. La Macchina di Von Neumann. Uomo come esecutore di algoritmi

CLASSE III A I.T.I. (ABACUS) SISTEMI DI ELABORAZIONE E TRASMISSIONE DEI DATI VERIFICA DI RECUPERO

In un modello a strati il SO si pone come un guscio (shell) tra la macchina reale (HW) e le applicazioni 1 :

Lez. 3 L elaborazione (II parte) Prof. Pasquale De Michele Gruppo 2

Ing. Paolo Domenici PREFAZIONE

Componenti di base di un computer

La microarchitettura. Didattica della strumentazione digitale e sistemi a microprocessore anno accademico pagina 1

Architettura dei calcolatori

Calcolo numerico e programmazione Architettura dei calcolatori

Architettura (10/9/2003) Pag. 1/6. Cognome e Nome (in stampatello):

L Architettura di un Calcolatore

INFORMATICA 1 L. Mezzalira

ARCHITETTURE MICROPROGRAMMATE. 1. Necessità di un architettura microprogrammata 1. Cos è un architettura microprogrammata? 4

Ciclo di Istruzione. Ciclo di Istruzione. Controllo. Ciclo di Istruzione (diagramma di flusso) Lezione 5 e 6

Calcolatori Elettronici A a.a. 2008/2009

Calcolatori Elettronici

CALCOLATORI ELETTRONICI A cura di Luca Orrù. Lezione n.7. Il moltiplicatore binario e il ciclo di base di una CPU

Software di sistema e software applicativo. I programmi che fanno funzionare il computer e quelli che gli permettono di svolgere attività specifiche

L informatica INTRODUZIONE. L informatica. Tassonomia: criteri. È la disciplina scientifica che studia

Software. Algoritmo. Algoritmo INFORMATICA PER LE DISCIPLINE UMANISTICHE 2 (13042)

Esercitazione sulle CPU pipeline

Informatica. Teoria. L architettura dei PC Storia dell informatica Periferiche Reti - Software. Marco Brama

Anatomia e fisiologia del computer: l architettura del calcolatore

Logica e codifica binaria dell informazione

A.A. 2018/2019. CPU e Linguaggio Macchina FONDAMENTI DI INFORMATICA E PROGRAMMAZIONE. Docente Prof. Raffaele Pizzolante

SISTEMI INFORMATIVI AZIENDALI

Introduzione. Laboratorio di Calcolo Corso di Laurea in Fisica. Università degli Studi di Roma La Sapienza

Transcript:

Corso di Laurea in Informatica Architettura degli elaboratori a.a. 2014-15 La macchina programmata Instruction Set Architecture (1) Schema base di esecuzione Istruzioni macchina

Outline Componenti di un computer ( big picture ) Tre aspetti: Cosa fa ( Istruction Set Architecture, ISA) Come si programma (Assembly language) Come è fatto (circuiti e Datapath) Esecuzione di una istruzione Schema di principio MOLTO semplificato (ma generale!) Esempio: somma tra registri Esecuzione di un programma memorizzato Ciclo elementare fetch/execute) Formato delle istruzioni Esempio: istruzioni MIPS R-type Rappresentazione simbolica (Assembly) Catena programmativa (cenni) Simulatori (emulatori): SPIM e MARS A.A 2014-15 ISA (1) 2

The big picture Computer Periferiche Processor ALU Control Datapath Memory Input Output Memorie di massa ( Storage ) Tastiera Mouse Touch screen Monitor Interfacce di rete Sensori Attuatori... A.A 2014-15 ISA (1) 3

Processor: istruzione elementare su registri Istruzione da eseguire (codificata come insieme di bit) (esempio): R1 + R2 -> R3 Processor (CPU, Central Processing Unit) Current instruction Registers Decodifica istruzione Control Unit R0 R1 R2 R3 Segnali di controllo ai circuiti Elaborazione dei dati Arithmetic Logic Unit Rn Flussi dei dati A.A 2014-15 ISA (1) 4

Commenti sulla slide precedente E uno schema di principio ultra-semplificato ma cattura gli aspetti fondamentali del comportamento di un processore ( Von Neumann Machine ) La sequenza delle operazioni è puramente logica A livello ISA si vedono Registri e Memoria (vedi seguito) Molte implementazioni possibili Hardware: circuiti combinatori e sequenziali Vedere lezioni future su circuiti, Datapath etc. Circuiti pilotati dal clock Tempo di esecuzione di una istruzione: almeno un ciclo di clock Frequenza del clock: 1 GHz = 10 9 Hz Ragionare sugli ordini di grandezza dei tempi!!! Software: interprete (e.g. SPIM, Java virtual machine ) Memoria: un insieme di celle Che contengono bit... interpretabili in modi diversi (Dati o istruzioni) A.A 2014-15 ISA (1) 5

Da dove arrivano le istruzioni? (Fetch/execute) Indirizzo in memoria della prossima istruzione da eseguire Processor Memory Address Incremento PC per puntare alla istruzione successiva Esecuzione istruzione (vedi slide precedente) Program Counter Current instruction Control ALU Registers Memory 00100111101111011111111111100000 10101111101111110000000000010100 10101111101001000000000000100000 10101111101001010000000000100100 10101111101000000000000000011000 10101111101000000000000000011100 10001111101011100000000000011100 10001111101110000000000000011000 00000001110011100000000000011001 00100101110010000000000000000001 00101001000000010000000001100101 10101111101010000000000000011100 00000000000000000111100000010010 00000011000011111100100000100001 00010100001000001111111111110111 10101111101110010000000000011000 00111100000001000001000000000000 10001111101001010000000000011000 00001100000100000000000011101100 00100100100001000000010000110000 10001111101111110000000000010100 00100111101111010000000000100000 00000011111000000000000000001000 00000000000000000001000000100001 Le istruzioni stanno in memoria una dopo l altra (di solito ) Memory Content Bisogna aspettare un po A.A 2014-15 ISA (1) 6

Commenti: Registri di CPU: dentro il processore pochi (p. es. 32) veloci (coincide con il clock) costosi NB: questi sono quelli che si chiamano di solito Registri Memoria grande (p. es. 1GB = 1000000000 byte (relativamente) lenta (alcuni cicli di clock) mediamente costosa NB: anche la memoria è un insieme di registri, chiamati di solito celle o locazioni Memoria di massa ( Storage ) E una periferica molto grande (da 100 GigaB a TeraByte) lenta (Millisecondi) poco costosa persistente A.A 2014-15 ISA (1) 7

Filosofie di progetto della CPU RISC (Reduced Instruction Set Computing) Poche istruzioni semplici Struttura circuitalmente semplice Esecuzione veloce di una singola istruzione Occorrono più istruzioni per fare cose anche semplici Esempio: MIPS, ARM, PowerPC CISC (Complex Instruction Set Computing Istruzioni complesse Struttura circuitalmente complicata Esecuzione più lenta di una singola istruzione Occorrono meno istruzioni Esempio: Intel x86 e tutti I derivati (Pentium etc.) Nel seguito del corso: MIPS (come esempio!) SPIM = simulatore sw di MIPS versioni per diversi sistemi (Windows, Mac, Linux) MARS = simulatore sw di MIPS Scritto in Java (portabile su diversi sistemi) A.A 2014-15 ISA (1) 8

Architettura MIPS e linguaggio macchina RISC: semplice, uniforme e facile (?) da capire 32 registri di 32 bit Istruzioni di 32 bit Quali operazioni devono essere rappresentate dalle istruzioni? Manipolazioni di dati solo sui registri Trasferimento di dati tra memoria e registri Alterazione del flusso di controllo ( salti ) Problema architetturale: come esprimere tutti I tipi di operazioni in 32 bit mantenendo il più possibile omogenea la struttura delle istruzioni? Tre formati delle istruzioni R-type I-type J-type Attenzione: I tre formati non coincidono esattamente con le tre tipologie di operazioni A.A 2014-15 ISA (1) 9

Istruzione R-Type quello che si vuole fare (in italiano) numeri decimali (per comodità) somma i contenuti del registro 8 e del registro 9 e metti il risultato nel registro 10 op (operation code) tipo operazione rs primo registro sorgente rt secondo registro sorgente rd registro destinazione shamt shift funct variante della operazione 000000 01000 01001 01010 00000 100000 6 bits 5 bits 5 bits 5 bits 5 bits 6 bits 00000001000010010101000000100000 I bit che sono in memoria e sono trasferiti a UC L Unità di Controllo sa come interpretare i singoli campi 0000 0001 0000 1001 0101 0000 0010 0000 gli stessi spacchettati in quartetti (il computer non lo sa ) 0x 1 0 9 5 0 2 0 rappresentazione esadecimale utile (ahimè) per gli umani A.A 2014-15 ISA (1) 10

Formato simbolico (assembly) Un formato un po più comodo linguaggio sorgente (un programma è un testo) add $10, $8, $9 codici operativi simbolici nomi simbolici di registri ($xxx) nomi simbolici di variabili (che diventeranno indirizzi) (attenzione all ordine degli operandi ) usato da chi programma qualcuno (eg un programma assemblatore) traduce da sorgente a eseguibile quello che viene caricato in memoria ed eseguito è sempre l eseguibile (codice macchina) Il simulatore si occupa anche di queste cose, ma non facciamo confusione fra linguaggio sorgente e linguaggio macchina!!! A.A 2014-15 ISA (1) 11