GUIDA La Cpu Spiegata Ad Un Nabbo

Stato
Discussione chiusa ad ulteriori risposte.

Reverser

Utente Attivo
333
251
Si, le GPU sono processori specializzati.

La CPU è progettata per usi generici (General Purpose), quindi fa bene un pò tutto, ma nulla PARTICOLARMENTE bene.

Una GPU è un processore estremamente specializzato e strutturato per un particolare compito, che esegue in maniera estremamente efficiente, ma se lo impieghi in usi diversi dal suo specifico, potrebbe fare abbastanza schifo come prestazioni.
 
U

Utente cancellato 79971

Ospite
Bene! Vi ho sollecitato a fare qualche domanda per mettere bene a fuoco gli argomenti, ma vedo che non ce ne sonmo state, quindi deduco che è stato capito tutto fino all'ultimo bit! :D

no, è che la sto ancora leggendo e rileggendo bene :D non capisco per esempio quando parli di "piedini" cosa intendi ed il fatto dei bit che siano 4/8/16, ecc da cosa dipenda... lezione 2 per esempio quando parli di operazioni logiche e fai riferimento a esempi da 2 bit, cioè 2 "piedini" ... posso intuire che bit equivale a piedini ok, ma non capisco la differenza tra ingresso ed uscita, A+B=F per esempio... poi dentro la ALU in base a cosa si decide quanti schemi di operazioni logiche ci sono e il loro numero come diversificano una alu dall'altra? :shock:

perche hanno deciso che un byte fossero 8 bit e non 4 bit? ha un senso?... cioè pensavo ad (4bit)1111 = 1 B = F = 15

ps. sto pensando che con piedini poi intenderai pin e che quindi che ora ad esempio abbiamo i socket tipo am3+ da 941pin ma usati 938 nelle cpu am3+ o intel addirittura arriva fino a 2011 con gli extreme per via del quad-channel, ecc sapevo io...
invece lga 1155 sono comunque più del am3+ da 940 e qualcosa vorrà dire...
 
Ultima modifica da un moderatore:

Reverser

Utente Attivo
333
251
I pin (piedini) sono i collegamenti fisici in metallo che portano i segnali all'interno della CPU.

integrato28pin.jpg

Questa è una CPU alla rovescia. Quelli dorati sono i PIN. Si usa l'oro (la doratura) perchè è il miglior conduttore di elettricità esistente.

PGA-Pin_grid_array_bottom_chip_package_photo.jpg

Questo invece è uno zoccolo (dove si inseriscono i pin della CPU) a 8 pin per lato.

zoccolo-dil-8-pin-basso-profilo~47215985.jpg

Ovviamente un ingresso è un pin, un processore a 8 bit ha almeno 8 piedini per questi 8 ingressi (immagina le dita di una mano devono essere dieci per contare fino a 10!).

I Bit li decide il costruttore di un integrato o di una CPU.

Ci sono CPU a 4 bit (ci fai ben poco)
CPU a 8 Bit (usati nelle macchinette del caffe), che devono fare poche, semplici operazioni
CPU a 16 bit utilizzati per applicazioni industriali, macchine a controllo numerico, bracci robotizzati
CPU a 32 bit come i processori PC di qualche anno fa per Windows 95-98 o XP
CPU a 64 bit come i processori attuali per Windows 7 a 64 bit
CPU a 128 bit per potentissime applicazioni scientifiche o militari (simulazioni di processi chimici o nucleari)

Il numero dei bit indica ANCHE la complessità di una CPU.

Un esempio poco sensato ma forse illuminante: una CPU a 16 bit può fare calcoli di numeri molto lunghi e complessi, ma deve dividere il numero in pezzetti lunghi 16 bit (di più non riesce a contare, come noi con le 10 dita, che per contare 11 devi ripartire da zero) e questo richiede più cicli di clock, più tempo.
Un processore a 64 bit ci mette un solo ciclo per trattare quel numero così grande.

