L organizzazione interna della memoria e del banco di registri prevedono generalmente che le uscite di 2 o più componenti



Documenti analoghi
Architettura dei Calcolatori

Gerarchia delle memorie

Architettura del computer (C.Busso)

Costruire memorie ancora più grandi

Materiali per il modulo 1 ECDL. Autore: M. Lanino

Architettura dei computer

Corso di Informatica

Le memorie. Generalità E applicazioni

LABORATORIO DI SISTEMI

Organizzazione della memoria

Unità Periferiche. Rete Di Controllo

Organizzazione della memoria principale Il bus

Livello logico digitale. bus e memorie

I componenti di un Sistema di elaborazione. Memoria centrale. È costituita da una serie di CHIP disposti su una scheda elettronica

Circuiti sequenziali e elementi di memoria

Esame di INFORMATICA

Le memorie. Introduzione

ARCHITETTURA DEL CALCOLATORE

C. P. U. MEMORIA CENTRALE

Memorie ROM (Read Only Memory)

Informatica - A.A. 2010/11

Clocking. Architetture dei Calcolatori (Lettere. Elementi di Memoria. Periodo del Ciclo di Clock. scritti

1.4b: Hardware. (Memoria Centrale)

Lezione 3: Architettura del calcolatore

Corso di Sistemi di Elaborazione delle informazioni

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

Modulo 1 Le memorie. Si possono raggruppare i sistemi di elaborazione nelle seguenti categorie in base alle possibilità di utilizzazione:

Laboratorio di Informatica

SISTEMI DI ELABORAZIONE DELLE INFORMAZIONI

Laboratorio di Informatica

Architettura hardware

La memoria centrale (RAM)

Struttura del Calcolatore Corso di Abilità Informatiche Laurea in Fisica. prof. Corrado Santoro

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

Memoria secondaria. Architettura dell elaboratore. Memoria secondaria. Memoria secondaria. Memoria secondaria

SOMMARIO. La CPU I dispositivi iti i di memorizzazione Le periferiche di Input/Output. a Montagn Maria

Architettura dei calcolatori II parte Memorie

Calcolo numerico e programmazione Architettura dei calcolatori

Strutture di Memoria 1

Architettura del calcolatore

All interno del computer si possono individuare 5 componenti principali: SCHEDA MADRE. MICROPROCESSORE che contiene la CPU MEMORIA RAM MEMORIA ROM

Corso PLC - Manuale Pratico 1

introduzione I MICROCONTROLLORI

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

CPU. Maurizio Palesi

Struttura del calcolatore

NOZIONI ELEMENTARI DI HARDWARE E SOFTWARE

ECDL MODULO 1 Le Memorie. Prof. Michele Barcellona

Calcolatori Elettronici B a.a. 2006/2007

Memorie Corso di Calcolatori Elettronici A 2007/2008 Sito Web: Prof. G. Quarella

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

Le Memorie. Prof. Maurizio Naldi A.A. 2015/16

Verificare il funzionamento delle memorie RAM Saper effettuare misure di collaudo. Dip switch Pulsante n.a. Octal tri-state buffer IC2 = MM 2114

PLC Programmable Logic Controller

DEFINIZIONE 1/2 memoria ad accesso casuale RAM

Vari tipi di computer

Architettura di un calcolatore

DIMENSIONI E PRESTAZIONI

Tecnologia dell Informazione

clock DATA BUS ADDRESS BUS CONTROL BUS In realtà il bus del microprocessore si compone di 3 bus diversi: Bus indirizzi Bus di controllo

8 Microcontrollori PIC

La memoria - generalità

ARCHITETTURA DELL ELABORATORE

Mercato delle memorie non-volatili

STRUTTURE DEI SISTEMI DI CALCOLO

Architettura degli Elaboratori

La Memoria d Uso. La Memoria d Uso

Architettura dei calcolatori I parte Introduzione, CPU

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

MODULO 01. Come è fatto un computer

Architettura di un calcolatore: introduzione

L architettura di riferimento

DMA Accesso Diretto alla Memoria

Dispensa di Fondamenti di Informatica. Architettura di un calcolatore

L USO DEL CALCOLATORE

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

Architettura del calcolatore. Prima parte

Input/Output. Moduli di Input/ Output. gestiscono quantità di dati differenti a velocità diverse in formati diversi. n Grande varietà di periferiche


Lezione 5 Architettura degli elaboratori. Mauro Piccolo piccolo@di.unito.it

HARDWARE. Relazione di Informatica

Il Processore: i registri

Ing. Paolo Domenici PREFAZIONE

Architettura del Personal Computer AUGUSTO GROSSI

Reti logiche e componenti di un elaboratore

Lezione 22 La Memoria Interna (1)

MODULO 01. Come è fatto un computer

CALCOLATORI ELETTRONICI A cura di Luca Orrù. Lezione n.6. Unità di controllo microprogrammata

Funzionalità di un calcolatore

Test di informatica QUALE TRA I DISPOSITIVI DI MEMORIA ELENCATI HA LA CAPACITÀ PIÙ ELEVATA? a) Floppy disk b) Cd-Rom c) DVD Risposta corretta:

