Introduzione all Architettura dei Calcolatori Elettronici

Documenti analoghi
Introduzione all Architettura dei Calcolatori Elettronici

Introduzione all'architettura dei Calcolatori

Corso di Informatica

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

Introduzione all Architettura dei Calcolatori Elettronici

Architettura dei Calcolatori Elettronici

Introduzione all'architettura dei Calcolatori. Maurizio Palesi

Architettura dei Calcolatori Elettronici

Architettura dei Calcolatori Elettronici

Architettura dei Calcolatori Elettronici

Elementi di informatica

Architettura dei Calcolatori Elettronici

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

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

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

Elementi di informatica

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

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

Architettura del Calcolatore

Architettura di von Neumann

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

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

Struttura di un elaboratore

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

Capitolo 5 Elementi architetturali di base

Architettura di von Neumann

Architettura di von Neumann

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

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

Architettura dei Calcolatori Elettronici

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

Istruzioni e linguaggio macchina

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

Il processore - CPU (CENTRAL PROCESSING UNIT)

Architettura del calcolatore (Seconda parte)

Il processore. Istituzionii di Informatica -- Rossano Gaeta

Componenti principali

ARCHITETTURA DI UN ELABORATORE

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

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

Architettura hardware

ARCHITETTURA DI UN ELABORATORE

Laboratorio di Informatica L-A 1

Elementi di informatica

Architettura dei calcolatori

Architettura dei computer

Architettura dei calcolatori

Componenti e connessioni. Capitolo 3

ARCHITETTURA elementi di base

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

ARCHITETTURA DI UN SISTEMA DI ELABORAZIONE

CPU. Maurizio Palesi

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

Architettura dei calcolatori

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

Abilità Informatiche e Telematiche

Macchine Astratte. Luca Abeni. February 22, 2017

Architettura di un Sistema Informatico

Valutazione delle prestazioni

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

Terza lezione 21 ottobre 2016

Richiami sull architettura del processore MIPS a 32 bit

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

Lez. 4 L hardware. Prof. Pasquale De Michele Gruppo 2

ARCHITETTURA DI UN ELABORATORE

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

L architettura del calcolatore (Seconda parte)

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

FONDAMENTI DI INFORMATICA Lezione n. 10

FONDAMENTI DI INFORMATICA Lezione n. 10

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

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

Architettura di un elaboratore. Il modello di von Neumann

L Architettura di un Calcolatore

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

Istruzioni e linguaggio macchina

Il modello di Von Neumann

Macchina di Riferimento: argomenti

Architettura degli Elaboratori

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

Componenti di un processore

Microelettronica Corso introduttivo di progettazione di sistemi embedded

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

Valutazione delle prestazioni

Struttura logica del processore (1)

Microelettronica Corso introduttivo di progettazione di sistemi embedded

Sistemi di Elaborazione delle Informazioni

HSA HSA HARDWARE SYSTEM ARCHITECTURE. Livelli. Livello assemblativo. Livello di. Sistema Operativo. Livello di. linguaggio macchina.

Bioingegneria elettronica

Il Processore. Informatica di Base -- R.Gaeta 27

Richiami sull architettura del processore MIPS a 32 bit

Un quadro della situazione. Cosa abbiamo fatto. Lezione 30 Valutazione delle Prestazioni. Dove stiamo andando.. Perché:

Lezione 1: L hardware

Transcript:

Introduzione all rchitettura dei Calcolatori Elettronici aurizio Palesi aurizio Palesi 1 Caratteristiche Fondamentali Capacità di eseguire sequenze di istruzioni memorizzate Calcolatore = Unità di Elaborazione + Unità di Controllo 1. Preleva le istruzioni dalla memoria 2. Interpreta i codici di istruzione 3. Effettua le azioni che questi prevedono Programma = Insieme organizzato di istruzioni aurizio Palesi 2 1

Vista funzionale di un Calcolatore mbiente Traserimento Controllo Eleborazione emorizzazione aurizio Palesi 3 Componenti di un Computer Computer Processore Dispositivi Unità di controllo Ingresso Tastiera ouse Unità operativa Uscita onitor Stampante Unità di elaborazione e controllo o Central Processing Unit (CPU) Contiene le istruzioni da eseguire e i dati su cui operare Insieme di dispositivi che consentono la comunicazione con e da il mondo esterno aurizio Palesi 4 2

