Introduzione all'architettura dei Calcolatori

Documenti analoghi
Corso di Informatica

Introduzione all Architettura dei Calcolatori Elettronici

Elementi di informatica

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

Elementi di informatica

Architettura dei Calcolatori Elettronici

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

Struttura di un elaboratore

Sistemi di Elaborazione delle Informazioni

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

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

Il processore. Istituzionii di Informatica -- Rossano Gaeta

Architettura hardware

Architettura di von Neumann

Architettura di von Neumann

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

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

Programma del corso. Introduzione Rappresentazione delle Informazioni Calcolo proposizionale Architettura del calcolatore Reti di calcolatori

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

Componenti principali

CPU. Maurizio Palesi

Architettura dei calcolatori

Componenti di un processore

Lezione 1: L hardware

Componenti e connessioni. Capitolo 3

è è possibile rispondere a queste domande in molti modi, ciascuno relativo a un diverso punto di vista

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

Architettura dei calcolatori

Corso di Fondamenti di Informatica Elementi di Architettura

Il modello di Von Neumann

ARCHITETTURA DI UN ELABORATORE

Architettura dei computer

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

L Architettura di un Calcolatore

Introduzione all'architettura dei Calcolatori

Architettura generale del calcolatore Hardware (tutto ciò che e tangibile) Software (tutto ciò che non e tangibile)

ARCHITETTURA DI UN SISTEMA DI ELABORAZIONE

Architettura di un calcolatore e ciclo macchina. Appunti per la classe 3 Dinf

ARCHITETTURA DI UN ELABORATORE

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

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

ARCHITETTURA DI UN ELABORATORE

Architettura di un elaboratore. Il modello di von Neumann

HARDWARE 1.4a: (Processore)

G L O S S A R I O. Fondamenti di Informatica I - Università degli Studi di Trento Dott. Roberti Pierluigi

Il Processore: l unità di controllo

Architettura hardware

Capitolo 5 Elementi architetturali di base

Sistemi di Elaborazione delle Informazioni

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

La memoria principale

Architettura di Von Neumann. Architettura di Von Neumann. Architettura di Von Neumann INFORMATICA PER LE DISCIPLINE UMANISTICHE 2 (13042)

Struttura hw del computer

Lezione 3: Architettura del calcolatore

Macchine Astratte. Luca Abeni. February 22, 2017

Valutazione delle prestazioni

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

Politecnico di Torino Sede di Alessandria Corso di informatica

Il modello di von Neumann

Architettura del calcolatore

AXO - Architettura dei Calcolatori e Sistema Operativo. organizzazione strutturata dei calcolatori

Richiami sull architettura del processore MIPS a 32 bit

Macchina di Riferimento: argomenti

Elementi di base del calcolatore

ARCHITETTURA DI UN CALCOLATORE ELETTRONICO

ARCHITETTURA DI UN ELABORATORE

La macchina di Von Neumann

Caratteristiche di un PC

Architettura dei calcolatori

NOZIONI BASE DEL PROCESSORE (CPU)

Organizzata secondo il modello della macchina di von Neumann definita nei tardi anni 40 all Institute for Advanced Study di Princeton.

Esame di INFORMATICA Lezione 4

Computer e Programmazione

Struttura di un sistema di elaborazione. SDE: basi. Descrizione dei componenti (2) Descrizione delle componenti

Microelettronica Corso introduttivo di progettazione di sistemi embedded

Richiami sull architettura del processore MIPS a 32 bit

Architettura di un calcolatore

Note sull architettura del calcolatore

Struttura del calcolatore

Hardware. I parte. Sommario

Hardware. Sommario. Architettura dei computer

Come funzionano i computer

Il computer P R O F. L O R E N Z O P A R I S I

Università degli Studi di Cassino Corso di Fondamenti di Informatica Elementi di Architettura. Anno Accademico 2010/2011 Francesco Tortorella

L insieme delle istruzioni (6)

Algoritmo: procedimento non ambiguo che in un numero finito di passi risolve un problema (o una classe di problemi)

Architettura del Calcolatore

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

Architettura di un processore basato su registri generali.

Architettura di un calcolatore

Architettura degli Elaboratori

CLASSIFICAZIONE DEI SISTEMI OPERATIVI (in ordine cronologico)

L hardware da solo non è sufficiente per il funzionamento dell elaboratore È necessario introdurre il software:

Appunti di informatica. Lezione 5 anno accademico Mario Verdicchio

Macchina di von Neumann/Turing

Calcolatori Elettronici

Sommario FONDAMENTI DI INFORMATICA. Architettura di Von Neumann. Algoritmi e programmi ESERCITAZIONE PYTHON ARCHITETTURA DEI CALCOLATORI

