Salta al contenuto
Note per Studenti Architettura e organizzazione di un calcolatore

Architettura e organizzazione di un calcolatore

In questa pagina 5

Architettura e organizzazione

Architettura Organizzazione
Che cos'è gli attributi visibili al programmatore, che influenzano l'esecuzione logica di un programma le unità operative e le loro connessioni che realizzano l'architettura
Esempi insieme delle istruzioni, numero di bit per i dati, modalità di indirizzamento, meccanismi di I/O segnali di controllo, tecnologia della memoria, interfacce con le periferiche, circuiti usati
Domanda tipo c'è un'istruzione di moltiplicazione? la moltiplicazione è fatta da un circuito dedicato o da somme ripetute?

Una famiglia di processori condivide la stessa architettura con organizzazioni diverse (più o meno veloci e costose): un programma scritto per un modello gira sugli altri. Il vincolo della retrocompatibilità (x86 dal 8086 di fine anni '70 ai processori attuali) pesa molto sulle scelte di progetto.

Struttura e funzione

Un calcolatore è un sistema gerarchico: a ogni livello si descrivono la struttura (come i componenti sono collegati) e la funzione (che cosa fa ciascun componente).

Quattro funzioni di base: elaborazione dei dati, memorizzazione, trasferimento (da e verso l'esterno: I/O se il dispositivo è vicino, comunicazione se è lontano), controllo delle altre tre.

Quattro componenti al livello più alto:

Componente Ruolo
CPU esegue le istruzioni ed elabora i dati
Memoria principale contiene dati e programmi
I/O scambia dati con l'esterno
Interconnessione (bus) collega i tre precedenti (vedi Bus e interconnessioneBus di sistema diviso in linee dati, indirizzi e controllo; ampiezza del bus e spazio di indirizzamento; arbitraggio; bus singolo e gerarchie di bus multipli; temporizzazione sincrona e asincrona; interconnessioni punto a punto.Bus e interconnessione →)

Dentro la CPU: unità di controllo (coordina e temporizza), ALU (esegue le operazioni), registri (memoria interna velocissima), interconnessione interna (vedi Struttura interna della CPU e registriComponenti interni della CPU (ALU, unità di controllo, banco dei registri, bus interno); registri visibili all'utente e registri di controllo e stato; flag e parola di stato (PSW) con bit di supervisore; quanti registri conviene avere; segmentazione della memoria.Struttura interna della CPU e registri →).

Macchina di von Neumann

I primi calcolatori (ENIAC, 1946) si programmavano cambiando i collegamenti: programma cablato. L'idea di von Neumann è un hardware generico che esegue operazioni diverse a seconda dei segnali di controllo ricevuti, e di scrivere questi comandi come istruzioni memorizzate in memoria insieme ai dati (programma memorizzato).

Caratteristiche:

  1. dati e istruzioni nella stessa memoria, scrivibile e leggibile;
  2. la memoria è indirizzata per posizione, indipendentemente dal contenuto;
  3. le istruzioni si eseguono in sequenza, salvo salti espliciti.

Il prototipo è l'IAS (Princeton, completato nel 1952): 1000 parole di 40 bit; ogni parola contiene un numero oppure due istruzioni da 20 bit (8 bit di codice operativo + 12 bit di indirizzo, 212=4096≥10002^{12} = 4096 \ge 1000). Registri: PC, IR, MAR, MBR, accumulatore AC e MQ. Il funzionamento è il Ciclo fetch-executeRegistri PC, IR, MAR e MBR; ciclo dell'istruzione diviso in fetch ed execute; i quattro tipi di operazioni; diagramma degli stati del ciclo con calcolo degli indirizzi degli operandi e controllo delle interruzioni; esempio su una macchina ad accumulatore.Ciclo fetch-execute →.

Evoluzione tecnologica

Generazione Tecnologia Periodo indicativo
1 valvole 1946–1957
2 transistor 1958–1964
3 circuiti integrati (SSI, MSI) 1965–1971
4 integrazione su larga scala (LSI, VLSI): microprocessori dal 1972

Legge di Moore: il numero di transistor integrabili su un chip raddoppia a intervalli regolari (circa ogni 18–24 mesi). Componenti più piccoli e vicini significano segnali che percorrono distanze minori (sono limitati dalla velocità della luce), quindi clock più alti, consumi minori per operazione e costo minore.

Esempi di scala: Intel 4004 (1971) circa 2300 transistor a 108 kHz; 8086 (1978) circa 29 000 transistor a 5–10 MHz; i processori multicore attuali superano il miliardo di transistor.

Errori tipici

  • Considerare "architettura" la tecnologia della memoria o il tipo di sommatore: sono scelte di organizzazione.
  • Pensare che von Neumann significhi "memoria separata per il programma": è il contrario (la separazione è l'architettura Harvard, usata oggi per le cache L1 istruzioni/dati).

Versione ripasso

Von Neumann

Programma cablato (ENIAC, 1946) →\to programma memorizzato: dati e istruzioni nella stessa memoria, indirizzata per posizione, esecuzione in sequenza salvo salti. IAS (1952): 1000 parole da 40 bit, ciascuna un numero o due istruzioni da 20 bit (8 di codice operativo + 12 di indirizzo); registri PC, IR, MAR, MBR, AC, MQ (Ciclo fetch-executeRegistri PC, IR, MAR e MBR; ciclo dell'istruzione diviso in fetch ed execute; i quattro tipi di operazioni; diagramma degli stati del ciclo con calcolo degli indirizzi degli operandi e controllo delle interruzioni; esempio su una macchina ad accumulatore.Ciclo fetch-execute →).

Evoluzione

Valvole (1946) →\to transistor (1958) →\to circuiti integrati (1965) →\to LSI/VLSI (dal 1972). Legge di Moore: i transistor per chip raddoppiano ogni 18-24 mesi; 4004 (1971) circa 2300, 8086 (1978) circa 29 000.

Errori tipici: la tecnologia della memoria è organizzazione; von Neumann non significa memorie separate (è l'architettura Harvard, nelle cache L1).

Lezioni in cui compare

Teoria collegata