La presentazione è in caricamento. Aspetta per favore

La presentazione è in caricamento. Aspetta per favore

Struttura e funzionamento di un microprocessore.

Presentazioni simili


Presentazione sul tema: "Struttura e funzionamento di un microprocessore."— Transcript della presentazione:

1 Struttura e funzionamento di un microprocessore

2 Campi di utilizzo dei mP
Dai primi calcolatori alle attuali applicazioni

3 Contenuti ENIAC: il primo computer elettrico Lo schema di Von Neumann
EDVAC Nuovi computer con componenti elettronici a semiconduttore: APPLE II Campi di applicazione dei microprocessori Dal mondo analogico al PC Memorie a semiconduttore: RAM e ROM

4 ENIAC: primo computer elettrico
L’ENIAC (electric numerical integrator analyzer and computer) fu costruito tra il 1943 e il 1945 dall’esercito statunitense per calcolare la traiettoria delle prime armi atomiche. Costruito da più di valvole a vuoto, Eniac eseguiva 5000 operazioni al secondo, risolvendo un problema medio in circa 2 secondi, ma richiedendo due giorni per la preparazione. Pesava 30 tonnellate era lungo 30 m alto 2,5 m. Assorbiva 200 Kw di potenza.

5 Lo schema di Von Neumann
RAM (Memoria Centrale) RAM Unità di Calcolo INPUT OUTPUT Memorie Ausiliarie Una delle innovazioni introdotte fu la RAM (Random Access Memory) cioè la memoria centrale o memoria di lavoro (allora memoria a nuclei magnetici), una memoria elettronica interna all’elaboratore destinata a contenere il programma. RAM L’idea fu quella di memorizzare all’interno del computer, non solo i dati ma anche il programma che li doveva elaborare.

6 RAM (Memoria Centrale)
il calcolatore (macchina per calcolare) elaboratore (macch. per il trattamento delle informazioni) diventa Elaboratore RAM (Memoria Centrale) Unità di Calcolo INPUT OUTPUT Memorie Ausiliarie

7 EDVAC EDVAC ideato da VON NEUMANN
Primo diagramma di flusso ideato da Von Neumann per l’EDVAC

8 Nuovi computer con componenti elettronici a semiconduttore
Con l’avvento dei transistor a semicondutore (Bell labs 1947) L’IBM nel 1954 realizzò il primo computer a transistor, e anche il primo messo in commercio. Ne furono vendute 120 unità. Nel 1958 la TEXAS INSTRUMENTS costruì il primo circuito integrato, consentendo la costruzione dei microprocessori, e di computer sempre più piccoli e potenti, ma sempre dai costi non accessibili a tutti limitandone così la vendita, e quindi la produzione. Solamente nel 1975 fu costruito il primo prototipo di PC l’ALTAIR 8800 della MITS il processore era l’INTEL 8080 e aveva 256 byte di RAM. Costava 367 dollari.

9 APPLE II Il trionfo del software
Realizzato nel 1976, fu il primo vero PC commerciale, che sancì il successo del calcolo elettronico grazie ai software a lui dedicati. In particolare venne realizzato il primo foglio elettronico (Visicalc) Ma intanto l’IBM realizza il suo primo PC cercando di accontentare le richieste di mercato: basso prezzo e possibilità di aggiornare i componenti e il software. Non brevettò il PC, consentendo ai concorrenti di copiarne la struttura. Questa fu l’idea di mercato vincente, perché la maggior parte dei PC erano così compatibili con i componenti IBM,e i creatori di software si basarono sul loro hardware, tra questi c’era la Microsoft. Nasce l’era del software, che deciderà il futuro dei PC.

10 CAMPI DI APPLICAZIONE DEI MICROPROCESSORI

11 logica di funzionamento
Architettura e logica di funzionamento

12 Contenuti Blocchi di un sistema a mP Architettura a BUS
CPU CPU Disp. di I/O Memoria Blocchi di un sistema a mP Memoria Architettura a BUS BUS Suddivisione del BUS ALU UC Architettura interna del mP Prelievo (fetch) ed esecuzione (execute) di istruzioni in memoria

13 Blocchi componenti un sistema a mP
CPU (mP) CPU Esegue operazioni (ALU) ALU REG Prende decisioni (UC) UC Memorizza temp. dati (Registri) Memoria Conserva Istruzioni e Dati Memoria sotto forma di parole binarie 0000h accessibili mediante un indirizzo Dispositivi di I/O Consentono lo scambio informazioni con il mondo esterno

14 Architettura a BUS CPU Dispositivi di Memoria I/O BUS
Il BUS di collegamento consente lo scambio di informazioni: dalla memoria verso il microprocessore (LETTURA da Memoria) dai dispositivi di I/O verso il microprocessore (LETTURA da I/O) dal microprocessore verso la memoria (SCRITTURA su Memoria) dal microprocessore verso i dispositivi di I/O (SCRITTURA su I/O) CPU Memoria Dispositivi di I/O BUS SCRITTURA su Mem LETTURA da Mem LETTURA da I/O SCRITTURA su I/O

15 Suddivisione del BUS CPU Dispositivi di Memoria I/O
Dal punto di vista funzionale il BUS di collegamento può essere suddiviso in: CPU BUS INDIRIZZI BUS CONTROLLI Memoria Dispositivi di I/O BUS DATI