Esempio:
127765463339 x 49376811113

16 bit = bam....bam....bam....bam....bam....bam....risultato
64 bit = BAM! risultato

Esistono processori un pò per tutti gli usi. Se devo far lampeggiare 2 led, non uso un Processore RISC da 128 bit! Ne basta uno a 4 bit. Se devo simulare come si fondono i nuclei di ferro durante l'esplosione nucleare del core di una stella supergigante azzurra, magari 4 bit... non bastano!

Poi l'ALU è una sola, e da sola fa un sacco di operazioni. Tutte quelle matematiche e tutte quelle logiche. Chi lo decide? LE ISTRUZIONI!

Ogni gruppo di bit che ENTRANO dentro la CPU sono dei DATI o delle ISTRUZIONI, quindi sono le ISTRUZIONI che decidono cosa fare sui dati, da parte della ALU.

Ci sono istruzioni di SOMMA, di AND, di OR, di SOTTRAZION, ecc. Per saperle devi prenderti il manuale dall CPU dove ci sono scritte tutte le istruzioni del suo linguaggio Assembler.

Quanto a quei cosi che hanno 2 ingressi e un'uscita, sono porte logiche, che fanno operazioni logiche su quei dati in ingresso (A e B).

Forse così lo capisci meglio:

full adder 4 bit.png

Questo è un sommatore a 4 bit (4 celle ad 1 Bit)

Somma 2 numeri a 4 bit. A0,A1,A2 e A3 è il primo numero a 4 bit. B0, B1, B2 e B3 è il secondo numero a 4 bit.

S0, S1, S2, S3 è il numero a 4 bit in uscita, ovvero il risultato di A0123 + B0123.

Quindi hai due gruppi in ingresso e 1 solo gruppo in uscita, il risultato dei due gruppi.

Ora vediamolo applicato ad una ALU:

280px-ALU_symbol.svg.png
Questa è una Alu. In alto vedi gli ingressi, che possono essere di quanti bit vuoi, ma se sono 8 per A e Per B, saranno 8 anche per l'uscita R.

alu.gif

Cosa accade se sommando due numeri a 8 bit, il numero è molto grande e sfora diventando da 9 bit? Niente, in uscita abbiamo il risultato parziale a 8 bit, PIU' una flag (una bandierina), un piedino, che si porterà a 1. Questo piedino è il carry out, il riporto, come quando fai una somma su un foglietto che devi mettere il riporto davanti. Uguale uguiale.

Poi, per numeri molto grandi, magari da 12 bit, puoi mettere due ALU in cascata, avendo l'accortezza di collegare il piedino CARRY OUT al pieduino CARRY IN (riporto in ingresso, così l'ALU sa che è il riporto di un numero grande) dell'ALU che viene dopo. Si chiama collegamento in cascata.

Capito??
 
Ultima modifica:
U

Utente cancellato 79971

Ospite
...cut...
Capito??
si ho capito meglio ad esempio che una ALU a 8 bit avrà 8 porte logiche e cosi via e che si possono mettere a cascata cosi come le porte logiche e in CO/CI anche le ALU, e soprattutto ho capito perchè dicono che le istruzioni a 64bit renderebbero meglio dei 32 bit! :D ...perchè dopo 10 anni dall'introduzione dei 64bit continuano a programmare al massimo in 32bit? sapevo che si SO è a 64bit ma i software e i giochi sono ancora a 32bit...
...forse rileggendo meglio la lezione 4 (quella di programmazione e penso sia la più difficile da comprendere) riuscirei a comprendere ancora meglio, solo che non capisco come fa la cpu a riconoscere la parte logica/ALU o FPU da utilizzare in base al dato/istruzione che gli arriva... c'è qualcosa prima che riconosce in ingresso?

ps. il fatto che 1 Byte sia 8 bit e non 4 bit da cosa è dovuto, come mai hanno fatto questa scelta? siccome era semplice fare si che fosse 1111(binario in bit) = 1(binario in Byte) = F(esadecimale) = 15(decimale)

