UOMO

 

COMPUTER

 

 

                   

Legge, ascolta istruzioni e dati attraverso organi di senso.

 

Registra le istruzioni e i dati nella memoria.

Elabora i dati utilizzando il cervello come unità di calcolo e di controllo.

Talvolta usa carta, lavagna, etc. per registrare dati e istruzioni che non è in grado di ricordare (non entrano tutte insieme nel cervello che ha memoria limitata).

Fornisce i dati in forma percepibile sensorialmente da altri uomini.

      

Acquisisce dati e programmi attraverso dispositivi di input.

 

Registra i programmi e i dati nella memoria centrale.

L’unità di controllo controlla la sequenza delle operazioni; l’unità logico - aritmetica (ALU) effettua i calcoli.

Registra dati e programmi su memoria ausiliaria (dischi, nastri, etc.).

 

 

Emette i risultati tramite i dispositivi di output.

           


Memoria Centrale

Þ     Indirizzi (0..max)

Þ     Parola (8, 16, 32 o 64 bit)

            indirizzi                                                         indirizzi

  0        0 1 0 0 1 0 0 0                          0          0 1 0 0 1 0 0 0 1 0 1 0 0 1 0 1

 


  1        1 0 1 0 0 1 0 1                          2          1 1 1 1 0 0 1 1 0 0 0 0 0 0 0 0

                                                                                  parola di 16 bit

  2        1 1 1 1 0 0 1 1                          .....

 


  3        0 0 0 0 0 0 0 0

  ...       parola di 8 bit

 

Due modi differenti di organizzare una memoria a 8 o 16 bit

 

Capacità:

·     kilobyte (KB)        = 210 byte = 1.024 byte              @ 1.000 byte

·     megabyte (MB)     = 220 byte = 1.048.576 byte   @ 1.000.000 byte

·     gigabyte (GB)       = 230 byte                       @ 1.000.000.000 byte

·     terabyte (TB)        = 240 byte                @ 1.000.000.000.000 byte

 

Tempo di accesso:

·     millisecondo (ms) = un millesimo di secondo        = 10-3 sec.

·     microsecondo (ms) = un milionesimo di secondo = 10-6 sec.

·     nanosecondo (ns) = un miliardesimo di secondo         = 10-9 sec.


            Memoria Centrale

PERMANENTI: il contenuto permane anche in assenza di alimentazione.

VOLATILI:       il contenuto si perde senza alimentazione.

STATICHE: non necessitano di refresh.

DINAMICHE: richiedono una riscrittura periodica (refreshing) perché tendono a perdere il contenuto.

RAM: (Random Access Memory) sono memorie accessibili per scrittura e lettura.

ROM: (Read Only Memory) sono memorie usabili solo in lettura dopo una scrittura iniziale (il contenuto non può essere modificato).

EPROM: (Erasable Programmable ROM) sono memorie ROM riscrivibili con strumentazione ad hoc.

EEPROM: (Electrally Erasable PROM) sono memorie riscrivibili, ma con tempi di scrittura dell’ordine di millisecondi; sono usate tipicamente per memorizzare dati  quasi costanti.


Memoria Centrale

PARAMETRI DI VALUTAZIONE

à     CAPACITÀ in byte

à     VELOCITÀ di accesso (attuale < 80 ns; a nuclei » 1 ms)

à     DIMENSIONI FISICHE da uno o più MB; maggiore compattezza Þ maggiore velocità

à     ASSORBIMENTO di energia (+ velocità Þ + energia Þ problemi di raffreddamento)

à     LUNGHEZZA DELLA PAROLA: 8, 16, 32, 64 bit; parola + lunga Þ memoria + veloce

 

EVOLUZIONE DELLE DIMENSIONI

 

Elementi per cm2

 

1021

Limite fisico

1019

Memoria genetica

1010

Cervello umano  ¬ situazione attuale

109

Circuiti VVLSI (very very large scale integration)

108

Circuiti VLSI (very large scale integration)

106

Circuiti LSI (large scale integration)

105

Circuiti SSI (small scale integration)

103

Memorie a nuclei magnetici

1

Circuiti a transistor

10-2

Circuiti a valvole

           

           
Memoria Centrale

 

Schema di una memoria centrale

memoria

 

comando di

lettura / scrittura

 
 

 


Registro indirizzamento

 

 

Registro di lettura/scrittura

 

 

 


           

           

 

 

·   Registro Indirizzamento: indirizzo della cella di memoria da selezionare

·   Registro di Lettura/Scrittura: dato da scrivere (comando di scrittura) o dato letto (comando di lettura)

 

 

La scelta del tipo di memoria dipende dall’applicazione sulla base della valutazione dei vari fattori: velocità, costo, dissipazione di potenza, ingombro, etc.

 

 


