Logo dell'Università di Catania: Siciliae Studium Generale 1434 Logo DMI, Fondamenti di informatica
matite e gomma
Loghi istituzionali: Siciliae Studium Generale 1434, Università di Catania, Facoltà di Scienze Matematiche, Fisiche, Naturali, Insegnamento di Fondamenti di Informatica

Architetture hardware di sistemi di calcolo

Lezione 8 di Fondamenti di informatica

Docente: Giuseppe Scollo

Università di Catania
Facoltà di Scienze Matematiche, Fisiche e Naturali
Corso di Laurea in Informatica, I livello, AA 2009-10

Logo di Conformità WCAG-1 di Livello Tripla A, W3C-WAI Web Content Accessibility Guidelines 1.0 Validazione XHTML 1.0 Validazione CSS 3

Indice

  1. Architetture hardware di sistemi di calcolo
  2. architettura Von Neumann
  3. registri della CPU
  4. struttura del linguaggio macchina
  5. ciclo macchina
  6. comunicazione con altri dispositivi
  7. velocità di comunicazione dei dati
  8. calcolo in pipeline
  9. architetture multiprocessore
  10. temi per ulteriori approfondimenti (1)
  11. temi per ulteriori approfondimenti (2)

architettura Von Neumann

elaborazione sequenziale di un programma residente in memoria

CPU: Central Processing Unit, o processore, consta di:

memoria: ospita il programma in esecuzione e i dati

bus: canale veloce di comunicazione (throughput : ∼ 100 MB/s)

architettura Von Neumann

architettura Von Neumann

registri della CPU

registri, due categorie:

generici: per gli operandi di operazioni dell'ALU

speciali: di pertinenza dell'Unità di Controllo:

struttura del linguaggio macchina

linguaggio macchina: insieme delle istruzioni accettate dalla CPU, in una data codifica

formato binario delle istruzioni:

  • codice operativo, eventuali operandi
  • lunghezza: fissa o variabile
istruzione in formato macchina

due tipologie di linguaggi macchina (e di architettura della CPU):

classificazione del repertorio di istruzioni macchina:

ciclo macchina

prelievo:

dell'istruzione dall'indirizzo contenuto nel PC

suo trasferimento nell'IR

incremento del PC

ciclo prelievo-decodifica-esecuzione

decodifica:

dell'istruzione nell'IR

esecuzione: dell'istruzione decodificata

comunicazione con altri dispositivi

comunicazione mediante controller

memory-mapped I/O : comunicazione CPU-controller mediante istruzioni di trasferimento dati a indirizzi riservati (porte di I/O )

DMA (direct memory access):

velocità di comunicazione dei dati

bps (bits per second): velocità di trasferimento dei bit fra due dispositivi

tipi di canale di comunicazione:

modem (modulatore-demodulatore):

calcolo in pipeline

architettura biprocessore:

con due processori in pipeline ("incanalati") si anticipa il prelievo dell'istruzione successiva (pre-fetch ) da parte di uno dei due, mentre l'altro decodifica l'istruzione corrente

architetture multiprocessore

la limitata capacità del bus ne fa il collo di bottiglia dell'architettura Von Neumann

le architetture multiprocessore risultano efficaci all'accelerazione dell'esecuzione di algoritmi paralleli, grazie anche alla disponibilità di più canali di comunicazione delle istruzioni e/o dei dati

architetture sincrone:

architetture asincrone:

temi per ulteriori approfondimenti (1)

  1. Architettura di calcolo e dissipazione termica
    La complessità dell'architettura di una CPU spesso, ma non sempre, comporta maggiore consumo energetico e dissipazione termica. Può essere interessante approfondire le cause principali di inefficienza energetica di un'architettura di calcolo.
  2. Microprogrammazione e RISC
    La tecnica della microprogrammazione è stata inizialmente proposta già nel 1957, da Maurice Wilkes, ma non risultò di impiego pratico con le tecnologie dell'epoca. In seguito, invece, già dagli anni '60, l'idea trovò largo impiego, nel progetto di architetture CISC come pure di controller sofisticati. Si può indagare ulteriormente l'argomento per approfondire, ad esempio, perché la microprogrammazione non sia adatta alle architetture RISC, e quali siano le tecniche impiegate con più vantaggio in queste architetture.

temi per ulteriori approfondimenti (2)

  1. Bus di comunicazione con dispositivi periferici
    La crescente varietà di dispositivi periferici per le funzioni più disparate ha fatto emergere l'esigenza di una standardizzazione dei canali di comunicazione fra controller e dispositivi periferici. Una ricognizione sugli standard più diffusi, quali SCSI, IDE, USB, può essere utile.
  2. Supercomputers
    Questo termine designa sistemi di calcolo di altissime prestazioni. Naturalmente, le cifre prestazionali sono relative al periodo storico: le prestazioni di un supercomputer degli anni '60 non distano molto da quelle di un PC odierno, mentre i supercomputer attuali possono constare di decine di migliaia di processori operanti in parallelo. Può essere interessante esplorare lo stato dell'arte nel settore e alcune applicazioni di questi "mostri".