CALCOLATORI ELETTRONICI - PowerPoint PPT Presentation

About This Presentation
Title:

CALCOLATORI ELETTRONICI

Description:

Title: Lectures for 2nd Edition Author: Tod Amon Last modified by: Gianni Danese Created Date: 8/27/1997 8:06:46 PM Document presentation format: Presentazione su ... – PowerPoint PPT presentation

Number of Views:42
Avg rating:3.0/5.0
Slides: 21
Provided by: TodA181
Category:

less

Transcript and Presenter's Notes

Title: CALCOLATORI ELETTRONICI


1
CALCOLATORI ELETTRONICI
  • Giovanni Danese
  • Tel. 0382 985364
  • e-mail gianni.danese_at_unipv.it
  • Corsi di Laurea in Ingegneria Biomedica, in
    Ingegneria Elettronica e Informatica
  • orario delle lezioni
  • Lunedì 16-18 aula 8, Mercoledì 9-11 aula 4
  • orario di ricevimento
  • Martedì 16.45-17.45, Giovedì 16.45-17.45

2
Materiale didattico consigliato
  • Testo Consigliato David A. Patterson, John L.
    Hennessy,
  • Struttura e progetto dei calcolatoriZanichelli,
    2015, Bologna, IV edizione.
  • (David A. Patterson, John L. Hennessy, Computer
  • Organization and Design
  • Elsevier Morgan Kaufmann, 2014, V edition)
  • David A. Patterson, John L. Hennessy,
  • Struttura, organizzazione e progetto dei
    calcolatoriJackson libri, 1999, Milano, II
    edizione.
  • Documentazione varia è reperibile al sito
  • mclab.unipv.it/index.php/corsi

3
Argomenti del corso
  • 1. Architettura dei calcolatori
  • 2. Architettura di una CPU
  • 3. Linguaggio assemblativo
  • 4. Laritmetica dei calcolatori
  • 5. Lambiente di sviluppo dei progetti
  • Prerequisiti
  • Devono essere noti gli argomenti trattati nei
    corsi Fondamenti di Informatica e Fondamenti di
    Informatica (laboratorio)

4
Architettura di un computer
Instruction Set
  • Diversi livelli di astrazione

5
Rappresentazione delle istruzioni
Linguaggio ad alto livello (HLL)
temp vk vk vk1 vk1 temp
Compilatore
lw 15, 0(2) lw 16, 4(2) sw 16, 0(2) sw 15,
4(2)
Linguaggio Assembly
Assemblatore
0000 1001 1100 0110 1010 1111 0101 1000 1010 1111
0101 1000 0000 1001 1100 0110 1100 0110 1010
1111 0101 1000 0000 1001 0101 1000 0000 1001
1100 0110 1010 1111
Linguaggio Macchina
Interpretazione macchina
Segnali di controllo

6
Struttura del software (1)
  • I linguaggi HLL permettono
  • progettazione in linguaggio a quello naturale
  • una maggior concisione rispetto al linguaggio
    macchina
  • indipendenza dal calcolatore
  • Riutilizzo routine frequentemente impiegate ?
    librerie di subroutine
  • Un programma separato che supervisiona lutilizzo
    della macchina da parte dei programmi utente ?
    sistema operativo
  • Software di sistema insieme di programmi che
    forniscono servizi (Sistema Operativo,
    compilatori, assemblatori)
  • Software applicativoprogrammi utente o mirati
    allutente (editors, spreadsheet)

7
Struttura del software (2)
Sw applicativo
SOFTWARE
Software appl. Software sistema
Word Compilatori Sist. Op. Assembl.
Memoria File I/O virtuale System drivers
8
Architettura del Set di Istruzioni
  • Un importante livello di astrazione
  • interfaccia fra hardware e software di basso
    livello
  • standardizza il formato delle istruzioni e i
    pattern di bit a livello di linguaggio macchina
  • vantaggi differenti implementazioni della
    stessa architettura
  • svantaggi talora impossibilità di avvalersi di
    innovazioni tecnologiche
  • Architetture moderne di set di istruzioni
  • Digital Alpha (v1, v3) 1992-97
  • HP PA-RISC (v1.1, v2.0) 1986-96
  • Sun Sparc (v8, v9) 1987-95
  • SGI MIPS (MIPS I, II, III, IV, V) 1986-96
  • Intel (8086,80286,80386, 1978-96 80486,
    Pentium, MMX, ...)

9
Di cosa ci occuperemo
  • Le istruzioni il linguaggio dei calcolatori
    (Cap. 2 Zanich, 3 Jacks)
  • Laritmetica dei calcolatori (Cap. 3 Zanichelli,
    Cap. 4 Jackson)
  • Assemblatori, linker ed il simulatore SPIM (App.
    B Zanichelli e App. A Jackson)
  • Fondamenti sulla progettazione di reti logiche
    (App. C CD Zanichelli e Jackson)

10
Architettura della macchina di Von Neumann
Unità di ingresso
Unità di uscita
Memoria
Risultati
Programmi e dati
CPU
Unità centrale
11
Unità Centrale
D A T A B U S
CONTROL B U S
AD D R E SS B U S
12
Microprocessori e Bus
  • I microprocessori sono dispositivi elettronici
    che implementano in un unico circuito integrato
    le funzioni di una intera CPU. I microprocessori
    attuali hanno bus dati a 8, 16, 32, 64 bit.
  • Il bus dati (data bus) esprime la capacità di
    elaborazione del processore (quanti bit possono
    essere elaborati in parallelo)
  • Il bus indirizzi (address bus) esprime la
    capacità di memorizzazione del processore (2m
    celle di memoria, se m è il numero dei bit del
    bus)
  • La capacità di indirizzamento indica il numero di
    celle diverse cui si può accedere
  • 210 Byte 1024 byte 1 KByte
  • 220 Byte 1048576 byte 1 Mbyte
  • 230 Byte 1073741824 byte 1 GByte