BinarioEsadecimaleDecimale
000
111
1022
1133
10044
10155
11066
11177
100088
100199
1010A10
1011B11
1100C12
1101D13
1110E14
1111F15

pps come mai questa ALU ha molte parti logiche al suo interno eppure è definita solo a 2bit?
http://upload.wikimedia.org/wikipedia/commons/0/0f/2-bit_ALU.svg
vedo che come ingresso ha solo A01 + B01 ma poi ha una serie di parti logiche che sembrano eccessive per una ALU a 2 bit... :look:
 
Ultima modifica da un moderatore:

Reverser

Utente Attivo
333
251
Complimenti perchè sei sveglio! Sei NaBBo ma cerchi di capire veramente.

Il punto è che per rendere comprensibile anche alle pietre (i NaBBi più NaBBi) questioni così complesse, ho dovuto semplificare allo stremo, quindi sono giuste le tue considerazioni, perchè mancano "dei pezzi".

Dentro alla CPU c'è un Modulo che si chiama INSTRUTION DECODER, che lavora di concerto con un Registro apposito dedicato alle Istruzioni.

Quindi c'è un modulo che si occupa di riconoscere e decodificare le istruzioni x86

Eccolo lì, in alto tutto a sinistra. C'è il REGISTRO ISTRUZIONI e il DECODER ISTRUZIONI

fig214.gif

Qua uno schema a blocchi di una CPU più recente, guarda come il Modulo DECODER passa i dati al Modulo per numeri interi o al Modulo per numeri in virgola mobile:



Hot_Chips_Steamroller_arch.png

Queste sono architetture che si chiamano Von Neuman, ma esistono altri tipi di architetture di CPU.

Questo è un elenco di Istruzioni X86, matematiche e logiche. Come vedi sono innumerevoli, ma ciascuna ha il suo senso, anche se molte sono simili e il Programmatore può usare una piuttosto che l'altra. Tutti i "cosi" con X sono Registri (Es. CX, EAX ecc.)

Tabella u108.19. Operazioni aritmetiche.
NomeOperandi:
dst, org1, org2
DescrizioneIndicatori

NEG
reg
mem
negation
Inverte il segno di un numero, attraverso il complemento a due.​
operand := -operand

cpazstido
##·##···#

ADD
reg, reg
reg, mem
reg, imm
mem, reg
mem, imm
addition
Somma di interi, con o senza segno, ignorando il riporto precedente. Se i valori si intendono con segno, è importante l'esito dell'indicatore di traboccamento (overflow), se invece i valori sono da intendersi senza segno, è importante l'esito dell'indicatore di riporto (carry).​
dst := org + dst

cpazstido
##·##···#

SUB
reg, reg
reg, mem
reg, imm
mem, reg
mem, imm
subtraction
Sottrazione di interi con o senza segno, ignorando il riporto precedente.​
dst := org - dst

cpazstido
##·##···#

