Want to create interactive content? It’s easy in Genially!
Corso di formazione continua Neodigital
Giovanni Campanino
Created on November 26, 2024
Start designing with a free template
Discover more than 1500 professional designs like these:
Transcript
Start
SRE Presentation
Le memorie
Assembly
La CPU
I bus
L'architettura di un PC
Indice
SRE
Il modello von Neumann
Il modell Von Neumann è il modello più usato ed è la base dei pc moderni infatti anche se non si usano in quelli moderni viene usato per capire il funzionamento di una moderna cpuTale modello rappresentava non pochi limiti e infatti oggi si parla di architetture diverse chiamate non von Neumann Questa struttura fu chiamata "stored-program computer" dallo stesso von neumann Combuter per rappresentare la Cpu e il suo lavoro di prevelazione e modificazione delle informazioni I/O o della memoria. La velocità di tali azioni esono determinate dal ciclo macchina (Frequenza di Clock) cioè il numero di azioni al secondo Stored-program per indicare le istruzioni che la CPU deve eseguire e sono collocate nella memoria del computer e l'insieme di esse rappresenta il programma
SRE
L'architettura di un PC
Esistono due tipi di architetture di un pc ognuna con le sue specifiche caratteristiche: Il modello di Von Neumann e il modello di Harvard che ora guarderemo più a fondo
SRE
Il Modello di Harvard
Il modello di Harvard non è tanto differente dal modello di Von Neumann ci sono solo 2 differenze principali: la maggior velocità data dalla divisione della memoria in due (Program memory e Data memory) e il costo maggiore dovuto dalla richiesta di Bus maggiori
SRE
Il ciclo macchina
Approfondiamo ora il ciclo macchina di cui abbiamo già parlato in precedenza infatti il ciclo macchina è uno dei punti principali della CPU coi senza di esso non potrebbe funzionare. Il ciclo macchina si divide in 4 fasi: Fetch dell'istruzione, Decode, Fetch degli operandi e infine Execute Infatti la CPU preleva un istruzione dalla memoria (Fetch dell'istruzione) e la trasporta in un registro specifica e quindi codificata (Decode), gli posiziona gli operandi necessari alla sua funzione (Fetch Operand) e infine l'esegue (Execute)
SRE
La CPU
La CPU anche detta unità centrale di elaborazione è composta da:
- UC cioè l'unità di controllo comoposta a sua volta
- dal PC (Program Counter che serve a modificare il flusso sequenziale del programma e che contiene in ogni momento l'istruzione da eseguire successivamente e viene incrementato automaticamente dalla CU)
- dall'IR (Instruction Register cioè il registro interno che riceve il codice operativo dall'informazione di Fetch)
- dal PSW (Process Status Word divisa in svariate flag in cui ognuna fornisce informazioni aritmetico-logiche)
- ALU (Unità aritmetico logica cioè il blocco che esegue le varie operazioni aritmetiche)
- MDR (Memory Data Register cioè il registro interno collegato direttamente al Bus Dati in modo Bidirezionale e contiene i dati che riceve dalla CPU o dalla memoria centrale)
- MAR (Memory Address Register cioè il registro interno collegato direttamente al bus degli indirizzi unilateralmente verso la memoria centrale e contiene gli indirizzi necessari per la selezione della cella di memoria oppure al dispositivo di I/O o ancora può contenere l'istruzione che deve essere codificata
SRE
I BUS
Come abBiamo visto prima esistono vari tipi di BUS: interni (che trasportano i dati dall'ALU o all'ALU) o esterni (i tre principali cioè di controllo, di indirizzo e di dati)I bus interni non hanno nomi specifici essendo moltissimi ma quelli esterni sono:
- Bus di controllo ( bidirezionale, trasporta gli ordini della CPU e restituisce i segnali di condizione dai dispositivi)
- BUS dati (bidirezionale, consente la trasmissione di dati dalla CPU agli altri elementi e viceversa)
- BUS indirizzi (unidirezionale dalla CPU alla memoria centrale, contiene l'indirizzo della cella sulla quale o dal quale la CPU ha deciso di lavorare)
SRE
Le memorie
Le memorie sono un componente in grado di conservare e memorizzare un'informazione binariaCi sono vari tipi di memorie:
- RAM (Random Access Memory cioè una memoria accessibile in qualunque momento ma che conserva i suoi dati solo finché è alimentata
- DRAM (RAM dinamica hanno bisogno di continui refresh che vengonoeffettuati ogni 10/20 ns)
- SRAM (RAM statica che a differenza della DRAM non richiede il continuo refresh dei dati rendendola così più veloce ma molto più costosa)
- ROM (Read Only Memory cioè una memoria non modificabile ma se manca la corrente i suoi dati non vengono cancellati)
- PROM (Programmable ROM, ROM programmabile ma non più modificabile)
- EPROM (Eraseble PROM, PROM programmabile più volte)
- EEPROM (Electric EPROM, EPROM la cancellazione avviene con l'elettricità)
- Memorie Flash (Memorie solide e non volatili programmabili anche più volte
SRE
ASSEMBLY
Lì'assembly è un linguaggio di programmazione di basso livello e uno dei primi linguaggi di programmazione e a differenza dei linguaggi di alto livello è molto più veloce ma allo stesso tempo difficile Assembly 8086 aveva 14 registri a 16 bit di cui 4 accumulatori usati per operazioni aritmetiche, logiche o per il trasferimento di dati (AX [AH, AL], BX [BH, BL], CX [CH, CL], DX [DH, DL]) 5 registri indice e puntatori (SI [INDEX], DI [INDEX], BP [POINTER], SP [POINTER], IP [INSTRUCTION POINTER]) 4 registri di segmento (CS [SEGMENTO CODICE], DS [SEGMENTO DATI], SS [SEGMENTO DELLO STACK], ES [SEGMENTO EXTRA]) E infine un registro flag o PSW (in cui i bit 0 2 4 6 7 11 contengono flag di stato mentre i bit 8 9 10 contengono fla di controllo)
SRE
La struttura delle informazioni e delle variabili
Un istruzione in Assembly ha la seguente struttura: [Label:] istruzione [destinazione], [sorgente] [;commento] (opzionale) la destinazione è l'oggetto che riceve il risultato, la sorgente è l'oggetto che fornisce il valore e l'istruzione è il codice operativo Invece una variabile ha tale struttura: <nome> <tipo (DB [BYTE] o DW [WORD]> <val_iniziale>
SRE
Le istruzioni principali
MOV: copia il valore sorgente alla destinazioneADD: somma il valore sorgente in destinazione SUB: sottrae il valore sorgente dalla destinazione INC: incrementa di 1 il valore dell'operando DEC: decrementa di 1 il valore dell'operando MUL: esegue la moltiplicazione tra due numeri senza segno DIV: esegue la divisione tra due numeri senza segno