Scarica il documento per vederlo tutto.
Scarica il documento per vederlo tutto.
Scarica il documento per vederlo tutto.
Scarica il documento per vederlo tutto.
Scarica il documento per vederlo tutto.
Scarica il documento per vederlo tutto.
Scarica il documento per vederlo tutto.
vuoi
o PayPal
tutte le volte che vuoi
REGISTRI DI CPU
Registro Istruzione (IR): Usato per contenere l'istruzione in corso di esecuzione. Caricato in fase di fetch determina le azioni svolte durante la fase di esecuzione. I bit del registro I indicano l'istruzione appena letta dalla RAM e da decodificare.
Program Counter (PC): Tiene traccia dell'esecuzione del programma. Contiene l'indirizzo di memoria in cui è memorizzata la prossima istruzione da eseguire.
Registro Indirizzi Memoria (MAR): Contiene l'indirizzo della locazione di memoria da leggere o scrivere. La dimensione di MAR determina l'ampiezza dello spazio di memoria fisica. I bus hanno indirizzi di 32 bit. I bit del registro MAR indicano l'indirizzo di una parola in RAM cui contenuto deve essere letto o scritto dal processore.
Registro Dati Memoria (MDR): Registro attraverso il quale viene scambiata l'informazione tra la memoria e la CPU. Tradizionalmente la dimensione di MDR dà la misura del grado.
di parallelismo dellao macchina (8, 16, 32, 64 bit)i bit del registro MDR indicano una copia del contenuto di una parola in RAM letto dalo processore o il valore di bit che devono essere scritti in RAM dal processore
PSW: (Program Status Word) contiene info riguardo lo stato del programman RO, R1,...Rn: Registri di uso generale, sono supporti per l'esecuzione di istruzioni memorizzando adn esempio: il contenuto di una parola di memoria letta dal processare,..
Registro di Stato (SR): bit del registro SR indicano che una particolare condizione si è verificata an seguito dell'esecuzione di un'istruzione, ad esempio, se un'istruzione di somma genera un overflowallora la ALU scrive un certo valore nel registro SR.
CISC E RISK sono due modi di esecuzione delle istruzioni nella CPUàCISC: Complex Instruction Set Computingn Complex: esegue istruzioni complesseUn repertorio di istruzioni esteso è preferibile perchè:- Istruzioni potenti semplificano
la programmazione- Riduce il gap tra linguaggio di macchina e linguaggio di alto livello, perché può sfruttare istruzioni complesse
- L'uso efficiente della memoria (all'epoca era costosa) era la preoccupazione principale: Meglio avere codici compatti
RISC: Reduced Instruction Set Computing
L'approccio RISK si basa su un numero limitato di istruzioni, non come il CISC.
Memorie più veloci ed economiche:
- Posso anche mettere un numero maggiore di istruzioni, però più semplici.
Comportamento dei programmi
- L'80% delle istruzioni eseguite corrispondeva al solo 20% del repertorio
- Conviene investire nella riduzione dei tempi di esecuzione di quel 20%, anziché aggiungere raffinate istruzioni, quasi mai usate, ma responsabili dell'allungamento del tempo di ciclo di macchina
Conviene costruire processori molto veloci, necessariamente con repertori RISC - CRITERI DI PROGETTAZIONE
• Frequenza di clock (velocità della
CPU è la velocità con cui gli istanti di tempo si succedono all'interno della CPU. Si misura in HZ, che significa "volte al secondo". 2Hz = 2 volte al secondo. Periodo di Clock: intervallo di tempo tra un istante ed il successivo. È l'inverso della frequenza di clock. Il periodo di clock deve essere sufficientemente "lungo" da consentire a tutti i segnali elettrici di arrivare. Le istruzioni devono essere semplici. Tutte le istruzioni occupano lo stesso spazio di memoria (una parola). Ristretto numero di formati. La codifica "ordinata" consente accorgimenti per velocizzare l'esecuzione (pipeline), o difficilmente applicabili a repertori di istruzioni complesse. La semplificazione del repertorio tende a far aumentare la dimensione del codice. Non è un problema, vista la tendenza alla riduzione dei costi e all'aumento della densità delle memorie. Dal punto di vista della velocità iguadagni che si ottengono nel semplificare le istruzionio sono superiori all'effetto negativo del maggior numero di istruzioni per programmaL'Unità Aritmetico-Logica (ALU) è costituita da un insieme di circuiti in grado di svolgere le operazioni di tipo aritmetico e logico.
La ALU legge i dati contenuti all'interno dei registri generali, esegue le operazioni e memorizza il risultato in uno dei registri generali.
Come sono fatte le istruzioni:
Che tipo di istruzioni può eseguire un processore, esempi:
- leggi la parola in RAM all'indirizzo 5 e mettila nel registro R0
- scrivi il contenuto del registro R1 nella parola di memoria all'indirizzo y
- somma il contenuto dei registri R0 e R8 mettendo il risultato nel registro R4
Come sono codificate le istruzioni:
Le istruzioni che un processore può eseguire sono anch'esse rappresentate in formato digitale.
Si sceglie di usare un certo numero di bit e si fa corrispondere ad un'operazione e a...
Un registro è una configurazione. - Si sceglie di usare un certo numero di bit e a seconda dello spazio di indirizzamento si fa corrispondere ad un indirizzo una configurazione. - In questo modo, le istruzioni sono rappresentate in formato digitale e mantenute all'interno della RAM per essere prelevate (lette) ed eseguite dal processore.
Come sono codificate le istruzioni - L'istruzione ADD R3, R8, R13 somma il contenuto del registro R3 con il contenuto del registro R8 e mette il risultato nel registro R13. Ipotizziamo di avere 16 registri in tutto e di avere una dimensione della parola di memoria di 16 bit (per cui un'istruzione è codificata con 16 bit): - Associo all'operazione ADD 4 bit fatti così: 1011, associo 4 bit ad ogni indice di registro per cui ottengo per R3 (0011), per R8 (1000), per R13 (1101) per cui si ha che ADD R3, R8, R13 si codifica con 1011 0011 1000 1101.
IL BUS - Soluzione che ci dà il BUS: Collegare ogni componente a tutte le altre.
(costoso se ho molte componentiseparate)- Usare un unico collegamento condiviso Bus di sistema: insieme di collegamenti (solitamente inrame) che connette tutti componenti di un'architettura.
Lezione 6 (25 ottobre)
ALGEBRA BOOLEANA
- Si basa su variabili dette logiche o booleane aventi due soli possibili valori: VERO (sinonimi: true, T, 1, acceso, ON, etc...) o FALSO (sinonimi: false, F, 0, spento, OFF etc...)
- Funzioni booleane: Usando le variabili booleane, si possono costruire le funzioni booleane (o funzioni logiche). Es. una funzione booleana di tre variabili: F(x,y,z) Il codominio è costituito da due soli possibili stati: true vero 1 o false falso 0
Tabella della verità: Ogni funzione booleana è caratterizzata dalla propria tabella di verità
Funzioni booleane:
- Funzioni completamente specificate: se per tutte le combinazioni delle variabili il suo valore è determinato
- Funzioni non completamente specificate: se a una o più combinazioni
delle sue variabili non corrisponde alcun valore della funzione
Costanti booleane
Oltre alle variabili vi sono anche le costanti
Essendo l'Algebra Booleana definita su due soli simboli, esistono solo due costanti: 0, 1
Operatori logici
Tra le variabili e le costanti possono intervenire delle relazioni
Esistono due tipi di operatori, in dipendenza dal numero di variabili che utilizzano:
- Monadici, un operatore una variabile.
- Diadici, un operatore due variabili.
L'operatore NOT, risultato è il complemento
L'operatore AND, risultato è vero se e solo se sono dell'unica variabile vere) entrambe le variabili, se entrambe le variabili sono 1
L'operatore OR. Il risultato è vero se e solo se è vera almeno una delle variabili
L'operatore XOR risultato è vero se e solo se è vera solo una delle due variabili
Operatori nomenclatura e simbologia
- NOT: inversione, sopra la variabile scriviamo ( - )
- AND: prodotto logico ( . )
- OR: somma logica ( + )
somma logica (+) - XOR: or esclusivo ()
Operatori universali:
- Con gli operatori NOT, OR, AND, XOR si possono costruire tutte le funzioni booleane
- Esistono due operatori (NAND, NOR) che permettono la sintesi di qualsiasi funzione, utilizzando un unico tipo di operatori
L'operatore NAND:
- Il risultato è vero solo se è falso l'AND tra le due variabili, è il contrario di AND.
L'operatore NOR:
- Il risultato è vero solo se è falso l'OR tra le due variabili, è il contrario di OR.
Espressioni logiche:
- Un insieme di variabili e/o costanti booleane a cui siano applicati gli operatori logici si dice espressione booleana o logica.
- Una espressione logica rappresenta una funzione logica: ad esempio:
Precedenze tra operatori:
Le precedenze sono simili al + e al x dell'algebra consueta:
- priorità alta x
- priorità bassa +
Proprietà dell'algebra booleana LEZIONE 7 (26 OTTOBRE) RETI DI COMPUTER
Le reti sono un componente
Fondamentale per la realizzazione di un sistema informativo. Senza la rete i computer non possono comunicare fra loro e le uniche modalità di decentralizzazione dell'elaborazione dell'informazione sono costituite da:
- Collegamento di terminali ad un computer centrale: l'elaborazione e la gestione dei dati sono concentrate sul computer, ma l'interazione tra computer e utenti è decentralizzata sui terminali (a poca distanza fisica dal computer).
- Trasferimento di file da un computer all'altro, mediante connessioni punto-punto prive di un effettivo meccanismo di comunicazione bidirezionale.
Si parla di rete di computer quando effettivamente più sistemi di elaborazione autonomi (computer) possono dialogare fra loro scambiandosi informazioni attraverso un mezzo fisico di connessione e quando tale meccanismo di comunicazione e di scambio è replicabile su più computer, senza dipendere dalla specificità delle due macchine che comunicano.
re: i protocolli di comunicazione (TCP/IP, HTTP, FTP, ...), i sistemi operativi di rete (Windows, Linux, ...), le applicazioni di rete (browser, client di posta, ...) Le reti di computer possono essere di diversi tipi, a seconda della loro estensione geografica: - LAN (Local Area Network): reti locali che coprono un'area limitata, come ad esempio un ufficio o una casa. - WAN (Wide Area Network): reti estese che coprono un'area geografica più ampia, come ad esempio una città o un paese. - MAN (Metropolitan Area Network): reti metropolitane che coprono un'area metropolitana, come ad esempio una grande città. - Internet: la più grande rete di computer al mondo, che connette reti di diversi tipi e dimensioni in tutto il mondo. Le reti di computer possono essere cablate o wireless, a seconda del tipo di mezzo trasmissivo utilizzato. Le reti cablate utilizzano cavi elettrici o cavi in fibra ottica per trasmettere i dati, mentre le reti wireless utilizzano onde radio o infrarossi. Le moderne tecnologie di rete offrono numerosi vantaggi, come la possibilità di condividere risorse (come stampanti e file), la facilità di comunicazione e collaborazione tra persone distanti geograficamente, l'accesso a informazioni e servizi da qualsiasi luogo e in qualsiasi momento, e la possibilità di creare reti virtuali per scopi specifici. In conclusione, le reti di computer sono diventate parte integrante della nostra vita quotidiana, offrendoci infinite possibilità di comunicazione, informazione e intrattenimento.