Introduzione all Architettura dei Calcolatori Elettronici

Documenti analoghi
(1) (2) (3) (4) 11 nessuno/a (1) (2) (3) (4) X è il minore tra A e B nessuno/a X è sempre uguale ad A X è il maggiore tra A e B

CPU. Maurizio Palesi

L Architettura di un Calcolatore

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

Caratteristiche di un PC

ARCHITETTURA elementi di base

Modulo: Elementi di Informatica

Tecnologie dei Sistemi di Automazione e Controllo

Il Modello di von Neumann (2) Prevede 3 entità logiche:

Lezione 3: Architettura del calcolatore

Lezione n.19 Processori RISC e CISC

Il calcolatore. Architettura di un calcolatore (Hardware)

Struttura del calcolatore

Architettura del calcolatore

I Bistabili. Maurizio Palesi. Maurizio Palesi 1

Un semplice commutatore a pacchetto

Le infrastrutture Hardware: architettura

Interfacciamento di periferiche I/O al μp 8088

Fondamenti di informatica: un po di storia

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

Il file system. Le caratteristiche di file, direttorio e partizione sono del tutto indipendenti dalla natura e dal tipo di dispositivo utilizzato.

Somma di numeri floating point. Algoritmi di moltiplicazione e divisione per numeri interi

Introduzione. Un calcolatore digitale è costituito da un sistema interconnesso dei seguenti dispositivi:

Introduzione all'architettura dei Calcolatori

L architettura di riferimento

Il processore N.12. Vediamo come è strutturato un microprocessore e con quale sequenza esegue le istruzioni dettate da un programma assembler.

CALCOLATORI ELETTRONICI 15 aprile 2014

Corso di Informatica

Informatica Teorica. Macchine a registri

Fondamenti Teorici. Antonio Pescapè e Marcello Esposito Parte Seconda v2.0

SISTEMI OPERATIVI. Nucleo di un SO. Il Nucleo. Il nucleo di un SO Gestione delle interruzioni Sincronizzazione tra processi Dispatcher. 06.

Architettura di un calcolatore

Architettura dei calcolatori

La macchina programmata Instruction Set Architecture (1)

Appunti del corso di Informatica 1 (IN110 Fondamenti) 3 Modelli di calcolo

La gestione dell I/O (Cap. 5, Tanenbaum)

Memoria cache, interrupt e DMA

Il Processore: i registri

Sistemi Operativi. Gianluca Della Vedova. Sistemi Operativi. Gianluca Della Vedova. Sistemi Operativi. Gianluca Della Vedova.

interoperabilità fra dispositivi forniti da diversi produttori; superare i problemi legati alla limitazione del numero di risorse.

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

I dischi ottici. Istituzioni di Informatica -- Rossano Gaeta 43

CALCOLATORI ELETTRONICI

ARCHITETTURA elementi di base

Sistemi di Elaborazione delle Informazioni

Calcolatori Elettronici

Elettronica dei Sistemi Programmabili A.A Microcontrollori. Introduzione allo sviluppo di progetti

Calcolatori Elettronici

Introduzione alle macchine a stati (non definitivo)

Topologie delle reti di telecomunicazione

Introduzione I contatori sono dispositivi fondamentali nell elettronica digitale e sono utilizzati per:

Le aree dell informatica

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

Tipi di Bus. Bus sincrono. Comunicazioni nell elaboratore (e oltre) Bus sincroni e asincroni Standard commerciali (PCI,SCSI,USB)

Sono dispositivi che consentono di interconnettere tra loro due o piu reti, permettendo:

Xerox FreeFlow Print Server V 9.0 SP3

SISTEMA DI CONTROLLO E GESTIONE STAZIONI DI RICARICA E-CORNER PER VEICOLI ELETTRICI

EcoRemote SISTEMA DI GESTIONE DI UNA STAZIONE DI MONITORAGGIO DELLA QUALITÀ DELL ARIA. Ingegneria dei sistemi

Procedura operativa per la gestione della funzione di formazione classi prime

