La macchina di Von Neumann. Elementi base. Central Processing Unit (CPU) Architettura computer. Bus di sistema MEMORIA CENTRALE PERIFERICHE A B ALU

Documenti analoghi
La macchina di Von Neumann. Central Processing Unit (CPU) Elementi base. Architettura computer. Bus di sistema MEMORIA CENTRALE PERIFERICHE A B INTR

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

Il processore. Istituzionii di Informatica -- Rossano Gaeta

Architettura dei computer

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

La memoria principale

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

ARCHITETTURA DI UN CALCOLATORE ELETTRONICO

ARCHITETTURA DI UN SISTEMA DI ELABORAZIONE

Elementi di base del calcolatore

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

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

Componenti di un processore

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

Macchina di Von Neumann: Non distingueva fra RAM e ROM Non aveva un bus ma collegamenti punto-punto

Capitolo 5 Elementi architetturali di base

Lezione 1: L hardware

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

Architettura di una CPU

La macchina di Von Neumann

Modulo: Elementi di Informatica

Il Ciclo Fetch-Decode-Execute. C Nyssen/Aberdeen College 2003

Lezione 3: Architettura del calcolatore

Architettura del Calcolatore. Danilo Ardagna Politecnico di Milano

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

Esame di INFORMATICA Lezione 4

Architettura hardware

La Memoria d Uso. La Memoria d Uso

Architettura dei calcolatori I parte Introduzione, CPU

Caratteristiche di un PC

Architettura dei calcolatori

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

Come è fatto un computer

Informatica. Informazione L Informazione è un dato, o un insieme di dati, interpretati in un determinato contesto.

Sistemi di numerazione

Struttura hw del computer

Corso di Sistemi di Elaborazione delle informazioni

Architettura dei calcolatori

Memorie. Definizione di memoria

Il Processore: i registri

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

Calcolo numerico e programmazione Architettura dei calcolatori

Computer e Programmazione

Il Sottosistema di Memoria

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

Architettura di un processore basato su registri generali.

LEZIONE 2 Il processore e la memoria centrale

Architettura di un calcolatore

Struttura del calcolatore

C. P. U. MEMORIA CENTRALE

Architettura dei calcolatori

Informatica: Lez. 1. Andrea Payaro. (European Logistics Association)

Architettura dei computer

Architettura del calcolatore

INFORMATICA CORSO DI INFORMATICA DI BASE ANNO ACCADEMICO 2015/2016 DOCENTE: SARRANTONIO ARTURO

Corso di Informatica

Elementi di Architettura

Pipeline. Esempio pipeline lineare a 5 stadi. Tempificazione S1 S2 S3 S4 S5. Istruzioni. Istruzione 4. Istruzione 3. Istruzione 2. tempo.

I.I.S. Benvenuto Cellini. Corso di formazione tecnica. Memoria Primaria. Prof. Alessandro Pinto. v.2009

Ingegneria Gestionale della logistica e produzione Prof. A. Palomba - Elementi di Informatica (J-Z) Componenti

Informatica e Bioinformatica

Unità Periferiche. Rete Di Controllo

Zoccolo (slot o socket) per il processore. Slot per le memorie RAM. Slot per le schede di espansione con bus ISA (superato),

Sottosistemi ed Architetture Memorie

Memoria Secondaria o di Massa

Linguaggio macchina. 3 tipi di istruzioni macchina. Istruzioni per trasferimento dati. Istruzioni logico/aritmetiche

Corso di Calcolatori Elettronici I A.A Il processore Lezione 18

Le Memorie interne: RAM, ROM, cache. Appunti per la cl. IV sez. D a cura del prof. Ing. Mario Catalano

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

Hardware e software. Marco Alberti Programmazione e Laboratorio, A.A

Modi di indirizzamento

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

LA GESTIONE DELLA I/O

Architettura del Calcolatore

Lo scanner. Informatica di Base A e B -- Rossano Gaeta 82

