Processore del computer
Processore del computer
Questo sito utilizza cookie, anche di terze parti. Se vuoi saperne di più leggi la nostra Cookie Policy. Scorrendo questa pagina o cliccando qualunque suo elemento acconsenti all’uso dei cookie.I testi seguenti sono di proprietà dei rispettivi autori che ringraziamo per l'opportunità che ci danno di far conoscere gratuitamente a studenti , docenti e agli utenti del web i loro testi per sole finalità illustrative didattiche e scientifiche.
Le informazioni di medicina e salute contenute nel sito sono di natura generale ed a scopo puramente divulgativo e per questo motivo non possono sostituire in alcun caso il consiglio di un medico (ovvero un soggetto abilitato legalmente alla professione).
Processore del computer
Il Processore
Cisc
Complex Instructions Set Computer. Con questo termine si indica un tipo di CPU in cui la fase di decodifica di un'istruzione avviene in passi successivi. Uno svantaggio di questa tecnica e' che la singola istruzione può richiedere alcuni cicli di clock per essere interpretata dal processore, diversamente da quello che accade nei processori con il set di istruzioni di tipo RISC.
Un vantaggio dei processori di tipo CISC e' quello di utilizzare un numero minore di istruzioni e quindi di occupare una quantità minore di memoria.
Risc
Reduced Instructions Set Computer. E' un tipo di CPU che permette di eseguire delle operazioni piu' velocemente di un processore CISC perché si esegue almeno un'istruzione per ogni ciclo di clock. Statisticamente il numero di istruzioni usate effettivamente da una CPU è minore del numero di istruzioni definite nel set di una CPU CISC. Quindi è stato ridotto il set di istruzioni prendendo solo quelle semplici, molto usate nei programmi, ed eliminando quelle piu' complesse e poco usate. Queste ultime possono comunque essere ricreate combinando alcune operazioni semplici.
L'idea è quella di fornire un processore con poche istruzioni e pochi modi di indirizzamento, ma interamente implementato in hardware, in contrapposizione con le CPU CISC, dotate di istruzioni piu' ad alto livello.
Oggi, si considerano spesso RISC anche processori con istruzioni derivate da vecchie implementazioni CISC (tipo il 68040/060 con i 680x0 fino allo 030, od il Pentium con gli 80x86), poiché si bada piu' all'implementazione completamente hardware delle istruzioni che all'instruction set.
Processori come il powerpc, infatti, hanno portato a questa evoluzione del termine introducendo in un set di istruzioni tipico di altre CPU RISC, istruzioni piu' complesse ma ugualmente implementate in hardware, che ne incrementano notevolmente le performance (prestazioni) rispetto ai concorrenti. Un'architettura RISC - nel senso moderno - permette un'implementazione superpipeline e superscalare, in quanto piu' complessa solo da un punto di vista tecnologico, ma piu' facile da gestire.
Da un punto di vista della sintassi assembler (vedi assembly language), si distingue una CPU di filosofia CISC da una RISC (indipendentemente dall'implementazione) se sono presenti istruzioni che permettono molti modi di indirizzamento in sorgente ed in destinazione.
Alu
Arithmetic-Logic Unit. Unità che gestisce le operazioni aritmetiche quali l'addizione, la sottrazione, lo shift dei bit (scorrimento di posizione a destra o a sinistra per effettuare operazioni all'interno di una word), gli operatori logici AND, OR, NAND (¬ AND), NOR (¬ OR).
Big Endian
Modo di registrare i dati in memoria di alcune CPU. I dati vengono registrati con il byte più significativo ad un indirizzo di memoria, ed i byte successivi ad indirizzi di memoria consecutivi e crescenti. Sicché il dato a 32 bit esadecimale 0x12345678 appare in memoria come si legge: 0x12, 0x34, 0x56, 0x78.
Little Endian
Modo di salvare i dati in memoria di alcune CPU. I dati vengono registrati in memoria nel verso opposto al Big Endian. Il byte meno significativo di un dato viene registrato ad un indirizzo di memoria, i successivi byte ad indirizzi consecutivi crescenti. Sicché il dato a 32 bit esadecimale 0x12345678 appare in memoria (al contrario di come si legge): 0x78, 0x56, 0x34, 0x12.
Interruzione - interrupt
L'interrupt e' un segnale tramite il quale le schede di espansione e gli altri componenti hardware richiedono la CPU. Ogni componente utilizza un proprio interrupt.
Interruzione di I/O (Input/Output)
Gestione Software (o a controllo di programma)
Il programma che effettua l'operazione di I/O controlla la disponibilità dei dispositivi (stampanti, modem). Se lo stato dei dispositivi viene interrogato poche volte si posso perdere dei dati, nel caso opposto la CPU rimarrebbe bloccata dalle operazioni di I/O. Il controllo viene restituito al processo dopo il completamento dell' I/O.
Gestione Hardware
Restituzione immediata del controllo al processo utente. Un dispositivo (controller) segnala un evento alla CPU che provvede al salvataggio dello stato della CPU (store del contenuto dei registri nello stack). Inizia l'operazione di I/O e di seguito ripristina lo stato, riportando lo stato della CPU com'era prima dell'interruzione, senza dover attendere che le operazioni di I/O siano terminate. Ad operazione di I/O conclusa, il dispositivo invia un interrupt alla CPU che completa il trattamento di tale operazione, ed in fine l'unita' centrale riprende le esecuzioni delle istruzioni precedenti a quest'ultima interruzione.
Floating Point
Formato con il quale vengono rappresentati all’interno di un computer i dati con la virgola (i numeri reali).
Fpu
Floating Point Unit. Coprocessore matematico congiunto alla CPU che utilizza la notazione in virgola mobile.
Mpu
Da quando si è riusciti ad inserire la CPU dentro un chip si è cominciato a parlare del microprocessore. Inventato e realizzato all'interno della Intel da Gilbert Hyatt (1970), M.E.Hoff, Robert Noyee, Gordon Moore e da una valido gruppo di ricercatori nel 1968-69, questo circuito integrato può contenere da alcune migliaia a milioni di transistor. Il primo microprocessore commerciale, il 4004 della Intel, è stato realizzato nel 1971 da Federico Faggin con 2300 transistor e della grandezza di 0.3 per 0.4 cm. E' possibile trovarlo non solo nei computer ma anche nelle lavatrici, telefonini cellulari, motori, termostati, freni ABS ecc.
Mmu
Memory Management Unit. Unita' per la gestione della memoria. Componente hardware composta da uno o piu' chip che permette il mapping degli indirizzi logici (quelli generati dalla CPU), in indirizzi fisici, propri della memoria fisica (RAM). L' MMU si occupa del mapping tra le pagine virtuali (si veda Paginazione) e le pagine effettivamente presente nella memoria fisica (page frame).Prima di proseguire con la spiegazione si legga la sezione relativa alla memoria swap.
Supponiamo che non ci sia piu' spazio libero in memoria. Se la CPU invia un indirizzo logico all' mmu e questa, tramite il present/absent bit, nota che tale indirizzo non cade in una pagina virtuale mappata nella memoria fisica, allora causa un trap (interrupt) al sistema operativo. Il sistema provvederà ad eliminare una pagina dalla memoria fisica, che verrà scelta secondo un determinato algoritmo che dipende dal sistema operativo usato. In questo modo la CPU può trattare la memoria di massa come se fosse la memoria principale (RAM), allo stesso livello.
L' MMU nella tabella delle pagine dispone del present/absent bit, bit posto a 1 se la pagina virtuale e' mappata, 0 se non lo è.
Multitasking
Tecnica del sistema operativo di dedicare la CPU a piu' processi (o piu' impropriamente programmi). Il multitasking si distingue in:
- cooperativo: tecnica in cui viene condivisa la CPU per svolgere piu' compiti. Le applicazioni cedono il controllo alla CPU al momento opportuno, non sono costrette a farlo, ossia l'esecuzione continua fino a quando il processo non restituisce il controllo al sistema. Solo allora il sistema operativo potra' effettuare il Context Switch (cambio di contesto).
- preemptive (preemptivo - a prelazione) la ripartizione dell'utilizzo della CPU viene gestita completamente dal sistema operativo. Non e' piu' il processo che decide quando rilasciare la CPU ma e' lo scheduler (componente del sistema operativo) che effettua lo scheduling della CPU. Nello scheduling ogni processo a rotazione potrebbe tenere occupata la CPU per un quanto di tempo fissato, per esempio 20 ms.
Multithreading
Detto di un sistema operativo o di un programma che gestisce piu' thread 'simultanemente'. Vedi thread.
Paginazione (Paging)
Schema che consente di allocare la memoria logica (gestita dal MMU) ai processi, anche se lo spazio disponibile non e' contiguo ma distribuito. La paginazione viene utilizzata in molti sistemi operativi ed evita il problema della frammentazione esterna della memoria. Le pagine sono dei blocchi di memoria logica di dimensione prestabilita dall' hardware (una potenza di 2).
Parità, bit di
Codice di controllo molto semplice utilizzato nei calcolatori per prevenire errori nella ricezione dei dati o nella lettura su memorie di massa, aggiungendo informazione ridondante.
Funziona in questo modo: durante la scrittura dei dati (sequenza di bit), si aggiunge un bit di controllo posto a 0 o 1 dopo ogni byte. Nel caso in cui il numero di bit a 1 all'interno di un byte sia pari, il bit aggiunto sarà posto a 0. Nel caso invece che i bit a 1 siano dispari, verrà aggiunto un bit posto a 1. Esempio:
10011001 0 <- bit aggiunto (primo caso, 4 bit a 1)
11011111 1 <- bit aggiunto (secondo caso, 7 bit a 1)
Il computer ricevente (ad esempio in una trasmissione di dati in rete - livello Data Link) durante la lettura conterrà i bit a 1 di ciascun byte ricevuto. Supponendo che i bit, del primo byte letto, siano pari (primo caso) se il nono bit letto e' a 0 significa che il byte non e' stato alterato (corrupted).
Se invece i bit a 1 sono in numero dispari, e il nono bit e' sempre a 0, significa che c'e' stato un errore e quindi quel preciso byte deve essere ritrasmesso. Naturalmente anche questo tipo di controllo non e' infallibile, infatti se il byte trasmesso e' 10011001 0 e viene ricevuto così 10011111 0 il computer ricevente non si accorge dell'errore perché il numero dei bit a 1 e' pari sia nel primo che nel secondo caso. Questo codice di controllo, quindi, non e' sicuro al 100% per la prevenzione degli errori, ma rimane sufficientemente affidabile per molte applicazioni.
Pipeline
Coda di attesa delle istruzioni e/o dei dati fra le sottounità della CPU. Se ogni sottounità di elaborazione preleva i dati da una pipe sempre tenuta piena, andrà sempre al massimo della velocità perché non dovrà mai fermarsi ad aspettare l'arrivo dei dati. Scaricando i dati elaborati in un'altra coda, senza aspettare che l'unita' ricevente sia pronta si guadagna tempo.
Si parla allora di Pipelining fra sottounità di elaborazione. Si immagini una catena di montaggio e un insieme di piccoli magazzini intermedi dove si prelevano i pezzi da lavorare e si scaricano quelli lavorati, senza dover aspettare che il collega della fase successiva sia pronto.
Processo
Tipo di oggetto costituito da un programma eseguibile, si trova in uno spazio di indirizzo a lui assegnata dal sistema operativo. Nel suo contesto vengono eseguiti uno o più thread.
Superscalare
Architettura di una CPU che permette l'esecuzione di piu' di un'istruzione per ciclo di clock, per mezzo di pipeline multiple. Ormai tutti i processori adottano questa tecnologia.
Thread
Unità fondamentale a cui il sistema operativo assegna il tempo di attività del processore. E’ il componente di un processo in esecuzione in un determinato momento. La più piccola porzione di codice che può essere pianificata per l’esecuzione. Viene eseguito nello spazio di indirizzo del processo e utilizza risorse a questo assegnate.
Timesharing
Consente a più utenti di utilizzare contemporaneamente lo stesso computer. Poiché il computer host opera molto più velocemente di un uomo seduto davanti ad un terminale, ogni utente non si rende conto della presenza degli altri utenti e crede di avere tutto il computer host a sua disposizione, mentre invece in realtà il computer host sta mettendo a disposizione il suo potere di calcolo a turno a tutti i clients che lo hanno richiesto.
Throughput per la CPU
Indica la frequenza massima (quindi presupponendo l'assenza di stalli) con cui le istruzioni escono dal pipeline. Non e' da confondere con la latenza delle istruzioni, che potrebbero impiegare vari cicli di clock, ma essendo di tipo pipeline vengono portate a termine con la frequenza di 1 per ciclo di clock, ad esempio, in una CPU con pipeline da 1 ciclo per stadio. Nelle CPU superscalari, il troughput e' maggiore di 1, in quanto piu' istruzioni possono essere portate a termine in 1 ciclo.
Fonte: http://www.satnews.tv.it/tecnica/informatica/IntroduzioneInformatica.doc
sito web: http://www.satnews.tv.it/
Autore: By ZeroByte71
Processore del computer
Visita la nostra pagina principale
Processore del computer
Termini d' uso e privacy