ADC
reg, reg
reg, mem
reg, imm
mem, reg
mem, imm
addition with carry
Somma di interi, con o senza segno, aggiungendo anche il riporto precedente (l'indicatore carry).​
dst := org + dst + c

cpazstido
t········
##·##···#

SBB
reg, reg
reg, mem
reg, imm
mem, reg
mem, imm
subtraction with borrow
Sottrazione di interi, con o senza segno, tenendo conto del «prestito» precedente (l'indicatore carry).​
dst := org + dst - c

cpazstido
t········
##·##···#

INC
reg
mem
increment
Incrementa di una unità un intero.​
operand++

cpazstido
·#·##···#

DEC
reg
mem
decrement
Decrementa di una unità un valore intero.​
operand--

cpazstido
·#·##···#

MUL
reg
mem
multiply
Moltiplicazione intera senza segno. L'operando è il moltiplicatore, mentre il moltiplicando è costituito da registri prestabiliti.​
AX := AL*operand
DX:AX := AX*operand

cpazstido
#?·??···#

DIV
reg
mem
division
Divisione intera senza segno. L'operando è il divisore, mentre il dividendo è costituito da registri prestabiliti.​
AL := AX/operand
AH := AX%operand
AX := (DX:AX)/operand
DX := (DX:AX)%operand

cpazstido
??·??···?

IMUL
reg
mem
signed multiply
Moltiplicazione intera con segno. In questo caso l'operando è il moltiplicatore, mentre il moltiplicando è costituito da registri prestabiliti.​
AX := AL*operand
(DX:AX) := AX*operand

cpazstido
#?·??···#

IDIV
reg
mem
signed division
Divisione intera con segno. L'operando è il divisore, mentre il dividendo è costituito da registri prestabiliti.​
AL := AX/operand
AH := AX%operand
AX := (DX:AX)/operand
DX := (DX:AX)%operand

cpazstido
??·??···?

Tabella u108.20. Operazioni logiche.
NomeOperandi:
dst, org1, org2
DescrizioneIndicatori

NOT
reg
mem
NOT di tutti i bit dell'operando.​
dst := NOT dst

cpazstido
·········

AND
OR
XOR
reg, reg
reg, mem
reg, imm
mem, reg
mem, imm
AND, OR, o XOR, tra tutti i bit dei due operandi.​
dst := org AND dst
dst := org OR dst
dst := org XOR dst

cpazstido
0#·##···0

Tabella u108.21. Scorrimenti e rotazioni.
NomeOperandi:
dst, org1, org2
DescrizioneIndicatori

SHL
SHR
reg, 1
mem, 1
reg
mem
shift left
shift right
Fa scorrere i bit, rispettivamente verso sinistra o verso destra (l'ultima cifra perduta finisce nell'indicatore del riporto). Se appare un solo operando, la rotazione viene eseguita CL volte. Se il valore immediato è maggiore di uno, è il compilatore che ripete l'istruzione per più volte.​
cpazstido
#·······#

SAL
SAR
reg, 1
mem, 1
reg
mem
shift arithmetically left
shift arithmetically right
Fa scorrere i bit, rispettivamente verso sinistra o verso destra (l'ultima cifra perduta finisce nell'indicatore del riporto), mantenendo il segno originale (logicamenteSAL è identico a SHL). Se appare un solo operando, la rotazione viene eseguita CL volte. Se il valore immediato è maggiore di uno, è il compilatore che ripete l'istruzione per più volte.​
cpazstido
#········

RCL
RCR
reg, 1
mem, 1
reg
mem
rotate left with carry
rotate right with carry
Ruota i bit, rispettivamente verso sinistra o verso destra, utilizzando anche l'indicatore di riporto (carry). Se appare un solo operando, la rotazione viene eseguita CLvolte. Se il valore immediato è maggiore di uno, è il compilatore che ripete l'istruzione per più volte.​
cpazstido
t········
#·······#

ROL
ROR
reg, 1
mem, 1
reg
mem
rotate left
rotate right
Ruota i bit, rispettivamente verso sinistra o verso destra. Se appare un solo operando, la rotazione viene eseguitaCL volte. Se il valore immediato è maggiore di uno, è il compilatore che ripete l'istruzione per più volte.​
cpazstido
#·······#

Tabella u108.22. Chiamate e gestione della pila.
 
Ultima modifica:
U

Utente cancellato 79971

Ospite
Complimenti perchè sei sveglio! Sei NaBBo ma cerchi di capire veramente.

Il punto è che per rendere comprensibile anche alle pietre (i NaBBi più NaBBi) questioni così complesse, ho dovuto semplificare allo stremo, quindi sono giuste le tue considerazioni, perchè mancano "dei pezzi".

Dentro alla CPU c'è un Modulo che si chiama INSTRUTION DECODER, che lavora di concerto con un Registro apposito dedicato alle Istruzioni.

Quindi c'è un modulo che si occupa di riconoscere e decodificare le istruzioni x86

Eccolo lì, in alto tutto a sinistra. C'è il REGISTRO ISTRUZIONI e il DECODER ISTRUZIONI

Visualizza allegato 41449

Qua uno schema a blocchi di una CPU più recente, guarda come il Modulo DECODER passa i dati al Modulo per numeri interi o al Modulo per numeri in virgola mobile:



Visualizza allegato 41453

Queste sono architetture che si chiamano Von Neuman, ma esistono altri tipi di architetture di CPU.

Questo è un elenco NON esaustivo di Istruzioni X86, Come vedi sono innumerevoli, ma ciascuna ha il suo senso, anche se molte sono simili e il Programmatore può usare una piuttosto che l'altra. Tutti i "cosi" con X sono Registri (Es. CX, EAX ecc.)
...cut...

ok ok non voglio bruciare le tappe e comunque andare troppo a fondo sarebbe anche troppo dispendioso, lavorando e facendo una vita sociale e sportiva impegnativa ho poco tempo e stasera ho rubato del tempo al gioco su pc per cercare di carpire il più possibile :) è un evento che non mi metta a giocare quando sono a casa da solo senza fidanzata! :shock:

si AMD con il suo BD (e le sue evoluzioni) ho notato che hanno apportato uno stravolgimento nell'architettura riprendendo lo schema CMT sviluppato 10/15 anni fa da non ricordo chi, se non dico una caxxata, e poi accantonato... oltre ad avere tanti moduli specializzati e condivisi come anche il FETCH per esempio o l'attuale DECODER (che si dica essere sottostimato) o altro, si parlava appunto del fatto che utilizzano una FLEX-FPU (sovradimensionata rispetto una FPU classica) per modulo invece che quella classica di prima del K10/Stars ed era uno dei motivi di altalenamento nelle prestazioni...
parere personale tutti hanno detto che è stato un flop con la prima incarnazione, ma se pensiamo che intel col suo SMT appena uscita faceva pena e lo ha evoluto nel tempo, il CMT è appena nato e comunque spalleggia con gli i5 e sta poco dietro gli i7 più spinti, ma il 2600k è sempre dietro a parità di nm(32) anche se uno Bulk e l'altro SOI (mal cacato :D)

diciamo che a grandi linee se vedo uno schema tipo o a blocchi come quello postato da te di SR riesco anche a intuire la logica che, ma il suo funzionamento proprio no e per questo sono molto interessato a ciò che spieghi :)

