Discussione:CPU

Da Wikipedia, l'enciclopedia libera.
Vai alla navigazione Vai alla ricerca
CPU
Argomento di scuola secondaria di II grado
Materiainformatica
Dettagli
Dimensione della voce29 069 byte
Progetto Wikipedia e scuola italiana

Propongo di mettere il capitolo sui modi di'indirizzamento in una pagina a se stante. Va troppo nel dettaglio rispetto all'argomento. Wikipedone

Sono d'accordo, è troppo specialistico. Hellis 21:00, Mag 21, 2005 (CEST)
Fatto :) Wikipedone 23:01, 13/06/2005 (CEST)

Verso la fine di "CISC (Complex Instruction Set Computer)" : <<Programmare in Assembler un CPU CISC è un compito (relativamente) facile, perché le istruzioni presenti sono più vicine a quelle dei linugaggi ad alto livello: i compilatori che generano codice per CPU CISC sono piuttosto semplici ed inoltre il codice prodotto è molto compatto e occupa poca memoria.>>

Propongo di rimuovere la parte in cui si afferma che i compilatori CISC sono semplici in quanto non vera in generale. Scrivere un ottimizzatore performante per CISC è più complesso che per un RISC (storicamente proprio questo ha avvantaggiato i RISC). Questo per il semplice motivo che una CPU CISC offre molti più modi di fare la stessa cosa rispetto una CPU RISC. Questo libertà fa aumentare di molto le possibilità da analizzare ed i casi particolari. Tant'è che spesso i compilatori CISC utilizzano un sottoinsieme delle istruzioni disponibili.

A bene vedere non è nemmeno vero che programmare CISC è più semplice, a patto di non ridursi ad usare un sottoinsieme delle istruzioni, è complicato decidere di volta in volta quale sequenza di istruzioni, inoltre la scarzezza di registri complica ulteriormente le cose.

Wikipedone 23:41, 13/06/2005 (CEST)

Oltre ad accordarmi con chi reputa il compilatore CISC generalmente più complesso del compilatore RISC(specialmente per quanto riguarda l'ottimizzazione che, essendo un compito di complessità NP-completo, aumenta esponenzialmente col numero di alternative possibili). La considerazione in fondo al capitoletto sul RISC è dunque largamente sbagliata: è da sottolineare, invece, il fatto che un processore RISC permetta in linea di principio cicli di clock più brevi, a scapito di più istruzioni assembler RISC per poter svolgere il lavoro di una istruzione CISC. vorrei far notare che la trattazione dell'architettura della CPU è imprecisa: 1) la suddivisione in "unità di controllo" ed ALU è scorretta: la vera suddivisione consiste in "Parte di controllo" e "Parte operativa", che all'interno include tutti i registri e le reti combinatorie necessarie al calcolo (tra le quali anche le ALU). Senza scendere troppo nello specifico, direi che vi sono due unità: una, la parte di controllo, che controlla attraverso opportune variabili il flusso della computazione all'interno del processore stesso, ed un'altra, la parte operativa, che include le unità di calcolo ed i registri, oltre alle interfacce esterne. 2) non so cosa si intende dire per "RESET", ma se ci si riferisce al reset del protocollo di comunicazione a transizione di livello, questo non è nè un "filo elettrico" (è piuttosto una azione"), nè è un qualcosa controllato al di fuori del processore (il bit di controllo del reset proviene dalla PC). Al limite si può dire che esistono protocolli di sincronizzazione col "mondo esterno".

akbg