Organizzazione Generale CPU Bus di sistema Ingresso Uscita aurizio Palesi 5 Bus e aster-slave Il bus è una linea a cui sono contemporaneamente connesse le unità del calcolatore e che consente il trasferimento di dati tra tali unità Problema: contesa su un mezzo condiviso! Soluzione: CPU = master, periferiche = slave aurizio Palesi 6 3

Bus e aster-slave - Pregi Semplicità: 1 sola linea di connessione # di dispositivi Estendibilità: nuovi dispositivi possono essere aggiunti tramite un interfaccia al bus senza influenzare l HW preesistente Standardizzabilità: definizione di normative che consentono a periferiche di costruttori diversi di interagire correttamente aurizio Palesi 7 Bus e aster-slave - Difetti Lentezza: l uso in mutua esclusione del bus inibisce almeno parzialmente la parallelizzazione delle operazioni di trasferimento di dati tra dispositivi Limitata capacità: al crescere del numero di dispositivi la presenza di una sola linea comporta un limite alla capacità di trasferire dati Sovraccarico della CPU: l unità centrale viene coinvolta in tutte le operazioni di trasferimento di dati aurizio Palesi 8 4

Lo Schema di iferimento Interfaccia I/O I/O Interfaccia I/O I/O Interfaccia I/O I/O centrale centrale CPU CPU Bus dati Bus indirizzi Bus di controllo aurizio Palesi 9 Tipi di Bus Bus dati: utilizzato per trasferire dati (es. fra memoria e CPU, fra CPU e interfacce di I/O) Bus indirizzi: che identifica la posizione delle celle di memoria un cui la CPU va a scrivere o leggere Bus di controllo: in cui transitano i segnali di controllo che consentono di selezionare le unità coinvolte in un trasferimento dati (sorgente e destinazione), di definire la direzione dello scambio (scrittura o lettura) aurizio Palesi 10 5

rchitettura di Von Neumann Burks, Goldstein e Von Neumann sono stati i primi a proporre che il codice del programma potesse essere memorizzato nella stessa memoria dei dati Indirizzi CPU Dati Controllo indifferenziata per dati o istruzioni Solo l'interpretazione da parte di CPU stabilisce se una data configurazione di bit è da riguardarsi come un dato o come un'istruzione aurizio Palesi 11 Collo di Bottiglia Von Neumann L organizzazione di Von Neumann è quella più popolare Consente al processore di manipolare i programmi in modo più semplice Svantaggi La limitata larghezza di banda della memoria ha un impatto negativo sulla velocità di esecuzione dell applicazione Questo fenomeno è noto come Von Neumann bottleneck aurizio Palesi 12 6

rchitettura Harward ltre organizzazioni memorizzano dati e programmi in memorie diverse Indirizzi Indirizzi Istruzioni Dati Controllo CPU Dati Controllo Dati E principalmente utilizzata nei processori ad alte prestazioni e nelle architetture dedicate per applicazioni di elaborazione digitale dei segnali (DSP) aurizio Palesi 13 Elementi di una CPU Unità di controllo Legge le istruzioni dalla memoria e ne determina il tipo Unità aritmetico-logica Esegue le operazioni necessarie per eseguire le istruzioni egistri ad alta velocità usata per risultati temporanei Determina il parallelismo della CPU Esistono registri generici e registri specifici Program Counter (PC) Instruction egister (I) CPU Unità Unità di di Controllo Unità Unità ritmetica Logica Logica egistri aurizio Palesi 14 7

