Theory

7
Reti logiche e strutture dei calcolatori VON Neumann ha formalizzato la scrittura del calcolatore : Microprocessore (CPU) Memoria centrale Scheda grafica Scheda madre Scheda audio il linguaggio del calcolatore e'il linguaggio binario. infatti gli elementi di memoria sono costituiti da elementi BISTABILI. ( ossia entità che possono assumere e conservare due stati possibili ad esempio STATO 0 E STATO 1) ogni elemento si trova in una cella di memoria o registro La memoria centrale di un calcolatore è formata da un insieme di celle di memoria. TUTTE LE CELLE HANNO LA STESSA LUNGHEZZA SI ACCEDE A OGNI CELLA ATTRAVERSO IL SUO INDIRIZZO bit =0,1;{bit =binary digit} Cella= bit cella [1....LUNGHEZZACELLA]////le celle sono limitate memoria=cella memoria[0...MAXINDIRIZZO] //indirizzo SE LUNGHEZZACELLA=8 eMAXINDIRIZZO=3.la memoria MEM è Con MEM[0] SI indica il contenuto della cella 0. Le lunghezzecelle più frequenti Sono :8/32/16/64 bit Invece le dimensioni di memoria ossia i maxindirizzo è un numero elevatissimo e si misurano in gigabyte Esempio :cella=32bit 1giga di memoria =2^25 celle di memoria I NUMERI REALI sono rappresentati da floating point (virgola mobile) i caratteri sono rappresentati dalla codifica ASCII 1 bit corrisponde a 1 oppure 0 2^3 bit =8bit=1byte I byte possono essere raggruppati in gruppi di 16/32/64/128 bit(word) Un calcolatore può trattare diversi tipi di dati tra cui immagini, numeri, suoni ecc L'importante è che siano poi trasformati in sequenze di bit per poter essere elaborati. I numeri naturali da vengono rappresentati con otto bit Periferi che

description

informatica ecoban

Transcript of Theory

Page 1: Theory

Reti logiche e strutture dei calcolatori

VON Neumann ha formalizzato la scrittura del calcolatore :

Microprocessore (CPU)

Memoria centrale

Scheda grafica

Scheda madre

Scheda audio

il linguaggio del calcolatore e'il linguaggio binario. infatti gli elementi di memoria sono

costituiti da elementi BISTABILI. ( ossia entità che possono assumere e conservare due stati

possibili ad esempio STATO 0 E STATO 1)

ogni elemento si trova in una cella di memoria o registro

La memoria centrale di un calcolatore è formata da un insieme di celle di memoria.

TUTTE LE CELLE HANNO LA STESSA LUNGHEZZA

SI ACCEDE A OGNI CELLA ATTRAVERSO IL SUO INDIRIZZO

bit =0,1;{bit =binary digit}

Cella= bit cella [1....LUNGHEZZACELLA]////le celle sono limitate

memoria=cella memoria[0...MAXINDIRIZZO] //indirizzo

SE LUNGHEZZACELLA=8

eMAXINDIRIZZO=3.la memoria MEM è

Con MEM[0] SI indica il contenuto della

cella 0.

Le lunghezzecelle più frequenti

Sono :8/32/16/64 bit

Invece le dimensioni di memoria ossia i

maxindirizzo è un numero elevatissimo e si misurano in gigabyte

Esempio :cella=32bit

1giga di memoria =2^25 celle di memoria

I NUMERI REALI sono rappresentati da floating point (virgola mobile)

i caratteri sono rappresentati dalla codifica ASCII

1 bit corrisponde a 1 oppure 0

2^3 bit =8bit=1byte

I byte possono essere raggruppati in gruppi di 16/32/64/128 bit(word)

Un calcolatore può trattare diversi tipi di dati tra cui immagini, numeri, suoni ecc

L'importante è che siano poi trasformati in sequenze di bit per poter essere elaborati.

I numeri naturali da vengono rappresentati con otto bit

I numeri interi (tra cui numeri interi negativi, lo zero, e i numeri interi positivi) di cui

il primo bit rappresenta il segno - > lo zero rappresenta il segno positivo mentre 1->

rappresenta il segno negativo.

I numeri reali sono numeri razionali contenenti una parte intera e una parte

frazionaria.il numero può essere rappresentato codificato separatamente la sua parte

intera e la sua parte frazionaria.

I caratteri sono codificati in sequenze di bit mediante un codice di traduzione.

Periferiche

Page 2: Theory

Il più diffuso è il codice ASCII che assegna a ogni lettera un numero naturale

rappresentabile in forma binaria.

Il modello che fu preso in considerazione per la creazione di moderni calcolatori fu la

macchina di Von Neumann.

La macchina è composta da

L'unità di elaborazione: chiamato anche CPU E MICROPROCESSORE contiene dispositivi

elettronici capaci di acquisire, interpretare ed eseguire le istruzioni del programma. È

costituita da 4 componenti :

unità di controllo serve per gestire informazioni

ALU ossia aritmetic logic unit è in grado di fare operazioni aritmetiche

