Acer Aspire 5680 Batteria
Il cabinet dell'IBM 709 Central Processing Unit ha le dimensioni di un armadio. Grazie all'avvento prima del e poi della , è stato possibile contenere la CPU prima in una e, successivamente, in un (quindi nello spazio di pochi centimetri quadrati). In particolare la prima CPU commercializzata e interamente contenuta in un circuito integrato è Acer Aspire 9110 Batteria il (commercializzato a partire dal ).
Una generica CPU contiene:
- un' (anche nota con l' "CU") che legge dalla memoria le istruzioni, se occorre legge anche i dati per l'istruzione letta, esegue l'istruzione e memorizza il risultato se c'è, scrivendolo in memoria o in un registro della CPU.
- un' (anche nota con l'acronimo "ALU") che si Acer Aspire 9120 Batteria occupa di eseguire le operazioni logiche e aritmetiche;
- dei , speciali locazioni di memoria interne alla CPU, molto veloci, a cui è possibile accedere molto più rapidamente che alla memoria: il valore complessivo di tutti i registri della CPU costituisce lo stato in cui essa si trova attualmente. Due registri sempre presenti sono:
- il registro IP (Instruction Pointer) o PC (Program Counter), che contiene l'indirizzo in memoria della prossima istruzione da eseguire;
- il registro dei : questo registro non contiene valori numerici convenzionali, ma è piuttosto un insieme di Batteria Acer BT.3506.001 bit, detti appunto flag, che segnalano stati particolari della CPU e alcune informazioni sul risultato dell'ultima operazione eseguita. I flag più importanti sono:
- Flag di stato:
- Overflow: indica se il risultato dell'operazione precedente era troppo grande per il campo risultato: 0 assenza di overflow, 1 overflow
- Zero: vale 1 se l'ultima operazione ha avuto risultato zero, altrimenti vale 0.
- Carry: vale 1 se l'ultima operazione ha ecceduto la capacità del registro che contiene il risultato, altrimenti vale 0(esempio: in un registro a 8 bit, che può rappresentare solo numeri da 0 a 255 Batteria Acer BT.T3504.001, la somma 178+250 darebbe come risultato 172, cioè 428 - 256, e il carry verrebbe posto a 1 insieme al flag di overflow).
- Segno: indica il segno del risultato dell'operazione precedente: 0 risultato positivo, 1 risultato negativo
- Flag di controllo:
- Interrupt: se a questo flag viene assegnato valore 1, la CPU smette di rispondere alle richieste di servizio esterne delle periferiche (i segnali delle linee IRQ) finché non viene ripristinato al valore 0, o finché non arriva dall'esterno un segnale di Batteria Acer BT.T3506.001 RESET.
- Flag di stato:
Una generica CPU deve eseguire i suoi compiti sincronizzandoli con il resto del sistema: perciò è dotata, oltre a quanto sopra elencato, anche di uno o più bus interni che si occupano di collegare registri, ALU, unità di controllo e memoria: inoltre all'unità di controllo interna della CPU fanno capo una serie di segnali elettrici esterni che si occupano di tenere la CPU al corrente dello stato del resto del sistema e di agire su di esso. Il tipo e il numero di segnali esterni gestiti possono variare ma alcuni, come il , le ASUS K40 Batteria linee di e il sono sempre presenti.
L'unità di elaborazione centrale o CPU è una tipologia di la quale si contraddistingue per sovraintendere tutte le funzionalità del digitale basato sull' o sull'. In particolare l'unità di elaborazione centrale è una tipologia di processore estremamente diffusa in quanto i moderni computer general purpose normalmente sono digitali e basati sull'architettura di von Neumann Acer Aspire 5630 Batteria.
Il compito della CPU è quello di eseguire le di un presente in . Durante l'esecuzione del programma la CPU legge o scrive in memoria. Il risultato dell' dipende dal dato su cui si opera e dallo in cui la CPU stessa si trova, e può mantenere la Acer Aspire 5650 Batteria traccia delle operazioni passate .
Attualmente la CPU è tipicamente implementata come .
La CPU nasce quando, per la prima volta nella storia, vengono riuniti all'interno dello stesso due che precedentemente erano sempre stati contenuti in cabinet diversi (o comunque costituivano blocchi distinti): l' e l'. La prima CPU commercializzata della storia è l', una CPU basata sulla e disponibile con l' (un dell'commercializzato a partire dal ) Acer Aspire 5680 Batteria.
Per quanto riguarda i registri, le CPU possono gestirli in molti modi: i più comuni sono registri nominativi (CPU CISC classiche), file di registri (RISC) e stack di registri ( e simili).
- Stack di registri: i registri sono organizzati in una struttura a stack (pila); questa architettura ha il vantaggio di non dover specificare su quale registro interno operare (è sempre quello in cima allo stack) ottenendo istruzioni più corte e ASUS K40A Batteria più semplici da decodificare. Il rovescio della medaglia è che nel caso sia necessario un dato "sepolto" in fondo allo stack, il suo recupero è un'operazione molto lenta.
- Registri nominativi: ogni registro è identificato singolarmente e le istruzioni che usano registri specificano di volta in volta quale registro devono usare. Spesso alcuni registri sono dedicati a scopi particolari (registri indice, accumulatori, registri di segmento ecc.) imponendo la non ortogonalità del set di istruzioni (vedi oltre). La ASUS K40C Batteria gran maggioranza delle CPU generiche degli anni '70 e '80 è di questo tipo.
- File di registri: I registri sono organizzati come una memoria interna della CPU e indicizzati: la CPU "alloca" un certo numero di registri per ogni processo e/o subroutine in esecuzione, eliminando la necessità di accedere alla per salvare gli stack di chiamata delle funzioni e i dati di task switching nei sistemi multitask ASUS K40E Batteria.
Una CPU è un circuito digitale sincrono: vale a dire che il suo stato cambia ogni volta che riceve un impulso da un segnale di sincronismo detto , che ne determina di conseguenza la velocità operativa, detta : quindi il tempo di esecuzione di una istruzione si misura in cicli di clock, cioè in quanti impulsi di clock sono necessari perché la CPU la completi. In effetti, una parte importante e ASUS K40N Batteria delicata di ogni CPU è il sistema di distribuzione che porta il segnale di clock alle varie unità e sottounità di cui è composta, per fare in modo che siano sempre in sincronia: tale sistema si dirama in una struttura ad albero con divisori e ripetitori che giunge ovunque nella CPU. Nei processori più moderni (, , ) questa "catena di ingranaggi" elettronica arriva ad impiegare Asus A31-UL20 Batteria circa il 30% di tutti i transistor disponibili. La velocità di questa distribuzione determina in maniera diretta la massima frequenza operativa di una CPU: nessuna CPU può essere più veloce del suo critical path, cioè del tempo che impiega il clock per percorrere il tratto più lungo in tutto l'albero di distribuzione del clock. Per esempio, se il segnale di clock di una data CPU impiega un per attraversare tutto il chip ed arrivare fino all'ultima sottounità Batteria Asus A32-UL20, questa CPU potrà operare a non più di 1 GHz, perché altrimenti le sue componenti interne perderebbero la sincronizzazione, con risultati imprevedibili (per avere un margine di sicurezza, il limite pratico sarà anzi ben minore di 1GHz).
Una caratteristica importante dell'insieme (set) delle istruzioni di una CPU è la sua ortogonalità: vale a dire, il fatto che ogni istruzione che usi i registri possa usarli tutti indifferentemente (tranne quelli "speciali" come l'IP) e che nessun registro sia in qualche modo privilegiato rispetto agli altri perché su di esso si possono compiere operazioni particolari: è stato dimostrato che un set di istruzioni ortogonali, a parità di tempo di esecuzione delle istruzioni e di numero dei registri, è più efficiente di uno non ortogonale Dell Inspiron 4000.
Tipicamente la CPU è l' del linguaggio macchina. Come tutti gli interpreti, si basa sul seguente ciclo:
- Acquisizione dell'istruzione (Instruction Fetch): il processore preleva l'istruzione dalla memoria, presente nell'indirizzo (tipicamente ) specificato da un registro "speciale" ("speciale" opposto di "generico"), il
- Decodifica (Operand Assembly): una Dell Inspiron 4100 volta che la è stata prelevata, viene determinata quale operazione debba essere eseguita e come ottenere gli operandi, in base ad una funzione il cui dominio è costituito dai codici operativi (tipicamente i bit alti delle ) ed il codominio consiste nei brani di da eseguire
- Esecuzione (Execute): viene eseguita la computazione desiderata. Nell'ultimo passo dell'esecuzione viene incrementato il : tipicamente di uno se l'istruzione non era un salto condizionale, altrimenti l'incremento dipende dall'istruzione e dall'esito di Dell Inspiron 4150 questa
Questo ciclo elementare può essere migliorato in vari modi: per esempio, la decodifica di una istruzione può essere fatta contemporaneamente all'esecuzione della precedente e alla lettura dalla memoria della prossima (instruction prefetch) e lo stesso può essere fatto con i dati che si prevede saranno necessari alle istruzioni (data prefetch). La stessa esecuzione delle istruzioni può essere suddivisa in passi più semplici, da eseguire in stadi successivi, organizzando la unità di controllo e la ALU in stadi consecutivi, come delle catene di montaggio (''): in questo modo più istruzioni possono essere eseguite "quasi contemporaneamente", ciascuna occupando ad un certo istante uno stadio diverso della pipeline Dell Inspiron 8000.
Le istruzioni di una CPU () sono semplicemente dei Batteria Asus A31-U53 numeri, detti opcode o codici operativi: in base al loro valore l'unità di controllo intraprende delle azioni predefinite, come per esempio leggere la successiva locazione di memoria per caricare un dato, oppure attivare la ALU per eseguire un calcolo, oppure scrivere il contenuto di un registro in una certa locazione di memoria o in un altro registro, oppure una combinazione di queste.
Per una persona, stendere programmi scrivendo direttamente gli opcode è estremamente noioso e prono all'errore. Per questo motivo si utilizza l', che associa un simbolo mnemonico ad ogni istruzione della CPU e introduce una sintassi che permette di esprimere i vari in modo più intuitivo.
Il problema di questo approccio sono le istruzioni di salto condizionato: la CPU non può sapere a priori se dovrà eseguire o no il salto prima di aver eseguito quelle precedenti, così deve decidere se impostare la pipeline tenendo conto del salto o no: e in caso di previsione errata la pipeline va svuotata completamente e le istruzioni in corso di decodifica rilette da capo, perdendo un Dell Inspiron 8100 numero di cicli di clock direttamente proporzionale al numero di stadi della pipeline. Per evitare questo i processori moderni hanno unità interne (“Branch prediction unit”) il cui scopo è tentare di prevedere se, data una istruzione di salto condizionato e quelle eseguite in precedenza, il salto dovrà essere eseguito o no.
Inoltre i processori possono implementare al loro interno più unità di esecuzione per eseguire più operazioni contemporaneamente. Questo approccio incrementa le prestazioni delle CPU ma ne complica notevolmente l'esecuzione, dato che per poter eseguire in modo efficiente più operazioni in parallelo la CPU deve poter organizzare le istruzioni in modo diverso da Dell M5701 come sono organizzate dal programmatore (). Una ulteriore evoluzione di questo concetto è stata implementata nei processori multicore , che implementano delle istruzioni predicative che possono o meno essere eseguite a seconda del risultato di altre, eseguite in precedenza o contemporaneamente.
In base all'organizzazione della memoria si possono distinguere le seguenti due famiglie di CPU:
- con , in cui i dati e le istruzioni risiedono nella stessa memoria (è dunque possibile avere ). Questa architettura è la più comune, perché è molto semplice e flessibile Dell P5413.
- con , in cui i dati e le istruzioni risiedono in due memorie separate. Questa architettura può garantire prestazioni migliori poiché le due memorie possono lavorare in parallelo riducendo le , ma è ovviamente molto più complessa da gestire. È tipicamente utilizzata nei .
Entrambe le architetture sono .
Il set di istruzioni associato a CPU di tipo CISC è molto esteso e composto in genere di alcune centinaia di codici operativi diversi che svolgono funzioni anche molto complesse, fra cui sono caratteristici i trasferimenti memoria-memoria, assenti nei RISC; le istruzioni hanno lunghezza variabile e possono presentarsi in formati diversi, e sono necessari due o più (a volte molti di più) cicli di per completare una istruzione; è possibile specificare la posizione dei dati necessari alle istruzioni usando molti diversi. Il Batteria Apple PowerBook G4 15inch Titanium ridotto numero di registri interni obbliga questi processori a scrivere in memoria ogni volta che si verifica una chiamata di funzione, che si verifica un o che viene salvato un registro nello .
Programmare in Assembly una CPU CISC è un compito (relativamente) facile, perché le istruzioni presenti sono più vicine a quelle dei .
Quando i transistor disponibili su un solo chip erano pochi e i calcolatori venivano spesso programmati in assembly, era naturale sfruttarli in modo tale da avere CPU con istruzioni potenti, evolute e Dell 312-0334 complesse: più queste erano vicine alle istruzioni dei linguaggi di programmazione ad alto livello più il computer sarebbe stato facile da programmare, e i programmi avrebbero occupato poco spazio in memoria (anch'essa poca e preziosa). Le CPU progettate secondo questo approccio sono dette CISC ed avevano unità di controllo complesse capaci di sfruttare al meglio pochi registri e i cui programmi erano di dimensioni relativamente piccole. A Dell U1223 cavallo fra gli anni '70 e gli '80 la situazione però cambiò rapidamente: la divenne più economica e comparvero i primi compilatori moderni, ottimizzanti, in grado di generare linguaggio macchina molto efficiente: per questo si iniziò a pensare ad un nuovo Dell J2328 modo di progettare le CPU, prendendo in esame la possibilità di usare i transistor disponibili per avere invece molti registri e un set di istruzioni elementare, molto ridotto, che delegasse al compilatore il lavoro di tradurre le istruzioni complesse in serie di istruzioni più semplici, permettendo così di avere unità di controllo particolarmente semplici e veloci. Attualmente la distinzione fra queste due classi di architetture è venuta in gran parte meno: il numero di transistor disponibili su un solo chip è aumentato tanto da poter gestire molti registri ed anche set di istruzioni complesse.
CISC è l'acronimo di Complex Instruction Set Computer: tipicamente un processore di questo tipo implementa un numero relativamente scarso (una decina) di registri di uso generale, ed ha una unità di controllo microprogrammata: la logica del programma è memorizzata in una memoria veloce situata nella parte di controllo, invece di essere espressa tramite una Batteria Apple PowerBook G4 17inch.
- jocus's blog
- Login or register to post comments