C.P.U.

 

 

PC:=indirizzo iniziale

nel registro PC viene caricato l’indirizzo della prima istruzione

loop

inizio ciclo di esecuzione

     IR:=memoria(PC)

nel registro IR viene trasferita l’istruzione di indirizzo PC (fetch)

     decode

decodifica dell’istruzione

     incremento di PC

a seconda della lunghezza dell’istruzione, per indirizzare la prossima

     execute

esecuzione dell’istruzione corrente

end loop

nuova iterazione


C.P.U.

 

 

Architettura PC “IBM compatibile” =

microprocessori Intel famiglia 80x86

 

Modelli:

·      1981: CPU 8088 (4,77 Mhz; 8 bit; max memoria 1MB)

·      1982: CPU 8086 (8/16 bit; frequenza più elevata)

·      1983: CPU 80286 (16 bit; frequenze 6¸16 Mhz; max memoria 16MB)

·    1985: CPU 80386 (32 bit; frequenze 16¸40 Mhz; max memoria 4GB)

·      1988: CPU 80486 (32 bit; frequenze 25¸100 Mhz; coprocessore matematico ed MMU incorporati)

·    1992: CPU Pentium (CISC & RISC; 64 bit; frequenze 60¸90 Mhz; max memoria 264 @ 4 milioni di terabyte)

·    1995: CPU Pentium Pro (P6)



Architetture CISC e RISC

 

·     metà anni ‘80 prime CPU di tipo RISC

·     basso costo

·     elevate prestazioni, raggiungibili per l’architettura semplificata

·     sensibile aumento della frequenza di clock (sino ed oltre i 200 Mhz)

·     maggiore dotazione di cache (primaria e secondaria)

·     elevato parallelismo nelle istruzioni macchina (pipeline).

·     supporto di sistemi multiprocessore

·     architettura di tipo generale, e non solo per applicazioni scientifiche.

·     nel 1992 passaggio ai 64 bit

·     meno “intelligenza” cablata Þ gestione a carico dei compilatori

·     Tempo di CPU = N.ro di Istruzioni * Cicli/Istruzione * Tempo di Ciclo Þ meno Cicli per Istruzione, più basso Tempo di Ciclo

·     altre caratteristiche:

-    set di istruzioni macchina semplici e a lunghezza fissa Þ n.ro complessivo di istruzioni 2¸4 volte maggiore;

-    alto numero di registri;

-    accesso alla memoria del tipo load/store.

·     evoluzioni recenti:

-    bus indirizzi separato dal bus dati (architettura Harvard);

-    memorie cache separate per istruzioni e dati;

-    struttura interna a bus multipli per supportare più unità di esecuzione;

-     unità di esecuzione con schema pipeline, l’unico in grado di fornire un risultato per ogni ciclo di clock.


C.P.U.

 

L ’ U n i t à   L o g i c o - A r i t m e t i c A

 

Þ      Contiene una serie di registri nei quali vengono memorizzati i dati su cui operare ed i risultati ottenuti.

Þ      Riceve in ingresso i segnali su cui operare ed il codice dell’istruzione e produce i segnali di output.

 

 

 

 

 

 

 

 

 

 

 

 

 

 


Inp = segnali di Input

Out = segnali di Output

Sel = segnali di selezione operazione


Architetture Bus Standard

 

 

 

 

·   1981: primo bus a 8 bit (PC e XT)

·   1983: bus I.S.A. a 16 bit (AT Bus)

·   1985: bus a 32 bit M.C.A. (di IBM) ed E.I.S.A. (altri)

·   1988: local-bus V.E.S.A. a 32 bit (accelerazione video; totale dipendenza dalla CPU)

·   1990: bus P.C.I. a 32/64 bit (intermedio tra bus tradizionale,  CPU e memoria; asincrono ed indipendente dalla CPU; clock fisso di 33 Mhz Þ 132¸260 MB/sec; bus-mastering multiplo)


C.P.U.

 

 

Istruzioni macchina

 

             C O D I C E   O P E R A T I V O                  ½         O P E R A N D I

|----------------------------------------- p a r o l a ------------------------------------------|

 

·     codice operativo: sequenza di bit che identifica l’operazione da eseguire

·   operandi: valori costanti oppure indirizzi di memoria (in binario)

 

 

Operazioni tipiche:

 

·  su registri (load/store)

·  salti (“branch”) condizionati

·  salti incondizionati

·  aritmetiche

· logiche


C.P.U.

 

Esempio di istruzioni macchina:

prodotto di due numeri A e B

 

 

 

            R3 ¬ 0

    R1 ¬ memoria(300)

    R2 ¬ memoria(301)