A cura di: Giulia Bonacina e Fabiana Motteran Prof: Claudio Cancelli Informatica - 3^C_Liceo_Tecnologico A.S

UNITÀ DI ELABORAZIONE (CPU) UNITÀ DI ELABORAZIONE (CPU) Opcode OpCode Operazione

Il calcolatore elettronico. Parte dei lucidi sono stati gentilmente forniti dal Prof. Beraldi

Il processore - CPU (CENTRAL PROCESSING UNIT)

Personal Computer: introduzione

Gerarchia delle memorie

In un modello a strati il SO si pone come un guscio (shell) tra la macchina reale (HW) e le applicazioni 1 :

Architettura del processore. Modello di calcolatore. Caratteristiche del processore. Caratteristiche del processore. Fondamenti di Informatica

NOZIONI BASE DEL PROCESSORE (CPU)

Informatica. 80 ore divise in 4 UFC. Docente: Michela Bacchin. Contatti: Tramite Ermes Studenti

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

LA STRUTTURA DEL COMPUTER. Enrico Terrone A. S: 2014/2015

Architettura di un calcolatore: introduzione

Accesso a memoria. Accesso a memoria. Accesso a memoria. Modalità di indirizzamento. Lezione 5 e 6. Architettura degli Elaboratori A.

PDF tratto dal PPT Architettura del Calcolatore

Corso di Informatica

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

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

LABORATORIO di INFORMATICA

Informatica di Base. Ancora su numeri. La struttura dei sistemi informatici.

Il Sottosistema di Memoria

ARCHITETTURA DI UN ELABORATORE

Informatica di Base - 6 c.f.u.

MEMORIA CENTRALE MEMORIA CENTRALE INTERAZIONE CPU-MEMORIA CENTRALE

I.P.S.I.A. Di BOCCHIGLIERO. ----Memorie a semiconduttore---- Materia: Elettronica, Telecomunicazioni ed applicazioni. prof. Ing.

Transcript:

Architettura di un computer La macchina di Von Neumann Architettura organizzata secondo il modello della macchina di von Neumann definita nei tardi anni 40 all Institute for Advanced Study di Princeton. È costituita da quattro elementi funzionali fondamentali: Unità centrale di elaborazione (CPU); Memoria Centrale; Periferiche (I/O); Bus di sistema. Bus di sistema CPU MEMORIA CENTRALE PERIFERICHE A fianco di Von Neumann l'elaboratore IAS di Princeton o macchina di Von Neumann, ultimata nel 1952. Nella parte bassa dell'elaboratore si puo' vedere una fila di tubi catodici (CRT) utilizzati come memoria. Nel 1955 tali memorie vengono sostituite da quelle a nuclei di ferrite. Elementi base Central Processing Unit (CPU) La CPU contiene i dispositivi elettronici in grado di acquisire, interpretare ed eseguire le istruzioni di ogni programma, trasformando i dati. Le istruzioni vengono eseguite in sequenza. Dati ed istruzioni vengono trasferiti da (e verso) la memoria centrale. La memoria centrale contiene sia le istruzioni che i dati (informazioni necessarie per eseguire un programma). Ha dimensioni limitate ed è volatile (cioè le informazioni memorizzate vengono perse allo spegnimento del computer). PC INTR SR A B ALU Le periferiche consentono uno scambio di informazioni fra l elaboratore e l esterno (ingresso/uscita, memoria secondaria). In particolare, la memoria secondaria (o memoria di massa) viene utilizzata per memorizzare grandi quantità di informazioni in modo persistente. Ha dimensioni elevate, ma l accesso è meno rapido, rispetto alla memoria centrale. IR CU Il bus di sistema collega questi elementi funzionali. Fornisce il supporto fisico per la trasmissione dei dati tra i vari elementi. DR AR Clock