...va beh, non voglio farti perdere ancora tempo con le mie domande :D e i miei fuori pista,
vai pure avanti nella tabella di marcia che avevi prefissato per noi NaBBi :D
 
Ultima modifica da un moderatore:

sduke1907

Utente Attivo
146
7
CPU
Intel Core i5-3570K + CoolerMaster Hyper 212 EVO
Scheda Madre
AsRock Z77 Extreme 6
HDD
SSD Samsung 830 128GB - Seagate Barracuda 1TB 7200rpm 64MB
RAM
Geil Evo Corsa 16GB DDR3 1600Mhz CL9
GPU
Palit GTX670 Jetstream 2GB DDR5
Audio
Asus Xonar Essence STX + BeyerDynamic DT990PRO & M-Audio BX5
Monitor
ASUS VW246H
PSU
OCZ ZT 650
Case
Thermaltake Chaser MK-I - Razer Tarantula - Razer DeathAdder
OS
Windows 8.1 PRO x64
aaaah quanti incubi passati con assembler e ST6! :rolleyes:
complimenti bella guida :ok:
 
  • Mi piace
Reazioni: boboskus
U

Utente cancellato 79971

Ospite
non restisto, domanda nabba :lol: non ho dormito per questo ahahhh! :annoiato: no, non è vero... :D
ma quando si parla di "programmare una cpu", cosa si intende in senso lato? cioè a parte "scrivere" col tastierino o l'assembler, ma fisicamente nella cpu cosa succede e cosa si fa? ok ora siamo a 30 anni avanti e sarebbe troppo complicato capire con sti nanotransistor, ma tipo con il cadavere 8008 da 4 bit o anche con lo Z80 da 8 bit?
...cioè quei grafici e schemi che hai mostrato cosa sono poi fisicamente e la cpu come fa a ricordare le istruzioni e i vari compiti aritmetici interi o in virgola o i compiti logici che dovrà saper fare in qualsiasi momento?
...tipo come fai fisicamente a rappresentare un AND oppure un OR un NOT, ad esempio?... :boh:
 
