PDA

Ver la versión completa : Sobre dato cpus(2)



alecuba16
30/08/2004, 13:14
aqui se ve un Athlon64 XP3200 y el mio, pues donde deveria salir L1 CODE sale en el mio L1 TRACE: 12Kuops y eso que es? alguien lo sabe?

http://personal.telefonica.terra.es/web/alecuba16/caputa.JPG

Tond@
30/08/2004, 13:19
no se lo k signifika, pero a mi tb me sale

Acto1
30/08/2004, 14:07
Pues he estado mirando en el post de Super Pi y veo que los AMD tiene "code" y los pentium 4 tienen "trace" ;)

Pero no se a que se debe.

p4n
30/08/2004, 15:15
Los AMD tienen una cache de datos, mientras los Intel tienen una cache que almacena uOps ...

no se explicarlo, pero en resumidas es que los P4 convierten los datos en un lenguaje que sus micros manejan y en el que "entienden" mejor los datos y los adaptan mejor a su arquitectura, mientras que los AMD usan una cache que almacena los datos tal y como le llegan.

OutShell
30/08/2004, 19:17
Estos de Intel hacen cosas muy raras raras raras.... :lol:

DiWiT®
30/08/2004, 22:47
las microoperaciones (uOps) son cadenas (largas) de bits, q codifican directamente las acciones q se han de llevar a cabo sobre el hardware. por ejemplo un bit a "1" significa escribir en un registro, y cosas asi, o sea q se guarda en una secuencia de bits todo lo q se ha de hacer sobre el micro en un determinado ciclo de reloj, y eso es una uOp. muchas uOps hacen una operacion (por ejemplo para sumar, hay q leer un sumando, guardarlo en algun registro del micro, luego leer el otro sumando, sumarlos, y por fin guardarlos en el lugar correspondiente, pues en este caso, una microoperacion seria leer el primer sumando de donde sea, otra uOp seria guardar el dato en un registro, otra uOp seria leer el segundo sumando, otra guardarlo en otro lado... y asi)

luego, si los pentium guardan uOps, estos han de guardar mucha mas informacion, ya q como veis, para algo tan sencillo como una suma, hay q guardar un monton de uOps... mientras q en ensamblador por ejemplo, es una sola operacion (q hace lo mismo, y tb usa uOps, pero se codifica como una sola)

espero q haya kedado mas o menos claro... saludos

alecuba16
31/08/2004, 11:31
la explicacion ha quedado clara, pero lo que no ha quedado claro, es cuantos KB es una operacion??' porque asi se podria sacar mas o menos lo equivalente en KB , ya se que no tiene nada pero nada que ver, que es otra manera de funcionar, pero bueno...es curiosidad.

PD: yo tambien habia pensado tu teoria de las microoperaciones, pero lo que me lio es porque usa microoperaciones si delante tiene miles (K), seria mejor poner mili operaciones por lo de -6+3=-3 que serian 12 mili operaciones(12mOps), por eso descarte lo de operaciones porque seria una estupidez no simplificar como acabo de hacer arriba, por eso sospecho que la U de micro no es micro, sera otra cosa...y a parte que es contradictorio lo que dijiste que: las microoperaciones son cadenas "largas" de bits, ¿te das cüen???? :lol:

Kaco
31/08/2004, 13:38
Hombre, calculo que serán simplemente bytes, no kbytes, cada operación serán partes infinitesimales de una mas grande.

Lo que yo no acabo de entender es lo siguiente:

Si AmD tramita los datos directamente no serás mas rápido que trabajar que como Intel que primero convierte y luego ejecuta? Aunque luego las operaciones convertidas sean mas rapidas en uops que en modo directo, aunque se guarde mayor cantidad de información.

Saludos

Morpheo17
31/08/2004, 13:52
Yo creo q el rendimiento es el mimo, q mas da convertir antes de ejecutar y guardarlos convertidos en la cache, que guardarlos sin convertir y convertirlos a la ora de ejecutar (convertir en paralelo obviamente mientras se ejecuta la anterior instr.)

DiWiT®
31/08/2004, 17:53
la explicacion ha quedado clara, pero lo que no ha quedado claro, es cuantos KB es una operacion??' porque asi se podria sacar mas o menos lo equivalente en KB , ya se que no tiene nada pero nada que ver, que es otra manera de funcionar, pero bueno...es curiosidad.

PD: yo tambien habia pensado tu teoria de las microoperaciones, pero lo que me lio es porque usa microoperaciones si delante tiene miles (K), seria mejor poner mili operaciones por lo de -6+3=-3 que serian 12 mili operaciones(12mOps), por eso descarte lo de operaciones porque seria una estupidez no simplificar como acabo de hacer arriba, por eso sospecho que la U de micro no es micro, sera otra cosa...y a parte que es contradictorio lo que dijiste que: las microoperaciones son cadenas "largas" de bits, ¿te das cüen???? :lol:

pues cada CPU tendra un tamaño de microoperacion distinto, ya q por ejemplo, si un micro tiene 16 registros y 3 buses (por poner algo... hay muchas mas cosas), pues cada una de sus microoperaciones tendria 16+3 = 19 bits (y alguno mas de control) para leer/escribir en esos registros y buses (si en esa uOp escribimos en un registro colocamos el bit de la cadena correspondiente a dicho registro a 1, y sino 0), mientras q si un micro menos potente tiene solo 8 registros, con los mismos 3 buses, pues serian 11 bits por microoperacion... depende de cada micro.

por otro lado, cuando digo cadenas "largas" de bits, es pq kizas una microoperacion tiene 64 bits, pero BITS. con mucho 1s y 0s, pero eso no es un BYTE ni nada... necesitariamos 8192 bits para tener un KBytem, y una uOp de 8192 bits NO existe... es impensable. por eso digo largas, pq son mucho 1 y 0s, pero q nunca llegan a 1 KB, no creo q pasen de 100 i pico bits cada una.

y lo de las uOps, si son MICROoperaciones, pero no tiene nada q ver con lo de 10^-6, sino q supongo q se las llamara asi pq son mas pekeñas q una operacion completa, o simplemente pq actuan directamente sobre el MICROprocesador...

saludos