Elementi della CPU Registri principali l unità aritmetico-logica (Arithmetic Logic Unit, ALU) esegue le operazioni aritmetiche e logiche richieste per l esecuzione delle istruzioni; l unitàdicontrollo (Control Unit, CU), controlla e coordina l attività della CPU. In particolare, è responsabile del prelievo, della decodifica delle istruzioni e dell invio dei segnali di controllo per effettuare i passi per l esecuzione di un istruzione; il clock (orologio) cadenza le operazioni elementari, permettendo il sincronismo delle operazioni; vari registri (ad esempio, A, B, PC, SR, etc.). Un registro è una locazione utilizzata per memorizzare dati, istruzioni, o indirizzi all interno della CPU. L accesso ai registri è molto veloce. Nei moderni sistemi di elaborazione la CPU è realizzata da un unico circuito integrato (chip): il microprocessore. DR (Data register o registro dati): viene utilizzato per trasferire dati da e verso la memoria centrale. AR (Address Register o registro indirizzi): viene utilizzato per memorizzare l indirizzo della cella corrente nella memoria centrale (la sorgente/destinazione del trasferimento di dati). PC (Program Counter), registro contatore del programma. Contiene l indirizzo della prossima istruzione da eseguire. IR (Instruction Register), registro istruzione corrente. Contiene, istante per istante, l istruzione che è attualmente in esecuzione. A, B: Registri accumulatori o di lavoro. Contengono operandi e risultati delle operazioni svolte dalle ALU. INTR (Interrupt Register o registro interruzioni): legato alla richiesta di operazioni dalle periferiche di I/O. SR (Status Register o registro di stato), i cui bit forniscono informazioni sul risultato dell ultima operazione eseguita dalla ALU (overflow, zero, carry, segno). ALU (Atithmetic Logic Unit) CU (Control Unit) Esegue le operazioni aritmetiche, logiche ed altre manipolazioni (es: scorrimento) sui dati. Opera su alcuni registri specifici chiamati accumulatori (es: A, B) e modifica i bit del registro Status Register (SR). Gli accumulatori contengono il valore degli operandi ed il risultato finale dell operazione. I bit dello SR o flag permettono di capire l esito dell operazione (es: overflow, risultato positivo o negativo, ecc.) Sovraintende a tutte le attivita della CPU, imponendo la corretta sequenzializzazione delle operazioni da svolgere. In particolare: Fetch L unità di controllo ha il compito di reperire dalla memoria centrale le istruzioni di un programma (fetch) da eseguire (il cui indirizzo è nel registro PC). Le istruzioni sono organizzate in memoria in sequenza. Decodifica La CU interpreta l istruzione che e stata caricata con il fetch. Execute La CU manda in esecuzione (execute) l istruzione trovata (che è stata caricata nel registro IR).

Le memorie cache Le CPU sul mercato (2002) Si dividono in Cache di primo livello o L1 interna alla CPU (es: 32 kb). Cache di secondo livello o L2, (es: 64,128, 256, 512KB, 1 MB) e' esterna al processore. La cache è una memoria speciale della CPU e, a differenza della memoria centrale, è più piccola e più veloce. Funziona come un buffer e contiene la copia delle istruzioni e dei dati che vengono maggiormente utilizzati. La sua funzione e di velocizzare eventuali accessi successivi sugli stessi dati appena ricercati. Intel: P4 2.8 GHz, 533MHz 32 bit system bus, 8 kb L1 cache, 512-KB L2 Cache, mpga-478, 42 milioni di transistor; AMD: Athlon 2600+, 266 MHz 32 bit system bus, 128 kb L1 cache, 256 kb L2 cache, SockA, 37 milioni di transistor; Motorola: PowerPC 7455, 1 GHz, 133 MHz 64 bit system bus, 256 kb L2 cache, 483 CBGA Digital: Alpha EV68 1.25GHz, 16 MB L2 cache, 64 bit system bus Le CPU sul mercato (2003) La memoria centrale Intel: P4 3.2 GHz, 800MHz 32 bit system bus, 8 kb L1 cache, 512-KB L2 Cache, mpga-478, 55 milioni di transistor; AMD: Athlon 3200+, 400 MHz 32 bit system bus, 128 kb L1 cache, 256 kb L2 cache, SockA, 54.3 milioni di transistor; Motorola: PowerPC 7457, 1.3 GHz, 133 MHz 64 bit system bus, 512 kb L2 cache, 483 CBGA E chiamata anche RAM (Random Access Memory) ed e volatile (tutte le informazioni vengono perse allo spegnimento). Contiene i dati e le istruzioni relative al programma in esecuzione. La CPU scambia informazioni solo con la memoria centrale E strutturata come una sequenza di celle (dette parole o word) di dimensione prefissata (es: 8, 16, 32, 64 bit) Ogni parola e univocamente identificata dal suo indirizzo 0 1 2 word n