Fondamenti di informatica: un po di storia

Anatomia e fisiologia del computer: l architettura del calcolatore

INTRODUZIONE ALLE BASI DATI RELAZIONALI

Corso di Calcolatori Elettronici I

Calcolatori Elettronici

Laboratorio di Programmazione Lezione 1. Cristian Del Fabbro

Calcolo numerico e programmazione Architettura dei calcolatori

Sistemi Web per il turismo - lezione 3 -

Perché il P.L.C.? Introduzione di base al P.L.C. (Programmable Logic Controller) SAVE Veronafiere Ottobre 2007

Aggiorna. La Funzione Aggiorna Listino Aggiornare Listino Pr7 / Le connessioni / Listino METEL. Aggiorna Lis no. Aggiornamento del listino

L architettura del calcolatore (Prima parte)

CALCOLATORI ELETTRONICI 29 giugno 2011

Files in C++ Fondamenti di Informatica. R. Basili. a.a

Manuale d uso DropSheep 4 imaio Gestione Pixmania-PRO Ver 1.1

che vengano generati nell ordine corretto i sistema (es., la memoria, l unità aritmetico-

Architettura di tipo registro-registro (load/store)

CERTIFICATI CON TIMBRO DIGITALE MANUALE D USO DEL DECODER 2D-PLUS PER LA VERIFICA DEI CERTIFICATI RILASCIATI DAL COMUNE DI PARMA

Parte II.2 Elaboratore

C. P. U. MEMORIA CENTRALE

Algebra di Boole Algebra di Boole

1.4a: Hardware (Processore)

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

2) FILE BINARI: è una sequenza di byte avente una corrispondenza uno a uno con la sequenza ricevuta dal dispositivo esterno.

Lezione n.9. Introduzione al linguaggio macchina

Architettura dei calcolatori

INTRODUZIONE AI MICROPROCESSORI

Implementazione e ottimizzazione dei processi e dell assetto organizzativo

Programmazione dello Z80

Manuale Sito Videotrend

Il sistema informativo deve essere di tipo centralizzato e accessibile mediante un computer server installato nella rete locale dell albergo.

Note_Batch_Application 04/02/2011

INTRODUZIONE. Pagina 1 di 5

I-XIII_romane_sawyer :50 Pagina V. Indice. Prefazione

Unità Periferiche. Rete Di Controllo

Progettazione logica

Università degli Studi G. d'annunzio C.L. Economia e Informatica per l'impresa. Sistemi Operativi e Reti A.A. 2014/2015 prof.

PROGRAMMA DI SCIENZE E TECNOLOGIE APPLICATE 2015/2016 Classe 2ª Sez. C Tecnologico

ARCHITETTURA DI UN PERSONAL COMPUTER

WINDOWS Avviare Windows95. Avviare Windows95 non è un problema: parte. automaticamente all accensione del computer. 2. Barra delle applicazioni

CALCOLATORI ELETTRONICI 29 giugno 2010

ACCESS. Database: archivio elettronico, dotato di un programma di interfaccia che facilita la registrazione e la ricerca dei dati.

Transcript:

Introduzione all Architettura 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

Vista funzionale di un Calcolatore Ambiente Traserimento Controllo Eleborazione emorizzazione aurizio Palesi 3

Componenti di un Computer Computer Processore Dispositivi Unità di controllo emoria 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

Organizzazione Generale CPU emoria 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

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

Lo Schema di Riferimento Interfaccia I/O Interfaccia I/O Interfaccia I/O emoria centrale 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

Architettura 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 emoria emoria 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

Architettura Harward Altre organizzazioni memorizzano dati e programmi in memorie diverse Indirizzi Indirizzi emoria Istruzioni Dati Controllo CPU Dati Controllo emoria 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 Registri emoria ad alta velocità usata per risultati temporanei Determina il parallelismo della CPU Esistono registri generici e registri specifici Program Counter (PC) Instruction Register (IR) CPU Unità di Controllo Unità Aritmetica Logica Registri aurizio Palesi 14

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 Aritmetico Logiche (Elaborazione dati) Somma, sottrazione, divisione, And, 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

