Introduzione all'architettura dei Calcolatori. Maurizio Palesi

Documenti analoghi
Elementi di informatica

Elementi di informatica

La macchina di Von Neumann. UNIVERSITÀ DEGLI STUDI DEL SANNIO Benevento DING DIPARTIMENTO DI INGEGNERIA CORSO DI "PROGRAMMAZIONE I"

CPU. Maurizio Palesi

L ARCHITETTURA DEI CALCOLATORI. Il processore La memoria centrale La memoria di massa Le periferiche di I/O

Il calcolatore. È un sistema complesso costituito da un numero elevato di componenti. è strutturato in forma gerarchica

CPU. Dispositivi di I/O. Bus. Terminale. Stampante. Memoria centrale. Unità disco CPU. Unità di controllo. Unità aritmetico logica (ALU) Registri

Capitolo 4 Parte 1 Le infrastrutture hardware. Il processore La memoria centrale La memoria di massa Le periferiche di I/O

Pag. 1. Informatica Facoltà di Medicina Veterinaria a.a. 2012/13 prof. Stefano Cagnoni. Architettura del calcolatore (parte II)

Struttura di un elaboratore

Introduzione all'architettura dei Calcolatori

Fondamenti di Informatica A. A / 1 9

L architettura del calcolatore (Seconda parte)

Corso di Informatica

Architettura del calcolatore (Seconda parte)

Architettura del Calcolatore

HARDWARE 1.4a: (Processore)

Architettura di von Neumann

Corso integrato di Sistemi di Elaborazione. Modulo I. Prof. Crescenzio Gallo.

Architettura. Argomenti. Modello di Von Neumann. Corso di Laurea in Ingegneria Biomedica aa 2003/2004. Ing. Antonio Coronato. Modello di Von Neumann

Richiami sull architettura del processore MIPS a 32 bit

Mari, Buonanno, Sciuto Informatica e cultura dell informazione McGraw-Hill 3/2/2010

CPU a singolo ciclo. Lezione 18. Sommario. Architettura degli Elaboratori e delle Reti

Il processore. Istituzionii di Informatica -- Rossano Gaeta

Richiami sull architettura del processore MIPS a 32 bit

Capitolo 2. Elaborazione dei dati. Mauro Giacomini Pearson Addison-Wesley. All rights reserved

CPU a singolo ciclo. Lezione 18. Sommario. Architettura degli Elaboratori e delle Reti. Proff. A. Borghese, F. Pedersini

Architettura del Calcolatore

Funzionalità di un calcolatore. Il calcolatore: modello architetturale. Lo schema di riferimento. L hardware dei sistemi di elaborazione (prima parte)

Terza lezione 21 ottobre 2016

La CPU e la Memoria. Sistemi e Tecnologie Informatiche 1. Struttura del computer. Sistemi e Tecnologie Informatiche 2

Componenti di un processore

Architettura dei calcolatori

Funzionalità di un calcolatore. Il calcolatore: modello architetturale. Lo schema di riferimento. L hardware dei sistemi di elaborazione (prima parte)

Architettura del. Calcolatori (1) Calcolatori (2) L architettura di Von Neumann. CPU RAM Memoria I/O. secondaria. bus

ARCHITETTURA DI UN ELABORATORE! Ispirata al modello della Macchina di Von Neumann (Princeton, Institute for Advanced Study, anni 40).!

Componenti principali

Architettura dei Calcolatori. Macchina di von Neumann /2. Macchina di von Neumann /1. Architettura dei Calcolatori

Un quadro della situazione. Lezione 14 Il Set di Istruzioni (2) Dove siamo nel corso. I principi di progetto visti finora. Cosa abbiamo fatto

Componenti principali. Programma cablato. Architettura di Von Neumann. Programma cablato. Cos e un programma? Componenti e connessioni

Corso di Alfabetizzazione Informatica 2001/2002. La CPU. F. Tortorella Università degli Studi. di Cassino

Introduzione all Architettura dei Calcolatori Elettronici

Architettura hardware

Architettura di un calcolatore e linguaggio macchina. Primo modulo Tecniche della programmazione

Ogni CPU è in grado di eseguire un insieme limitato di istruzioni macchina codificate in binario secondo il seguente schema generale.

Il processore: unità di elaborazione

Processore. Memoria I/O. Control (Parte di controllo) Datapath (Parte operativa)

Le istruzioni del linguaggio gg macchina corrispondono ad operazioni elementari di elaborazione operazioni aritmetiche

Componenti e connessioni. Capitolo 3