L1: se R2 = 0 vai a L2

    R3  ¬ R3 + R1

    R2 ¬ R2 - 1

    vai a L1

L2: memoria(302) ¬ R3

    fine

 


Memorie di massa

 

 

·    archiviazione permanente di dati e programmi

·    basso costo

·    elevata capacità

·    non volatili

 

“I dati ed i programmi cui può accedere direttamente il processore sono solo quelli presenti in memoria centrale. Per essere utilizzati, i dati e i programmi registrati su memoria di massa devono essere trasferiti in memoria centrale”

 

 

 

 

 

 

 

 



Memorie di massa

 

 

Parametri:

·   CAPACITÀ (relativamente alta)

·   COSTO (basso)

·   TEMPO DI ACCESSO (dischi³5 ms)

·   TIPO DI ACCESSO:

-  diretto (dischi magnetici)

-     sequenziale (nastri magnetici)

Dischi magnetici:

·    uno o più piatti rigidi (hard-disk) o disco flessibile (floppy-disk)

·    ruotano a velocità costante (hard-disk) o su richiesta (floppy)

·    lettura/scrittura effettuata per mezzo di testine per tracce concentriche (cilindri), suddivise in settori

·    densità di registrazioneattuale = 108 bit/cm2

·    dimensioni (diametro): 14”®8”®5¼”®3½”®2”®...

·    capacità 400MB ¸ 4GB


D i s c h i

 

Tempo di accesso

 

 

 

 

 latenza (³4,16 ms)

 seek (pochi ms)

avvio motore (10¸100 ms)


D i s c h i

 

Tipologie:

·   dischi rigidi estraibili (minore capacità, trasportabili)

·   dischi fissi (tecnologia “winchester” sotto vuoto)

·   floppy disk (supporto flessibile, molto leggeri, densità minore, meno affidabili, basso costo)

·   dischi a testine fisse (tamburi): minimo tempo di accesso

 

 


DISCHI MAGNETICI

 

 

      RIGIDI                 FLESSIBILI

 

 

             REMOVIBILI          FISSI

 

 


             TESTINA FISSA TESTINA MOBILE

                    (tamburi)

 


D i s c h i

 

Caratteristiche tecniche:

·   tempi di accesso attuali ~ 4,16 ms

·   dischi a testine fisse non più in uso

·   più testine sullo stesso braccio

·   dischi di piccole dimensioni Þ avviamento su richiesta

·   costo ~ 10-4 £/bit

·   “accesso ciclico”

·   cache-controller

 

 

 

Costo

 

Maneg-

gevolez-za

Tempo di accesso

 

Affidabilità

 

Capacità

 

Flessibili

 

basso

 

 

alta

 

200 ms

 

bassa

 

bassa (1-2 MB)

 

 

Testina fissa

 

alto

 

 

bassa

 

5-8 ms

 

alta

 

bassa (in disuso)

 

 

Testina mob.

 

medio

 

 

bassa

 

10-15 ms

 

alta

 

alta (200MB-4GB)

 

 

Removibili

 

 

medio-alto

 

media

 

10-50 ms

 

medio-alta

 

alta (100MB-2GB)

 


Dischi Ottici e Magneto-Ottici

 

 

Þ     CD-ROM o WORM: scrivibili una sola volta; usano superfici sensibili ad un raggio laser

Þ     magneto-ottici (riscrivibili; usano superfici anche magnetiche)

Caratteristiche:

·   bassissimo costo supporto (CD-ROM);

·   capacità attuale circa 1 GB;

·   estraibili;

·   tempo di accesso 50-150 ms;

·   idonei alla registrazione di dati, voce, immagini (fisse ed in movimento);

·   utilizzati nelle applicazioni multimediali;

·    juke-box di CD-ROM con capacità di centinaia di GB.


N a s t r i   M a g n e t i c i

Utilizzati essenzialmente per operazioni di backup e trasporto dati

 

¨unità a bobina: costose, poco capaci ed ingombranti

 

¨unità streamer: economiche, capaci e poco ingombranti (cartucce magnetiche da 1/4” o cassette da 8 mm; capacità alcuni GB)


Canali di Input/Output

 

 

 

 

¨unità dedicate al trasferimento dei dati

¨dotate di capacità elaborative proprie

¨gestiscono l’I/O, sollevando la CPU da questo compito


I n t e r f a c c e

 

Dispositivi per il collegamento delle periferiche ai canali di I/O o al BUS

 

seriale

(un bit alla volta)

 

 

 

 

parallela

(8 bit = 1 byte alla volta)

 

 

 

 

controller (dispositivi intelligenti, con comandi indipendenti dal particolare device, usati per dischi, nastri, etc.)

 

Tecnologia DMA

accesso diretto alla memoria ®

più unità cooperanti