Capitolo 2 Elaborazione dei dati Mauro Giacomini 2007 Pearson Addison-Wesley. All rights reserved
Capitolo 2: Elaborazione dei dati 2.1 Architettura del Computer 2.2 Linguaggio macchina 2.3 Esecuzione dei programmi 2.4 Istruzioni Aritmetico/Logiche 2.5 Comunicazione con altri dispositivi 2.6 Altre architetture 2007 Pearson Addison-Wesley. All rights reserved 0-2
Architettura del computer Processore o Unità centrale (CPU) Unità Aritmetico/Logica affiancata da unità di controllo Registri Scopo generale Scopo speciale Bus Scheda madre 2007 Pearson Addison-Wesley. All rights reserved 0-3
Concetto di programma memorizzato È un programma che può essere codificato come un insieme di bit e salvato nella memoria principale. Da qui, la CPU può quindi estrarre le istruzioni ed eseguirle. A sua volta, il programma che deve essere eseguito, può essere modificato facilmente. 2007 Pearson Addison-Wesley. All rights reserved 0-4
Terminologia Istruzione Macchina: Un istruzione (o comando) codificato come un insieme di bit riconoscibile dalla CPU Linguaggio Macchina: L insieme dei tutte le istruzioni riconosciute da una macchina 2007 Pearson Addison-Wesley. All rights reserved 0-5
Filosofia del linguaggio macchina Calcolatore con insieme ridotto di istruzioni (Reduced Instruction Set Computing - RISC) Poche istruzioni, semplici, efficienti e veloci Esempio: PowerPC per Apple/IBM/Motorola Calcolatore con insieme complesso di istruzioni (Complex Instruction Set Computing - CISC) Molte istruzioni, convenienti e potenti Esempio: Pentium per Intel 2007 Pearson Addison-Wesley. All rights reserved 0-6
Tipi di istruzioni macchina Trasferimento dei dati: Copiare di dati da una locazione ad un altra Istruzioni Aritmetico/Logiche: utilizza insiemi di bit già esistenti per creare un nuovo insieme di bit Istruzioni di Controllo: dirigono l esecuzione di un programma 2007 Pearson Addison-Wesley. All rights reserved 0-7
Figura 2.1 Somma e Divisione di due valori archiviati in memoria 2007 Pearson Addison-Wesley. All rights reserved 0-8
Figura 2.2 Architettura di una macchina 2007 Pearson Addison-Wesley. All rights reserved 0-9
Parti di un istruzione macchina Campo codice operativo (Opcode): Specifica quale operazione deve essere eseguita Campo operando: Fornisce maggiori dettagli sull operazione Interpretazione dell insieme di operandi che dipendono dall op-code 2007 Pearson Addison-Wesley. All rights reserved 0-10
Esecuzione dei programmi Controllato da due registri speciali Contatore di programma (Program counter): indirizzo dell istruzione successiva Registro delle istruzioni (Instruction register): istruzione corrente Ciclo macchina Reperimento (Fetch) Decodifica (Decode) Esecuzione (Execute) 2007 Pearson Addison-Wesley. All rights reserved 0-11
Figura 2.3 Decodifica dell istruzione B258 Salto condizionato 2007 Pearson Addison-Wesley. All rights reserved 0-12
Figura 2.4 Descrizione di un programma salvato in memoria e pronto per l esecuzione 2007 Pearson Addison-Wesley. All rights reserved 0-13
Figura 2.5 Esecuzione della fase di reperimento del ciclo macchina 2007 Pearson Addison-Wesley. All rights reserved 0-14
Istruzioni Aritmetico/Logiche Operazioni Logiche: AND, OR, XOR Mascheratura Operazioni di Shift e Rotazione: shift circolare, shift logico, shift aritmetico Operazioni Aritmetiche: addizione, sottrazione, moltiplicazione, divisione Azioni precise dipendono da come i valori sono codificati (complemento a due e numeri a virgole mobile). 2007 Pearson Addison-Wesley. All rights reserved 0-15
Figura 2.6 Rotazione della configurazione di un bit a destra 2007 Pearson Addison-Wesley. All rights reserved 0-16
Comunicazione con altri dispositivi Controller: Apparato intermedio che gestisce la comunicazione tra il computer e un dispositivo Controller specializzati per ciascun dispositivo Controller con scopi generali (USB e FireWire) Porte: La porta in cui un dispositivo viene connesso al PC Memory-mapped I/O: la CPU comunica con i dispositivi periferici come se questi fossero celle di memoria 2007 Pearson Addison-Wesley. All rights reserved 0-17
Figura 2.7 Controlli collegati al bus di un computer 2007 Pearson Addison-Wesley. All rights reserved 0-18
Comunicazione con altri dispositivi Direct memory access (DMA): Dal momento che un controller è collegato al bus, esso può comunicare con la memoria principale quando la CPU non usa il bus Collo di bottiglia di Von Neumann: Velocità del bus insufficiente impedisce le performance Handshaking: processo di coordinazione del trasferimento dei dati fra componenti 2007 Pearson Addison-Wesley. All rights reserved 0-19
Comunicazione con altri dispositivi Comunicazione Parallela: Vengono trasferiti più bit contemporaneamente,ognuno su una linea separata. Comunicazione Seriale: I bit vengono trasferiti uno dopo l altro attraverso un unica linea di comunicazione. 2007 Pearson Addison-Wesley. All rights reserved 0-20
Velocità di trasferimento dei dati Unità di misura Bps: Bits per secondo Kbps: Kilo-bps (1,000 bps) Mbps: Mega-bps (1,000,000 bps) Gbps: Giga-bps (1,000,000,000 bps) Larghezza di banda: massima velocità consentita 2007 Pearson Addison-Wesley. All rights reserved 0-21
Altre architetture Tecnologie per aumentare il tasso di trasferimento: Pipelining: Sovrapposizione delle fasi in cui è suddiviso il ciclo macchina Elaborazione parallela: Utilizzo di più processori contemporaneamente SISD: Singlo flusso di istruzioni, singolo flusso di dati MIMD: Flusso multiplo di istruzioni, flusso multiplo di dati SIMD: Flusso singolo di istruzioni, flusso multiplo di dati 2007 Pearson Addison-Wesley. All rights reserved 0-22