Architettura del calcolatore (Seconda parte)
|
|
|
- Adelaide Bruni
- 7 anni fa
- Visualizzazioni
Transcript
1 Architettura del calcolatore (Seconda parte) Ingegneria Meccanica e dei Materiali Università degli Studi di Brescia Prof. Massimiliano Giacomin
2 LINGUAGGIO E ORGANIZZAZIONE DEL CALCOLATORE Linguaggio assembly add $r0, $r1, $r2 Programma Assemblatore Linguaggio macchina HARDWARE A livello assembly, si prescinde dalla codifica binaria delle istruzioni A livello di linguaggio macchina, si prescinde da come vengono implementate le istruzioni (es. codifica numeri, ecc. ecc.) Informatica e Programmazione Università di Brescia 2
3 ORGANIZZAZIONE DEL CALCOLATORE: RICHIAMI Periferia (insieme delle periferiche) sottosistema di ingresso-uscita sottosistema unità centrale-memoria interfaccia di ingresso-uscita interfaccia di ingresso-uscita unità centrale memoria centrale bus di sistema Elementi di Informatica e Programmazione Università di Brescia 3
4 UNITA CENTRALE - MEMORIA CPU - fetch - decode - execute BUS COMANDI BUS DATI BUS INDIRIZZI Elementi di Informatica e Programmazione Università di Brescia 4
5 UNITA CENTRALE (CPU - processore): COMPONENTI Batteria di registri Unità di controllo ALU BUS COMANDI BUS DATI BUS INDIRIZZI Elementi di Informatica e Programmazione Università di Brescia 5
6 I registri della CPU Costituiscono la memoria a breve termine del calcolatore: celle di memoria contengono sequenze di bit di dimensioni limitate (es. 32 bit) tempo di accesso molto ridotto Il loro numero e la loro capacità dipendono dallo specifico processore ES: processori a 16, 32 o 64 bit ES: processore con 16, 32, 64 registri Utilizzati per immagazzinare informazioni necessarie per eseguire le istruzioni Si dividono in registri di uso generale e registri speciali Elementi di Informatica e Programmazione Università di Brescia 6
7 Registri di uso generale Sono quelli visti finora: contengono operandi e i risultati delle istruzioni da eseguire Gli indirizzi di registro (ovvero, i numeri dei registri) sono specificati nei campi operando delle istruzioni ESEMPIO GIA VISTO: sub $r0, $r1, $r2 \\ $r0 = $r1-$r2 operandi codice operativo 0001 destinazione sorgente1 sorgente Elementi di Informatica e Programmazione Università di Brescia 7
8 Registri speciali Program counter (PC), anche chiamato Instruction Pointer: memorizza l indirizzo della prossima istruzione da eseguire (con cui accedere alla memoria) NB: deve essere incrementato ad ogni istruzione eseguita Instruction register (IR): memorizza l istruzione da eseguire (prelevata dalla memoria) Processor Status Word (PSW), detto anche FLAGS: contiene informazioni sullo stato del processore, p.es. memorizzando le condizioni che si verificano in seguito all esecuzione di una istruzione o le modalità di funzionamento del processore Elementi di Informatica e Programmazione Università di Brescia 8
9 ALU (Unità Aritmetico/Logica) E il circuito che svolge le operazioni aritmetiche (+, -, ) e logiche (and, or, not, ) sugli operandi forniti in ingresso Quanti bit? Comando di selezione dell operazione ALU Bit di zero, segno, riporto, overflow Elementi di Informatica e Programmazione Università di Brescia 9
10 Unità di Controllo Coordina il funzionamento delle varie unità della CPU nell esecuzione dei programmi Per farlo, manda segnali di controllo a: - Registri (segnali di lettura e scrittura valori) - ALU (selezione operazione da effettuare), - memoria centrale e interfacce di ingresso-uscita: comandi di lettura e scrittura attraverso il bus comandi Elementi di Informatica e Programmazione Università di Brescia 10
11 Ciclo macchina No FETCH DECODE EXECUTE HALT? Sì L unità di controllo opera in modo ciclico, ripetendo indefinitamente i passi: 1. Prelievo dell istruzione (fetch) e incremento PC 2. Decodifica dell istruzione (decode) 3. Esecuzione dell istruzione (execute) detta anche attivazione Elementi di Informatica e Programmazione Università di Brescia 11
12 Un calcolatore elementare Memoria centrale registri R0 R1 Rn PSW PC IR scrittura altre linee di comando lettura Ra ALU Rc Rb OPERAZIONE lettura/ scrittura unità di controllo CPU comandi indirizzi dati Elementi di Informatica e Programmazione Università di Brescia 12
13 Esempio: esecuzione di una istruzione add $r2, $r4, $r2 è somma il contenuto del registro r 4 al contenuto del registro r 2 e memorizza il risultato in r 2 PC add $r2, $r4, $r lw $r4, $r2, 4 Programma in memoria in linguaggio macchina Elementi di Informatica e Programmazione Università di Brescia 13
14 PASSO 1: fetch memoria centrale registri R0 R1 Rn Ra ALU Rb PSW PC IR leggi Rc lettura PC linee di comando unità di controllo CPU lettura comandi indirizzi istruzione dati Elementi di Informatica e Programmazione Università di Brescia 14
15 PASSO 2: decode memoria centrale registri R1 R2 Rn Ra ALU Rb PSW PC IR Rc leggi linee di comando unità di controllo CPU comandi indirizzi dati Elementi di Informatica e Programmazione Università di Brescia 15
16 PASSO 3: EXECUTE-1 memoria centrale registri R1 R2 R4 leggi leggi Ra ALU Rb PSW PC IR Rc unità di controllo CPU comandi indirizzi dati Elementi di Informatica e Programmazione Università di Brescia 16
17 PASSO 4: EXECUTE-2 memoria centrale registri R1 R2 R4 PSW PC IR somma Ra ALU Rc Rb unità di controllo CPU comandi indirizzi dati Elementi di Informatica e Programmazione Università di Brescia 17
18 PASSO 5: EXECUTE-3 memoria centrale registri R1 R2 R4 Ra ALU Rb PSW PC IR Rc unità di controllo CPU comandi indirizzi dati Elementi di Informatica e Programmazione Università di Brescia 18
19 Spiegazione Ciclo Macchina (sul calcolatore elementare) PRELIEVO L unità di controllo manda il comando di lettura alla memoria con l indirizzo in PC della prossima istruzione da eseguire e l istruzione letta dalla memoria viene copiata in IR: 1) invio sul bus indirizzi del valore presente in PC PC bus indirizzi 2) invio sul bus di controllo del comando di lettura dalla memoria M[PC] bus dati 3) lettura dal bus dati e memorizzazione dell istruzione in IR bus dati IR Contestualmente, incremento del contenuto di PC PC + 1 PC DECODIFICA Esame dell istruzione in IR per determinare le operazioni da svolgere Unità di controllo riceve il codice operativo da IR ESECUZIONE Le unità interessate all esecuzione vengono opportunamente comandate dall unità di controllo (sulla base del codice operativo) Il ciclo ricomincia dalla fase di prelievo dell istruzione successiva Elementi di Informatica e Programmazione Università di Brescia 19
20 Spiegazione esempio: PASSO 1 (fetch) Carica istruzione in IR (si indica di solito con IR (PC) ) : IR e aggiorna PC PC PC + 1 ( punta alla prossima istruzione) - L indirizzo dell istruzione contenuto nel PC viene inviato sul bus indirizzi - Contemporaneamente viene attivato il segnale leggi del bus di controllo - La memoria accede alla cella indirizzata e ne pone il contenuto (la prossima istruzione da eseguire) sul bus dati - Tale istruzione viene quindi trasferita in IR (U.C. attiva il segnale di scrittura) - La CPU incrementa il valore in PC [Non indicato in figura] Elementi di Informatica e Programmazione Università di Brescia 20
21 Spiegazione esempio: PASSO 2 (decode) ISTRUZIONE in IR add $r2 $r4 $r2 In pratica, l unità di controllo - legge (riceve) il contenuto di IR - effettua la decodifica dell istruzione (dai bit del codice operativo scopre che è una add) - identifica gli operandi (i registri coinvolti nell operazione) Elementi di Informatica e Programmazione Università di Brescia 21
22 PASSO 3 (Execute): può essere suddiviso in diversi passi Passo 3.1: Caricamento valori dei registri R A R 2 R B R 4 Passo 3.2: Somma (operazione con ALU) R C R A + R B Passo 3.3: Memorizza risultato in R 2 R 2 R C TOTALE = 5 passi Unità di controllo manda segnali di lettura e scrittura Unità di controllo manda segnali di lettura e scrittura + comando ALU per selezione operazione Unità di controllo manda segnali di lettura e scrittura Elementi di Informatica e Programmazione Università di Brescia 22
23 SEGNALE DI CLOCK Segnale di clock: segnale generato da un generatore di impulsi elettrici, raggiunge le unità della CPU Segnale periodico (onda quadra): periodo (o tempo di ciclo) predeterminato Tutte le attività elementari della CPU sono sincronizzate rispetto al segnale di clock: ad ogni ciclo un nuovo passo! Periodo di clock (durata di un ciclo) Elementi di Informatica e Programmazione Università di Brescia 23
24 Segnale di clock: misure Periodo di clock: normalmente misurato in ns (nanosecondi, 10-9 secondi) Frequenza di clock: misurata in Hertz (1Hz = 1 ciclo/secondo) Esempio: clock con frequenza 2Ghz: 2 miliardi di impulsi al secondo, periodo = 1/(2x10 9 ) = 0,5x10-9 = 0,5 ns Come visto, i passi per compiere le operazioni sono eseguiti in cicli di clock successivi: Es. 5 passi (5 cicli di clock). Se un ciclo è di 0.5 ns, occorrono 2.5 ns per svolgere una istruzione di addizione Il numero di passi è diverso da istruzione a istruzione e dipende da come è fatta la specifica CPU! Elementi di Informatica e Programmazione Università di Brescia 24
25 LA MEMORIA CENTRALE: RICHIAMI linee comandi linee dati linee indirizzi Un insieme di parole di memoria consecutive, ciascuna identificata da un indirizzo Ogni parola memorizza una sequenza di n bit, dove n è lo stesso per tutte le parole e dipende dal calcolatore (es: 16, 32, 64 bit) Due operazioni possibili: lettura e scrittura di una parola all indirizzo specificato ( cancellazione non ha senso!) Elementi di Informatica e Programmazione Università di Brescia 25
26 Memoria RAM e memoria ROM La memoria centrale è divisa in realtà in due parti: - memoria RAM: si può leggere e scrivere, volatile - memoria ROM: memoria a sola lettura, non volatile La memoria ROM include il BIOS (operazioni fondamentali, es. gestione periferiche fondamentali, inizializzazione del calcolatore) Oggi si usano memorie flash: non sono volatili e consentono la lettura e la scrittura (cfr. aggiornamento del BIOS) Elementi di Informatica e Programmazione Università di Brescia 26
27 Capacità della memoria Numero di byte che possono essere memorizzati: numero di parole x numero di byte per parola Unità di misura byte = 8 bit (2 3 bit) Prefissi Kilo (K): 2 10 = Mega (M): 2 20 = Giga (G): 2 30 = Tera (T): 2 40 = Elementi di Informatica e Programmazione Università di Brescia 27
28 Indirizzamento della memoria: una visione più realistica Le memorie in realtà consentono la lettura e scrittura anche di un singolo byte e utilizzano un indirizzamento a byte Un insieme di byte consecutivi, ciascuna identificata da un indirizzo Ogni byte memorizza 8 bit linee comandi linee dati linee indirizzi Elementi di Informatica e Programmazione Università di Brescia 28
29 Parole di memoria indirizzate con l indirizzo del primo byte ESEMPIO: parole di 4 byte Parola 0 Parola 1 Parola 2 linee comandi linee dati linee indirizzi ES: per leggere la parola 1: indirizzo 4 Nell esempio precedente (16 bit) fetch incrementa PC di 2 in realtà! Elementi di Informatica e Programmazione Università di Brescia 29
30 ESERCIZIO Data una memoria di 16 MB per la quale è possibile leggere parole di memoria di 4 byte, quante linee di indirizzo sono necessarie? 16 MB= 16*2 20 byte = 2 24 byte quindi servono 24 linee di indirizzo Elementi di Informatica e Programmazione Università di Brescia 30
31 APPENDICE (per i più appassionati)
32 EXECUTE: Schema più dettagliato lw con l uso di multiplexer (selettori) registri R4 R2 leggi leggi Ra Rb IR somma ALU Rc unità di controllo Elementi di Informatica e Programmazione Università di Brescia 32
33 PASSO 3: EXECUTE-1 registri R4 R2 leggi leggi Ra Rb IR somma ALU Rc unità di controllo Elementi di Informatica e Programmazione Università di Brescia 33
34 PASSO 4: EXECUTE-2 registri R4 R2 leggi leggi Ra Rb IR somma ALU Rc unità di controllo Elementi di Informatica e Programmazione Università di Brescia 34
35 PASSO 5: EXECUTE-3 registri R4 R2 leggi leggi Ra Rb IR somma ALU Rc unità di controllo Elementi di Informatica e Programmazione Università di Brescia 35
36 Prestazioni della memoria centrale Tempo di accesso: tempo ingressi stabili disponibilità dato (lettura) o completamento memorizzazione (scrittura) Tempo di ciclo: tempo che intercorre tra un operazione e la successiva (tra un operazione e l altra può esserci un intervallo) Velocità di trasferimento: numero di byte che possono essere trasferiti nell unità di tempo Memoria centrale: memoria ad accesso uniforme - RAM (stesso tempo di accesso e di ciclo per tutte le parole) Realizzata con tecnologie elettroniche Elementi di Informatica e Programmazione Università di Brescia 36
Introduzione all'architettura dei Calcolatori. Maurizio Palesi
Introduzione all'architettura dei Calcolatori Maurizio Palesi 1 Agenda Architettura generale di un Sistema di Elaborazione La memoria principale Il sottosistema di comunicazione La CPU Miglioramento delle
Architettura del Calcolatore
Giuseppe Manco Lezione 3 17 Ottobre 2003 Architettura del calcolatore Il calcolatore è uno strumento programmabile per la rappresentazione, la memorizzazione e l elaborazione delle informazioni un calcolatore
Il processore. Istituzionii di Informatica -- Rossano Gaeta
Il processore Il processore (detto anche CPU, ovvero, Central Processing Unit) è la componente dell unità centrale che fornisce la capacità di elaborazione delle informazioni contenute nella memoria principale
A.A. 2018/2019. CPU e Linguaggio Macchina FONDAMENTI DI INFORMATICA E PROGRAMMAZIONE. Docente Prof. Raffaele Pizzolante
A.A. 2018/2019 Docente Prof. Raffaele Pizzolante FONDAMENTI DI INFORMATICA E PROGRAMMAZIONE Architettura di Von Neumann Modello concettuale di un architettura di computer che permette di rappresentare,
Componenti di un processore
Componenti di un processore Unità di Controllo Bus Interno REGISTRI Program Counter (PC) Registro di Stato (SR) Registro Istruzioni (IR) Registri Generali Unità Aritmetico- Logica Registro Indirizzi Memoria
Architettura hardware
Architettura hardware la parte che si può prendere a calci Architettura dell elaboratore Sistema composto da un numero elevato di componenti, in cui ogni componente svolge una sua funzione elaborazione
Elementi di informatica
Elementi di informatica Architetture degli elaboratori Il calcolatore Un calcolatore è sistema composto da un elevato numero di componenti Il suo funzionamento può essere descritto se lo si considera come
Architettura dei calcolatori
Cos'è un calcolatore? Architettura dei calcolatori Esecutore automatico di algoritmi Macchina universale Elementi di Informatica Docente: Giorgio Fumera Corso di Laurea in Edilizia Facoltà di Architettura
Architettura di un calcolatore e ciclo macchina. Appunti per la classe 3 Dinf
Architettura di un calcolatore e ciclo macchina Appunti per la classe 3 Dinf Il Sistema di Elaborazione Computer Hardware Software 2 Hardware Struttura fisica del calcolatore formata dai circuiti elettronici
Componenti e connessioni. Capitolo 3
Componenti e connessioni Capitolo 3 Componenti principali CPU (Unità Centrale di Elaborazione) Memoria Sistemi di I/O Connessioni tra loro Architettura di Von Neumann Dati e instruzioni in memoria (lettura
Il Processore: l unità di controllo
Il Processore: l unità di controllo La frequenza con cui vengono eseguiti i cicli di esecuzione è scandita da una componente detta clock Ad ogni impulso di clock la UC esegue un ciclo di esecuzione di
Architettura dei computer
Architettura dei computer In un computer possiamo distinguere quattro unità funzionali: il processore la memoria principale (memoria centrale, RAM) la memoria secondaria i dispositivi di input/output La
Architettura del Calcolatore
Francesco Folino FUNZIONI DI UN CALCOLATORE Elaborazione Memorizzazione Trasferimento Controllo MACCHINA DI VON NEUMANN TRASFERIMENTO Obiettivo: permettere lo scambio di informazioni tra le varie componenti
Architettura dei computer
Architettura dei computer In un computer possiamo distinguere quattro unità funzionali: il processore la memoria principale la memoria secondaria i dispositivi di input/output 1 Fornisce la capacità di
Architettura di un elaboratore. Il modello di von Neumann
Architettura di un elaboratore Il modello di von Neumann 4(5) componenti fondamentali unita di elaborazione: CPU memoria centrale: RAM periferiche (memoria di massa) bus di sistema bus di sistema CPU RAM
Il Processore. Informatica di Base -- R.Gaeta 27
Il Processore Il processore (detto anche CPU, ovvero, Central Processing Unit) è la componente dell unità centrale che fornisce la capacità di elaborazione delle informazioni contenute nella memoria principale
ARCHITETTURA DI UN SISTEMA DI ELABORAZIONE
ARCHITETTURA DI UN SISTEMA DI ELABORAZIONE Il computer o elaboratore è una macchina altamente organizzata capace di immagazzinare, elaborare e trasmettere dati con notevole precisione e rapidità. Schematicamente
ARCHITETTURA DI UN ELABORATORE! Ispirata al modello della Macchina di Von Neumann (Princeton, Institute for Advanced Study, anni 40).!
ARCHITETTURA DI UN ELABORATORE! Ispirata al modello della Macchina di Von Neumann (Princeton, Institute for Advanced Study, anni 40).! MACCHINA DI VON NEUMANN! UNITÀ FUNZIONALI fondamentali! Processore
Elementi di informatica
Elementi di informatica Architetture degli elaboratori Il calcolatore Un calcolatore è sistema composto da un elevato numero di componenti Il suo funzionamento può essere descritto se lo si considera come
Componenti principali
Componenti e connessioni Capitolo 3 Componenti principali n CPU (Unità Centrale di Elaborazione) n Memoria n Sistemi di I/O n Connessioni tra loro Architettura di Von Neumann n Dati e instruzioni in memoria
Componenti principali. Programma cablato. Architettura di Von Neumann. Programma cablato. Cos e un programma? Componenti e connessioni
Componenti principali Componenti e connessioni Capitolo 3 CPU (Unita Centrale di Elaborazione) Memoria Sistemi di I/O Connessioni tra loro 1 2 Architettura di Von Neumann Dati e instruzioni in memoria
Il modello di Von Neumann
Il modello di Von Neumann Appunti di STA per le classi seconde ind. informatiche Page 1 Il modello architetturale Per modello architetturale, si intende la descrizione delle parti del sistema e la loro
Struttura di un elaboratore
Struttura di un elaboratore Fondamenti di Informatica 1 Modello architetturale di un computer Ogni computer è costituito da un insieme di blocchi funzionali tra loro interconnessi da sistemi di comunicazioni,
Architettura dei calcolatori
Architettura dei calcolatori Moreno Marzolla Dipartimento di Informatica Scienza e Ingegneria (DISI) Università di Bologna http://www.moreno.marzolla.name/ Architettura dei calcolatori 2 Cos'è un computer?
Il linguaggio del calcolatore: linguaggio macchina e linguaggio assembly
Il linguaggio del calcolatore: linguaggio macchina e linguaggio assembly Percorso di Preparazione agli Studi di Ingegneria Università degli Studi di Brescia Docente: Massimiliano Giacomin Richiamo sull
La memoria principale
La memoria principale DRAM (Dynamic RAM) il contenuto viene memorizzato per pochissimo tempo per cui deve essere aggiornato centinaia di volte al secondo (FPM, EDO, SDRAM, RDRAM) SRAM (Static RAM) veloce
CPU a singolo ciclo. Lezione 18. Sommario. Architettura degli Elaboratori e delle Reti
Architettura degli Elaboratori e delle Reti Lezione 18 CPU a singolo ciclo Proff. A. Borghese, F. Pedersini Dipartimento di Scienze dell Informazione Università degli Studi di Milano L 18 1/2 Sommario!
Architettura dei Calcolatori Elettronici
Architettura dei Calcolatori Elettronici Prof. Orazio Mirabella L architettura del Calcolatore: esame delle sue caratteristiche Fondamentali Capacità di eseguire sequenze di istruzioni memorizzate Calcolatore
Il Ciclo Fetch-Decode-Execute. C Nyssen/Aberdeen College 2003
Il Ciclo Fetch-Decode-Execute C Nyssen/Aberdeen College 2003 Linguaggio Assembler Op code (Mnemonico) Operando #assembly code program 0000 LDA-24 #loads 0001 ADD-25 #adds 0002 HLT #stops #end of program
Richiami sull architettura del processore MIPS a 32 bit
Caratteristiche principali dell architettura del processore MIPS Richiami sull architettura del processore MIPS a 32 bit Architetture Avanzate dei Calcolatori Valeria Cardellini E un architettura RISC
Architettura di un processore basato su registri generali.
Architettura di un processore basato su registri generali. M. Esposito ([email protected]) 26 febbraio 2007 In Fig. 1 è riportato uno schema di principio che raffigura l architettura di un processore basato
La macchina di Von Neumann
Università degli Studi di Palermo Facoltà di Ingegneria La macchina di Edoardo Ardizzone & Ignazio Infantino Appunti per il corso di Fondamenti di Informatica Corso di Laurea in Ingegneria Informatica
Architettura di una CPU
Massimo VIOLANTE Politecnico di Torino Dipartimento di Automatica e Informatica Sommario Organizzazione di un processore Linguaggio macchina Modi di indirizzamento Tipi di istruzioni 2 M. Violante 1.1
Architettura dei calcolatori. Architettura dei calcolatori. Cos'è un computer?
Moreno Marzolla Dipartimento di Informatica Scienza e Ingegneria (DISI) Università di Bologna http://www.moreno.marzolla.name/ 2 Cos'è un computer? 3 Cos'è un computer? E' un dispositivo in grado di Elaborare
Richiami sull architettura del processore MIPS a 32 bit
Richiami sull architettura del processore MIPS a 32 bit Architetture Avanzate dei Calcolatori Valeria Cardellini Caratteristiche principali dell architettura del processore MIPS E un architettura RISC
Sistemi di Elaborazione delle Informazioni
SCUOLA DI MEDICINA E CHIRURGIA Università degli Studi di Napoli Federico II Corso di Sistemi di Elaborazione delle Informazioni Dott. Francesco Rossi a.a. 2016/2017 1 Programma del corso Informatica di
