Want to create interactive content? It’s easy in Genially!

Reuse this 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