Il sistema di elaborazione

L'architettura del processore MIPS

Architettura dei calcolatori

Architettura dell elaboratore

Architettura dell elaboratore

Architettura di un calcolatore: primi cenni introduttivi

Progettazione dell unità di elaborazioni dati e prestazioni. Il processore: unità di elaborazione. I passi per progettare un processore

Architettura di un calcolatore: primi cenni introduttivi. Calcolatore: sottosistemi

Progetto CPU a singolo ciclo

Sistemi e reti CPU Concetti di base

Il Processore: l unità di controllo

Architettura dei calcolatori. Architettura dei calcolatori. Cos'è un computer?

Informatica. Mario Pavone - Dept. Mathematics & Computer Science - University of Catania. Trasferimento. Ambiente esterno.

Architettura degli Elaboratori Lez. 8 CPU MIPS a 1 colpo di clock. Prof. Andrea Sterbini

Il processore - CPU (CENTRAL PROCESSING UNIT)

Architettura degli elaboratori CPU a ciclo singolo

Elementi di informatica

Programmazione A.A Architettura dei Calcolatori. ( Lezione V ) Componenti hardware e loro schema funzionale

Architettura dei calcolatori e sistemi operativi. Architettura MIPS e set istruzioni Capitolo 2 P&H

CPU. ALU e Registri della CPU. Elementi della CPU. CPU e programmazione (Parte 1) Central Processing Unit, processore

Architettura di un calcolatore: introduzione. Calcolatore: sottosistemi

Lezione 15. L elaboratore Elettronico

memoria PSW R1 R2 CPU Struttura logica dell elaboratore unità di controllo ALU unità di ingresso unità organo coordinatore clock di uscita

Architettura dei computer

Architettura di von Neumann

Architettura di von Neumann

Architettura dei computer

Calcolatore: sottosistemi

ARCHITETTURA DI UN ELABORATORE. Ispirata al modello della Macchina di Von Neumann (Princeton, Institute for Advanced Study, anni 40).

ESERCIZIO: PROGETTO DI UNA CPU A PIU REGISTRI

Architettura di un calcolatore: introduzione. Calcolatore: sottosistemi

Architettura di una CPU

Informatica di base 4 crediti 32 ore!!

Istruzioni e linguaggio macchina

Tecniche della Programmazione, , Parte1

Architettura dei calcolatori

ARCHITETTURA DI UN ELABORATORE

Laboratorio di Informatica L-A 1

Architettura del computer

Architettura degli elaboratori CPU a ciclo singolo

Argomenti. Processori microprogrammati. Architetture CISC Architetture RISC. » Pipeline» Architetture superscalari

6: Macchina di Von Neumann

Capitolo 5 Elementi architetturali di base

Architettura di un calcolatore: introduzione. Calcolatore: sottosistemi

Informatica. Le infrastrutture HardWare. Funzionalità di un calcolatore 21/03/2007. Introduzione ai sistemi informatici 1

Architettura hardware

Transcript:

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 prestazioni 2

Agenda Architettura generale di un Sistema di Elaborazione La memoria principale Il sottosistema di comunicazione La CPU Miglioramento delle prestazioni 3

4

Organizzazione Tipica Dispositivi di I/O PC Registri ALU Memoria di massa Video/tastiera (terminale) CPU Memoria Interfaccia di I/O Interfaccia di I/O BUS dati indirizzi controllo 5

Agenda Architettura generale di un Sistema di Elaborazione La memoria principale Il sottosistema di comunicazione La CPU Miglioramento delle prestazioni 6

La Memoria PC Registri ALU Memoria di massa Video/tastiera (terminale) CPU Memoria Interfaccia di I/O Interfaccia di I/O BUS dati indirizzi controllo 7

La Memoria Principale Contiene i dati e le istruzioni dei programmi in esecuzione comando indirizzo Memoria dato 8

La Memoria Principale Comando: lettura o scrittura Indirizzo: locazione di memoria a cui si vuole accedere (per operazioni di lettura o scrittura) Dato: dato da scrivere in memoria o dato letto dalla memoria 9

Esempio Memoria di 1 KB 1024 celle di memoria di 1 byte Comando: 1 bit Es., 0: leggi, 1: scrivi Dato: 8 bit 1 comando 10 indirizzo Memoria 1 byte = 8 bit Indirizzo: log 2 1024 = 10 bit 8 dato 2 10 = 1024 10

Agenda Architettura generale di un Sistema di Elaborazione La memoria principale Il sottosistema di comunicazione I bus Operazioni di lettura e scrittura La CPU Miglioramento delle prestazioni 11