Indirizzamento della memoria Caratteristiche delle memorie L indirizzamento di una cella di memoria e fatta attraverso il registro di idirizzi (AR) Se AR dispone di k bit, saranno indirizzabili 2 k celle (0..2 k-1 ) Es: k=10 -> celle indirizzabili = 2 10 = 1024 Il valore della cella indirizzato da AR viene in Lettura (R): copiato nel registro dati Scrittura (W): scaricato dal registro dati Le operazioni (R/W) vengono coordinate dalla Control Unit AR 0000000011 0 1 2 n Word=16 bit 0110100010101101 W R 0110100010101101 DR La memoria e realizzata con dispositivi a semiconduttore. Il tempo di accesso ad una memoria e dell ordine della decina di nanosecondi. Capacita Valori tipici: 32, 64, 128, 256, 512 MB Possono essere Dinamiche (DRAM): hanno bisogno di un segnale di refreh, dell ordine di millisecondi,per mantenere le informazioni in esse contenute. Statiche (SRAM): piu veloci delle precedenti, ma piu costose. Normalmente utilizzate per le memorie cache. SDRAM (Synchronous DRAM): permettono di diminuire i tempi di attesa del processore durante la ricerca dei dati. Permettono inoltre un acesso multiplo su locazioni differenti in memoria. RDRAM (RAMBUS DRAM): create per gestire una grande quantita di informazioni per i processori di nuova generazione (gigabit/s). Sono ottimizzate per accessi sequenziali ai dati. DDR SDRAM (Double Data Rate SDRAM): evoluzione della SDRAM con velocita doppia alla stessa. Moduli di memoria SIMM (Single Inline Memory module) Moduli a 30 o 72 piedini (pin) Normalmente montate in coppia per aumentare la capacita di trasferimento DIMM (Dual Inline Memory Module) Moduli a 168 pin Attualmente i piu utilizzati con velocita e capacita maggiore delle precedenti DIMM Altre memorie ROM (Read Only Memory) Non volatili: mantengono le informazioni anche senza alimentazione (es: programma di inizializzazione dei computer o boot) PROM (Programmable ROM) Permottono di essere programmate dall utente tramite dei dispositivi particolari (programmatori di ROM) EPROM (Erasable PROM) Possono essere riscritte piu volte, cancellando il loro contenuto con raggi ultravioletti. Il software contenute in queste memorie e normalmente chiamato firmware