L Esecutore Un calcolatore basato sull architettura di Von Neumann esegue un programma sulla base dei seguenti principi Dati e istruzioni sono memorizzati in una memoria unica che permette sia la scrittura che la lettura I contenuti della memoria sono indirizzati in base alla loro posizione Le istruzioni vengono eseguite in modo sequenziale aurizio Palesi 15 Tre Tipologie di Istruzioni Istruzioni ritmetico Logiche (Elaborazione dati) Somma, sottrazione, divisione, nd, Or, Xor, aggiore, minore, uguale, maggiore uguale, Controllo del flusso delle istruzioni Sequenza Selezione Ciclo a condizione iniziale, a condizione finale, Trasferimento di informazione Trasferimento dati e istruzioni tra CPU e memoria Trasferimento dati e istruzioni tra CPU e dispositivi di I/O aurizio Palesi 16 8

Linguaggio acchina e ssembly Linguaggio macchina udimentale Il concetto di tipo di dato è quasi assente Il numero di operandi è limitato Il numero di operazioni previste è ridotto Struttura di una istruzione della CPU codice operativo op1 op2 Specifica analoga alla codifica in assembly SO eg1 eg2 Codifica in un ipotetico linguaggio macchina 10000011 001 010 aurizio Palesi 17 aurizio Palesi 18 9

Esecuzione delle Istruzioni Ciclo Fetch-Decode-Execute Prendi l istruzione corrente dalla memoria e mettila nel registro istruzioni (I) [Fetch] Incrementa il program counter (PC) in modo che contenga l indirizzo dell istruzione successiva Determina il tipo dell istruzione corrente [Decodifica] Se l istruzione usa una parola in memoria determina dove si trova Carica la parola, se necessario, in un registro della CPU Esegui l istruzione [Execute] Torna al punto 1. aurizio Palesi 19 egistri di CPU I: Usato per contenere l'istruzione in corso di esecuzione Caricato in fase di fetch appresenta l'ingresso che determina le azioni svolte durante la fase di esecuzione PC: Tiene traccia dell'esecuzione del programma Contiene l indirizzo di memoria in cui è memorizzata la prossima istruzione da eseguire : contiene l'indirizzo della locazione di memoria da leggere o scrivere La dimensione di determina l'ampiezza dello spazio di memoria fisica Dalla fine degli anni '80 vengono prodotti microprocessori con bus indirizzi a 32 bit D: egistro attraverso il quale viene scambiata l'informazione tra la memoria e la CPU Tradizionalmente la dimensione di D dà la misura del grado di parallelismo della macchina (8, 16, 32, 64 bit) 0, 1,...n: egistri di uso generale aurizio Palesi 20 10

Struttura Semplificata di una CPU Bus Controllo Leggi Scrivi PC Unità di controllo centrale centrale o periferiche Indirizzo Bus Indirizzi Dato Bus Dati D I egistro egistro... egistro PSW LU stato Esegui Operazione Unità centrale aurizio Palesi 21 Esempio: Lettura dalla Fase di Fetch (1 di 2) Bus Controllo Leggi Scrivi PC Unità di controllo centrale centrale o periferiche Indirizzo Bus Indirizzi Dato Bus Dati D I egistro egistro... egistro PSW LU stato Esegui Operazione Unità centrale aurizio Palesi 22 11

Esempio: Lettura dalla Fase di Fetch (2 di 2) Bus Controllo Leggi Scrivi PC Unità di controllo centrale centrale o periferiche Indirizzo Bus Indirizzi Dato Bus Dati D I egistro egistro... egistro PSW LU stato Esegui Operazione Unità centrale aurizio Palesi 23 Esempio: Lettura dalla Decodifica Bus Controllo Leggi Scrivi PC Unità di controllo centrale centrale o periferiche Indirizzo Bus Indirizzi Dato Bus Dati D I egistro egistro... egistro PSW LU stato Esegui Operazione Unità centrale aurizio Palesi 24 12

Esempio: Lettura dalla Esecuzione (1 di 2) Bus Controllo Leggi Scrivi PC Unità di controllo centrale centrale o periferiche Indirizzo Bus Indirizzi Dato Bus Dati D I egistro egistro... egistro PSW LU stato Esegui Operazione Unità centrale aurizio Palesi 25 Esempio: Lettura dalla Esecuzione (2 di 2) Bus Controllo Leggi Scrivi PC Unità di controllo centrale centrale o periferiche Indirizzo Bus Indirizzi Dato Bus Dati D I egistro egistro... egistro PSW LU stato Esegui Operazione Unità centrale aurizio Palesi 26 13