Il Bus PC Registri ALU Memoria di massa Video/tastiera (terminale) CPU Memoria Interfaccia di I/O Interfaccia di I/O BUS dati indirizzi controllo 12

Bus Controllo Trasporta il codice dell'operazione da eseguire sulla memoria (es., lettura o scrittura) Indirizzi Trasporta l'indirizzo della locazione di memoria a cui si vuole accedere Dati Trasporta il dato da scrivere in memoria o il dato letto dalla memoria 13

Esempio (Lettura) Leggi il dato alla locazione 128 della memoria PC Registri ALU Memoria di massa Video/tastiera (terminale) CPU Memoria Interfaccia di I/O Interfaccia di I/O BUS dati indirizzi controllo 14

Esempio (Lettura) Leggi il dato alla locazione 128 della memoria PC Registri ALU Memoria di massa Video/tastiera (terminale) CPU Memoria Interfaccia di I/O Interfaccia di I/O BUS dati indirizzi controllo 128 leggi 15

Esempio (Lettura) Leggi il dato alla locazione 128 della memoria PC Registri ALU Accesso in lettura alla locazione 128 Memoria di massa Video/tastiera (terminale) CPU Memoria Interfaccia di I/O Interfaccia di I/O BUS dati indirizzi controllo 128 leggi 16

Esempio (Lettura) Leggi il dato alla locazione 128 della memoria PC Registri ALU Accesso in lettura alla locazione 128 Memoria di massa Video/tastiera (terminale) CPU Memoria Interfaccia di I/O Interfaccia di I/O BUS dati indirizzi controllo dato 17

Esempio (Lettura) Leggi il dato alla locazione 128 della memoria PC Registri ALU Memoria di massa Video/tastiera (terminale) CPU Memoria Interfaccia di I/O Interfaccia di I/O BUS dati indirizzi controllo dato 18

Esempio (Scrittura) Scrivi il dato 25 nella locazione 20 della memoria PC Registri ALU Memoria di massa Video/tastiera (terminale) CPU Memoria Interfaccia di I/O Interfaccia di I/O BUS dati indirizzi controllo 19

Esempio (Scrittura) Scrivi il dato 25 nella locazione 20 della memoria PC Registri ALU Memoria di massa Video/tastiera (terminale) CPU Memoria Interfaccia di I/O Interfaccia di I/O BUS dati indirizzi controllo 25 20 scrivi 20

Esempio (Scrittura) Scrivi il dato 25 nella locazione 20 della memoria PC Registri ALU Scrivi 5 nella locazione 20 Memoria di massa Video/tastiera (terminale) CPU Memoria Interfaccia di I/O Interfaccia di I/O BUS dati indirizzi controllo 25 20 scrivi 21

Il Bus - Vantaggi Semplicità Un unica linea di connessione costi ridotti di produzione Estendibilità Aggiunta di nuovi dispositivi molto semplice Standardizzabilità Regole per la comunicazione da parte di dispositivi diversi 22

Il Bus - Svantaggi Lentezza Utilizzo in mutua esclusione del bus Limitatà capacità Al crescere del numero di dispositivi collegati Sovraccarico del processore (CPU) Perchè funge da master sul controllo del bus 23

Agenda Architettura generale di un Sistema di Elaborazione La memoria principale Il sottosistema di comunicazione La CPU Organizzazione interna Unità di Controllo e Unità di Elaborazione Ciclo di esecuzione di una istruzione Miglioramento delle prestazioni 24

La CPU PC Registri ALU Memoria di massa Video/tastiera (terminale) CPU Memoria Interfaccia di I/O Interfaccia di I/O BUS dati indirizzi controllo 25

La CPU PC Unità di Controllo ALU Registri Memoria di massa Video/tastiera (terminale) Unità di Elaborazione CPU Memoria Interfaccia di I/O Interfaccia di I/O BUS dati indirizzi controllo 26

La CPU PC Registri Unità di Controllo ALU Unità di Elaborazione Memoria di massa Video/tastiera (terminale) Registri ALU CPU Memoria Interfaccia di I/O Interfaccia di I/O BUS dati indirizzi controllo 27

Componenti della CPU CPU Unità di Controllo Unità di Elaborazione Unità Aritmetico Logica (ALU) Registri 28

Unità di Elaborazione Si occupa dell effettiva elaborazione dei dati Comprende dispositivi diversi Una o più unità aritmetico-logiche Dette ALU (Arithmetic Logic Unit) Alcune unità di memorizzazione temporanea I registri: memoria ad alta velocità usata per risultati temporanei e informazioni di controllo 29