Bus di sistema Bus di sistema Data bus CPU MEMORIA CENTRALE Address bus PERIFERICHE E composto da un insieme di linee lungo le quali viene trasferita l informazione. Collega due unità funzionali alla volta: una trasmette e l altra riceve (master-slave). Il trasferimento avviene sotto il controllo della CPU (Control Unit). Bus dati (Data bus): bidirezionale. Utilizzato dalla CPU per trasmettere dati dalla memoria al registro dati e viceversa o verso le interfacce di I/O. Bus indirizzi (Address bus): unidirezionale. Viene utilizzato dalla CPU per trasmettere il contenuto del registro indirizzi alla memoria o alle intefacce di I/O per selezionare il dispositivo da usare. Bus comandi (Command bus): unidirezionale. Permette alla CPU di inviare alla memoria o all I/O i segnali di comando/consenso fra le varie unita (es: lettura o scrittura). Le uniche istruzioni che possono accedere direttamente alla memoria centrale, sono quelle che trasferiscono i dati da e verso i registri. Tutte le altre operano solo su registri. Command bus Se la dimensione (numero di bit) del bus dati è uguale alla dimensione della parola, si può trasferire in parallelo un intero dato. Altrimenti occorrono più trasferimenti. Esempi di bus I piu comuni sono: ISA = Industry Standard Architecture (obsoleto) EISA = Enhanced ISA (max 33 MB/s) PCI = Peripheral Component Interconnect (max 64 bit a 66 MHz = 528 MB/s di trasferimento dati) Bus controllo Circuiti di controllo Registro istruzioni (8 bit) Registro A Registro B +1 PC (16 bit) Z (8 bit) W (8bit) CU Buffer dati Buffer indirizzi Bus controllo Bus indirizzi 16 bit Bus dati 8 bit Memoria (a 8 bit) 3E 20 27 03 C6 3A 10 20 76 0 1 2 3 4 5 6 7 8 Sommatore ALU

Le istruzioni contenute in memoria normalmente consistono di Codice operativo (operation code): serve ad attivare un azione opportuna (es: somma, input/output, ecc.) Operandi (operands): contiene gli indirizzi degli operandi o gli operandi stessi coinvolti nell operazione (talvolta sottointesi) I fetch Il contenuto del PC viene spostato nel buffer indirizzi e viene comandata una lettura in memoria (lettura della cella 0 = 3E H ) Il dato viene spostato nel registro istruzione Il PC viene incrementato e diventa = 1 Il codice del registro istruzione viene decodificato come: muovi nel registro A il dato che segue il codice operativo. Il PC viene spostato nel buffer indirizzi e viene ordinata la lettura della cella corrispondente. Il valore 20 H viene spostato nel buffer dati. Il PC viene incrementato e diviene = 2 I esecuzione Il dato nel buffer dati viene spostato nel registro A della ALU. II fetch Viene eseguita l istruzione all indirizzo 2 (27 H ) che richiede di muovere nel registro B il dato 03 H che segue il codice operativo (PC =3). PC diventa 4. Istruzione all4 (C6 H ) richiede di sommare il contenuto di A e B e mettere il risultato in A. II esecuzione La CU da indicazione alla ALU di eseguire la somma. III fase L istruzione all indirizzo 5 (3A H ) richiede di acquisire l indirizzo dell operando. Il fetch dell indirizzo e fatta in 2 passi. Viene letto il valore all indirizzo 6 (10 H ) e messo in W e quello 7 (20 H ) in Z Il contenuto di W e Z viene interpretato come un unico indirizzo a 16 bit (1020 H ) Il contenuto di A viene messo nel buffer dati. Viene ordinata una scrittura del dato (23 H = 20 H + 03 H ) nell indirizzo (1020 H ) L istruzione all indirizzo 8 (76 H ) ordina l halt della macchina

Linguaggio assembly Programmare in formato binario o esadecimale e molto difficoltoso. Sono stati cosi creati i linguaggi assembly, che utilizzano una codifica simbolica per le operazioni appena descritte. Questi linguaggi sono dipendenti dal tipo di processore usato, non sono quindi portabili fra macchine con CPU diverse. Linguaggio assembly La traduzione del precedente programma in pseudo-linguaggio assembly potrebbe essere: LD A,20 H load A con il valore 20 H LD B,03 H load B con il valore 03 H ADD A,B somma A e B e metti il risultato in A LD (1020 H ),A sposta il contenuto di A all indirizzo HALT 1020 H