16 Architettura interna del Microprocessore
CPU ALU UC REG Architettura interna del Microprocessore BUS INTERNO Reg. istruzioni Reg. di Stato Registri di uso generale CPU Accumulatore Decodificatore di istruzioni ALU Reg. temporaneo Stack Pointer Unità di controllo e temporizzazione …… Program Counter Buffer Dati Buffer Indirizzi RESET CLOCK BUS CONTROLLI BUS DATI BUS INDIRIZZI

17 Prelievo istruz. dalla mem. ( fetch ) e loro esecuzione (execute)
Memoria Reg. istruzioni ADD A,B A 0000h 0001h INC A CPU Decodificatore di istruzioni PROG ADD A,B INC A + +1 ALU B Unità di controllo e temporizzazione …… Program Counter 0002h 0001h 0001h 0000h 0000h 1 1 DATI

18 logica di funzionamento del MICROPROCESSORE 8088 INTEL
Architettura e logica di funzionamento del MICROPROCESSORE 8088 INTEL

19 Contenuti Il circuito integrato I registri Architettura interna
AD[0:7] A [8:19] WR# RD# IO/M# CPU Il circuito integrato I registri Architettura interna La segmentazione degli indirizzi AX EXTRA SEGMENT STACK SEGMENT DATA SEGMENT CODE SEGMENT

20 Circuito integrato: segnali per il controllo della memoria e delle periferiche
AD[0:7]: linee del BUS DATI multiplexate con le prime 8 linee del BUS INDIRIZZI A[8:19]: le rimanenti 12 linee del BUS INDIRIZZI WR#: segnale di scrittura RD#: segnale di lettura IO/M#: segnale di attivazione periferica I/O o memoria AD[0:7] A [8:19] CPU WR RD IO/M

21 Circuito integrato: segnali per la separazione DATI/INDIRIZZI
ALE: indica la presenza degli indirizzi sulle linee AD[0:7] DEN#: indica la presenza di un dato valido sulle linee AD[0:7] DT/R#: indica la direzione dei dati AD[0:7] ALE A [8:19] WR DEN RD DT/R IO/M

22 I Registri di uso generale
AX registro ACCUMULATORE BX registro BASE CX registro CONTATORE DX registro DATI Possono essere divisi in due byte (es.:AL e AH), dando luogo a un set possibile di 8 registri a 8 bit L = LOW (BASSO) H = HIGH (ALTO) AX AH AL

23 UTILIZZO dei registri di uso generale
Operazioni aritmetiche a 8 o a 16 bit Operazioni logiche Trasferimento dati Funzioni specifiche ( es.: AX è coinvolto nelle operazioni di Input/Output dei dati, BX è usato come puntatore nell’indirizzamento della memoria)

24 Status Register (Registro di Stato)
Memorizza lo stato del processore dopo ogni operazione Ogni singolo bit viene modificato singolarmente 15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 x STATUS REGISTER OF O F DF IF I F TF SF S F ZF Z F AF PF CF C F Overflow 0: l’ultima operazione non ha avuto overflow 1:l’ultima operazione ha avuto overflow Flag Interrupt 0: Interrupt abilitato 1: Interrupt non abilitato Flag Sign 0: il risultato dell’ultima operazione è positivo 1: il risultato dell’ultima operazione è negativo Flag Zero 0: il risultato dell’ultima operazione non è nullo 1: il risultato dell’ultima operazione è nullo Flag Carry 0: il risultato dell’ultima operazione non ha generato riporto 1: il risultato dell’ultima operazione ha generato riporto Flag

25 Architettura interna Registri di segmento INTERFACCIA BUS BIU
AD[O:7] A[8:19] DT/R# DEN# ALE Registri di segmento CS INTA# DS INTERFACCIA BUS SS RD# ES WR# Program counter Logica di Controllo IP CK BIU VCC MN/MX# RESET BUS INTERNO (16 bit) CODA (4 byte) INTR NMI READY Registri di uso generale AH AL GND BH BL CH CL ALU DH DL Registri indice SI DI STATUS REGISTER Registri Puntatori SP BP EU

26 I Segmenti (1) Un segmento è un’area di memoria di 64 Kilobyte (216 byte) b ………… b b 0FFFF h FFFF 00000 h 0000

27 I Segmenti (2) 1FFFF h 10000 h 30000 h 3FFFF h 60000 h 6FFFF h 80000 h 8FFFF h FFFFFh 00000h Contemporaneamente la CPU 8088 può utilizzare al massimo 4 segmenti (256 Kilobyte): CODE SEGMENT: contiene il codice (programma) DATA SEGMENT: contiene i dati (iniziali e i risultati) STACK SEGMENT: contiene lo stack, magazzino temporaneo di dati e indirizzi EXTRA SEGMENT: è un ampliamento del Data Segment EXTRA SEGMENT FFFF 64K 0000 STACK SEGMENT FFFF 64K 0000 DATA SEGMENT FFFF 64K 0000 CODE SEGMENT FFFF 64K 0000

28 Posizione dei segmenti
I segmenti possono essere: Disgiunti Adiacenti Coincidenti Sovrapposti EXTRA SEGMENT STACK SEGMENT DATA SEGMENT CODE SEGMENT

29 Indirizzi fisici e indirizzi segmentati
Indirizzo segmentato: usato dal programmatore Offset o spiazzamento 1000 1000 : 2345 2345 Indirizzo di base del segmento + 12345 INDIRIZZO FISICO Indirizzo fisico: usato dal microprocessore


Scaricare ppt "Struttura e funzionamento di un microprocessore."

Presentazioni simili


Annunci Google