View Full Version : Quanti bit ................
dylan7679
05-10-2002, 01:43
Quanti bit vengono elaborati da un processore moderno in un singolo clock????:)
In base all'architettura!
Ciao
Federico
Originariamente inviato da flisi71
[B]In base all'architettura!
ecco dove viene spiegata un po' di architettura dei processsori:
http://www.lithium.it/articolo.asp?code=26
http://www.lithium.it/articolo.asp?code=25
http://www.lithium.it/articoli.asp?p=1&arg=processori
dylan7679
05-10-2002, 14:22
io pensavo fosse piu' semplice che leggere sti' papiri :D
credevo fosse una questione di truttura a 16 o a 32 bit per cui per quanto concerne le ultime cpu ritenevo che per ciclo di clock si elaborassero 32 bit.....
e allora il discorso dei processori a 32 e i futuri 64 che diavolo significa???:D
Scusate l'ignoranza;)
+Benito+
05-10-2002, 18:19
Originariamente inviato da dylan7679
[B]io pensavo fosse piu' semplice che leggere sti' papiri :D
credevo fosse una questione di truttura a 16 o a 32 bit per cui per quanto concerne le ultime cpu ritenevo che per ciclo di clock si elaborassero 32 bit.....
e allora il discorso dei processori a 32 e i futuri 64 che diavolo significa???:D
Scusate l'ignoranza;)
significa che possono lavorare a 64 bit in hardware direttamente. Per quanto ne so io, adesso le istruzioni e i dati possono avere una lunghezza massima di 32 bit(spero di non aver detto cappelle).
Per esempio, possono indirizzare anche 2^64 bit, che non so quanto sono, ma di certo alcuni TB, cioe' 10^3 GB.
Il limite dei processori a 16 bit era soprattutto l'indirizzamento massimo limitato a 2^16 = se non sbaglio (a mente ) 32MB.
Poi i processori moderni sono strutturati a pipeline, cioe' le istruzioni che lo permettono sono eseguite in modo sequenziale in piu' "tunnel", in ognuno dei quali l'elaborazione avanza di uno step ad ogni ciclo di clock. In ogni modo, dato che il "problema" e' assai complesso, leggi pure dei papiri che non fai male.
per la cronaca, io non e' che ci capisca poi tanto di quei papiri;)
dylan7679
05-10-2002, 18:33
Originariamente inviato da +Benito+
[B]
significa che possono lavorare a 64 bit in hardware direttamente. Per quanto ne so io, adesso le istruzioni e i dati possono avere una lunghezza massima di 32 bit(spero di non aver detto cappelle).
Per esempio, possono indirizzare anche 2^64 bit, che non so quanto sono, ma di certo alcuni TB, cioe' 10^3 GB.
Il limite dei processori a 16 bit era soprattutto l'indirizzamento massimo limitato a 2^16 = se non sbaglio (a mente ) 32MB.
Poi i processori moderni sono strutturati a pipeline, cioe' le istruzioni che lo permettono sono eseguite in modo sequenziale in piu' "tunnel", in ognuno dei quali l'elaborazione avanza di uno step ad ogni ciclo di clock. In ogni modo, dato che il "problema" e' assai complesso, leggi pure dei papiri che non fai male.
per la cronaca, io non e' che ci capisca poi tanto di quei papiri;)
Pensa che iop nn c'ho capito un cavolo nemmeno di questo figuriamoci se mi metto a leggere i papiri :D
Ma in maniera moloto scolastica nessuno me lo puo' spiegare??? :)
+Benito+
06-10-2002, 08:49
Originariamente inviato da dylan7679
[B]
Pensa che iop nn c'ho capito un cavolo nemmeno di questo figuriamoci se mi metto a leggere i papiri :D
Ma in maniera moloto scolastica nessuno me lo puo' spiegare??? :)
penso che non esiste una maniera scolastica per spiegare cio':(
La differenza tra CPU a 32bit e CPU a 64bit è che le seconde riescono ad elaborare in un unico ciclo istruzioni e numeri che arrivano ad avere lunghezza 64bit.
Le secondo possono quindi anche effettuare operazioni matematiche con numeri a 64bit, ottenendo un risultato a 64bit con un solo ciclo. Con 64bit è possibile inoltre integrare istruzioni più complesse, o addirittura più istruzioni uin un unica WORD (cioè in un unica stringa da 64bit).
Ogni stringa da 64bit viene elaborata in blocco, ma con i moderni processori è possibile elaborare più stringhe contemporaneamente. Per questo motivo la questione si fa molto influenzare dall'architettura.
Il set Ia-64 spiegato in parole povere:rolleyes:
http://www.lithium.it/articolo.asp?code=21
dylan7679
06-10-2002, 14:11
Originariamente inviato da pnx
[B]La differenza tra CPU a 32bit e CPU a 64bit è che le seconde riescono ad elaborare in un unico ciclo istruzioni e numeri che arrivano ad avere lunghezza 64bit.
Le secondo possono quindi anche effettuare operazioni matematiche con numeri a 64bit, ottenendo un risultato a 64bit con un solo ciclo. Con 64bit è possibile inoltre integrare istruzioni più complesse, o addirittura più istruzioni uin un unica WORD (cioè in un unica stringa da 64bit).
Ogni stringa da 64bit viene elaborata in blocco, ma con i moderni processori è possibile elaborare più stringhe contemporaneamente. Per questo motivo la questione si fa molto influenzare dall'architettura.
Perche' dici "riescono ad elaborare in un unico ciclo istruzioni e numeri che arrivano ad avere lunghezza 64bit" ....???
Per lunghezza cosa intendi????Se un processore puo' elaborare 64 bit a ciclo perche' si sottolinea che con la nuova architettuta puo' arrivarci come se si sottoindesse che cmq non e' un dato fisso per singolo clock???Voglio dire se una macchina produce 30 bicchieri per volta fino a che non verra' settata in maniera diversa sempre 30 bicchieri per volta produrra' no???Non so se questo esempio stupido renda l'idea......
quando poi mi parli di stringhe mi dici che coi moderni processori se ne possono elaborare piu' alla volta(per caso grazie alle pipeline????) ma se cosi' fosse non si superebbe il limite dei 64 bit (o 32 che dir si voglia) ???Voglio dire se un processore elabora 2 stringhe in contemporanea da 64 bit non arriva a 128???
:confused: :confused:
Originariamente inviato da dylan7679
[B]
Perche' dici "riescono ad elaborare in un unico ciclo istruzioni e numeri che arrivano ad avere lunghezza 64bit" ....???
Per lunghezza cosa intendi????Se un processore puo' elaborare 64 bit a ciclo perche' si sottolinea che con la nuova architettuta puo' arrivarci come se si sottoindesse che cmq non e' un dato fisso per singolo clock???Voglio dire se una macchina produce 30 bicchieri per volta fino a che non verra' settata in maniera diversa sempre 30 bicchieri per volta produrra' no???Non so se questo esempio stupido renda l'idea......
quando poi mi parli di stringhe mi dici che coi moderni processori se ne possono elaborare piu' alla volta(per caso grazie alle pipeline????) ma se cosi' fosse non si superebbe il limite dei 64 bit (o 32 che dir si voglia) ???Voglio dire se un processore elabora 2 stringhe in contemporanea da 64 bit non arriva a 128???
:confused: :confused:
Dire che funziona a 64bit è ben diverso dal dire 'produce 64 bicchieri', perchè i bit non vengono trattati uno alla volta.
Per prima cosa dovresti aver ben presente cosa si intende per sistema binario.
Per semplificarne la comprensione immaginiamo ipoteticamente che il processore possa elaborare numeri in base 10, cioè i numeri come non li conosciamo usualmente.
Ogni cifra non si chiamerebbe bit, quindi chiamiamola CIFRA.
Possiamo allora immaginare che ci sarebbero processori funzionanti a 5 cifre, e processori funzionanti a 10 cifre.
I primi elaborerebbero numeri da 0 a 99999, i secondi da 0 a 9999999999. Ovviamente i secondi sarebbero più potenti.
Nel linguaggio dei microprocessori i numeri rappresentano anche delle istruzioni.
-----
Ma torniamo al binario e al bit, però immaginiamo un processore che elabora 2 bit e uno che ne elabora 4.
Il primo deve eseguire la somma di due numeri: 1+2.
Al microcontrollore arriva l'istruzione somma: immaginiamo sia 10.
Poi arrivano successivamente le due cifre: 01, e 10 (in decimale 1 e 2). Quindi:
10 (istruzione somma)
01 (numero 1)
10 (numero 2)
il risultato verrà memorizzato in una variabile di 2bit e sarà 11.
Tutto OK finchè devi sommare 1+2. Ma immagina adesso sommare 4+5. Due bit non bastano, occorre sommare prima una parte poi l'altra.
4 in binario è 0100
5 in binario è 0101
Per fare la somma il processore a 2bit deve fare così:
10 (istruzione somma)
00 (primi 2bit del numero 4)
01 (primi 2bit del numero 5)
11 (istruzione sposta il risultato in..)
00 (numero variabile in cui sposta il risultato)
10 (istruzione somma)
01 (secondi 2bit del numero 4)
01 (secondi 2bit del numero 5)
10 (istruzione somma)
00 (variabile del risultato precedente)
10 (risultato di adesso)
Questo in maniera molto approssimativa e SEMPLIFICATA; inoltre escludiamo che le variabili vadano in overflow (se per esempio sommassi 3+3).
Conta un po' i cicli.
Col processore a 4bit quello che succede è invece questo:
0010 (istruzione somma)
0100 (numero 4)
0101 (numero 5)
il risultato va in una variabile.
Adesso immaginati però proccessori a 16, 32, 64bit.
Questo è un esempio con una somma, ma pensa che con un unica parola, come detto prima puoi integrare più istruzioni o numeri più lunghi.
Per quanto riguarda i numeri, il processore a 32bit elabora una somma in un ciclo di numeri fino a 32bit, in decimale 2 elevato alla 32; con i 64bit hai numeri di 2 elevato alla 64...
dylan7679
06-10-2002, 18:43
Originariamente inviato da pnx
[B]
Dire che funziona a 64bit è ben diverso dal dire 'produce 64 bicchieri', perchè i bit non vengono trattati uno alla volta.
Per prima cosa dovresti aver ben presente cosa si intende per sistema binario.
Per semplificarne la comprensione immaginiamo ipoteticamente che il processore possa elaborare numeri in base 10, cioè i numeri come non li conosciamo usualmente.
Ogni cifra non si chiamerebbe bit, quindi chiamiamola CIFRA.
Possiamo allora immaginare che ci sarebbero processori funzionanti a 5 cifre, e processori funzionanti a 10 cifre.
I primi elaborerebbero numeri da 0 a 99999, i secondi da 0 a 9999999999. Ovviamente i secondi sarebbero più potenti.
Nel linguaggio dei microprocessori i numeri rappresentano anche delle istruzioni.
-----
Ma torniamo al binario e al bit, però immaginiamo un processore che elabora 2 bit e uno che ne elabora 4.
Il primo deve eseguire la somma di due numeri: 1+2.
Al microcontrollore arriva l'istruzione somma: immaginiamo sia 10.
Poi arrivano successivamente le due cifre: 01, e 10 (in decimale 1 e 2). Quindi:
10 (istruzione somma)
01 (numero 1)
10 (numero 2)
il risultato verrà memorizzato in una variabile di 2bit e sarà 11.
Tutto OK finchè devi sommare 1+2. Ma immagina adesso sommare 4+5. Due bit non bastano, occorre sommare prima una parte poi l'altra.
4 in binario è 0100
5 in binario è 0101
Per fare la somma il processore a 2bit deve fare così:
10 (istruzione somma)
00 (primi 2bit del numero 4)
01 (primi 2bit del numero 5)
11 (istruzione sposta il risultato in..)
00 (numero variabile in cui sposta il risultato)
10 (istruzione somma)
01 (secondi 2bit del numero 4)
01 (secondi 2bit del numero 5)
10 (istruzione somma)
00 (variabile del risultato precedente)
10 (risultato di adesso)
Questo in maniera molto approssimativa e SEMPLIFICATA; inoltre escludiamo che le variabili vadano in overflow (se per esempio sommassi 3+3).
Conta un po' i cicli.
Col processore a 4bit quello che succede è invece questo:
0010 (istruzione somma)
0100 (numero 4)
0101 (numero 5)
il risultato va in una variabile.
Adesso immaginati però proccessori a 16, 32, 64bit.
Questo è un esempio con una somma, ma pensa che con un unica parola, come detto prima puoi integrare più istruzioni o numeri più lunghi.
Per quanto riguarda i numeri, il processore a 32bit elabora una somma in un ciclo di numeri fino a 32bit, in decimale 2 elevato alla 32; con i 64bit hai numeri di 2 elevato alla 64...
MMM piu' o meno credo di aver appreso......piu' meno che piu'...
ma mi spieghi una cosa ...perche' tu sei Advanced Member???? :D
Che domanda! Perchè so tante cose che gli altri non sanno, no?:cool:
dylan7679
07-10-2002, 01:14
Originariamente inviato da pnx
[B]Che domanda! Perchè so tante cose che gli altri non sanno, no?:cool: :eek: :eek:
Originariamente inviato da +Benito+
[B]
......
Per esempio, possono indirizzare anche 2^64 bit, che non so quanto sono, ma di certo alcuni TB, cioe' 10^3 GB.
Il limite dei processori a 16 bit era soprattutto l'indirizzamento massimo limitato a 2^16 = se non sbaglio (a mente ) 32MB.
......
Solo per precisare che 2^64 bit fa 16Mega di Terabit, mentre 2^16 sono 64Kbit.
Come regola mnemonica basta osservare la cifra delle unità che indica l'esponente da dare al 2, mentre le decine vanno linearmente con la regola: 1=K 2=M 3=G 4=T ecc...
Ciao
Federico
+Benito+
07-10-2002, 07:31
Originariamente inviato da flisi71
[B]
Solo per precisare che 2^64 bit fa 16Mega di Terabit, mentre 2^16 sono 64Kbit.
Come regola mnemonica basta osservare la cifra delle unità che indica l'esponente da dare al 2, mentre le decine vanno linearmente con la regola: 1=K 2=M 3=G 4=T ecc...
Ciao
Federico
Mega di Tb = milioni di Tb = centinaia di migliaia di TB, mi sembra strano...
Se preferisci 16 Giga di Gigabit.
:)
Ciao
Federico
2^64 = 18446744073709551616
Originariamente inviato da pnx
[B]2^64 = 18446744073709551616
2^64 = 18446744073709551616=16EB,imho 16 exabyte.:),
la memoria necessaria per avviare Windows3000:D:D
+Benito+
07-10-2002, 15:58
Originariamente inviato da flisi71
[B]Se preferisci 16 Giga di Gigabit.
:)
Ciao
Federico
azzo, hai ragione, a mente mi sembrava un po' troppo grande
Originariamente inviato da dylan7679
[B]
MMM piu' o meno credo di aver appreso......piu' meno che piu'...
ma mi spieghi una cosa ...perche' tu sei Advanced Member???? :D
Non farti prendere in giro: ha semplicenmente scritto "advanced" in testa all'immagine del suo avatar :p
Originariamente inviato da kaioh
[B]
2^64 = 18446744073709551616=16EB,imho 16 exabyte.:),
la memoria necessaria per avviare Windows3000:D:D
Io direi Windows 2020.
Comunque pensa che
.un Kilobyte sono 1024 byte
.un Megabyte sono 1024 Kbyte
.un Gigabyte sono 1024 Mbyte
.un Terabyte sono 1024 Gbyte
.e via dicendo
vBulletin® v3.6.4, Copyright ©2000-2025, Jelsoft Enterprises Ltd.