struttura e funzionamento di un microprocessore. campi di utilizzo dei p dai primi calcolatori alle...

29
Struttura e funzionamento di un microprocessore

Upload: filipo-cirillo

Post on 02-May-2015

212 views

Category:

Documents


1 download

TRANSCRIPT

Page 1: Struttura e funzionamento di un microprocessore. Campi di utilizzo dei P Dai primi calcolatori alle attuali applicazioni

Struttura e

funzionamento di un

microprocessore

Page 2: Struttura e funzionamento di un microprocessore. Campi di utilizzo dei P Dai primi calcolatori alle attuali applicazioni

Campi di utilizzo dei P

Dai primi calcolatori alle

attuali applicazioni

Page 3: Struttura e funzionamento di un microprocessore. Campi di utilizzo dei P Dai primi calcolatori alle attuali applicazioni

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

Page 4: Struttura e funzionamento di un microprocessore. Campi di utilizzo dei P Dai primi calcolatori alle attuali applicazioni

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 17000 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.

Page 5: Struttura e funzionamento di un microprocessore. Campi di utilizzo dei P Dai primi calcolatori alle attuali applicazioni

• 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.

Lo schema di Von Neumann

RAM (Memoria Centrale)

Unità di CalcoloINPUT OUTPUT

Memorie Ausiliarie

RAM

RAM

• L’idea fu quella di memorizzare all’interno del computer, non solo i dati ma anche il programma che li doveva elaborare.

Page 6: Struttura e funzionamento di un microprocessore. Campi di utilizzo dei P Dai primi calcolatori alle attuali applicazioni

RAM (Memoria Centrale)

Unità di CalcoloINPUT OUTPUT

Memorie Ausiliarie

il calcolatore (macchina per calcolare)

elaboratore (macch. per il trattamento delle informazioni)

diventa

Elaboratore

Page 7: Struttura e funzionamento di un microprocessore. Campi di utilizzo dei P Dai primi calcolatori alle attuali applicazioni

• EDVAC ideato da VON NEUMANN

• Primo diagramma di flusso ideato da Von Neumann per l’EDVAC

EDVAC

Page 8: Struttura e funzionamento di un microprocessore. Campi di utilizzo dei P Dai primi calcolatori alle attuali applicazioni

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.

Page 9: Struttura e funzionamento di un microprocessore. Campi di utilizzo dei P Dai primi calcolatori alle attuali applicazioni

APPLE II Il trionfo del software

• 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.

• 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)

Page 10: Struttura e funzionamento di un microprocessore. Campi di utilizzo dei P Dai primi calcolatori alle attuali applicazioni

CAMPI DI APPLICAZIONE

DEI MICROPROCESSO

RI

Page 11: Struttura e funzionamento di un microprocessore. Campi di utilizzo dei P Dai primi calcolatori alle attuali applicazioni

Architettura e

logica di funzionamento

Page 12: Struttura e funzionamento di un microprocessore. Campi di utilizzo dei P Dai primi calcolatori alle attuali applicazioni

Contenuti• Blocchi di un sistema a P

• Architettura a BUS

• Suddivisione del BUS

• Architettura interna del P

• Prelievo (fetch) ed esecuzione (execute) di istruzioni in memoria

CPUDisp. di

I/OMemoria

BUS

CPU

ALU

UC

Memoria

Page 13: Struttura e funzionamento di un microprocessore. Campi di utilizzo dei P Dai primi calcolatori alle attuali applicazioni

Blocchi componenti un sistema a P

• Memoria– Conserva Istruzioni e Dati

• Dispositivi di I/O– Consentono lo scambio informazioni con il

mondo esterno

• CPU (P) CPU

ALU

UC

– Esegue operazioni (ALU)– Prende decisioni (UC)

– Memorizza temp. dati (Registri)

REG

REG

Memoria

sotto forma di parole binarieaccessibili mediante un indirizzo

00110101 00110101

0000h

Page 14: Struttura e funzionamento di un microprocessore. Campi di utilizzo dei P Dai primi calcolatori alle attuali applicazioni

Architettura a BUS

CPU Dispositivi diI/O

BUS

Memoria00110101

LETTURA da Mem

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)

00110101

LETTURA da I/OSCRITTURA su MemSCRITTURA su I/O

00110101

Page 15: Struttura e funzionamento di un microprocessore. Campi di utilizzo dei P Dai primi calcolatori alle attuali applicazioni

Suddivisione del BUS

CPU Memoria

BUS INDIRIZZI

BUS DATI

BUS CONTROLLI

Dispositivi diI/O

Dal punto di vista funzionale il BUS di collegamento può essere suddiviso in:

Page 16: Struttura e funzionamento di un microprocessore. Campi di utilizzo dei P Dai primi calcolatori alle attuali applicazioni

Architettura interna del Microprocessore

Reg. istruzioni Reg. di Stato

Accumulatore

Reg. temporaneo

Buffer Dati Buffer Indirizzi

Program Counter

Stack Pointer

Registri di

uso generale

ALU

Decodificatore di istruzioni

Unità di

controllo e temporizzazione

RESET CLOCKBUS INDIRIZZIBUS DATI

BUS INTERNO

……

BUS CONTROLLI

CPU

CPUALU

UC

REG

REG

Page 17: Struttura e funzionamento di un microprocessore. Campi di utilizzo dei P Dai primi calcolatori alle attuali applicazioni

……

Memoria

0000h 00001100

0001h 11000011