Esempio: Somma tra due registri Fetch (come prima) Bus Controllo Leggi Scrivi PC Unità di controllo centrale centrale o periferiche Indirizzo Bus Indirizzi Dato Bus Dati D I egistro egistro... egistro PSW LU stato Esegui Operazione Unità centrale aurizio Palesi 27 Esempio: Somma tra due registri Decodifica Bus Controllo Leggi Scrivi PC Unità di controllo centrale centrale o periferiche Indirizzo Bus Indirizzi Dato Bus Dati D I egistro egistro... egistro PSW LU stato Esegui Operazione Unità centrale aurizio Palesi 28 14

Esempio: Somma tra due registri Esecuzione Bus Controllo Leggi Scrivi PC Unità di controllo centrale centrale o periferiche Indirizzo Bus Indirizzi Dato Bus Dati D I egistro egistro... egistro PSW LU stato Esegui Operazione Unità centrale aurizio Palesi 29 Diagramma a Stati della Fase di Fetch Fetch PC PC D D [] I I D D Ogni stato ha durata di un periodo di clock, eccetto il secondo il quale può richiedere più cicli a causa della latenza della memoria Decodifica del del codice operativo ed ed incremento del del PC PC Fase di Execute aurizio Palesi 30 15

Fase di Execute (2 bus) BUS BBUS DD DD 3, 3, 1, 1, 2 2 1 SCL 1 SCL 2 2 BUS 2; BUS; BBUS 1; B BBUS 3 is +B SCS 2 SCS L SCS is BBUS is; 3 BBUS B SCS B U SC OP Nota: E l Unità di Controllo che ha il compito di pilotare i segnali di abilitazione SCL e SCS SCL 2 aurizio Palesi 31 Fase di Execute (1 bus) DD DD 3, 3, 1, 1, 2 2 1 2 3 BUS BUS 1; Temp1 BUS BUS 2; Temp2 Temp1+BUS BUS Temp2; 3 BUS Temp1 L U Temp2 1 bilitazione dell uscita 1 e caricamento di Temp1 2 bilitazione dell uscita di 2, asserzione del comando DD all LU e abilitazione dell ingresso Temp2 3 bilitazione dell uscita Temp2 e dell Ingresso di 3 aurizio Palesi 32 16

Fase di Execute (3 bus) BUS BBUS CBUS DD DD 3, 3, 1, 1, 2 2 1 2 3 BUS 1; BBUS 2; 3 BUS+BBUS L U aurizio Palesi 33 Controllo + Datapath PCWriteCond PCWrite IorD emead emwrite IWrite em2eg Unità di Controllo PCSource TargetWrite LUop LUSel LUSelB egwrite egdest P C U X Ind Lettura Lettura Dati E Ind Lettura Scrittura Dati E G I S T U X U X eg. Let. 1 eg. Let. 2 eg. F Scrittura I Scrittura L Dati E Let. E Dati1 G Est. Segno Let. Dati2 U X U X Shift S.2 bit L U Zero is. Shift S.2 bit T G E T U X aurizio Palesi 34 17

L Unità di Controllo ealizzazione Cablata ealizzazione icroprogrammata aurizio Palesi 35 Unità di Controllo ealizzazione Cablata Unità di Controllo ete Combinatoria Ingressi U s c i t e Unità Operativa egistro di Stato Stato Prossimo Condizioni Cod.Op. eg.istruzione aurizio Palesi 36 18

Unità di Controllo ealizzazione Cablata Progettazione Seguendo il classico flusso di sintesi di una rete sequenziale Ingressi: I, Stato Uscite: comandi, stato prossimo Uso di O Ingressi (indirizzi alla O): I, stato di UO, stato di UC Uscite: comandi, ingressi di eccitazione dei FF di stato isura della complessità di UC #stati #ingressi #uscite aurizio Palesi 37 Unità di Controllo ealizzazione icroprogrammata Unità di Controllo di icroprogramma Unità Operativa + µpc Selezione Indirizzo Condizioni Cod.Op. eg.istruzione aurizio Palesi 38 19