Per il RISC ha aggiunto una frase alla fine del capito che spero specifichi meglio il problema. Tu proponi di utilizzare la dizione "Parte di controllo" e "Parte operativa" al posto di ALU e Unità di Controllo, ma al di la che è la stessa cosa la dizione attualmente in uso è la più comune, quindi terrei quella attuale in quanto non scorretta e diffusa. Il reset è un segnale che percorre la scheda madre e raggiunge tutti i componenti. Non ho controllato sugli ultimi processori se hanno il piedino di reset ma i vecchi processori l'avevano e praticamente tutti i componenti elettronici con memoria hanno un pin di reset. Hellis 20:44, 5 gen 2007 (CET)[rispondi]
Il fatto è che la "parte operativa" non consiste solo nell'ALU: è una intera rete sequenziale, che include registri, commutatori ed interfacce d'uscita, la ALU è solo una unità che somma, addiziona, moltiplica e poco altro: non è propriamente "la stessa cosa". Cercando in rete, ho visto che "parte operativa" è chiamata comunemente datapath: http://en.wikipedia.org/wiki/Datapath . L'altra unità, "parte di controllo", è la "control unit": http://en.wikipedia.org/wiki/Control_unit .
La precisazione sul RISC è confusa, e presta il fianco a molte critiche. Io sarei propenso nel mettere semplicemente che un compilatore CISC ottimizzante è molto più complesso di un compilatore RISC ottimizzante, cosa indiscutibilmente vera.
Per quanto riguarda il RESET, opterei per un più generale "interfacce di sincronizzazione", dato che la "linea di reset" (che presumo sia la linea di ready) è solo un caso particolare. akbg
Quello che dici non è totalmente vero, per esempio i primi computer non avevano i registri ma avevano l'ALU, l'ALU è presente in tutte le CPU mentre altre parti possono essere assenti. Il datapath è l'insieme dei percorsi che seguono i segnali quando vengono processati, è una definizione molto generica. I registri nei processori moderni sono legati strettamente all'unità di controllo per poter eseguire la ridenominazione dei registri e altri giochetti per incrementare le prestazioni. Le stesse porte di collegamento sono gestite direttamente dall'unità di controllo per implementare letture anticipate della memoria, strategie di scrittura ritardata e altre tecniche per incrementare le prestazioni di trasferimento. L'unità di controllo è fondamentale e tutto gira intorno a quella. Le altre unità senza la struttura di controllo non fanno niente e non spesso non sono nemmeno direttamente collegate. Io manterrei unità di controllo e ALu perché sono le uniche unità sempre presenti oltre che le più importanti.
La complessità interessa un'informatico ma poco l'utente finale, il fatto che il software sia più grande (come occupazione di memoria) invece impatta direttamente sulle prestazioni del computer. Inoltre all'inizio dell'era informatica ci si concentro sulle architetture CISC per ridurre l'occupazione di memoria (una risorsa allora molto costosa) quindi va citata. Se vuoi riscrivere il testo sentiti libero di farlo ma non eliminare in contenuto informativo.
Il RESET è il reset, non sincronizza il processore, lo riporta in uno stato noto, si usa normalmente all'avvio del sistema quando un reset azzera tutti gli stati interni della macchina portandoli in uno stato noto e predicibile. Il reset si usa in caso di blocco della macchina ed è in grado di azzerare anche un interrupt non mascherabile come indicato nel testo. Hellis 23:57, 5 gen 2007 (CET)[rispondi]
Okay, per reset intendevo un'altra cosa (i "reset" dell'interfaccia d'ingresso), d'altronde lo avevo detto sin dall'inizio che non mi era molto chiaro cosa si intendesse di preciso con "reset" :P
Il datapath non è un "insieme", il datapath è una rete sequenziale, l'articoletto linkato è parecchio stringato ma preciso, per chiarire ulteriormente le idee: http://www.dizionarioinformatico.com/cgi-lib/diz.cgi?frame&key=datapath . Che poi il datapath nei processori antichi fosse costituito solo dalla ALU e dai registri d'interfaccia (per registri non intendo solo il sottoinsieme di essi visibili a macchina assembler, eh?) è un'altro discorso (volendo si potrebbe anche inserire tale "curiosità" tra parentesi). Di sicuro è un componente sempre presente nei processori. Come poi vengano usati i registri nei processori moderni è un conto, ma fanno parte del datapath. Per "unità di controllo" tu intendi evidentemente ciò che io intendo con "parte di controllo" (ma và?), e la dizione mi sta anche bene. A questo punto, proporrei "unità di controllo" ed "unità operativa", specificando che la/le ALU fanno parte dell'unità operativa.
Poi scusami, ma non mi convince proprio il discorso "la complessità interessa un informatico, non l'utente finale": mica stiamo vendendo qualcosa, no? ;) Il discorso sull'occupazione di memoria è assolutamente vero, e non avevo intenzione di toccarlo. Modificherei il discorso sui compilatori, cosa che di per sè è abbastanza tecnica, con le osservazioni rilevate sopra. akbg
Ho apportato differenti modifiche al testo, gradirei commenti. akbg
Ho messo qualche aggiunta. Hellis 13:51, 7 gen 2007 (CET)[rispondi]

Riferimento alla macchina di Turing[modifica wikitesto]

La macchina di Turing è un modello teorico di sistema di calcolo, che non è mai stato usato (che io sappia) come modello per la costruzione di un calcolatore reale. Le macchine di Turing hanno diverse caratteristiche che le rendono adatte a essere studiate e analizzate con teoremi, ma molto poco realistiche; la cosa più lampante è che hanno una memoria a nastro. Pertanto parlare nell'incipit della CPU come componente di una MT è sbagliato, oltre che poco efficace: il lettore deve sapere che la CPU è una parte dei computer fisici, anche perché gran parte di quanto segue (per esempio i vari discorsi su ALU, registri, ecc.) non ha il minimo senso se applicata a modelli teorici (una MT non ha una "CPU", ma certamente è ancora più vero che non ha una "ALU"!)

Ho sostituito il riferimento alla MT con quello alla macchina di von Neumann, che è l'architettura teorica di riferimento per i computer moderni. In effetti propenderei per modificare ulteriormente l'incipit, chiarendo meglio che si parla di architettura di computer e non di modelli teorici, e al limite introducendo in un secondo momento il parallelo con von Neumann e altre versioni "astratte" di calcolatore. Moongateclimber (msg) 08:10, 23 set 2008 (CEST)[rispondi]

Un utente ci ha garbatamente invitati a cambiare una foto scrivendolo nel corpo della voce. Al di là dei toni, forse ha ragione. --Formica rufa 00:46, 23 giu 2012 (CEST)[rispondi]

Collegamenti esterni modificati[modifica wikitesto]

Gentili utenti,

ho appena modificato 1 collegamento/i esterno/i sulla pagina CPU. Per cortesia controllate la mia modifica. Se avete qualche domanda o se fosse necessario far sì che il bot ignori i link o l'intera pagina, date un'occhiata a queste FAQ. Ho effettuato le seguenti modifiche:

Fate riferimento alle FAQ per informazioni su come correggere gli errori del bot

Saluti.—InternetArchiveBot (Segnala un errore) 17:59, 12 nov 2017 (CET)[rispondi]

Collegamenti esterni modificati[modifica wikitesto]

Gentili utenti,

ho appena modificato 3 collegamenti esterni sulla pagina CPU. Per cortesia controllate la mia modifica. Se avete qualche domanda o se fosse necessario far sì che il bot ignori i link o l'intera pagina, date un'occhiata a queste FAQ. Ho effettuato le seguenti modifiche:

Fate riferimento alle FAQ per informazioni su come correggere gli errori del bot.

Saluti.—InternetArchiveBot (Segnala un errore) 12:37, 22 mag 2019 (CEST)[rispondi]