13
Un Esempio
  • Variazione nella precisione di misura di 1 Kg. in
    un sistema di pesatura basato su microprocessori
    con diversa dimensione del bus dati
  • Numero di bit bus dati 4 8 16
  • Dati rappresentabili 2416 28 256 216 65536
  • Precisione relativa 6.25 3.9 0.015
  • Precisione max. 62.5 gr 3.9 gr 0.015 gr

14
Osservazioni
  • I microprocessori a 8 bit di dato hanno
    tipicamente bus indirizzi a 16 bit con capacità
    di indirizzamento di 64 KB
  • I microprocessori a 16 bit di dato hanno
    tipicamente bus indirizzi a 20-24 bit con
    capacità di indirizzamento di 1-16 MB
  • I microprocessori a 64 bit di dato hanno bus
    indirizzi a 64 bit con capacità di indirizzamento
    fino a circa 1019 byte
  • I microprocessori Single Chip riuniscono in un
    unico circuito integrato più di uno dei blocchi
    costituenti un microcalcolatore (eventualmente
    tutti).

15
Architettura di una CPU
BUS DATI ESTERNO
BUS DATI INTERNO
ACC
C O N T R.
D E C O D.
I N S T. R E G.
SP
PC
R e g 0
R e g N
F L A G
.
ALU
BUS INDIRIZZI INTERNO
BUS IND. ESTERNO
16
Ciclo di esecuzione di unistruzione
  • FETCH (prelevamento dellistruzione)
  • DECODIFICA
  • ESECUZIONE
  • La memoria (ROM e RAM) contiene il programma e i
    dati sui quali opera la CPU. Il Program Counter
    (PC) contiene lindirizzo della cella di memoria
    con la prossima istruzione da eseguire.
  • FORMATO DELLE ISTRUZIONI

Campo che caratterizza le varie istruzioni
Gli operandi possono essere 0, 1, 2
17
Sequenza di operazioni elementari per
lesecuzione di ogni singola istruzione
  • FETCH vengono letti i campi che costituiscono
    listruzione
  • 1) (PC)?MAR
  • 2) ((MAR)) ?MBR (PC)1 ?PC
  • 3) (MBR) ?IR
  • I passi 1, 2, 3 permettono di caricare in IR
    (instruction register) il codice operativo (OP
    Code) dellistruzione corrente. Passi analoghi
    permettono di caricare in opportuni registri
    della CPU gli operandi presenti nellistruzione.
    In tal caso, nel passo 3 la destinazione del dato
    proveniente dalla memoria non è più IR, ma
    opportuni registri.
  • DECODE viene identificata listruzione corrente
    sulla base dellOP Code
  • EXECUTE è diversa a seconda del tipo di
    istruzione. In pratica consiste nellinviare
    comandi e dati alle unità interessate.
  • P.S. MAR Memory Address Register MBR Memory
    Buffer Register
  • Notazione (X) ?Y significa Il contenuto del
    registro X viene trasferito nel registro Y

18
Formato delle istruzioni
  • Le istruzioni sono codificate da stringhe di bit.
  • Una volta caricata nellIR, unistruzione deve
    essere decodificata ed eseguita. A tal scopo
    lunità di controllo deve conoscere
  • codice operativo
  • sorgente dati su cui operare
  • destinatario dove porre il risultato e, se
    sorgente e destinazione sono in memoria, la
    modalità di indirizzamento

Esempio 1 Somma tra il contenuto del registro R2
e il contenuto dellaccumulatore. Il risultato va
nellaccumulatore FORMATO codice
operativo FETCH come in precedenza ESECUZIONE (R2
)(ACC)?ACC
19
Esempio di esecuzione di istruzioni complete
  • Esempio 2 somma tra il contenuto della cella di
    memoria il cui indirizzo è specificato
    nellistruzione ed il contenuto
    dellaccumulatore il risultato va
    nellaccumulatore
  • FORMATO codice operativooperando
  • FETCH
  • 1) (PC)?MAR 4) (PC)?MAR
  • 2) ((MAR)) ?MBR (PC)1 ?PC 5) ((MAR)) ?MBR
    (PC)1 ?PC
  • 3) (MBR) ?IR 6) (MBR) ?Rn
  • EXECUTE
  • 1) (Rn) ?MAR 3) (MBR) ?Rn
  • 2) ((MAR)) ?MBR 4) (Rn)(ACC) ?ACC

20
Esempio di esecuzione di istruzioni complete
  • Esempio 3 saltare allistruzione che è
    memorizzata nella cella il cui indirizzo è
    specificato allinterno dellistruzione corrente
  • FORMATO codice operativooperando
  • FETCH
  • 1) (PC)?MAR 4) (PC)?MAR
  • 2) ((MAR)) ?MBR (PC)1 ?PC 5) ((MAR)) ?MBR
    (PC)1 ?PC
  • 3) (MBR) ?IR 6) (MBR) ?Rn
  • EXECUTE
  • 1) (Rn) ?PC
Write a Comment
User Comments (0)
About PowerShow.com