Prelievo istruz. dalla mem. ( fetch ) e loro esecuzione (execute)

PROG

DATI

0000h

ADD A,B

00001100

0000h

A

B

0001h

INC A

00001000

11001000

0

0

1

00001000

11001000

+ALU

11010000

11000011

ADD A,B

INC A

fetch

1

0

1

+1

11010000

execute

0002h0001h

11010001

Unità di

controllo e

temporizzazione

Program Counter

Decodificatore di istruzioni

Reg. istruzioni

CPU

Page 18: Struttura e funzionamento di un microprocessore. Campi di utilizzo dei P Dai primi calcolatori alle attuali applicazioni

Architettura e

logica di funzionamento del

MICROPROCESSORE 8088 INTEL

Page 19: Struttura e funzionamento di un microprocessore. Campi di utilizzo dei P Dai primi calcolatori alle attuali applicazioni

Contenuti

• Il circuito integrato

• I registri

• Architettura interna

• La segmentazione degli indirizzi

AD[0:7]

A [8:19]

WR#

RD#

IO/M#

CPU

AX

CODE SEGMENT

DATA SEGMENT

STACK SEGMENT

EXTRA SEGMENT

Page 20: Struttura e funzionamento di un microprocessore. Campi di utilizzo dei P Dai primi calcolatori alle attuali applicazioni

Circuito integrato: segnali per il controllo della memoria e delle

periferiche

AD[0:7]

A [8:19]

WR

RD

IO/M

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

CPU

Page 21: Struttura e funzionamento di un microprocessore. Campi di utilizzo dei P Dai primi calcolatori alle attuali applicazioni

Circuito integrato: segnali per la separazione DATI/INDIRIZZI

AD[0:7]

A [8:19]

WR

RD

IO/M

ALE

DEN

DT/R

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

Page 22: Struttura e funzionamento di un microprocessore. Campi di utilizzo dei P Dai primi calcolatori alle attuali applicazioni

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)

AH ALAX

Page 23: Struttura e funzionamento di un microprocessore. Campi di utilizzo dei P Dai primi calcolatori alle attuali applicazioni

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)

Page 24: Struttura e funzionamento di un microprocessore. Campi di utilizzo dei P Dai primi calcolatori alle attuali applicazioni

Status Register (Registro di Stato)

15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0

x x x x x x xOF DF IF TF SF ZF AF PF CFSTATUS REGISTERF

Flag

O

Overflow0: l’ultima operazione non ha avuto overflow

1:l’ultima operazione ha avuto overflow

FlagInterrupt0: Interrupt abilitato

1: Interrupt non abilitato

FI

FlagSign0: il risultato dell’ultima operazione è

positivo

1: il risultato dell’ultima operazione è negativo

FS

FlagZero0: il risultato dell’ultima operazione non è

nullo

1: il risultato dell’ultima operazione è nullo

FZ

FlagCarry0: il risultato dell’ultima operazione non ha generato

riporto

1: il risultato dell’ultima operazione ha generato riporto

FC

• Memorizza lo stato del processore dopo ogni operazione• Ogni singolo bit viene modificato singolarmente

Page 25: Struttura e funzionamento di un microprocessore. Campi di utilizzo dei P Dai primi calcolatori alle attuali applicazioni

DSCS

Architettura interna

SSES

Logica

di

Controllo

IP

CODA (4 byte)

SIDI

SPBP

INTERFACCIA BUS

ALU

STATUS REGISTER

AH ALBH BLCHDH

CLDL

BUS INTERNO (16 bit)

EU

Registri di uso generale

Registri di segmento

Program counter

Registri indice

Registri Puntatori

BIUCK

VCCMN/MX#

RESET

INTR

NMI

READY

GND

AD[O:7]

A[8:19] DT/R# DEN# ALE

INTA#

RD#

WR#

Page 26: Struttura e funzionamento di un microprocessore. Campi di utilizzo dei P Dai primi calcolatori alle attuali applicazioni

I Segmenti (1)

• Un segmento è un’area di memoria di 64 Kilobyte (216 byte)

01001111 b

…………

10101010 b

11001110 b 00000 h

0FFFF h

0000

FFFF

Page 27: Struttura e funzionamento di un microprocessore. Campi di utilizzo dei P Dai primi calcolatori alle attuali applicazioni

1FFFF h

10000 h

30000 h

3FFFF h

60000 h

6FFFF h

80000 h

8FFFF h

FFFFFh

00000h

I Segmenti (2)

• 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 SegmentCODE SEGMENT

DATA SEGMENT

STACK SEGMENT

EXTRA SEGMENT

0000

FFFF

0000

FFFF

0000

FFFF

0000

FFFF

64K

64K

64K

64K

Page 28: Struttura e funzionamento di un microprocessore. Campi di utilizzo dei P Dai primi calcolatori alle attuali applicazioni

Posizione dei segmenti

• I segmenti possono essere:– Disgiunti– Adiacenti– Coincident

i– Sovrappos

tiCODE SEGMENT

DATA SEGMENT

STACK SEGMENT

EXTRA SEGMENT

Page 29: Struttura e funzionamento di un microprocessore. Campi di utilizzo dei P Dai primi calcolatori alle attuali applicazioni

Indirizzi fisici e indirizzi segmentati• Indirizzo segmentato: usato dal programmatore

1000 2345:

• Indirizzo fisico: usato dal microprocessore

Indirizzo di base del segmento

Offset o spiazzamento

0 +

1000 2345

12345

INDIRIZZO FISICO