Flag CPU

Area di discussione libera.

Moderatore: Staff

Regole del forum
1) Rispettare le idee altrui.
2) Evitare le offese dirette.
3) Leggere attentamente le risposte ricevute
4) Scrivere i messaggi con il colore di default, evitare altri colori.
5) Scrivere in Italiano o in Inglese, se possibile grammaticalmente corretto, evitate stili di scrittura poco chiari, quindi nessuna abbreviazione tipo telegramma o scrittura stile SMS o CHAT.
6) Appena registrati è consigliato presentarsi nel forum dedicato.

La non osservanza delle regole porta a provvedimenti di vari tipo da parte dello staff, in particolare la non osservanza della regola 5 porta alla cancellazione del post e alla segnalazione dell'utente. In caso di recidività l'utente rischia il ban temporaneo.
Rispondi
Avatar utente
alex.franci
Linux 2.x
Linux 2.x
Messaggi: 380
Iscritto il: mer 26 lug 2006, 10:26
Località: Bologna
Contatta:

Flag CPU

Messaggio da alex.franci »

Ciao a tutti!
Seguendo il consiglio di phobos3576 sto leggendo http://xoomer.alice.it/ramsoft. Per adesso sto solo leggendo senza programmare ancora niente.
Comunque sono arrivato al punto del Carry Flag e del Sign Flag.
Così per curiosità ho dato:

Codice: Seleziona tutto

$ cat /proc/cpuinfo

Codice: Seleziona tutto

processor       : 0
vendor_id       : AuthenticAMD
cpu family      : 15
model           : 4
model name      : AMD Athlon(tm) 64 Processor 3400+
stepping        : 10
cpu MHz         : 2201.734
cache size      : 1024 KB
fdiv_bug        : no
hlt_bug         : no
f00f_bug        : no
coma_bug        : no
fpu             : yes
fpu_exception   : yes
cpuid level     : 1
wp              : yes
flags           : fpu vme de pse tsc msr pae mce cx8 apic sep mtrr pge mca cmov pat pse36 clflush mmx fxsr sse sse2 syscall nx mmxext lm 3dnowext 3dnow
bogomips        : 4407.64
Nei flag non trovo ne il CF ne il SF. Come mai? Avete qualche idea?
Grazie

Avatar utente
phobos3576
Staff
Staff
Messaggi: 2980
Iscritto il: dom 17 apr 2005, 0:00
Slackware: 13.1
Kernel: 2.6.37-smp
Desktop: KDE 4.5.3

Messaggio da phobos3576 »

I flags che ottieni con cat /proc/cpuinfo si riferiscono alle funzionalità presenti nella tua CPU (MMX, 3DNOW, etc); il registro dei flags, invece, è un registro standard interno presente in tutte le CPU. Tale registro è suddiviso in tanti bit, ciascuno dei quali ha un significato ben preciso!

Avatar utente
useless
Staff
Staff
Messaggi: 3896
Iscritto il: dom 12 ott 2003, 0:00
Località: A place where the streets have no name
Contatta:

Messaggio da useless »

forse non hai ben capito cosa sono il carry, sign, zero flag & co, e quelli indicati in cpuinfo.

i primi indicano se si sono verificate determinate condizioni durante l'esecuzione di un'istruzione. ora, capirai che di quelle istruzioni ne vengono eseguite MILIONI al secondo, vedere fisicamente le impostazioni dei flag mi pare un po' utopistico. si usano praticamente solo nella programmazione assembler, per effettuare o meno dei salti nel caso si siano verificate le condizioni che interessano (ad esempio: c'è stato overflow).

roba tipo:

Codice: Seleziona tutto

add ax, bx
jc daqualcheparte
i flag che vedi in cpuinfo, invece, indicano + che altro le capacità del processore, tipo se supporta le istruzioni mmx, 3dnow, ecc. mi pare si spieghi da sé.

sono 2 cose totalmente diverse, insomma :).

Avatar utente
chrix
Linux 2.x
Linux 2.x
Messaggi: 375
Iscritto il: gio 30 set 2004, 0:00
Località: Trieste
Contatta:

Re: Flag CPU

Messaggio da chrix »

alex.franci ha scritto:Nei flag non trovo ne il CF ne il SF. Come mai? Avete qualche idea?
Grazie
sai se un giorno deciderai di iscriverti ad un corso d' informatica o meglio ingegneria informatica ( a meno che tu non sia già ), farai un corso di calcolatori elettronici oppure architettura degli elaboratori. allora capirai meglio la differenza!

Avatar utente
alex.franci
Linux 2.x
Linux 2.x
Messaggi: 380
Iscritto il: mer 26 lug 2006, 10:26
Località: Bologna
Contatta:

Messaggio da alex.franci »

useless ha scritto:sono 2 cose totalmente diverse, insomma :).
aaaaaaaaaaah... :oops: sorry ma avevo letto flags nelle CPU e credevo fossero i flag di controllo... :) vabbè...
grazie mille

Rispondi