Estratto del documento

a cura di

Gerardo BONELLI

52228

pag. 1

➔ Introduzione 4

➔ Codifiche 4

✓ Codifica binaria

✓ Conversione decimale binario

✓ Conversione binario decimale

✓ Codifica in modulo e segno

✓ Codifica in complemento a due

✓ Notazione scientifica

✓ Standard IEEE 754

✓ Codifica esadecimale

✓ Codifica alfanumerica ASCII

➔ Circuiti 8

✓ Elementi di base dell’algebra di commutazione

✓ Teorema fondamentale dell’algebra di commutazione

✓ Teorema fondamentale duale

➔ Moduli combinatori 11

✓ Codificatore

✓ Decodificatore

✓ Multiplatore

✓ Demultiplatore

✓ ROM

✓ PLA

➔ Memorie 13

✓ Latch

✓ Flip Flop

✓ Registri

✓ Ram

➔ ALU 17

✓ Aritmetica binaria

● Addizione

● Sottrazione

● Moltiplicazione

● Divisione

✓ Celle addizionatrici

✓ Operazioni effettuate dai circuiti ALU

➔ Architettura di Von Neumann 19

✓ Istruzioni

✓ Fetch ed execute

Cenni di multiprogrammazione

➔ Architettura MIPS 21

✓ Assembler MIPS

✓ Planimetria

➔ Input/output 24

✓ Tipologie di I/O

✓ Esempi di periferiche

➔ BUS 26

✓ BUS processore-memoria

✓ BUS di I/O

✓ BUS backplane

✓ BUS sincroni e asincroni pag. 2

✓ Tecniche di arbitraggio

Centralizzato parallelo

Distribuito per autoselezione

Recupero delle collisioni

Concatenamento a festone

➔ Prestazioni di un’architettura 29

✓ ANALISI DELLE PRESTAZIONI

✓ CPI

✓ MIPS

✓ MFLOPS

✓ OVERCLOCKING

➔ Gerarchie di memoria 30

➔ Cenni di Programmazione Assembler 31

Introduzione

L’Architettura dei Calcolatori Elettronici è la disciplina che studia, idea e

progetta calcolatori

elettronici più o meno complessi, in maniera da ottenere la massima resa

possibile con una

spesa sempre più contenuta. La composizione di un calcolatore elettronico si

basa sul modello di Von Neumann e quindi su 4 componenti fondamentali quali

CPU, RAM, Input e Output.

pag. 3

Chi si occupa di architettura dei calcolatori ha il compito di costruire sistemi di

elaborazione di diversa complessità (da una semplice scheda elettronica a un

complesso sistema con grossa potenza di calcolo) mettendo insieme questi

componenti elementari.

Un problema assai discusso agli albori dei calcolatori elettronici furono le

modalità di

programmazione. Nel 1944 Von Neumann si unì al progetto ENIAC proprio con

l’intento di semplificare le modalità di programmazione, fissando le basi dei

calcolatori odierni. Oggi, per poter gestire l’hardware di un calcolatore bisogna

conoscere il suo linguaggio; ogni calcolatore è infatti in grado di comprendere

un unico set di istruzioni, e sulla base del set di istruzioni definiamo

architetture di varia natura. Il software eseguibile su un dato calcolatore non

può essere eseguito su un calcolatore che non è in grado di interpretare lo

stesso set di istruzioni; il passaggio di Apple da processori PowerPC a Intel ha

reso inutilizzabile tutto il software scritto per hardware precedente, tanto per

fare un esempio tangibile. Nonostante cio’, tutti i linguaggi assembler sono

relativamente simili, poiché le architetture si basano sugli stessi principi di base

e alcune operazioni devono poter essere eseguite da ogni calcolatore.

Prenderemo per lo più in esame il set di istruzioni che proviene da processori

MIPS. Codifiche

La matematica alla base di un calcolatore elettronico si basa sul sistema

sistema numerico posizionale

numerico binario. Si tratta di un a base 2, che

ammette solo due simboli, quali “0” ed “1”. E’ sensibilmente diverso rispetto al

unità, decine, centinaia,

sistema decimale1, pertanto al posto di (...) avremo

unità, duine, quattrine, ottine, (...), e potranno assumere solo valori {0,1}.

Codifica Binaria

La Codifica Binaria è il più semplice sistema di codifica che utilizza l’alfabeto

binario.

bit

Un di memoria è il più piccolo spazio di memoria presente all’interno di un

variabile binaria booleana,

calcolatore. Può ospitare una o ovvero una variabile

che possiede due soli stati (0 ed 1). Utilizzando K bit di memoria, si ottengono 2

byte.

k combinazioni differenti; il susseguirsi di 8 bit forma 1 Sulla base di ciò,

si è arrivati a considerare il bit ed il byte, con i corrispondenti multipli, come