Ultima modifica da un moderatore:

nikolai93

Utente Attivo
566
53
CPU
Intel Core i5 3570k @4,0 GHz cooled by Noctua NH-U9S
Scheda Madre
ASRock Z77E-ITX
HDD
SSD Samsung 840 PRO 128Gb+Seagate Barracuda 7200rpm 64MB 1000GB
RAM
8 GB Corsair Vengeance 1600MHz CAS9
GPU
MSI nVidia GTX650Ti PE+OC 1 GB
Monitor
HP x2301
PSU
EVGA 500W 80 Plus Gold
Case
EVGA Hadron Air
OS
Windows 10 Professional x64
sarebbe bello se continuassi con una guida di programmazione per l'8086 (che è il più semplice)... non ho mai imparato a programmarlo in maniera decente...
 

Reverser

Utente Attivo
333
251
non restisto, domanda nabba :lol: non ho dormito per questo ahahhh! :annoiato: no, non è vero... :D
ma quando si parla di "programmare una cpu", cosa si intende in senso lato? cioè a parte "scrivere" col tastierino o l'assembler, ma fisicamente nella cpu cosa succede e cosa si fa? ok ora siamo a 30 anni avanti e sarebbe troppo complicato capire con sti nanotransistor, ma tipo con il cadavere 8008 da 4 bit o anche con lo Z80 da 8 bit?
...cioè quei grafici e schemi che hai mostrato cosa sono poi fisicamente e la cpu come fa a ricordare le istruzioni e i vari compiti aritmetici interi o in virgola o i compiti logici che dovrà saper fare in qualsiasi momento?
...tipo come fai fisicamente a rappresentare un AND oppure un OR un NOT, ad esempio?... :boh:

La risposta è complicata, perchè sarebbero necessarie conoscenze di elettronica. Cmq dentro la CPU immaginati degli "scambi", dei ponti levatoi, dove passa o nmo la corrente. Tutto qua.

Questo è un circuito equivalente ad un OR, è la stessa cosa:

algebra_di_Boole_clip_image004.png

La tabella della verità è che la lampada si accende basta che uno qualsiasi (ma anche entrambi) degli interruttori, siano chiusi, cioè a 1. La corrente passa ed accende la lampada.

algebra_di_Boole_clip_image002.png Y
A
B
Y
1​
1​
1​
1​
1​
1​
1​

Questo invece è l'equivalente dell'AND.
algebra_di_Boole_clip_image008.png

Non basta che un interruttore sia premuto (a 1), perchè la corrente non passa. E' necessario che siano antrambi chiusi (a 1) affinchè la corrente arrivi alla lampada, cioè si porti nella condizione di "acceso" o 1.

algebra_di_Boole_clip_image006.png Y
A
B
Y
1​
1​
1​
1​
1​


Cmq questo è un AND analizzato elettronicamente:

Lo schema interno di un chip che fa solo funzione di un AND a 2 ingressi (4 porte a 2 ingressi):

DM7409-pinout.jpg SN74F08-pinout.jpg 200px-7400.jpg

e questo è come è costituita elettronicamente una singola di queste porte, ma spiegare il minimo dettaglio di funzionamento esula dal Corso per NaBBo.

200px-7400_Circuit.svg.png