Concetti fondamentali della Tecnologia Dell informazione Parte prima

Elettronica dei Sistemi Digitali Dispositivi logici programmabili

Corso di Sistemi di Elaborazione delle informazioni

Il Sistema Operativo. C. Marrocco. Università degli Studi di Cassino

MACCHINA DI VON NEUMANN

Lez. 5 Memorie Secondarie

Memory TREE. Luigi Zeni DII-SUN Fondamenti di Elettronica Digitale

Clock. Corso di Architettura degli Elaboratori. Architetture degli Elaboratori. Circuiti combinatori e sequenziali.

Informatica per l Ingegneria Industriale. Introduzione ai calcolatori

Capitolo. Interfacciamento di periferiche I/O con il PC. 1.1 Il BUS di espansione del PC

Transcript:

Banco di registri e memoria Corso ACSO prof. Cristina SILVANO Politecnico di Milano Componenti di memoria e circuiti di pilotaggio L organizzazione interna della memoria e del banco di registri prevedono generalmente che le uscite di 2 o più componenti siano collegate alle stesse linee di uscita (bus) Sono necessari opportuni elementi funzionali (circuiti di pilotaggio delle uscite del componente) che garantiscano la NON interferenza tra i moduli che condividono le stesse linee di uscita 2 Pag. 1

Esempio: 2 registri da n bit collegati ad un bus da n bit n bit n bit L I R1 L I R2 CK U CK U n bit n bit n bit Per il corretto funzionamento deve essere possibile: isolare elettricamente e attivare in mutua esclusione le uscite dei 2 registri da n bit collegate al bus Buffer tristate E il circuito elementare modellabile come un contatto a tre posizioni: in stato di bassa impedenza consente di avere in uscita o il livello alto (1) o il livello basso (0) in stato di alta impedenza (Z) isola elettricamente l uscita l uscita tristate viene gestita da un apposito ingresso di controllo (Ouput Enable) che, se non attivo, forza lo stato di alta impedenza 3 4 Pag. 2

Funzionamento di un buffer tristate I U I U 0 0 0 0 ingresso di controllo OE 1 interruttore chiuso I U I U 1 1 1 1 OE 1 interruttore chiuso I U I U X Z X Z 0 oppure 1 OE 0 interruttore aperto stato di alta impedenza 5 Banco dei registri (Register File) Spesso occorre utilizzare un certo numero di registri paralleli con le stesse dimensioni e le stesse funzioni (ad es. nel datapath della CPU) Registri Registri di ingresso dell ALU Bus di ingresso all ALU A B A A + A B L + B A U B Registro di uscita dell ALU I registri vengono organizzati in una struttura a vettore, chiamata banco dei registri 6 Pag. 3

