Arquitectura x86, una historia imprescindible de la informática

  1. #4   La inexplicable historia del triunfo del CISC.
    votos: 8    karma: 84
    1. #23   #7 MMX sólo funcionaba con números enteros, 3DNow! permitió usar "float", que era lo que pedía entonces el mercado, aunque incluso AMD desaconseja ahora su uso (por obsoletas y poco eficientes). Entonces apareció SSE (MMX2), SSE2 y SSE3 de Intel, SSE4 de AMD... y ahora acaba de salir AVX y pronto lo hará AVX2.
      Así que para nada están dejando de apostar por ellos, lo que pasa es que no se les da tanta publicidad.
      votos: 2    karma: 25
  1. #10   #4 el procesador de IBM, Cell, que lleva por ejemplo la Ps3 es RISC. Y ARM triunfa aunque lejos del escritorio.
    votos: 3    karma: 40
  2. #18   #4 Es que realmente hoy día, y desde al menos el Pentium Pro, se trata de un procesador internamente RISC, con una capa externa de traducción de CISC a RISC. De hecho, el Pentium Pro ha sido uno de los mejores procesadores de Intel. Toda la arquitectura Core está basada es él. Todas las instrucciones x86 se traducen a microinstrucciones internas, más pequeñas y sencillas. Es como un híbrido CISC/RISC. Está claro que toda esa capa de traducción podría estar dedicada a otra cosa si fuera directamente RISC, pero es así como han podido aumentar tanto el rendimiento.
    Además, de todo el juego de instrucciones x86, hay muchas que están desaconsejadas en los manuales de programación (normalmente, las más complejas). Se busca (en la medida de lo posible) un código ensamblador con una gran mayoría de instrucciones simples. Aunque la compatibilidad obliga a aceptar todo el juego de instrucciones.
    votos: 10    karma: 89
    1. #21   Veo algunas imprecisiones en el artículo.

      Para empezar y como dice #18, los procesadores x86 actuales (en realidad x86_64) no son CISC puramente, sino que traducen internamente dichas instrucciones CISC en intrucciones RISC.

      Y, en cuanto a las licencias, la empresa que diseñó el actual juego de instrucciones x86_64 no fue Intel, sino AMD (el primer procesador con ella fue el Athlon64).

      Por lo demás, está interesante recordar la historia.
      votos: 6    karma: 65
    2. #28   #18 Exactamente, iba a comentar eso mismo, hablar de las ventajas de CISC es una quimera, porque por debajo todo es RISC. Las instrucciones complejas son muy tentadoras, pero no merecen la pena; claro ahora el coste de la traducción es bajo comparado con el cauce completo y no se nota, pero es rendimiento que se pierde. Y la forma de trabajar con la memoria en x86 tan absurda... En fin, es lo que hace el marketing.
      votos: 4    karma: 43
    3. #67   Veo mucho aficionado a la arquitectura de ordenadores :-) #13 #14 #18 #22 #25 #27 #35 #37 #59

      Tal vez os interese ver fotos de alta resolución de las entrañas de algunos micros en visual6502.org. La he descubierto hoy mismo y ya le estoy dando vueltas a la idea de hacerme algún póster ;)

      Os dejo enlaces a varios ejemplos. ¡¡OJO!! Algunos llevan a archivos muy grandes.

      MOS Technology’s 6502 CPU (1975) Apple I, II, Commodore PET, C64, Atari 2600 (6507), Atari 400, 800, Nintendo NES
      visual6502.org/images/6502/6502_pad_annot_07.png
      visual6502.org/images/6502/6502_top_op10x_BF_4677.png (60 MB)
      visual6502.org/JSSim/index.html (Esto es un simulador online de la arquitectura física del micro!!!!)

      Motorola 68000
      visual6502.org/images/68000/Motorola_68000_die_20x_1c_noMetal_6500w.jp (20 MB)
      visual6502.org/images/68000/Motorola_68000_die_20x_1c_noMetal_10000w.p (238 MB)
      visual6502.org/JSSim/expert-6800.html (Simulador)

      Intel 8086
      visual6502.org/images/8086/8086_5x_top_cwP025614_4301w.jpg (10 MB)

      Intel 80286
      visual6502.org/images/80286/Intel_80286_die_shot_20x_1a_1600w.jpg (50 MB)
      votos: 3    karma: 29
  3. #35   #4 El triunfo de la arquitectura CISC fue más que lógico. Los procesadores se inventaron en una época en que la memoria era muy cara, las desventajas de tener instrucciones de longitud diferente y tiempos de ejecución diferente no competían con la ventaja de tener el código comprimido y usar menos memoria.

    Para cuando la memora fue suficientemente barata para que los diseños RISC fueran funcionales y disponibles en el mercado, el IBM-PC ya se había establecido como la norma, acostumbrando a los usuarios a dos cosas que hoy nos parecen obvias: compatibilidad entre diferentes fabricantes, y compatibilidad entre diferentes generaciones. Nuevamente, el costo de la ineficiencia del x86 era ampliamente compensado por el ahorro derivado de la compatibilidad.

    Hoy en día no existen procesadores CISC, sino que son superescalares, con líneas de ejecución larga que primero traducen de x86 a otra arquitectura RISC, y luego sí ejecutan. Nuevamente, el precio de la traducción es bajo comparado con el costo de perder compatibilidad.

    #28 Si lo miras con los ojos de ahora, con aplicaciones web o java ejecutándose en máquinas virtuales, con memoria barata, el usar procesadores tan complejos como los x86 puede parecer un absurdo, pero hay que tener en cuenta que los procesadores, más que diseñarse cada vez desde cero, han evolucionado, y hay herencias de las que no es fácil deshacerse.
    votos: 8    karma: 78
    comentarios cerrados

    menéame