clock serve per sincronizzare le informazioni per evitare di surriscaldamento il

processore?

Dispositivi di memoria chiamati anche registri servono per la memorizzazione

temporanea delle istruzioni.

la memoria centrale:contiene informazioni necessarie per l'esecuzione del programma come

Istruzioni e dati. La MC è composta da dispositivo di memoria e dal gestore di memoria. Il

gestore di memoria deve essere in grado di selezionare una riga ad una certa velocità

indipendentemente dal suo indirizzo. Infatti ogni riga viene divisa in un numero finito di

celle, che contengono un sequenza di bit(parole) [tutte le parole hanno una stessa

dimensione=20caratteri].Ogni riga è identificata dalla sua posizione(indirizzo). LA

memoria centrale è il componente che esegue i comandi dati dalla CPU le periferiche= permettono lo scambio delle informazioni fra elaboratore e mondo esterno. LA

memoria di massa rientra in questa categoria

il bus di sistema:ha il compito di collegare tra loro questi elementi funzionali. Esso è sotto il

controllo della CPU infatti si dice che la cpu assume il ruolo di master e le altre unità

funzionali assumono il ruolo di slave. Il bus di sistema si differenzia in tre tipi a seconda del

tipo di informazione che trasporta.

BUS DATI:trasferisce dati dall'unità master all'unità slave e viceversa(ad esempio il

trasferimento di dati da una cella di memoria (memoria centrale) al registro

dati(CPU)in un operazione di lettura. Oppure viceversa dal registro dati alla cella di

memoria in una operazione di scrittura.

BUS INDIRIZZI serve per trasmettere il contenuto del registro indirizzi (CPU) alla

memoria centrale {viene dunque selezionata una cella di memoria per un operazione

di lettura. Questa operazione è solo possibile per il trasferimento dati dalla cpu alla

memoria.

BUS DI CONTROLLO /COMANDO: trasferisce dall'unità master all'unità slave un

codice corrispondente all'istruzione da eseguire e dall'unità slave all'unità master

informazioni relative all'avvenuto esecuzione dell'operazione richiesta.

SUNTO FUNZIONAMENTO MACCHINA VON NEUMANN.

CPU estrae Istruzioni dalla memoria centrale, le codifica comprendendo il loro significato e

poi le esegue tramite opportune funzioni all'interno della Architettura del calcolatore.

Page 3: Theory

Le istruzioni possono essere soggetti a:

Operazioni di elaborazione dell'informazione - operazioni numeriche

1. Operazioni di trasferimento dell'informazione - dati dall'interfaccia di una periferica

alla memoria centrale

La memoria centrale contiene informazioni a breve /medio termine mentre la memoria di

massa contiene informazioni di lungo termine. Infatti la memoria centrale è più piccola

rispetto a quella di massa e può accogliere un limitato numero di informazioni,tuttavia tutte le

informazioni DEVONO passare di lì prima di essere elaborate.

La memoria centrale è una sequenza di celle di memoria (ciascuna cella contiene una

sequenza di bit ossia un parola). L'indirizzo della cella è la sua posizione relativa rispetto alla

prima cella di memoria (che ha posizione zero)

L'indirizzamento della memoria avviene tramite il registro INDIRIZZI (CHE SI TROVA

NELLA CPU): un registro è in grado di memorizzare una sequenza di bit.

Se il registro indirizzo è 10 bit, potrà contenere 2^10 celle di memoria. Attenzione che la

memoria centrale si misura in byte e non in numero di parole. Infatti i byte sono indipendenti

dalla lunghezza di parola di uno specifico calcolatore.

Quindi si seleziona una specifica cella e si caricano le sequenze di 1/0 nel registro indirizzo.

A questo punto si possono fare due operazioni

Lettura dalla memoria

Scrittura in memoria

queste operazioni utilizzano il registro Dati.

La lettura della memoria provoca la copia del contenuto della cella di memoria nel registro

dati.(L) Essa carica il registro dati con una parola di memoria.

Come funziona;

La CPU deve caricare l'indirizzo della parola di memoria che desidera leggere nel

registro indirizzi e deve trasmetterlo alla memoria centrale tramite il bus indirizzi. Per

poter richiedere un operazione di lettura la cpu deve inviare il comando tramite il bus

controlli.

La memoria esegue l'operazione di lettura che sposta tramite il bus dati il contenuto

della parola indirizzata nel registro dati. Inoltre segnala alla cpu tramite il bus

controllo che l'operazione è terminata e che il dato richiesto è disponibile nel registro

dati.

Invece l'operazione di scrittura copia il contenuto del registro dati in una cella di

memoria,essa dunque deposita il contenuto del registro dati in una parola di memoria. (S)

Come funziona;

La CPU carica l'indirizzo della parola di memoria in cui si desidera scrivere nel

registro indirizzi e lo trasmette alla memoria centrale tramite il bus indirizzi. Inoltre

carica il dato da scrivere in memoria nel registro dati e tramite il bus dati il contenuto

del registro dati viene trasmesso alla memoria centrale. Per controllo la cpu richiede

un operazione di scrittura inviando il comando tramite il bus controlli.

La memoria esegue l'operazione di scrittura che sposta il contenuto del registro dati

ricevuti tramite il bus dati nella parola indirizzata e segnala alla cpu che l'operazione

è terminata.

Page 4: Theory

La memoria che abbiamo trattato finora prende il nome di RAM(RANDOM ACCESS

MEMORY) ciò vuole dire che nella ram si può scegliere una qualsiasi cella di memoria per

un operazione di lettura e scrittura. Definizione di RAM : è un tipo di memoria che permette

l'accesso diretto a qualunque indirizzo di memoria con lo stesso tempo di accesso È utilizzata

come memoria primaria per la sua velocità di accesso.

Esistono però anche memorie che vengono chiamate ROM (READ ONLY MEMORY) nelle

quali non è possibile scrivere poiche servono solo per far funzionare il sistema. La ROM può

essere

EROM OSSIA ROM CANCELLABILI

PROM OSSIA ROM PROGRAMMABILI

Si può notare che le memorie ROM hanno alcune caratteristiche dell'hardware in quanto non

possono essere modificate durante l'esecuzione e del software possono essere programmate.

RAM~>MEMORIA VOLATILE(leggibile e scrivibile)

ROM~> MEMORIA NON VOLATILE(solo leggibile)

Definizione di registro:il registro è un elemento di memoria che può essere letto o scritto

molto velocemente e che è utilizzabile per memorizzare risultati parziali o informazioni

necessarie al Controllo.

La CPU ha diversi registri tra i quali troviamo :

Registro dati DR,registro indirizzi AR(AR è lungo k bit, DR è lungo h bit ossia

quanto la lunghezza di una parola

Registro istruzione corrente (lungo h bit)contiene l'istruzione che risulta in esecuzione

da parte dell'elaboratore

Contatore di programma(program counter PC, lungo k bit) contiene l'indirizzo della

prossima istruzione del programma in esecuzione.

Registro interruzioni contiene informazioni relative allo stato di funzionamento delle

periferiche

Registro di stato(SR)riporta in alcuni suoi bit informazioni relative al risultato delle

operazioni svolte da ALU.

bit di carry: indica la presenza di un riporto

bit zero: indica la presenza di un valore nullo nel registro A

bit di segno :riporta il segno del risultato di un operazione aritmetica

bit di overflow: quando il risultato di un operazione aritmetica supera il valore 2^h

ossia valore massimo che può essere rappresentato nel registro A.

INTERFACCE DI INGRESSO E USCITA

Le interfacce consentono il collegamento del calcolatore con le varie periferiche. L'interfaccia

contiene dei registri per poter mandare o ricevere comandi dalla periferica.OVvviamente le

interfacce cambiano a seconda della periferica con cui sono a contatto.

i registri delle interfacce sono

registro dati della periferica (PDR)per scambiare dati con la periferica.

registro comando della periferica

informazione sullo stato

Come abbiamo detto l'istruzione viene eseguita in tre fasi

1. l'acquisizione dalla memoria centrale( fetch phase) Si svolge in quattro passi

Page 5: Theory

il contenuto del counter program viene trasferito nel registro indirizzi

avviene l'operazione di lettura dalla memoria centrale :il contenuto della cella di

memoria che corrisponde all'indirizzo( contenuto nel registro indirizzi )viene

trasferito nel registro dati tramite il bus di sistema .(vedi sopra)

il contenuto del registro dati viene trasferito al registro di istruzione corrente

il valore del program counter viene incrementato di 1.puo succedere che durante

l'esecuzione dell'istruzione corrente venga memorizzato nel program counter un

indirizzo differente (BRANCH)

2. l'interpretazione o decodificazione ;è la fase di analisi del registro dell'istruzione corrente,

si cerca di interpretare il codice operativo

3. esecuzione differente per ogni operazione è consiste nell'esecuzione dell'operazione

stessa.

ESTENSIONI DEL CALCOLATORE DI NEUMANN

La memoria cache

È un área di memoria particolare ad alta velocità di accesso e di dimensioni ridotte rispetto alla

memoria centrale. Lo scopo della memori cache è di velocizzare le prestazioni della CPU. Infatti

la cache contiene quei dati e informazioni che vengono usati spesso dal processore evitando di

richiamarlo ogni volta che li si utilizza.

HIT: quando il processore preleva i dati di cui ha bisogno direttamente dalla cache riducendo il

tempo d'accesso

MISS: Quando il processore non trova il dato di cui ha bisogno nella memoria di cache.

Si potrebbe pensare di sostituire la memoria tradizionale con una cache ma ci sono due motivi

principali che c'è lo impediscono

1. le memorie cache sono costose

2. la cache per essere veloce deve trovarsi fisicamente vicino al processore,possibilmente

sullo stesso chip.quindi è impossibile fisicamente realizzare cache veloci e capienti.

La cache può trovarsi dentro il chip del processore L1(CACHE DI PRIMO LIVELLO),

oppure esterna L2. (CACHE DI SECONDO LIVELLO)