Unità di Controllo ealizzazione icroprogrammata Tecnica affermatasi negli anni 70 UC è una sorta di calcolatore nel calcolatore La memoria di controllo contiene le microistruzioni µpc: contatore di microprogramma Contiene l indirizzo della prossima microistruzione ll inizio della fase di fetch µpc contiene l indirizzo (I0) del tratto di microprogramma corrispondente al fetch lla fine della fase di fetch µpc viene aggiornato con il contenuto (o ad una opportuna decodifica) di I in modo da puntare alla microroutine che effettua le azioni richieste dalla particolare istruzione l termine, µpc viene di nuovo caricato con (I0) aurizio Palesi 39 Unità di Controllo Cablata vs. icroprogrammata Fino a fine anni 60: logica cablata (PDP8, HP 2116) nni 70: microprogrammazione (VX, Z80, 8086, 68000) epertorio di istruzioni molto esteso e variato: CISC Il VX 11/789 (Digital) e il 370/168 (IB) avevano oltre 400.000 bit di memoria di controllo Dagli anni 80 si è tornati alla logica cablata ffermazione delle macchine ISC Istruttivo è esaminare l evoluzione dell architettura Intel: da CISC a (praticamente) ISC aurizio Palesi 40 20

CISC CISC: Complex Instruction Set Computing Un repertorio di istruzioni esteso è preferibile perché: Istruzioni potenti semplificano la programmazione iduce il gap tra linguaggio di macchina e linguaggio di alto livello L uso efficiente della memoria (all epoca era costosa) era la preoccupazione principale: eglio avere codici compatti Essendo (allora) la memoria di controllo molto più veloce della memoria centrale, portare funzionalità nella prima avrebbe migliorato le prestazioni della macchina aurizio Palesi 41 ISC emorie olto più veloci delle precedenti a nuclei Cache iducono ulteriormente i tempi di esecuzione Comportamento dei programmi L'80% delle istruzioni eseguite corrispondeva al solo 20% del repertorio Conviene investire nella riduzione dei tempi di esecuzione di quel 20%, anziché aggiungere raffinate istruzioni, quasi mai usate, ma responsabili dell'allungamento del tempo di ciclo di macchina Conviene costruire processori molto veloci, necessariamente con repertori semplici, e contare sull ottimizzazione del compilatore ISC: educed Instruction Set Computing aurizio Palesi 42 21

ISC - Criteri di Progettazione Le istruzioni devono essere semplici Se l'introduzione di una operazione di macchina fa crescere del 10% il periodo di clock, allora essa deve produrre una riduzione di almeno un 10% del numero totale di cicli eseguiti Con memorie attuali Non c'è vantaggio a spostare le funzionalità a livello di microcodice Ciò ha solo l'effetto di rendere più difficoltose modifiche e cambiamenti olto meglio modificare una libreria di sistema che modificare una memoria di controllo aurizio Palesi 43 ISC - Criteri di Progettazione Tutte le istruzioni occupano lo stesso spazio di memoria (una parola) istretto numero di formati L'interpretazione del codice avviene attraverso un semplice decodificatore (una rete ND-O) La codifica ordinata consente accorgimenti per velocizzare l'esecuzione (pipeline), difficilmente applicabili a repertori di istruzioni complesse La semplificazione del repertorio tende a far aumentare la dimensione del codice Non è un problema, vista la tendenza alla riduzione dei costi e all'aumento della densità delle memorie Dal punto di vista della velocità i guadagni che si ottengono nel semplificare le istruzioni sono superiori all'effetto negativo del maggior numero di istruzioni per programma aurizio Palesi 44 22

ISC - Criteri di Progettazione Conclusioni Progetto di un architettura che preveda solo operazioni tra registri (non registro/memoria o memoria/memoria) e operazioni di lettura/scrittura in memoria molto semplici con poche modalità di indirizzamento rchitetture Load/Store Il compilatore deve fare il miglior uso possibile dei registri e tenere il più possibile le variabili nei registri CPU con elevato numero di registri aurizio Palesi 45 23