Questo sito utilizza cookies solo per scopi di autenticazione sul sito e nient'altro. Nessuna informazione personale viene tracciata. Leggi l'informativa sui cookies.
Username: Password: oppure
Tutto e di + - Come lavora la CPU
Forum - Tutto e di + - Come lavora la CPU

Avatar
spode (Normal User)
Pro


Messaggi: 151
Iscritto: 03/09/2010

Segnala al moderatore
Postato alle 19:08
Lunedì, 04/11/2013
Studiando i caratteri, i numeri (rappresentati come IEEE 754, fixed point, interi, ecc.) e le stringhe mi è balenata la seguente domanda:
come fa una CPU a distinguere questi diversi tipi (stringhe e numeri) se sono rappresentati tutti come sequenze di 0 e 1? C'è un qualche header di riconoscimento o si fa il conto dei bit (ogni 32 bit cambia ciò si vuole rappresentare)?

PM Quote
Avatar
Qwertj (Dev Team)
Guru


Messaggi: 678
Iscritto: 30/05/2011

Segnala al moderatore
Postato alle 19:20
Lunedì, 04/11/2013
La CPU lavora sui bit, per lei (o lui?) è tutto un numero
Il "tipo" di dato è un'astrazione che indica solamente al programma come gestire le diverse variabili, ed è memorizzato nella RAM insieme al resto del programma e ai dati stessi
E' a livello software insomma

PM Quote
Avatar
spode (Normal User)
Pro


Messaggi: 151
Iscritto: 03/09/2010

Segnala al moderatore
Postato alle 19:26
Lunedì, 04/11/2013
Cioè che i char, per esempio, comunque vengono rappresentati con 32 bit?
E come fa a distinguere due 32 bit consecutivi??
E poi, non è il programma che indica quante celle di memoria allocare per diversi tipi di variabile (quindi sia in ROM che in RAM)?
Penso che non ho ancora capito. Scusa... :( Puoi spiegare più in lungo e largo per favore?

PM Quote
Avatar
()
Newbie


Messaggi:
Iscritto:

Segnala al moderatore
Postato alle 19:39
Lunedì, 04/11/2013
Il problema non sono le risposte ma le domande che fai che hanno poco senso, proprio perché non hai chiaro il funzionamento di tutto (ad esempio, per la CPU non ha alcun senso parlare di char o integer ...)

Per capire bene devi avere qualche base preliminare e cominciare, magari, dal capire cosa sia il codice ASCII, il sistema di numerazione binario, la rappresentazione dei dati per un sistema digitale, ecc...

Solo molto dopo puoi passare alla CPU, studiandone i blocchi, magari di una semplice non per forza una moderna e complicata. Chiarirti cosa sia il "bus degli indirizzi", il "bus dei dati", i "segnali di controllo" ...

Ultima modifica effettuata da il 04/11/2013 alle 19:40
PM Quote
Avatar
ZioCrocifisso (Member)
Pro


Messaggi: 135
Iscritto: 06/03/2013

Segnala al moderatore
Postato alle 19:54
Lunedì, 04/11/2013
La CPU non li riconosce, sa cosa deve fare e come deve operare in base a ciò che sta scritto nel software. Per esempio, nel caso di x86, le istruzioni che compiono operazioni aritmetiche sui numeri interi sono "add", "sub", ecc. mentre quelle per i numeri a virgola mobile hanno il prefisso "f", come in fadd (in questo caso è la FPU però a eseguire i calcoli). Riguardo alla dimensione invece, alcune istruzioni hanno delle varianti (es. movd per le doubleword, movq per quadword), e quindi anche in questo caso è specificato dal software. Invece i caratteri e le stringhe sono semplicemente interi e array di interi, la CPU non li tratta in modo speciale, è a livello software che vengono rappresentati in forma testuale.

PM Quote
Avatar
()
Newbie


Messaggi:
Iscritto:

Segnala al moderatore
Postato alle 19:57
Lunedì, 04/11/2013
E in realtà anche le istruzioni "add" "sub" della CPU sono semplicemente numeri (opcode) ... le "add" "sub" sono solamente rappresentazioni umane del "lavoro" che ogni opcode fa eseguire alla CPU

PM Quote
Avatar
spode (Normal User)
Pro


Messaggi: 151
Iscritto: 03/09/2010

Segnala al moderatore
Postato alle 16:51
Lunedì, 18/11/2013
Leggendo le risposte, e in particolare una di queste, mi sembra giusto che io torni a questa domanda quando avrò studiato qualcosa in più!
Grazie ancora! =)

PM Quote
Avatar
()
Newbie


Messaggi:
Iscritto:

Segnala al moderatore
Postato alle 17:29
Lunedì, 18/11/2013
Se hai questa impressione, è sicuramente giusta ...

PM Quote
Avatar
Qwertj (Dev Team)
Guru


Messaggi: 678
Iscritto: 30/05/2011

Segnala al moderatore
Postato alle 17:50
Martedì, 19/11/2013
Testo quotato

Postato originariamente da spode:

Leggendo le risposte, e in particolare una di queste, mi sembra giusto che io torni a questa domanda quando avrò studiato qualcosa in più!
Grazie ancora! =)



Hai tutta la mia stima! Buona programmazione :)

PM Quote