unità di misura dello spazio occupato da una certa informazione.

multipli fondamentali

Nome Simbolo Multiplo Nome Simbolo Multiplo

3 10

kilobyte kB 10 kibibyte KiB 2

6 20

megabyte MB 10 mebibyte MiB 2

9 30

gigabyte GB 10 gibibyte GiB 2 pag. 4

12 40

terabyte TB 10 tebibyte TiB 2

Conversione Decimale-Binario

La conversione da Decimale a Binario si effettua mediante ripetute divisioni per

due,

considerando solo il resto (1 o 0). Il corrispondente numero in forma binaria

sarà dato dal susseguirsi di tutti i resti ottenuti, a partire dall’ultimo.

Per esempio: Conversione Binario-Decimale

Per convertire un numero binario in un numero decimale basta sommare fra

loro le singole cifre ciascuna moltiplicata per il proprio peso.

Per esempio:

Abbiamo dunque:

1 x 32 + 0 x 16 + 1 x 8 + 1 x 4 + 0 x 2 + 1 x 1 = 45

Ovviamente il procedimento può essere reso più rapido sommando solo i bit

uguali a 1 (infatti il contributo dei bit zero è nullo).

Codifica in modulo e segno

Nella codifica numerica è opportuno indicare tanto il modulo del numero di

codifica in modulo e segno

interesse quanto il suo segno. La permette di

conseguire quest’obiettivo. La tecnica prevede che il primo bit venga utilizzato

per indicare il segno; mentre i restanti bit per il modulo. pag. 5

Questa tecnica prevede che venga utilizzato il primo bit del dato per indicare il

segno (0 se

positivo, 1 se negativo) e i restanti bit per codificare il valore assoluto.

Prendiamo il valore precedentemente calcolato 101101 . Con la codifica in

2

modulo e segno è necessario aggiungere un bit sulla sinistra: se per esempio

volessimo rappresentare 45 , con questa codifica avremmo: 1101101 . La

10 2

cifra in rosso rappresenta il segno.

Codifica in complemento a due

Con il complemento a due, il bit iniziale può avere un valore positivo oppure

negativo, e da questo deriva il fatto che tutti i numeri che cominciano con un

"1" sono numeri binari negativi, mentre quelli che iniziano con "0" sono numeri

binari positivi. Attraverso questo metodo è possibile avere un'unica

rappresentazione dello zero e poter eseguire efficacemente le addizioni o le

sottrazioni sempre avendo il primo bit che ci indicherà il relativo segno.

Si vuole rappresentare il numero -5 su 6 bit.

10

Iniziamo col rappresentare il modulo di 5.

5 = 000101

10 2

Calcoliamone il complemento:

¬ 000101 = 111010

Aggiungiamo 1

111010 + 000001 = 111011 = -5 10

Notazione Scientifica

La notazione scientifica è un modo conciso di esprimere i numeri reali

utilizzando le potenze intere della base utilizzata per la notazione posizionale. Il

principale vantaggio è quello di permettere di utilizzare grandezze molto grandi

o molto piccole senza memorizzare lunghe sequenze di 0, infatti viene

considerata una sola cifra intera diversa da 0, seguita dalla parte decimale del

numero di interesse, il tutto moltiplicato per 10 K , con K intero che può essere

sia positivo che negativo. Standard IEEE 754

Lo standard IEEE per il calcolo in virgola mobile è lo standard più diffuso

nel campo del calcolo automatico. Questo standard definisce il formato per la

rappresentazione dei numeri in virgola mobile ed un set di operazioni

effettuabili su questi. Specifica inoltre quattro metodi di arrotondamento e ne

descrive cinque eccezioni.

Un numero in virgola mobile, secondo lo standard IEEE è rappresentato su

parole di 32, 64 o 128 bit divisi in tre parti: pag. 6

s;

un bit di segno

 e;

un campo di esponente

 m;

un campo di mantissa

Il numero cercato, con la codifica secondo lo standard IEEE 754 sarà dato dalla

giustapposizione dei tre campi.

Codifica Esadecimale

Il sistema numerico esadecimale (spesso abbreviato come esa o hex) è

un sistema numerico posizionale in base 16, cioè che utilizza 16 simboli invece

dei 10 del sistema numerico decimale tradizionale. Per l'esadecimale si usano

in genere simboli da 0 a 9 per le prime dieci cifre, e poi le lettere da A a F per le

successive sei cifre, per un totale di 16 simboli.

0, 1, 2, 3, 4, 5, 6, 7, 8, 9, A, B, C, D, E, F

Codifica ASCII Codice Standard

ASCII (American Standard Code for Information Interchange,

Americano per lo Scambio di Informazioni ) è un codice per la codifica di

caratteri.