aurizio Palesi 17

Esecuzione delle Istruzioni Ciclo Fetch-Decode-Execute Prendi l istruzione corrente dalla memoria e mettila nel registro istruzioni (IR) [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 18

Registri di CPU IR: Usato per contenere l'istruzione in corso di esecuzione Caricato in fase di fetch Rappresenta 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 AR: contiene l'indirizzo della locazione di memoria da leggere o scrivere La dimensione di AR determina l'ampiezza dello spazio di memoria fisica Dalla fine degli anni '80 vengono prodotti microprocessori con bus indirizzi a 32 bit DR: attraverso il quale viene scambiata l'informazione tra la memoria e la CPU Tradizionalmente la dimensione di DR dà la misura del grado di parallelismo della macchina (8, 16, 32, 64 bit) R0, R1,...Rn: Registri di uso generale aurizio Palesi 19

Struttura Semplificata di una CPU Bus Controllo Leggi Scrivi Unità di controllo PC emoria centrale o periferiche Indirizzo Bus Indirizzi Dato Bus Dati A R D R IR... PSW ALU stato Esegui Operazione Unità centrale aurizio Palesi 20

Esempio: Lettura dalla emoria Fase di Fetch (1 di 2) Bus Controllo Leggi Scrivi PC Unità di controllo emoria centrale o periferiche Indirizzo Bus Indirizzi Dato Bus Dati A R D R IR... PSW ALU stato Esegui Operazione Unità centrale aurizio Palesi 21

Esempio: Lettura dalla emoria Fase di Fetch (2 di 2) Bus Controllo Leggi Scrivi PC Unità di controllo emoria centrale o periferiche Indirizzo Bus Indirizzi Dato Bus Dati A R D R IR... PSW ALU stato Esegui Operazione Unità centrale aurizio Palesi 22

Esempio: Lettura dalla emoria Decodifica Bus Controllo Leggi Scrivi PC Unità di controllo emoria centrale o periferiche Indirizzo Bus Indirizzi Dato Bus Dati A R D R IR... PSW ALU stato Esegui Operazione Unità centrale aurizio Palesi 23

Esempio: Lettura dalla emoria Esecuzione (1 di 2) Bus Controllo Leggi Scrivi PC Unità di controllo emoria centrale o periferiche Indirizzo Bus Indirizzi Dato Bus Dati A R D R IR... PSW ALU stato Esegui Operazione Unità centrale aurizio Palesi 24

Esempio: Lettura dalla emoria Esecuzione (2 di 2) Bus Controllo Leggi Scrivi PC Unità di controllo emoria centrale o periferiche Indirizzo Bus Indirizzi Dato Bus Dati A R D R IR... PSW ALU stato Esegui Operazione Unità centrale aurizio Palesi 25

Esempio: Somma tra due registri Fetch (come prima) Bus Controllo Leggi Scrivi PC Unità di controllo emoria centrale o periferiche Indirizzo Bus Indirizzi Dato Bus Dati A R D R IR... PSW ALU stato Esegui Operazione Unità centrale aurizio Palesi 26

Esempio: Somma tra due registri Decodifica Bus Controllo Leggi Scrivi PC Unità di controllo emoria centrale o periferiche Indirizzo Bus Indirizzi Dato Bus Dati A R D R IR... PSW ALU stato Esegui Operazione Unità centrale aurizio Palesi 27

Esempio: Somma tra due registri Esecuzione Bus Controllo Leggi Scrivi PC Unità di controllo emoria centrale o periferiche Indirizzo Bus Indirizzi Dato Bus Dati A R D R IR... PSW ALU stato Esegui Operazione Unità centrale aurizio Palesi 28

Diagramma a Stati della Fase di Fetch Fetch AR PC DR [AR] IR DR 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 codice operativo ed incremento del PC Fase di Execute aurizio Palesi 29

Fase di Execute (2 bus) ABUS BBUS ADD R3, R1, R2 R1 SCL 1 SCL 2 R2 ABUS R2; A ABUS; BBUS R1; B BBUS R3 Ris A+B SCS 2 A SCS A A L SCS R Ris BBUS Ris; R3 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 30

Fase di Execute (1 bus) ADD R3, R1, R2 R1 R2 R3 BUS BUS R1; Temp1 BUS BUS R2; Temp2 Temp1+BUS BUS Temp2; R3 BUS Temp1 A L U Temp2 1 Abilitazione dell uscita R1 e caricamento di Temp1 2 Abilitazione dell uscita di R2, asserzione del comando ADD all ALU e abilitazione dell ingresso Temp2 3 Abilitazione dell uscita Temp2 e dell Ingresso di R3 aurizio Palesi 31

Fase di Execute (3 bus) ABUS BBUS CBUS ADD R3, R1, R2 R1 R2 R3 ABUS R1; BBUS R2; R3 ABUS+BBUS A L U aurizio Palesi 32

Controllo + Datapath PCWriteCond PCWrite IorD emread emwrite IRWrite em2reg Unità di Controllo PCSource TargetWrite ALUop ALUSelA ALUSelB RegWrite RegDest P C U X Ind Lettura Lettura Dati E Ind Lettura Scrittura Dati R E G I S T R U X U X Reg. Let. 1 Reg. Let. 2 Reg. Scrittura Scrittura Dati R E G F I L E Est. Segno Let. Dati1 Let. Dati2 U X U X Shift S.2 bit A L U Zero Ris. Shift S.2 bit TA R G ET U X aurizio Palesi 33

L Unità di Controllo Realizzazione Cablata Realizzazione icroprogrammata aurizio Palesi 34

Unità di Controllo Realizzazione Cablata Unità di Controllo Rete Combinatoria Ingressi U s c i t e Unità Operativa di Stato Stato Prossimo Condizioni Cod.Op. Reg.Istruzione aurizio Palesi 35

Unità di Controllo Realizzazione Cablata Progettazione Seguendo il classico flusso di sintesi di una rete sequenziale Ingressi: IR, Stato Uscite: comandi, stato prossimo Uso di RO Ingressi (indirizzi alla RO): IR, 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 36

Unità di Controllo Realizzazione icroprogrammata Unità di Controllo emoria di icroprogramma Unità Operativa + µ PC Selezione Indirizzo Condizioni Cod.Op. Reg.Istruzione aurizio Palesi 37

Unità di Controllo Realizzazione 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 All inizio della fase di fetch µ PC contiene l indirizzo (I0) del tratto di microprogramma corrispondente al fetch Alla fine della fase di fetch µ PC viene aggiornato con il contenuto (o ad una opportuna decodifica) di IR in modo da puntare alla microroutine che effettua le azioni richieste dalla particolare istruzione Al termine, µ PC viene di nuovo caricato con (I0) aurizio Palesi 38

Unità di Controllo Cablata vs. icroprogrammata Fino a fine anni 60: logica cablata (PDP8, HP 2116) Anni 70: microprogrammazione (VAX, Z80, 8086, 68000) Repertorio di istruzioni molto esteso e variato: CISC Il VAX 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 Affermazione delle macchine RISC Istruttivo è esaminare l evoluzione dell architettura Intel: da CISC a (praticamente) RISC aurizio Palesi 39

CISC CISC: Complex Instruction Set Computing Un repertorio di istruzioni esteso è preferibile perché: Istruzioni potenti semplificano la programmazione Riduce 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 40

RISC emorie RA olto più veloci delle precedenti a nuclei Cache Riducono 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 RISC: Reduced Instruction Set Computing aurizio Palesi 41

RISC - 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 42

RISC - Criteri di Progettazione Tutte le istruzioni occupano lo stesso spazio di memoria (una parola) Ristretto numero di formati L'interpretazione del codice avviene attraverso un semplice decodificatore (una rete AND-OR) 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 43

RISC - 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 Architetture 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 44