Istruzioni e Programmi Un programma è un insieme di istruzioni Una istruzione è solitamente una espressione del tipo Istruzione risultato, operando1, operando2 Istruzione: indica il tipo di istruzione da eseguire (es., somma, sottrazione, shift, ecc.) risultato: indica il registro in cui verrà depositato il risultato dell'operazione operando1, operando2: indicano i registri che contengono di dati su cui l'istruzione opera (es., per una istruzione di somma i due addendi) 30

Istruzioni e Programmi Le istruzioni sono codificate come sequenze di bit Codice macchina Somma r1, r2, r7 Moltiplica r5, r1, r4 ShiftDx r7, r4, 3... 110010100101010001001 100000101010000100111 001010000010011111001... 31

Istruzioni e Programmi Le istruzioni sono codificate come sequenze di bit Somma r1, r2, r7 Moltiplica r5, r1, r4 ShiftDx r7, r4, 3... Codice macchina 110010100101010001001 100000101010000100111 001010000010011111001... Le istruzioni si trovano in memoria in sequenza indirizzo 000 001 002 100 101 102... Memoria 32

Istruzioni e Programmi Le istruzioni sono codificate come sequenze di bit Somma r1, r2, r7 Moltiplica r5, r1, r4 ShiftDx r7, r4, 3... Codice macchina 110010100101010001001 100000101010000100111 001010000010011111001... Le istruzioni si trovano in memoria in sequenza indirizzo 000 001 002 100 101 102...... 110010100101010001001 100000101010000100111 001010000010011111001... 33

Unità di Controllo Coordina le operazioni della CPU Regola il flusso dei dati e indica quali registri debbano essere collegati agli ingressi e all uscita dell ALU Invia all ALU il codice dell operazione da eseguire Riceve indicazioni sull esito dell operazione appena eseguita dall ALU e gestisce opportunamente queste informazioni Comprende alcuni registri di uso specifico Program Counter (PC) qual è l istruzione successiva Instruction Register (IR) istruzione in corso d esecuzione 34

Ciclo Macchina Fetch Decode Execute 35

Ciclo Macchina CPU Unità di Controllo Bus controllo Bus indirizzi Bus dati Unità di Elaborazione PSW IR PC cmd ind dato Memoria 36

Ciclo Macchina CPU Unità di Controllo Leggi Bus controllo Bus indirizzi Bus dati Unità di Elaborazione PSW IR PC cmd ind dato Memoria 37

Ciclo Macchina CPU Unità di Controllo Leggi Bus controllo Bus indirizzi Bus dati Unità di Elaborazione PSW IR PC cmd ind dato Memoria 38

Ciclo Macchina CPU Unità di Controllo Leggi Bus controllo Bus indirizzi Bus dati Unità di Elaborazione PSW IR PC cmd ind dato Memoria 39

Ciclo Macchina CPU Unità di Controllo Leggi Bus controllo Bus indirizzi Bus dati Unità di Elaborazione PSW IR PC cmd ind dato Memoria 40

Ciclo Macchina CPU Unità di Controllo Leggi Bus controllo Bus indirizzi Bus dati Unità di Elaborazione PSW IR PC cmd ind dato Memoria 41

Ciclo Macchina CPU Unità di Controllo Leggi Bus controllo Bus indirizzi Bus dati Unità di Elaborazione PSW IR PC cmd ind dato Memoria 42

Ciclo Macchina CPU Unità di Controllo Leggi Bus controllo Bus indirizzi Bus dati Unità di Elaborazione PSW IR PC cmd ind dato Memoria 43

Ciclo Macchina CPU Unità di Controllo Leggi Bus controllo Bus indirizzi Bus dati Unità di Elaborazione PSW IR PC cmd ind dato Memoria 44

Ciclo Macchina Prendi l istruzione corrente dalla memoria Quella individuata dal contenuto del Program Counter (PC) Mettila nell'instruction Register (IR) Incrementa il PC Fetch In modo che contenga l indirizzo dell istruzione successiva Determina il tipo di istruzione da eseguire (Decode) Esegui l istruzione (Execute) 45

R1 R2 + R3 Unità di Controllo Registri R00 R01 R02 R03 X + Y X Y Unità di Elaborazione Registri ingresso ALU X Y add A L U esito Registro uscita ALU X + Y 46

R1 R2 + R3 Unità di Controllo Leggi R2 ed R3 Registri R00 R01 R02 R03 X + Y X Y Unità di Elaborazione Registri ingresso ALU X Y add A L U esito Registro uscita ALU X + Y 47