La codifica ASCII di base rappresentava i caratteri su 7 bit (cioè 128 caratteri

possibili, da 0 a 127). pag. 7

Circuiti

Il calcolatore puo’ essere visto come una rete logica cioè come un insieme di

dispositivi chiamati porte logiche connessi. I circuiti logici sono componenti

hardware che manipolano informazione binaria. I circuiti di base sono detti

PORTE LOGICHE (logical gate). Le porte logiche sono dispositivi in grado di

eseguire operazioni logiche su segnali binari. I segnali binari sono livelli di

tensione. Il valore esatto della tensione del segnale non è significativo: conta

l’appartenenza ad un livello contrassegnato alto e ad un livello contrassegnato

basso.

Questi livelli sono identificati tramite una coppia di simboli:

0 1

Low High

False True

Open Close

L’algebra che useremo è dovuta a Boole ed è detta ALGEBRA BOOLEANA. Le

variabili di questa algebra sono binarie, possono assumere solo due valori (0,1).

Le variabili si indicano con le lettere A,B,C,X,Y,W,Z. Le operazioni base sono

AND ( • ), OR ( + ) ,NOT ( ¯ ) Possiamo definire questi operatori tramite la

tabella di verità: AND Prodotto logico

OR – Somma logica

NOT Negazione logica

I Circuiti digitali possono essere classificati in:

Circuiti logici combinatori dove i valori presenti in uscita in tali circuiti

 dipendono esclusivamente dalle combinazioni binarie in ingresso e non

pag. 8

dalla sequenza temporale con cui tali combinazioni vengono fornite al

circuito.

Circuiti sequenziali dove le uscite dipendono anche dalla sequenza

 (cioè dall'ordine con cui vengono forniti gli ingressi). Per fare un esempio,

una porta AND è un circuito combinatorio, in quanto non ha nessuna

importanza l'ordine con cui vengono forniti i due valori di ingresso:

l'uscita dipende semplicemente dalla combinazione (00, 01, 10 o 11)

presente in ingresso. Porte logiche

Le porte logiche derivano direttamente dagli operatori dell’algebra booleana

quali AND, OR e NOT. NOT – complemento di un bit

AND – prodotto di due bit

OR – somma logica di due bit (il caso 1 + 1 restituisce sempre valore logico

alto)

NOR (NAND) – complemento dell’OR(NAND)

XOR – somma modulo di due bit

XNOR – complemento di XOR

Attraverso queste porte possiamo esprimere funzioni differenti.

Ogni funzione ammette due forme canoniche che sono, rispettivamente, la

forma somma di prodotti (SoP) e quella prodotto di somme (PoS).

Le forme SOP sono somme di prodotti (sum of product), ovvero OR di minterm.

Un Minterm è una funzione booleana che assume il valore 1 in corrispondenza

di un'unica configurazione di variabili (booleane) in ingresso indipendenti.

Le forme POS sono prodotti di somme (product of sum),

Anteprima
Vedrai una selezione di 8 pagine su 31
Tesina Architettura dei Calcolatori Elettronici Pag. 1 Tesina Architettura dei Calcolatori Elettronici Pag. 2
Anteprima di 8 pagg. su 31.
Scarica il documento per vederlo tutto.
Tesina Architettura dei Calcolatori Elettronici Pag. 6
Anteprima di 8 pagg. su 31.
Scarica il documento per vederlo tutto.
Tesina Architettura dei Calcolatori Elettronici Pag. 11
Anteprima di 8 pagg. su 31.
Scarica il documento per vederlo tutto.
Tesina Architettura dei Calcolatori Elettronici Pag. 16
Anteprima di 8 pagg. su 31.
Scarica il documento per vederlo tutto.
Tesina Architettura dei Calcolatori Elettronici Pag. 21
Anteprima di 8 pagg. su 31.
Scarica il documento per vederlo tutto.
Tesina Architettura dei Calcolatori Elettronici Pag. 26
Anteprima di 8 pagg. su 31.
Scarica il documento per vederlo tutto.
Tesina Architettura dei Calcolatori Elettronici Pag. 31
1 su 31
D/illustrazione/soddisfatti o rimborsati
Acquista con carta o PayPal
Scarica i documenti tutte le volte che vuoi
Dettagli
SSD
Ingegneria industriale e dell'informazione ING-INF/01 Elettronica

I contenuti di questa pagina costituiscono rielaborazioni personali del Publisher Koeda_s di informazioni apprese con la frequenza delle lezioni di Architettura dei calcolatori elettronici e studio autonomo di eventuali libri di riferimento in preparazione dell'esame finale o della tesi. Non devono intendersi come materiale ufficiale dell'università Università degli studi della Basilicata o del prof Carpentieri Marco.
Appunti correlati Invia appunti e guadagna

Domande e risposte

Hai bisogno di aiuto?
Chiedi alla community