Funzionamento di un banco di registri Si consideri ad esempio un banco di 8 registri da 16 bit ciascuno, ovvero un banco 8 16 Ogni registro è identificato da un indirizzo (valore binario su 3 bit compreso tra 0 e 7). Gli 8 registri sono convenzionalmente chiamati: R0, R1,, R7 Più in generale, per specificare l indirizzo con n 1 registri occorrono log 2 n bit Le operazioni eseguibili sul banco sono: lettura: si presentano in uscita i 16 bit memorizzati nel registro indirizzato scrittura: si inviano e memorizzano 16 bit nel registro indirizzato Interfaccia di un banco di registri Il banco dei registri ha: 3 ingressi per l indirizzo del registro da leggere / scrivere 16 uscite/ingressi dati, per ricevere/inviare il contenuto del registro da leggere/scrivere un ingresso di comando: lettura o scrittura (RD: read) un ingresso di abilitazione al banco (CS: Chip Select) un ingresso di controllo per la gestione delle uscite tristate (OE: Output Enable) un ingresso come segnale di clock (CK) Porta di accesso (in lettura /scrittura) al banco di registri 8 x 16 3 16 indirizzo dato 8 16 RD (lettura / scrittura) CS (abilitazione) OE CK (clock) 7 8 Pag. 4

Operazioni di lettura/scrittura Lettura: indirizzo del registro da leggere comando di lettura (RD = 1) comando di Output Enable (OE = 1) abilitazione del banco (CS = 1) in uscita si ottiene il valore del dato del registro indirizzato Scrittura indirizzo del registro da scrivere valore del dato da scrivere nel registro comando di Output Enable (OE = 0) comando di scrittura (RD = 0) abilitazione del banco (CS = 1) Quando CS = 0 le uscite del banco sono a Z (alta impedenza) 9 Struttura del banco di registri 8 x 16 bit indirizzo rete combinatoria di controllo 8 registri paralleli con caricamento dato 3 16 bit R0 lettura scrittura abilitazione Ouput Enable 16 RD CS OE 16 bit 16 bit 16 bit 16 bit 16 bit 16 bit 16 bit R1 R2 R3 R4 R5 R6 R7 clock CK 10 Pag. 5

Varianti I banchi di registri sono disponibili in diverse dimensioni: 8 8, 16 16, 32 32, ecc. Banco di registri multiporta: il banco di registri può avere più porte di accesso distinte, in lettura/scrittura (o anche in sola lettura o sola scrittura) per poter operare in parallelo su più registri. Esempio tipico: 2 porte di lettura e 1 porta di scrittura In caso di più porte di scrittura, il banco è in grado di gestire i conflitti di scrittura 11 Banco di Registri con 2 porte di lettura e 1 porta di scrittura Banco di registri con 2 porte di lettura (Dato A e Dato B dell ALU) e una porta di scrittura (risultato in uscita dall ALU) Banco di Registri Registri di ingresso dell ALU Bus di ingresso all ALU A A A A + A B L + B B U B Registro in uscita dall ALU 12 Pag. 6

Banco di Registri (Register File) Progettiamo un Register File con n registri, due porte di lettura (DatiA e DatiB) e una porta di scrittura (Risultato) Indirizzo Dati A Indirizzo Dati B Indirizzo Risultato Risultato Dati A Dati B 13 Implementazione delle 2 porte di lettura 14 Pag. 7

Implementazione della porta di scrittura kton 15 Memoria La memoria è un blocco funzionale di tipo sequenziale complesso Serve per memorizzare dati e istruzioni, e per permetterne l accesso, in lettura o in scrittura Ha una struttura a matrice (vettore di parole), i cui elementi sono le parole (word) di memoria Ogni parola è una sequenza di bit, in numero fissato 1 Un componente integrato (chip) di memoria si caratterizza specificando: la capacità, misurata in numero totale di bit memorizzabili: di solito si esprime come prodotto del numero di parole per il numero di bit per parola le funzioni: lettura e scrittura, solo lettura il numero di porte di accesso e il tempo necessario per l accesso 16 Pag. 8

Organizzazione a parole indirizzo di parola vettore di parole bit 0 1 2 3 4 5 6 7 0 1 7 8 bit 8 bit 8 bit 8 bit 8 bit 8 bit 8 bit parola Capacità: 8 parole 8 bit per parola = 64 bit 17 Interfaccia di memoria Il contenuto della memoria viene letto o scritto una parola per volta, in un ciclo di clock (più cicli in memorie lente) Si accede a una parola di memoria tramite la porta di accesso alla memoria La porta di accesso alla memoria può funzionare in lettura e scrittura (è il caso più frequente), solo in lettura e teoricamente anche solo in scrittura (caso poco frequente) 18 Pag. 9