R1 R2 + R3 Unità di Controllo Registri R00 R01 R02 R03 X + Y X Y Unità di Elaborazione Registri ingresso ALU X Y add A L U esito Registro uscita ALU X + Y 48

R1 R2 + R3 Unità di Controllo Registri R00 R01 R02 R03 X + Y X Y Unità di Elaborazione Registri ingresso ALU X Y Somma add esito A L U Registro uscita ALU X + Y 49

R1 R2 + R3 Unità di Controllo Registri R00 R01 R02 R03 X + Y X Y Unità di Elaborazione Registri ingresso ALU X Y Somma add esito A L U Registro uscita ALU X + Y 50

R1 R2 + R3 Unità di Controllo Scrivi su R1 Registri R00 R01 R02 R03 X + Y X Y Unità di Elaborazione Registri ingresso ALU X Y add A L U esito Registro uscita ALU X + Y 51

R1 R2 + R3 Unità di Controllo Scrivi su R1 Registri R00 R01 R02 R03 X + Y X Y Unità di Elaborazione Registri ingresso ALU X Y add A L U esito Registro uscita ALU X + Y 52

Architetture RISC e CISC RISC (Reduced Instruction Set Computing) Load/Store: le istruzioni operano sui registri Istruzioni semplici Elevate frequenze di clock CISC (Complex Instruction Set Computing) Le istruzioni possono operare sia su dati contenuti nei registri sia su dati contenuti in memoria Istruzioni complesse 53

Classi di Istruzioni Istruzioni aritmetico-logiche Somma, Sottrazione, Divisione, And, Or, Xor, Maggiore, Minore, Uguale, Minore o uguale, Controllo del flusso delle istruzioni Sequenza Selezione semplice, a due vie, a n vie, Ciclo a condizione iniziale, ciclo a condizione finale, Trasferimento di informazione Trasferimento dati e istruzioni tra CPU e memoria Trasferimento dati e istruzioni tra CPU e dispositivi di ingresso/uscita (attraverso le relative interfacce) 54

Esempi di Istruzioni 55

Istruzioni Aritmetico Logiche Es., ADD Rz, Rx, Ry, vengono eseguite in 4 passi L istruzione viene prelevata dalla memoria e scritta nell IR mentre il PC viene incrementato Viene letto il contenuto dei due registri Rx e Rx La ALU esegue la somma Il risultato viene scritto nel registro Rz 56

Istruzioni di Trasferimento Es., LW Ry, Rx, base viene eseguita in cinque passi L istruzione viene prelevata dalla memoria e scritta nell IR mentre il PC viene incrementato Viene letto il contenuto del registro Rx La ALU opera sui dati letti dal banco dei registri e sulla base scritta nell IR Il risultato calcolato dall ALU viene utilizzato come indirizzo per la memoria dati Il dato proveniente dalla memoria viene scritto nel registro Ry 57

Istruzioni di Controllo Es., BEQ Rx, Ry, target viene eseguita in quattro passi L istruzione viene prelevata dalla memoria e scritta nell IR mentre il PC viene incrementato Viene letto il contenuto dei due registri Rx e Ry La ALU confronta Rx con Ry e contemporaneamente il contenuto del PC viene sommato al valore target per calcolare l eventuale destinazione del salto L esito dell operazione viene utilizzato per decidere quale valore debba essere memorizzato nel PC 58

Unità Funzionali e Istruzioni Unità Funzionali Coinvolte 59

Latenza delle Istruzioni 60

Esempio Esecuzione di una successione di quattro istruzioni per il caricamento di due dati dalla memoria nei registri R01 e R02, la loro somma e la registrazione in memoria del risultato 61

Esempio Esecuzione di una successione di quattro istruzioni per il caricamento di due dati dalla memoria nei registri R01 e R02, la loro somma e la registrazione in memoria del risultato 145 ns 62

Migliorare le Prestazioni Frequenza di clock Parallelismo 63

Migliorare le Prestazioni Frequenza di clock Influenza direttamente il tempo di ciclo del data path e quindi le prestazioni di un calcolatore E' limitata dalla tecnologia disponibile Parallelismo 64

Migliorare le Prestazioni Frequenza di clock Parallelismo Consente di migliorare le prestazioni senza modificare la frequenza di clock Due forme di parallelismo Parallelismo a livello delle istruzioni Architetture pipeline o architetture superscalari Parallelismo a livello di processori Array computer, multiprocessori o multicomputer 65