Come detto, imaginati un corso d'acqua (la corrente), che passa o meno attraverso delle chiuse. Questi scambi elettronici di chiuse (rubinettoni) che fanno passare o meno la corrente d'acqua, determina il risultato in uscita (un mulino ad acqua che gira o meno)

- - - Updated - - -

sarebbe bello se continuassi con una guida di programmazione per l'8086 (che è il più semplice)... non ho mai imparato a programmarlo in maniera decente...

Qua non si tratta più di NaBBI. Sarebbe impossibile fare un corso per NaBBI che abbia senso.

- - - Updated - - -

---------------------------------------------------------------------------------------
s
ps. il fatto che 1 Byte sia 8 bit e non 4 bit da cosa è dovuto, come mai hanno fatto questa scelta? siccome era semplice fare si che fosse 1111(binario in bit) = 1(binario in Byte) = F(esadecimale) = 15(decimale)

pps come mai questa ALU ha molte parti logiche al suo interno eppure è definita solo a 2bit?
http://upload.wikimedia.org/wikipedia/commons/0/0f/2-bit_ALU.svg
vedo che come ingresso ha solo A01 + B01 ma poi ha una serie di parti logiche che sembrano eccessive per una ALU a 2 bit... :look:

Un BYTE sono 8 bit. E' una convenzione. Le cose si stavano facendo complicate con l'aumentare dei bit, quindi qualcuno si è svegliato la mattina e ha gridato:

4 bit sono chiamati MEZZO BYTE e più raramente NIBBLE
8 bit sono UN BYTE
16 bit sono una WORD (parola)
32 bit sono una DWORD (double word - doppia parola)
64 bit sono una QWORD (quad word - quadrupla parola)

Capito?

Quanto all'unità logica nel link che hai postato, SI, è a 2 bit. Devi ricordarti che una singola ALU fa almeno 10 tipi di operazioni diverse, le 4 principali matematiche + tutte quelle logiche. E' normale che sia composta da un sacco di porte logiche di tutti i tipi!

2-bit_ALU.svg.htm_20121219185038.png
 