Segnali dell interfaccia di memoria La porta di accesso (interfaccia) alla memoria è formata dai seguenti segnali: Ingressi di indirizzo, che codificano in binario l indirizzo della parola su cui si deve operare se la memoria ha capacità di k 1 parole, occorrono log 2 k ingressi di indirizzo Ingresso/Uscita dei dati, per leggere/scrivere una parola di m bit Bit di comando di lettura/scrittura, RD (read): RD = 1 lettura; RD = 0 scrittura Bit di comando di abilitazione del componente, CS (Chip Select): CS = 1 chip attivo, si può accedere al contenuto; CS = 0 chip non attivato Bit di comando di abilitazione delle uscite dati, OE (Output Enable): OE = 1 le uscite sono abilitate; OE = 0 le uscite sono isolate 19 Componente di memoria porta di accesso { n bit m bit indirizzo dato Capacità: 2 n m RD (lettura / scrittura) OE (abilitazione uscite) CS (abilitazione chip) Componente integrato (chip) di memoria Capacità: 2 n parole m bit per parola 20 Pag. 10

Diagramma temporale Capacità: 8 8 bit # bit ind: log 2 8 = 3 bit # bit dato: 8 bit Dato OE RD CS 5 3 2 4 ritardo di lettura 10 50 ns ritardo di scrittura 10 50 ns (8 bit di (8 bit di dato) d t ) 10101010 2 00010011 uscite isolate legge (3 bit di indirizzo) (3 bit di indirizzo) Indirizzo 1 000 1 001 4 3 5 scrive abilitazione chip lettura legge 10101010 dalla parola di indirizzo 000 21 scrittura scrive 00010011 nella parola di indirizzo 001 Tempo Cicli di lettura e scrittura Ciclo di lettura Ciclo di scrittura 1. indirizzo della parola da leggere 2. comando di lettura (RD = 1) 3. non isolare le uscite dati (OE = 1) 4. abilitare il componente (CS = 1) 5. contenuto della parola disponibile sulle uscite. Ritardo di lettura: 10 50 ns 1. indirizzo della parola da scrivere 2. dato da scrivere in ingresso 3. comando di scrittura (RD = 0) 4. isolare le uscite dati (OE = 0) 5. abilitare il componente (CS = 1). Ritardo di scrittura: 10 50 ns 22 Pag. 11

Organizzazione a matrice Le memorie vengono viste di solito come vettori (monodimensionali) di parole Le memorie di elevata capacità possono in realtà avere una struttura interna a matrice (bidimensionale), allo scopo di ridurre i collegamenti interni In tal caso sono di solito presenti due comandi aggiuntivi (RAS e CAS), per l accesso alla memoria: RAS: Row Address Strobe CAS: Column Address Strobe 23 Esempio di memoria organizzata a matrice Memoria con capacità di 16Mbit Configurazione esterna: 2M x 8 bit = 2M Byte (21 bit indirizzo per byte) Struttura: matrice 4K(righe) x 4K(colonne) Riga: 4K bit vista come 512 x 8 bit (2 9 Byte) Indirizzi: Indirizzo di riga: 12 bit Indirizzo di colonna: 9 bit per individuare il byte nella riga Accesso: Indirizzo di riga + RAS (accesso a 4096 bit) Indirizzo di colonna + CAS (accesso a 1 byte tra i 512) 24 Pag. 12

Esempio di organizzazione a matrice (2) RAS I 209 12 bit registro indirizzo di riga decod. di riga matrice di celle 512 8 totale 4096 bit I 209 \ I 80 21 bit circuito di lett. \ scritt. CS R \ W 9bit I 80 registro indirizzo di col. decod. di colonna CAS D 7 D 0 25 Banco di memoria Sono disponibili componenti integrati di memoria di svariate capacità Per esempio: 64 K 8, 1 M 8, 1 M 1, 256 M 1, Per ottenere memorie di capacità elevata, occorre aggregare più componenti di memoria, realizzando un banco di memoria I banchi di memoria hanno una struttura a matrice di chip Per aumentare la lunghezza della parola di memoria, si compone una colonna di chip di memoria, da usare in parallelo Per aumentare il numero di parole della memoria, si compone una riga di chip di memoria, da usare in esclusione 26 Pag. 13

Esempio Si supponga di disporre di 4 chip di memoria da 1 M 8 ciascuno Si desidera ottenere un banco di memoria da 2 M 16 Il numero di chip è sufficiente: 4 (1 M 8) = 32 Mbit e 2 M 16 = 32 Mbit Occorre comporre una matrice 2 2: 2 righe ih di 2 chip di memoria ciascuna 27 Interfaccia processorememoria Processore MAR MDR Logica di controllo Bus indirizzi n bit Bus dati m bit Bus di controllo Indirizzo i Dato Memoria Capacità 2 n x m RD (lettura/scrittura) OE (Output Enable) CS (Chip Select) MAR: Memory Address Register MDR: Memory Data Register 28 Pag. 14

Tecnologie di memoria Esistono svariate tecnologie di memoria, che dipendono: dalla capacità della memoria dal tempo di accesso a una parola (in lettura o in scrittura) dalla politica di accesso: lettura e scrittura, sola lettura, programmabilità sul campo dalla stabilità: volatile o permanente dal costo 29 RAM Statica (SRAM) Memoria RAM (Random Access Memory) La memoria SRAM richiede 6 transistor per bit memorizzato Capacità mediopiccola Tempo di accesso molto breve Funziona in lettura e scrittura Volatile: senza alimentazione il contenuto della memoria svanisce Usi: svariati, in particolare come memoria cache 30 Pag. 15

RAM Dinamica (DRAM) La tecnologia DRAM richiede 1 transistor per bit memorizzato Sfrutta il fenomeno dell accumulo temporaneo di carica sul transistor (capacità parassita) Internamente contiene un circuito di rinfresco che rigenera le cariche Memoria RAM (matrice di transistor) ad altissima densità Capacità grandegrandissima Tempo di accesso medio Funziona in lettura e scrittura Volatile: senza alimentazione il contenuto della memoria svanisce Usi: numerosissimi, la memoria centrale (main memory) dei calcolatori normalmente è DRAM 31 ROM Memoria ROM (Read Only Memory), realizzata come matrice di transistor Capacità grande Tempo di accesso medio Funziona in sola lettura Persistente: il contenuto permane anche in assenza di alimentazione Usi: per memorizzare programmi permanenti, non modificabili; grandi volumi di produzione 32 Pag. 16

PROM, EPROM, EEPROM Capacità e tempo simili alla ROM Sola lettura e persistenti Sono programmabili sul campo, tramite un apposito programmatore: PROM (Programmable Read Only Memory): programmabile una volta sola EPROM (Erasable Programmable Read Only Memory): cancellabile con raggi UV EEPROM (Electrically Erasable Programmable Read Only Memory): cancellabile elettricamente (si può anche scrivere un solo byte per volta) Usi: piccoli volumi di produzione, prototipi 33 Memoria FLASH Evoluzione della tecnologia EEPROM con densità maggiore e quindi capacità più elevata Funziona in lettura e scrittura (la scrittura è a blocchi di byte) Persistente: il contenuto permane anche in assenza di alimentazione Usi: Basso consumo di energia la rendono adatta nei sistemi portatili (palmari, telefoni cellulari, fotocamere digitali) Flash memory stick o pen drive: banco di memoria flash di capacità dell ordine del GByte 34 Pag. 17

Tabella riassuntiva delle tecnologie di memoria Tipo Categoria Modalità di cancellazione Scrittura byte Volatile Usi specifici SRAM lett/scritt elettrica si si cache DRAM lett/scritt elettrica si si mem. centrale ROM sola lett nessuna no no grandi vol. PROM sola lett nessuna no no piccoli vol. EPROM sola lett luce UV no no prototipi EEPROM sola lett elettrica si (lenta) no prototipi FLASH lett/scritt elettrica a blocchi no multimedia Le memorie cancellabili vengono talvolta qualificate come memorie prevalentemente a sola lettura (readmostly), invece che a sola lettura (readonly) 35 Pag. 18