L architettura del calcolatore

Laboratorio di Architettura degli Elaboratori

Modulo: Elementi di Informatica

Transcript:

Introduzione all'architettura dei Calcolatori

Architettura dei calcolatori Che cos è un calcolatore? Come funziona un calcolatore? un calcolatore è un sistema un sistema è un oggetto costituito da molte parti (componenti) che interagiscono, cooperando, al fine di ottenere un certo comportamento Studiare l architettura di un sistema vuol dire individuare ciascun componente del sistema comprendere i principi generali di funzionamento di ciascun componente comprendere come i vari componenti interagiscono tra di loro 2

Hardware e software La prima decomposizione di un calcolatore è relativa alle seguenti macro-componenti: hardware la struttura fisica del calcolatore, costituita da componenti elettronici ed elettromeccanici software l insieme dei programmi che consentono all hardware di svolgere dei compiti utili il software comprende il software di base (tra cui il sistema operativo) e il software applicativo 3

Sommario hardware L unità centrale di elaborazione (CPU) Componenti fondamentali Data path Il ciclo macchina La memoria Generalità e caratterizzazione Gerarchie di memorie e memoria cache CPU BUS emoria

Vista funzionale di un Calcolatore Ambiente Trasferimento Controllo Elaborazione emorizzazione 5

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

Organizzazione a livelli Hardware e software sono organizzati a livelli (o strati) ciascun livello corrisponde a una macchina (reale o virtuale) in grado di eseguire un proprio insieme di operazioni ciascun livello fornisce un insieme di operazioni più semplici da utilizzare rispetto a quelle del livello sottostante ciascun livello è realizzato in termini dell insieme di operazioni fornite dal livello immediatamente sottostante Software applicativo Software di base Hardware 7

Componenti di un Calcolatore 8

Bus e soluzione 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 CPU emoria Ingresso Uscita 9

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 10

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 11

Lo Schema di iferimento Interfaccia I/O Interfaccia I/O Interfaccia I/O emoria centrale CPU Bus dati Bus indirizzi Bus di controllo 12

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) 13

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 14

L Unità Centrale di Elaborazione 15

Organizzazione Tipica (bus oriented) CPU Unità di Controllo Unità Aritmetica Logica Dispositivi di I/O egistri emoria Centrale Terminale Unità a disco Stampante BUS 16

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 emoria ad alta velocità usata per risultati temporanei Determina il parallelismo della CPU Esistono registri generici e registri specifici Program Counter (PC) Instruction egister (I) 17

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 18

Struttura del data path A + B egistri A B egistri di ingresso all ALU B A ALU di uscita dell ALU A + B Bus di ingresso all ALU 19

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. 20

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

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 D I... PSW ALU stato Esegui Operazione Unità centrale 22

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 D I... PSW ALU stato Esegui Operazione Unità centrale 23

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

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 D I... PSW ALU stato Esegui Operazione Unità centrale 25

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 D I... PSW ALU stato Esegui Operazione Unità centrale 26

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 D I... PSW ALU stato Esegui Operazione Unità centrale 27

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 D I... PSW ALU stato Esegui Operazione Unità centrale 28

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 D I... PSW ALU stato Esegui Operazione Unità centrale 29

iepilogo: egistri di CPU I: Usato per contenere l'istruzione in corso di esecuzione Caricato in fase di fetch 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 A: contiene l'indirizzo della locazione di memoria da leggere o scrivere La dimensione di A determina l'ampiezza dello spazio di memoria fisica Dalla fine degli anni '80 vengono prodotti microprocessori con bus indirizzi a 32 bit D: 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) PSW: (Program Status Word) contiene info riguardo lo stato del programma 0, 1,...n: egistri di uso generale 30

Dilemma... Distanza linguaggio umano/macchina: Quanto complesse devono essere le istruzioni che una CPU è in grado di eseguire? Linguaggio umano Codifica in linguaggio macchina Calcolatore 31

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 32

Approccio ISC emorie più veloci ed economiche: Posso anche mettere un numero maggiore di istruzioni, però più semplici. 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 ISC: educed Instruction Set Computing 33

ISC - Criteri di Progettazione Frequenza di clock Velocità con cui gli istanti di tempo si succedono all'interno della CPU. Si misura in Hz, che significa volte al secondo. 2Hz = 2 volte al secondo. Periodo di Clock: intervallo di tempo tra un istante ed il successivo. E' l'inverso della frequenza di clock. Il periodo di clock deve essere sufficientemente lungo da consentire a tutti I segnali elettrici di arrivare 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 34

ISC - Criteri di Progettazione Tutte le istruzioni occupano lo stesso spazio di memoria (una parola) istretto numero di formati 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 35