Allegati

  • !CEgfGDgBWk~$(KGrHqEOKiEE0j6vHY!UBNSG(6GPCw~~_35.JPG
    !CEgfGDgBWk~$(KGrHqEOKiEE0j6vHY!UBNSG(6GPCw~~_35.JPG
    11.8 KB · Visualizzazioni: 254
Ultima modifica:
U

Utente cancellato 79971

Ospite
certo mi hai chiarito un po le idee :)
si quella del nibble e dei word e multipli ora che l'ho riletto è tornata alla luce dai meandri della mia materia grigia :D come nella calcolatrice di winzoz che se metti su programmazione ti chiede se byte/word/qword/dword (8/16/32/64 bit)
forse per la scelta dei 1B=8bit è stata fatto perche pur essendo il 4004 il primo microprocessore della storia loro intendono che con 8008 hanno gettato le basi più durature per poi evolverlo nel famoso 8086, o magari sono mie fantasie...
...forse non capivo bene perchè io intendevo che i pin che collegano la cpu al socket fossero sempre quelli anche all'interno come percorsi possibili dei vari bus ram dati ecc, e invece dentro si diramano e si sviluppano il quel che poi si traduce nel moltiplicarsi dei transistor esistenti e cosi via, esempio banale appunto quella ALU a 2 bit che poi al suo interno si dirama in tanti altri piccoli collegamenti possibili tra parti logiche ed aritmetiche, ecc...
http://flylogic.net/knohl/i4004/i4004.jpg questo è il 4004 (jpeg 8mb) e ho trovato anche un 4004 (jpeg 45mb) di file scaricabile :D

ho detto caxxate al 50%? :D
 

Reverser

Utente Attivo
333
251
No, tutto giusto. Cmq anche lo sparare cazzate è un metodo didattico: a furia di spararle si azzecca anche le cose giuste!
biggrin.gif.pagespeed.ce.U7oG6bbks3.gif
 
  • Mi piace
Reazioni: Onafets26

Reverser

Utente Attivo
333
251
Si, oramai la CPU in senso stretto può essere un discorso concluso. Un NaBBo più di questo non ha bisogno.
 
U

Utente cancellato 79971

Ospite
Si, oramai la CPU in senso stretto può essere un discorso concluso. Un NaBBo più di questo non ha bisogno.

ok ok, ultima domanda prima del prossimo step :D
...ma come si fanno a controllare tutti questi "rubinetti" interni se i pin del socket che ricevano il sagnale elettrico sono 40 (nel caso del 8086) ma all'interno ci sono n^ porte per operazioni matematiche e logiche, o decidere se tenere in memoria o meno un bit/byte,ecc... delle varie componenti interne della cpu?
cos'è fisicamente un transistor e a cosa serve il pin "ground" della messa a terra nella cpu e come agisce il clk? :shock: sono profondamente incolto... esempio qui http://www.tomshw.it/forum/attachme...710149-la-cpu-spiegata-ad-un-nabbo-pinz80.png
presumo che per transistor si intendano tutti gli interrutori presenti? e i vari collegamenti tra uno e l'altro si chiamano sempre bus?
 
Ultima modifica da un moderatore:

Reverser

Utente Attivo
333
251
ok ok, ultima domanda prima del prossimo step :D
...ma come si fanno a controllare tutti questi "rubinetti" interni se i pin del socket che ricevano il sagnale elettrico sono 40 (nel caso del 8086) ma all'interno ci sono n^ porte per operazioni matematiche e logiche, o decidere se tenere in memoria o meno un bit/byte,ecc... delle varie componenti interne della cpu?
cos'è fisicamente un transistor e a cosa serve il pin "ground" della messa a terra nella cpu e come agisce il clk? :shock: sono profondamente incolto... esempio qui http://www.tomshw.it/forum/attachme...710149-la-cpu-spiegata-ad-un-nabbo-pinz80.png
presumo che per transistor si intendano tutti gli interrutori presenti? e i vari collegamenti tra uno e l'altro si chiamano sempre bus?
ù


Un transistor può essere paragonato ad un interruttore elettronico.

Questo è un transistor:

trans_npn_generico.png

In questo circuito, se dai corrente alla base, chiudi in contatto tra emettitore e collettore e la lampada si accende (quello a destra è un tester).

I transistor Il transistor come amplificatore di segnale Il transistor nel controllo di potenza .gif

In pratica, dare corrente alla base equivale a spingere con il dito un pulsante che chiude il circuito tra emettitore e collettore.

Poi una porta, al suo interno, è costituita da decine, centinaia di transistor. Ma questo è roba da Ingenieri, non da NaBBi.

image008.gif

Fisicamente poi, un transistor, è un insieme di piastrine di semi-conduttore messi in serie, chiamate giunzioni. Di solito sottilissime lastre di silicio al cui interno sono inseriti dei materiali detti di "Drogaggio" che fanno diventare il materiale, normalmente isolante, un semi-conduttore.

Transistor_BJT.PNG transistor-schema.jpg

Il piedino (o i piedini) di GND sono sempicemente il meno di alimentazione: +5V è il posivo (polo + di una batteria) il GND e il negativo (polo - di una batteria) Tutto qua!

Il clock invece è un passare da 1 a 0 (da 5V a zero) in continuazione, e dà un segnale che attiva o meno alcuni transistor dentro la CPU. Di solito è collegato ad una porta logica, per esempio AND, che passa il dato solo quando uno dei suoi pioedini di ingresso collegato al CLOCK passa a 1, quinse se il clock è a 0, si deve aspettare che passi a 1 per avere il risultato in uscita.
Tante porte collegate così, sincronizzano i loro risultati con il CLOCK.

Capito?
 
Stato
Discussione chiusa ad ulteriori risposte.

Entra

oppure Accedi utilizzando
Discord Ufficiale Entra ora!

Discussioni Simili