<rss version="2.0"
     xmlns:atom="http://www.w3.org/2005/Atom"
     xmlns:dc="http://purl.org/dc/elements/1.1/">
        <channel>
        <title>Magazine - todo-sobre-las-arquitecturas-de-pc</title>
        <link>https://www.xataka.com</link>
        <description>Publicación de noticias sobre gadgets y tecnología. Últimas tecnologías en electrónica de consumo y novedades tecnológicas en móviles, tablets, informática, etc</description>
        <pubDate>Sat, 13 Jun 2026 13:45:12 +0000</pubDate>
        <generator>https://www.xataka.com</generator>
        <atom:link href="https://www.xataka.com/tag/todo-sobre-las-arquitecturas-de-pc/rss2.xml" rel="self" type="application/rss+xml" />
                                        <item>
                <title><![CDATA[Las GPU como pasado, presente y futuro de la computación]]></title>
                <link>https://www.xataka.com/componentes/las-gpu-como-pasado-presente-y-futuro-de-la-computacion</link>
                <guid>https://www.xataka.com/componentes/las-gpu-como-pasado-presente-y-futuro-de-la-computacion</guid>
                <pubDate>Tue, 14 Jan 2014 11:46:27 +0000</pubDate>
                                         <dc:creator>Pablo Espeso</dc:creator>
                                       <description>
                    <![CDATA[
                              <p>
      <img src="https://i.blogs.es/091a52/aubrey_isle_knights_ferry-die/1024_2000.jpg" alt="Las&#x20;GPU&#x20;como&#x20;pasado,&#x20;presente&#x20;y&#x20;futuro&#x20;de&#x20;la&#x20;computaci&#x00F3;n">
    </p>
    <p>Todos usamos nuestro ordenador, pero muchas veces no somos conscientes de la tecnología que hay en ellos. Máquinas increíbles que nos permiten disfrutar del ocio con videojuegos de gráficos muy cercanos a la realidad, mecanismos de físicas que emulan rascacielos destruidos o golpes entre dos vehículos que luchan en carreras frenéticas. Para estas tareas el trabajo del <strong>procesador gráfico o GPU</strong> es fundamental.</p>
<!-- BREAK 1 -->
<p>Hoy nos adentraremos en el mundo de las tarjetas gráficas, de la arquitecturas de las GPU y de sus diferencias con otro procesador, el central o CPU, mucho más conocido. Porque <strong>las tarjetas gráficas son esenciales en la informática actual</strong> y son parte básica de lo que para muchos es importante de cara al futuro: <strong>GPGPU</strong>, o el procesamiento de datos mediante GPU. Hoy nos adentramos de lleno en este tema con nuestro <strong>especial sobre procesadores gráficos</strong>.</p>
<!-- BREAK 2 --><!--more--><h2>La era pre-GPU</h2>

<p>Las cosas han cambiado mucho desde que los ordenadores domésticos empezaron a implantarse en nuestros hogares, allá por la década de los 80. El hardware se sustenta sobre las mismas bases de <a class="text-outboundlink" href="https://www.xataka.com/componentes-de-pc/asi-comenzo-todo-el-origen-de-los-procesadores" data-vars-post-title="Así comenzó todo: el origen de los procesadores" data-vars-post-url="https://www.xataka.com/componentes-de-pc/asi-comenzo-todo-el-origen-de-los-procesadores">la arquitectura von Neumann</a>, si bien ésta ha evolucionado de forma muy notable y los sistemas actuales son ahora mucho más complejos.</p>
<!-- BREAK 3 -->
<p><div class="caption-img"></p>
<div class="article-asset-image article-asset-normal article-asset-center">
 <div class="asset-content">
                   <img class="centro_sinmarco" height=618 width=650 loading="lazy" decoding="async" sizes="100vw" fetchpriority="high" srcset="https://i.blogs.es/c8a00b/arquitectura-von-neumann/450_1000.jpg 450w, https://i.blogs.es/c8a00b/arquitectura-von-neumann/650_1200.jpg 681w,https://i.blogs.es/c8a00b/arquitectura-von-neumann/1024_2000.jpg 1024w, https://i.blogs.es/c8a00b/arquitectura-von-neumann/1366_2000.jpg 1366w" src="https://i.blogs.es/c8a00b/arquitectura-von-neumann/450_1000.jpg" alt="Arquitectura de Von Neumann">
   <img alt="Arquitectura de Von Neumann" class="centro_sinmarco" src="https://i.blogs.es/c8a00b/arquitectura-von-neumann/450_1000.jpg">
   
      </div>
</div>
<p><span>Arquitectura de Von Neumann (<a rel="noopener, noreferrer" href="http://en.wikipedia.org/wiki/File:Von_Neumann_architecture.svg">vía Wikipedia</a>)</span>
</div></p>

<p>El trío de componentes que planteó John von Neumann eran tres: ALU, memoria y entrada/salida, refiriéndose a mecanismos que procesan, almacenan y reciben/envían la información, respectivamente. Interpretando la arquitectura en un equipo actual equivaldría a tener sólo un procesador, un disco, un teclado y una pantalla. Evidentemente un sistema moderno está formado por muchos más elementos, y entre ellos <strong>la tarjeta gráfica se ha convertido en uno de los actuales componentes fundamentales</strong>.</p>
<!-- BREAK 4 -->
<h3>Los orígenes</h3>

<p>En los primeros ordenadores el procesador central -- CPU, <em>central processing unit</em> -- era el encargado de <strong>gestionar y procesar todo tipo de información</strong>. Desde los datos que el usuario quería operar hasta por supuesto el <strong>sistema operativo</strong>, y con él su interfaz.</p>
<!-- BREAK 5 -->
<p>Si bien aquellos primeros sistemas utilizaban interfaces basadas en texto, con la llegada de las primeras <strong>interfaces gráficas</strong> el nivel de exigencia creció no sólo en el propio sistema operativo, si no también en muchas de las aplicaciones que empezaban a surgir por la época. Programas CAD o videojuegos, por ejemplo, requerían muchos más recursos para funcionar correctamente.</p>
<!-- BREAK 6 -->
<p>Llegados a este punto, los diseñadores de sistemas se basaron en un componente que ya existía para evolucionarlo y hacerlo crecer. Los <strong>coprocesadores matemáticos</strong> o FPU -- <em>floating-point unit</em> -- eran utilizados en muchos sistemas para acelerar el procesamiento de datos. Pueden entenderse como un segundo procesador, si bien algunas de las diferencias respecto de las CPU son muy claras: no pueden tener acceso a los datos directamente (debe ser la CPU la que gestione este apartado) o ejecutan un juego de instrucciones mucho más sencillo pensado para tratar datos en coma flotante.</p>
<!-- BREAK 7 -->
<p><div class="caption-img"></p>
<div class="article-asset-image article-asset-normal article-asset-center">
 <div class="asset-content">
                   <img class="centro_sinmarco" height=365 width=650 loading="lazy" decoding="async" sizes="100vw" fetchpriority="high" srcset="https://i.blogs.es/646d76/intel-386-387/450_1000.jpg 450w, https://i.blogs.es/646d76/intel-386-387/650_1200.jpg 681w,https://i.blogs.es/646d76/intel-386-387/1024_2000.jpg 1024w, https://i.blogs.es/646d76/intel-386-387/1366_2000.jpg 1366w" src="https://i.blogs.es/646d76/intel-386-387/450_1000.jpg" alt="Intel 386-387">
   <img alt="Intel 386-387" class="centro_sinmarco" src="https://i.blogs.es/646d76/intel-386-387/450_1000.jpg">
   
      </div>
</div>
<p><span>CPU Intel 386 y coprocesador Intel 387 (<a rel="noopener, noreferrer" href="http://en.wikipedia.org/wiki/File:80386with387.JPG">vía Wikipedia</a>)</span>
</div></p>

<p>La definición de <strong>procesador de propósito general</strong> ya la habíamos utilizado anteriormente. Este tipo de procesadores son los más comunes y la CPU es el ejemplo más habitual. Utilizan registros y juegos de instrucciones genéricos que pueden hacer operaciones de lo más diverso. Un dato importante para el tema que vamos a tratar es que <strong>las CPU no operaban directamente con datos en punto flotante</strong>, si no que realizaban una conversión previa que implicaba un gasto en recursos y, por tanto, tiempo. Por ello, los coprocesadores matemáticos eran importantes ya que ellos sí podían procesar este tipo de datos.</p>
<!-- BREAK 8 -->
<p><p class="sumario_derecha" style="width:250px">Los coprocesadores matemáticos fueron el punto de partida para, años más tarde, el nacimiento de las GPU</p>
 Con la llegada de las por entonces nuevas interfaces se vio que <strong>muchas de las operaciones gráficas que procesaba la CPU se podían plantear como operaciones de punto flotante</strong>. La pantalla es, al fin y al cabo, una matriz de <code>NxM</code> píxeles en la que cada uno de ellos requiere de una alta carga matemática para generar el color concreto a mostrar en cada momento. Varias operaciones por segundo para cada píxel, y varios miles para procesar todos los píxeles de la pantalla.</p>

<p>Las exigencias continuaron creciendo, y los sistemas de la época disponían de CPU y una FPU optativa que terminó convirtiéndose en fundamental: <strong>los coprocesadores matemáticos evolucionaron hacia las GPU</strong>, al ser el componente más eficiente a la hora de procesar y determinar el aspecto gráfico de todo tipo de software.</p>
<!-- BREAK 9 -->
<h3>Las primeras tarjetas gráficas</h3>

<p>Los coprocesadores matemáticos siguieron evolucionando y mejorando, y empezaron a montarse en tarjetas individuales. Mediante este formato podían disponer de un mayor espacio para crear chips más grandes, con más transistores y circuitería y mejores conexiones energéticas, que eran capaces de ofrecer una mayor capacidad de proceso.</p>
<!-- BREAK 10 -->
<p><div class="caption-img"></p>
<div class="article-asset-image article-asset-normal article-asset-center">
 <div class="asset-content">
                   <img class="centro_sinmarco" height=488 width=650 loading="lazy" decoding="async" sizes="100vw" fetchpriority="high" srcset="https://i.blogs.es/3b6424/nvidia-geforce-256-at/450_1000.jpg 450w, https://i.blogs.es/3b6424/nvidia-geforce-256-at/650_1200.jpg 681w,https://i.blogs.es/3b6424/nvidia-geforce-256-at/1024_2000.jpg 1024w, https://i.blogs.es/3b6424/nvidia-geforce-256-at/1366_2000.jpg 1366w" src="https://i.blogs.es/3b6424/nvidia-geforce-256-at/450_1000.jpg" alt="NVidia GeForce 256">
   <img alt="NVidia GeForce 256" class="centro_sinmarco" src="https://i.blogs.es/3b6424/nvidia-geforce-256-at/450_1000.jpg">
   
      </div>
</div>
<p><span>NVidia GeForce 256 en <a rel="noopener, noreferrer" href="http://www.anandtech.com/show/391/">su análisis en AnandTech...</a> en 1.999</span>
</div></p>

<p>No fue <strong>hasta 1.999 cuando NVidia acuñó el término GPU, Graphics Processing Unit</strong>, para sustituir a las anteriores <em>tarjetas de vídeo</em>. Tras unas exitosas <em>RIVA TNT2</em> presentaron la <strong>NVidia GeForce 256</strong>, y para promocionarla pusieron gran énfasis en las posibilidades gráficas que aportaba a nuestro equipo. Los <strong>videojuegos</strong>, ganando cada vez más adeptos, fueron una de las claves para que los diseñadores de las GPU fueran incrementando su rendimiento año tras año.</p>
<!-- BREAK 11 -->
<h2>Más unidades de proceso que CPU, pero más sencillas: la arquitectura de las GPU</h2>

<p>Los coprocesadores primero y las tarjetas gráficas después plantearon <strong>una arquitectura hardware muy diferente</strong> de las utilizadas en las CPU. Nos olvidamos de la conocida <a class="text-outboundlink" href="https://www.xataka.com/componentes-de-pc/arquitectura-x86-una-historia-imprescindible-de-la-informatica" data-vars-post-title="Arquitectura x86, una historia imprescindible de la informática" data-vars-post-url="https://www.xataka.com/componentes-de-pc/arquitectura-x86-una-historia-imprescindible-de-la-informatica">x86</a> ya que los requisitos eran diferentes (operaban diferentes tipos de datos y la salida de los resultados era el monitor, no la memoria), y por ello el diseño debía ser otro.</p>
<!-- BREAK 12 -->
<p><div class="caption-img"></p>
<div class="article-asset-image article-asset-small article-asset-center">
 <div class="asset-content">
                   <img class="centro_sinmarco" height=488 width=530 loading="lazy" decoding="async" sizes="100vw" fetchpriority="high" srcset="https://i.blogs.es/fb6c07/nvidia-kepler-die/450_1000.jpg 450w, https://i.blogs.es/fb6c07/nvidia-kepler-die/650_1200.jpg 681w,https://i.blogs.es/fb6c07/nvidia-kepler-die/1024_2000.jpg 1024w, https://i.blogs.es/fb6c07/nvidia-kepler-die/1366_2000.jpg 1366w" src="https://i.blogs.es/fb6c07/nvidia-kepler-die/450_1000.jpg" alt="Arquitectura Kepler">
   <img alt="Arquitectura Kepler" class="centro_sinmarco" src="https://i.blogs.es/fb6c07/nvidia-kepler-die/450_1000.jpg">
   
      </div>
</div>
<p><span>Arquitectura Kepler de NVidia</span>
</div></p>

<p>En una GPU también tendremos <strong>unidades de proceso</strong> (tradicionalmente <em>Unified Shaders</em> o <em>Stream Processors</em>), <strong>memoria</strong> (que hace las veces de memoria RAM, como un sistema de almacenamiento temporal para apoyar al procesamiento de los datos) y <strong>entrada/salida</strong>. Las GPU también tienen sus propias librerías (las más conocidas son OpenGL y DirectX) para que los desarrolladores programen el software.</p>
<!-- BREAK 13 -->
<p><p class="sumario_derecha" style="width:250px">Una GPU contiene cientos o miles de pequeños procesadores, con lo que su potencial para procesar algoritmos paralelos es muy superior al de una CPU</p>
 Un aspecto fundamental de las actuales GPU son esos <strong>Unified Shaders</strong>, los pequeños procesadores. Estos son muy sencillos (ejecutan un conjunto de instrucciones muy concreto que realizan operaciones aritméticas básicas) pero su crecimiento en cantidad en cada nueva generación es significativo: la GeForce 256 de 1.999 tenía un total de 4, mientras en las actuales tarjetas gráficas lo habitual es encontrarnos con <strong>entre 1.000 y 4.000</strong>, aproximadamente. Por ejemplo, <a class="text-outboundlink" href="https://www.xataka.com/componentes-de-pc/nvidia-gtx-780-ti" data-vars-post-title="NVidia GTX 780 Ti" data-vars-post-url="https://www.xataka.com/componentes-de-pc/nvidia-gtx-780-ti">NVidia GTX 780 Ti</a> tiene 2.688 <em>Unified Shaders</em> y <a class="text-outboundlink" href="https://www.xataka.com/analisis/amd-7990-analisis" data-vars-post-title="AMD 7990, análisis" data-vars-post-url="https://www.xataka.com/analisis/amd-7990-analisis">AMD 7990</a> sube la apuesta a 4.096 (a razón de 2.048 para cada uno de sus dos núcleos).</p>

<p>Estos <em>Unified Shaders</em> son los que procesan la información gráfica, y a priori cuantos más tengamos será mejor para la capacidad de proceso de la GPU. Este factor es importante en videojuegos, pero fundamental para uno de los usos que más están creciendo en los últimos años: <strong>GPGPU, <em>General-purpose computing on graphics processing units</em></strong>.</p>
<!-- BREAK 14 -->
<h2>GPGPU, presente y futuro de la computación</h2>

<p>Los sistemas crecen, pero lo hacen debido a lo que tanto los desarrolladores como los usuarios finales van exigiendo. Los videojuegos y su calidad gráfica son la prueba más palpable de este incremento en las capacidades de proceso, pero el uso que le damos a las GPU también ha cambiado para adaptarse a otras posibilidades.</p>
<!-- BREAK 15 -->
<p><div class="caption-img"></p>
<div class="article-asset-image article-asset-normal article-asset-center">
 <div class="asset-content">
                   <img class="centro_sinmarco" height=483 width=620 loading="lazy" decoding="async" sizes="100vw" fetchpriority="high" srcset="https://i.blogs.es/05cafc/nvidia-gtx-690-sli/450_1000.jpg 450w, https://i.blogs.es/05cafc/nvidia-gtx-690-sli/650_1200.jpg 681w,https://i.blogs.es/05cafc/nvidia-gtx-690-sli/1024_2000.jpg 1024w, https://i.blogs.es/05cafc/nvidia-gtx-690-sli/1366_2000.jpg 1366w" src="https://i.blogs.es/05cafc/nvidia-gtx-690-sli/450_1000.jpg" alt="NVidia GTX 690 SLI">
   <img alt="NVidia GTX 690 SLI" class="centro_sinmarco" src="https://i.blogs.es/05cafc/nvidia-gtx-690-sli/450_1000.jpg">
   
      </div>
</div>
<p><span>SLI de dos NVidia GTX 690</span>
</div></p>

<p><strong>GPGPU</strong> es el término que se utiliza para designar las tareas de propósito general, típicamente pensadas para ser procesadas en una CPU, pero que <strong>se aprovechan del potencial de la GPU para ejecutarse en ella</strong>. Dado que los procesadores gráficos son mucho más eficientes en cierto tipo de operaciones, los resultados se obtendrán más rápidamente.</p>
<!-- BREAK 16 -->
<p>El problema de la GPGPU es precisamente que no todas las tareas <em>tienen que</em> ser más eficientes en una GPU. Éstas están especializadas en <strong>tareas altamente paralelizables</strong> cuyos algoritmos puedan subdividirse, procesarse por separado para luego unir los subresultados y tener el resultado final. Típicamente son problemas científicos, matemáticos o simulaciones (este tema ya lo tratamos en <a class="text-outboundlink" href="https://www.xataka.com/entrevistas/los-programadores-deberan-adquirir-nuevas-habilidades-para-aprovechar-los-recursos-de-la-gpu-entrevista-al-profesor-ujaldon" data-vars-post-title="&quot;La GPU es un avión, la CPU es un coche&quot;. Entrevista a Manuel Ujaldón" data-vars-post-url="https://www.xataka.com/entrevistas/los-programadores-deberan-adquirir-nuevas-habilidades-para-aprovechar-los-recursos-de-la-gpu-entrevista-al-profesor-ujaldon">nuestra entrevista a Manuel Ujaldón</a>), aunque un ejemplo mucho más popular es la problemática de <strong>minar Bitcoins</strong>.</p>
<!-- BREAK 17 -->
<p><p class="sumario_izquierda" style="width:250px">GPGPU consiste en ejecutar procesos típicamente orientados a la CPU, pero en la GPU</p>
 Los bitcoins se han ganado la confianza de muchos al ser dinero relativamente fácil de ganar. Para un usuario final, la tarea para conseguir un bitcoin (o una fracción suya) es tan sencilla como ejecutar un programa y esperar. Dependiendo de la capacidad de nuestro ordenador tardará más o menos, y podremos obtener beneficios dependiendo del consumo energético del equipo. Al fin y al cabo es un problema con base económica, donde los beneficios finales dependerán de los ingresos (los <em>bitcoins</em> ganados) menos los gastos (energéticos y de tiempo invertido).</p>

<p>Lo que en este caso nos interesa de los bitcoins es la ciencia que hay detrás de ellos. Se trata de un <strong>problema criptográfico</strong> que hace uso del algoritmo <strong>SHA-256</strong>. El usuario tendrá que ejecutar este algoritmo sobre múltiples cadenas alfanuméricas de forma repetida hasta que el resultado sobre una de ellas sea válido, y entonces ganará una fracción de bitcoin.</p>
<!-- BREAK 18 -->
<p>A la vista de que <strong>minar bitcoins es una tarea altamente paralelizable y basada en operaciones matemáticas básicas</strong> (el algoritmo SHA-256 es público y <a rel="noopener, noreferrer" href="http://en.wikipedia.org/wiki/SHA-256">puede consultarse en Wikipedia</a>; podemos dedicar los núcleos de la GPU para procesar varias cadenas simultáneamente), su cálculo a través de GPGPU es la mejor opción existente. Existen múltiples manuales, tutoriales y documentos sobre cómo montar un buen equipo para <em>bitmining</em>, todos ellos basados en los siguientes principios:</p>
<!-- BREAK 19 --><ul>
   <li>
   <p>Hacer uso de una muy CPU básica, si puede ser de tipo ULV -- <em>Ultra Low Voltage</em> -- mejor.</p>

  </li>
   <li>
   <p>No más de 2 o 4 GB de memoria RAM.</p>

  </li>
   <li>
   <p>Un dispositivo de almacenamiento de pequeñas dimensiones. Si puede ser SSD para ahorrar energía, mejor.</p>

  </li>
   <li>
   <p>Una configuración de varias tarjetas gráficas para usar en GPGPU. Típicamente se utiliza CrossFire X de AMD.</p>

  </li>
   <li>
   <p>Una buena fuente de alimentación, importante para dotar de energía a tres o cuatro tarjetas gráficas simultáneamente.</p>

  </li>
 </ul>
<p>¿Por qué AMD? La razón para ello es bastante sencilla: <strong>disponen de un mayor número de 'Stream Processors'</strong>, de forma que pueden procesar mayor cantidad de información simultáneamente.</p>
<!-- BREAK 20 -->
<p><div class="caption-img"></p>
<div class="article-asset-image article-asset-normal article-asset-center">
 <div class="asset-content">
                   <img class="centro_sinmarco" height=367 width=650 loading="lazy" decoding="async" sizes="100vw" fetchpriority="high" srcset="https://i.blogs.es/44629c/marenostrum-bcn/450_1000.jpg 450w, https://i.blogs.es/44629c/marenostrum-bcn/650_1200.jpg 681w,https://i.blogs.es/44629c/marenostrum-bcn/1024_2000.jpg 1024w, https://i.blogs.es/44629c/marenostrum-bcn/1366_2000.jpg 1366w" src="https://i.blogs.es/44629c/marenostrum-bcn/450_1000.jpg" alt="Marenostrum BCN">
   <img alt="Marenostrum BCN" class="centro_sinmarco" src="https://i.blogs.es/44629c/marenostrum-bcn/450_1000.jpg">
   
      </div>
</div>
<p><span>Una parte del MareNostrum, el supercomputador del <a rel="noopener, noreferrer" href="http://www.bsc.es/">BSC</a></span>
</div></p>

<p>A priori podemos pensar que cuanto más potente sea una GPU será mejor para nuestros intereses. Sin embargo, existe una clave fundamental que es <strong>el consumo energético</strong>, algo que no solemos tener en cuenta pero que es imprescindible a la hora de determinar los beneficios finales. Tened en cuenta que un equipo de varias GPU trabajando simultáneamente puede alcanzar una potencia cercana a los 1.000 vatios que, operando las 24 horas del día, supondrá un fuerte desembolso económico.</p>
<!-- BREAK 21 -->
<h2>Las gráficas en el entorno doméstico</h2>

<p>Ya hemos mencionado que el mundo de los videojuegos es el principal impulsor de la potencia de las tarjetas gráficas actuales. Sin embargo, en los últimos años estamos viviendo <strong>un importante cambio de rumbo</strong> que va a seguir afectando y cambiando el sector durante los próximos años. <strong>Son las GPU integradas</strong> o IGP (<em>Integrated Graphics Processor</em>), ya existentes en las CPU tanto de Intel como de AMD en prácticamente todas sus gamas.</p>
<!-- BREAK 22 --><div class="article-asset-image article-asset-normal article-asset-center">
 <div class="asset-content">
                   <img class="centro_sinmarco" height=520 width=630 loading="lazy" decoding="async" sizes="100vw" fetchpriority="high" srcset="https://i.blogs.es/802b87/intel-haswell-chip/450_1000.jpg 450w, https://i.blogs.es/802b87/intel-haswell-chip/650_1200.jpg 681w,https://i.blogs.es/802b87/intel-haswell-chip/1024_2000.jpg 1024w, https://i.blogs.es/802b87/intel-haswell-chip/1366_2000.jpg 1366w" src="https://i.blogs.es/802b87/intel-haswell-chip/450_1000.jpg" alt="Intel Haswell">
   <img alt="Intel Haswell" class="centro_sinmarco" src="https://i.blogs.es/802b87/intel-haswell-chip/450_1000.jpg">
   
      </div>
</div>
<p>Las IGP nacen tras un estancamiento de los requisitos gráficos del software y por el crecimiento del ecosistema Web: páginas y juegos a través de un navegador. A día de hoy <strong>sólo los juegos más exigentes y cierto software profesional</strong> requieren el uso de una tarjeta gráfica dedicada que, si bien es significativamente más potente que una IGP, ésta última ofrece un rendimiento suficiente para tareas cotidianas. En otras palabras: sistema operativo, navegador web, ofimática o software de gestión son aplicaciones cuya carga gráfica es muy baja, y no es necesario tener una dedicada para disfrutar de una buena experiencia en su uso. Una IGP será suficiente.</p>
<!-- BREAK 23 -->
<p>Como referencia vamos a remitirnos a uno de los análisis que hemos realizado en un ordenador portátil. Por ejemplo el del <strong>Alienware 14</strong> que publicamos el pasado mes de octubre, y donde realizamos una comparativa con el potencial de su chip gráfico dedicado (NVidia GTX 765M) e integrado (Intel HD Graphics 4600), ambos de gama media.</p>
<!-- BREAK 24 -->
<p>Los resultados al completo los podéis leer <a class="text-outboundlink" href="https://www.xataka.com/analisis/alienware-14-analisis" data-vars-post-title="Alienware 14, análisis" data-vars-post-url="https://www.xataka.com/analisis/alienware-14-analisis">en el artículo de análisis</a>, y aquí nos limitaremos a resumir aquellos datos. Teniendo en cuenta el rendimiento de ambos chips gráficos en videojuegos los resultados muestran <strong>una media del 410% más de rendimiento a favor de la NVidia</strong>. Con los gráficos integrados Intel la experiencia en esos juegos es paupérrima (en la mayoría de los casos por debajo de los <em>30 fps</em>, el límite entre buena y mala experiencia), pero el uso del sistema operativo, navegador y aplicaciones básicas es excelente y no difiere en nada de lo que nos encontramos con la gráfica NVidia.</p>
<!-- BREAK 25 -->
<p><strong>La tendencia de las IGP es seguir evolucionando</strong>, ofrecer un rendimiento creciente en cada nueva generación e incluso robarle algo de protagonismo a los gráficos dedicados en los juegos más punteros. Las <strong>tarjetas gráficas dedicadas seguirán existiendo</strong>, pero quedarán cada vez más relegadas a su uso en videojuegos muy punteros, a aplicaciones de corte profesional y para los que busquen la mejor experiencia existente.</p>
<!-- BREAK 26 --><div class="article-asset-image article-asset-normal article-asset-center">
 <div class="asset-content">
                   <img class="centro_sinmarco" height=336 width=650 loading="lazy" decoding="async" sizes="100vw" fetchpriority="high" srcset="https://i.blogs.es/09580f/tarjetas-graficas-nvidia-amd/450_1000.jpg 450w, https://i.blogs.es/09580f/tarjetas-graficas-nvidia-amd/650_1200.jpg 681w,https://i.blogs.es/09580f/tarjetas-graficas-nvidia-amd/1024_2000.jpg 1024w, https://i.blogs.es/09580f/tarjetas-graficas-nvidia-amd/1366_2000.jpg 1366w" src="https://i.blogs.es/09580f/tarjetas-graficas-nvidia-amd/450_1000.jpg" alt="AMD NVidia GPUs">
   <img alt="AMD NVidia GPUs" class="centro_sinmarco" src="https://i.blogs.es/09580f/tarjetas-graficas-nvidia-amd/450_1000.jpg">
   
      </div>
</div>
<p>Estas IGP son muy interesantes para el usuario medio, pero traen consigo <strong>ciertas ventajas y desventajas</strong>. A saber:</p>
<ul>
   <li>
   <p><em>Ventajas</em>: menor consumo general, menor temperatura de funcionamiento general, potencia creciente y cada vez más representativa, menor espacio físico ocupado.</p>
<!-- BREAK 27 -->
  </li>
   <li>
   <p><em>Desventajas</em>: está limitada físicamente (en tamaño disponible en el SoC, calor generado en un chip encapsulado donde se encuentran CPU y GPU), imposibilidad de poder cambiar la IGP (y tener que cambiar el conjunto CPU+GPU al completo).</p>
<!-- BREAK 28 -->
  </li>
 </ul>
<p><strong>El futuro de las GPU a nivel doméstico pasa por que los gráficos integrados gocen de mayor protagonismo en cada nueva generación</strong>. Sus evoluciones estarán limitadas por cuestiones físicas (espacio, calor generado) y es por ello que <p class="sumario_derecha" style="width:250px">El mercado de las GPU domésticas está en pleno proceso de cambio. Las gráficas dedicadas seguirán existiendo, pero estarán cada vez más limitados al software más exigente y al GPGPU</p>
<!-- BREAK 29 --> cada salto generacional en el tamaño del transistor (el proceso de fabricación, actualmente liderado por Intel y sus 22 nanómetros que <a class="text-outboundlink" href="https://www.xataka.com/componentes-de-pc/intel-ya-tiene-los-14-nanometros-sobre-la-mesa" data-vars-post-title="Intel ya tiene los 14 nanómetros sobre la mesa " data-vars-post-url="https://www.xataka.com/componentes-de-pc/intel-ya-tiene-los-14-nanometros-sobre-la-mesa">darán el salto a los 14 nanómetros con Broadwell a lo largo de 2014</a>) será vital, ya que se trata de meter lo mismo en menos espacio (o pensando de forma análoga, meter más en el mismo espacio).</p>

<p>También hay <strong>nuevas tecnologías</strong> que pretenden <em>revolucionar</em> el mercado de los gráficos domésticos, como por ejemplo <a href="www.xataka.com/componentes-de-pc/huma-es-el-siguiente-paso-en-la-vida-de-amd-fusion">hUMA de AMD</a> prevista también para 2014: CPU y la IGP podrán acceder al mismo espacio de memoria para así mejorar el rendimiento del conjunto.</p>
<!-- BREAK 30 -->
<p>En definitiva, <strong>el mercado de los gráficos domésticos está en pleno proceso de cambio</strong>. Las IGP pueden parecer una vuelta al pasado (cuando teníamos GPU integradas en el chipset) pero la evolución de la tecnología ha hecho que sean una brillante idea pensada para una gran mayoría de usuarios. <strong>Los gráficos dedicados seguirán existiendo</strong> pero estarán cada vez más limitados a un uso en videojuegos y aplicaciones profesionales, con especial importancia en su uso como GPGPU esencial en ciertos ámbitos.</p>
<!-- BREAK 31 -->
<p>En Xataka | <a href="https://www.xataka.com/tag/todo-sobre-las-arquitecturas-de-pc">Todo sobre las arquitecturas de PC</a></p>
<script>
 (function() {
  window._JS_MODULES = window._JS_MODULES || {};
  var headElement = document.getElementsByTagName('head')[0];
  if (_JS_MODULES.instagram) {
   var instagramScript = document.createElement('script');
   instagramScript.src = 'https://platform.instagram.com/en_US/embeds.js';
   instagramScript.async = true;
   instagramScript.defer = true;
   headElement.appendChild(instagramScript);
  }
 })();
</script>

                    ]]>
                </description>
            </item>
                                <item>
                <title><![CDATA[Todo sobre las arquitecturas de los procesadores ]]></title>
                <link>https://www.xataka.com/componentes/todo-sobre-las-arquitecturas-de-los-procesadores</link>
                <guid>https://www.xataka.com/componentes/todo-sobre-las-arquitecturas-de-los-procesadores</guid>
                <pubDate>Thu, 11 Apr 2013 12:56:22 +0000</pubDate>
                                         <dc:creator>Javier Penalva</dc:creator>
                                       <description>
                    <![CDATA[
                              <p>
      <img src="https://i.blogs.es/43378b/2012_11_20_intel1/1024_2000.jpg" alt="Todo&#x20;sobre&#x20;las&#x20;arquitecturas&#x20;de&#x20;los&#x20;procesadores&#x20;">
    </p>
    <p>De los primeros <strong>procesadores y arquitecturas</strong> hemos pasado a equipos móviles que aúnan más potencia de la que hubiéramos pensado hace poco. Te invitamos a dar un paseo por la historia, el desarrollo y <strong>las claves que debes conocer para entender el mundo de los procesadores y su arquitectura</strong>.</p>
<!-- BREAK 1 -->
<pre><code>    &lt;div class="super-related"&gt;
</code></pre>
<ul>
   <li>
   <p><a class="text-outboundlink" href="https://www.xataka.com/componentes-de-pc/asi-comenzo-todo-el-origen-de-los-procesadores" data-vars-post-title="Así comenzó todo: el origen de los procesadores" data-vars-post-url="https://www.xataka.com/componentes-de-pc/asi-comenzo-todo-el-origen-de-los-procesadores">I.- Así comenzó todo: el origen de los procesadores</a></p>

  </li>
   <li>
   <p><a class="text-outboundlink" href="https://www.xataka.com/componentes-de-pc/cisc-frente-a-risc-una-batalla-en-blanco-y-negro" data-vars-post-title="CISC frente a RISC, una batalla en blanco y negro" data-vars-post-url="https://www.xataka.com/componentes-de-pc/cisc-frente-a-risc-una-batalla-en-blanco-y-negro">II.- CISC frente a RISC, una batalla en blanco y negro</a></p>

  </li>
   <li>
   <p><a class="text-outboundlink" href="https://www.xataka.com/componentes-de-pc/arm-la-navaja-suiza-de-los-procesadores-1" data-vars-post-title="ARM, la 'navaja suiza' de los procesadores" data-vars-post-url="https://www.xataka.com/componentes-de-pc/arm-la-navaja-suiza-de-los-procesadores-1">III.- ARM, la 'navaja suiza' de los procesadores</a></p>

  </li>
   <li>
   <p><a class="text-outboundlink" href="https://www.xataka.com/componentes-de-pc/arquitectura-x86-una-historia-imprescindible-de-la-informatica" data-vars-post-title="Arquitectura x86, una historia imprescindible de la informática" data-vars-post-url="https://www.xataka.com/componentes-de-pc/arquitectura-x86-una-historia-imprescindible-de-la-informatica">IV.- Arquitectura x86, una historia imprescindible de la informática</a></p>

  </li>
   <li>
   <p><a class="text-outboundlink" href="https://www.xataka.com/componentes-de-pc/por-que-los-nucleos-y-su-frecuencia-no-lo-son-todo-para-un-procesador" data-vars-post-title="Por qué los núcleos y su frecuencia no lo son todo para un procesador" data-vars-post-url="https://www.xataka.com/componentes-de-pc/por-que-los-nucleos-y-su-frecuencia-no-lo-son-todo-para-un-procesador">V.- Por qué los núcleos y su frecuencia no lo son todo para un procesador</a></p>

  </li>
 </ul>
<pre><code>    &lt;/div&gt;
</code></pre>
<script>
 (function() {
  window._JS_MODULES = window._JS_MODULES || {};
  var headElement = document.getElementsByTagName('head')[0];
  if (_JS_MODULES.instagram) {
   var instagramScript = document.createElement('script');
   instagramScript.src = 'https://platform.instagram.com/en_US/embeds.js';
   instagramScript.async = true;
   instagramScript.defer = true;
   headElement.appendChild(instagramScript);
  }
 })();
</script>

                    ]]>
                </description>
            </item>
                                <item>
                <title><![CDATA[Por qué los núcleos y su frecuencia no lo son todo para un procesador]]></title>
                <link>https://www.xataka.com/componentes/por-que-los-nucleos-y-su-frecuencia-no-lo-son-todo-para-un-procesador</link>
                <guid>https://www.xataka.com/componentes/por-que-los-nucleos-y-su-frecuencia-no-lo-son-todo-para-un-procesador</guid>
                <pubDate>Thu, 11 Apr 2013 09:18:40 +0000</pubDate>
                                         <dc:creator>Pablo Espeso</dc:creator>
                                       <description>
                    <![CDATA[
                              <p>
      <img src="https://i.blogs.es/554102/arq5f/1024_2000.jpg" alt="Por&#x20;qu&#x00E9;&#x20;los&#x20;n&#x00FA;cleos&#x20;y&#x20;su&#x20;frecuencia&#x20;no&#x20;lo&#x20;son&#x20;todo&#x20;para&#x20;un&#x20;procesador">
    </p>
    <p>Un procesador es <strong>mucho más que frecuencias o núcleos</strong>. Tiene transistores, circuitería, electrónica y algoritmos. Incluye hardware y software, y el resultado de toda esta mezcla apenas ocupa unos pocos centímetros cuadrados que muchas veces pasan inadvertidos ante nuestros ojos.</p>
<!-- BREAK 1 -->
<p>Porque un procesador de un núcleo a 2 Ghz. puede ser más eficiente que otro de cuatro núcleos a 4 GHz. Entran en juego otros componentes (caché, registros) así como los importantísimos algoritmos de ejecución. Por cierto, <strong>¿sabes cómo se haría una tortilla de patata de forma paralela?</strong> Lo explicamos tras el salto.</p>
<!-- BREAK 2 --><!--more--><h2>Secuencial frente a paralelo</h2>

<p>La evolución de la tecnología en los últimos años ha llevado al mercado doméstico la <strong>importancia de la paralelización</strong> de los algoritmos. Tras el ingente crecimiento de la frecuencia de los núcleos a partir de la década de los 90, los fabricantes y diseñadores se han encontrado con límites físicos que les han obligado a acudir a otras vías: la principal de ellas es la implementación de <strong>varios núcleos en un mismo chip</strong>.</p>
<!-- BREAK 3 -->
<p><p class="sumario_derecha" style="width:250px">La tortilla de patata española es un gran ejemplo para explicar el concepto de algoritmo paralelo</p>
 Un <strong>algoritmo secuencial</strong> es aquel que sigue un orden concreto. Nuestros ejemplos del <em>algoritmo del huevo frito</em> son perfectos de esta tarea secuencial al estar organizados en pasos que han de ser seguidos uno tras otro: primero el <code>1</code>, una vez terminado seguiremos con el <code>2</code>, tras él el <code>3</code>, etc. </p>

<p>Modifiquemos la receta y añadámos algo de complejidad. El <strong>algoritmo de la tortilla de patata española</strong>, un plato clásico por estos lares y conocido en todo el mundo que nos permitirá explicar también el concepto de <strong>algoritmo paralelo</strong> en contrapartida al secuencial.</p>
<!-- BREAK 4 -->
<p><div class="caption-img"></p>
<div class="article-asset-image article-asset-normal article-asset-center">
 <div class="asset-content">
                   <img class="centro_sinmarco" height=447 width=650 loading="lazy" decoding="async" sizes="100vw" fetchpriority="high" srcset="https://i.blogs.es/c61cba/tortilla-de-patata/450_1000.jpg 450w, https://i.blogs.es/c61cba/tortilla-de-patata/650_1200.jpg 681w,https://i.blogs.es/c61cba/tortilla-de-patata/1024_2000.jpg 1024w, https://i.blogs.es/c61cba/tortilla-de-patata/1366_2000.jpg 1366w" src="https://i.blogs.es/c61cba/tortilla-de-patata/450_1000.jpg" alt="Tortilla de patata">
   <img alt="Tortilla de patata" class="centro_sinmarco" src="https://i.blogs.es/c61cba/tortilla-de-patata/450_1000.jpg">
   
      </div>
</div>
<p><span>Una tortilla de patata con buena pinta (vía <a rel="noopener, noreferrer" href="http://www.flickr.com/photos/yotbsoymoderna/6891244715/">Flickr de aidalidice</a>)</span>
</div></p>

<p>En primer lugar es necesario especificar cuál es <strong>nuestro algoritmo secuencial de la tortilla de patata</strong>:</p>
<table >
	<tr>
		<td >1</td>
		<td >Preparamos cuatro patatas medianas</td>
	</tr>
	<tr>
		<td >2</td>
		<td >Preparamos una cebolla de tamaño medio</td>
	</tr>
	<tr>
		<td >3</td>
		<td >Pelamos las patatas</td>
	</tr>
	<tr>
		<td >4</td>
		<td >Pelamos la cebolla</td>
	</tr>
	<tr>
		<td >5</td>
		<td >Las patatas las troceamos en cachos muy finos y pequeños</td>
	</tr>
	<tr>
		<td >6</td>
		<td >Repetimos el proceso con la cebolla al gusto de los comensales</td>
	</tr>
	<tr>
		<td >7</td>
		<td >Juntamos la patata y la cebolla en un bol de grandes dimensiones. Removemos el conjunto</td>
	</tr>
	<tr>
		<td >8</td>
		<td >Preparamos la sartén adecuada</td>
	</tr>
	<tr>
		<td >9</td>
		<td >Vertemos una generosa cantidad de aceite</td>
	</tr>
	<tr>
		<td >10</td>
		<td >Calentamos la sartén a fuego medio y esperamos a que coja la temperatura adecuada</td>
	</tr>
	<tr>
		<td >11</td>
		<td >Vertemos el contenido del bol a la sartén</td>
	</tr>
	<tr>
		<td >12</td>
		<td >Remover cada tres minutos hasta que la patata esté blanda</td>
	</tr>
	<tr>
		<td >13</td>
		<td >Extraer el contenido de la sartén a un bol de grandes dimensiones intentando mover la menor cantidad de aceite posible</td>
	</tr>
	<tr>
		<td >14</td>
		<td >Preparar cuatro huevos. Cascarlos y verter su contenido en otro bol. Batirlo hasta que quede un líquido ciertamente espeso y uniforme.</td>
	</tr>
	<tr>
		<td >15</td>
		<td >Unir el contenido de los dos boles y mezclar el conjunto hasta que el resultado sea uniforme</td>
	</tr>
	<tr>
		<td >16</td>
		<td >Calentar de nuevo la sartén, esta vez al máximo.</td>
	</tr>
	<tr>
		<td >17</td>
		<td >Cuando la sartén haya cogido temperatura, verter el contenido del bol</td>
	</tr>
	<tr>
		<td >18</td>
		<td >Cuando los bordes de la tortilla estén ya cuajados, darle la vuelta a la tortilla con ayuda de un plato</td>
	</tr>
	<tr>
		<td >19</td>
		<td >Volver a insertar la tortilla a medio hacer en la sartén para que termine de hacerse por el otro lado</td>
	</tr>
	<tr>
		<td >20</td>
		<td >Cuando esté cuajada por completo, sacar a un plato</td>
	</tr>
</table><p>Éste será nuestro <strong>algoritmo de la tortilla de patata</strong> de hoy. Y nótese que <strong>es secuencial</strong>, lo que quiere decir que tendremos que completar cada una de las tareas en el orden indicado, una por una, empezando por la primera, terminando en la última e iniciando un paso únicamente cuando se haya terminado el anterior. El algoritmo arriba descrito sería una aproximación a una tarea secuencial ejecutada por un procesador con un único núcleo.</p>
<!-- BREAK 5 -->
<p>Cambiemos de filosofía. Ahora disponemos de un procesador de dos núcleos, cuyo símil en la vida real sería algo así como que tenemos <strong>dos personas en la cocina</strong>:</p>
<!-- BREAK 6 --><table >
	<tr>
		<td ></td>
		<td >Cocinero 1</td>
		<td >Cocinero 2</td>
	</tr>
	<tr>
		<td >1</td>
		<td >Preparamos cuatro patatas medianas</td>
		<td >Preparamos una cebolla de tamaño medio</td>
	</tr>
	<tr>
		<td >2</td>
		<td >Pelamos las patatas</td>
		<td >Pelamos la cebolla</td>
	</tr>
	<tr>
		<td >3</td>
		<td >Las patatas las troceamos en cachos muy finos y pequeños</td>
		<td >Repetimos el proceso con la cebolla al gusto de los comensales</td>
	</tr>
	<tr>
		<td >4</td>
		<td >Juntamos la patata y la cebolla en un bol de grandes dimensiones. Removemos el conjunto</td>
		<td >Preparamos la sartén adecuada</td>
	</tr>
	<tr>
		<td >5</td>
		<td ></td>
		<td >Vertemos una generosa cantidad de aceite</td>
	</tr>
	<tr>
		<td >6</td>
		<td ></td>
		<td >Calentamos la sartén a fuego medio y esperamos a que coja la temperatura adecuada</td>
	</tr>
	<tr>
		<td >7</td>
		<td >Vertemos el contenido del bol a la sartén</td>
		<td ></td>
	</tr>
	<tr>
		<td >8</td>
		<td >Remover cada tres minutos hasta que la patata esté blanda</td>
		<td >Preparar cuatro huevos. Cascarlos y verter su contenido en el bol. Batirlo hasta que quede un líquido ciertamente espeso y uniforme.</td>
	</tr>
	<tr>
		<td >9</td>
		<td >Extraer el contenido de la sartén al bol de los huevos intentando traspasar la menor cantidad de aceite posible</td>
		<td >Calentar de nuevo la sartén, esta vez al máximo.</td>
	</tr>
	<tr>
		<td >10</td>
		<td >Verter el contenido del bol a la sartén</td>
		<td ></td>
	</tr>
	<tr>
		<td >11</td>
		<td >Cuando los bordes de la tortilla estén ya cuajados, darle la vuelta a la tortilla con ayuda de un plato</td>
		<td ></td>
	</tr>
	<tr>
		<td >12</td>
		<td >Volver a insertar la tortilla a medio hacer en la sartén para que termine de hacerse por el otro lado</td>
		<td ></td>
	</tr>
	<tr>
		<td >13</td>
		<td >Cuando esté cuajada por completo, sacar a un plato</td>
		<td ></td>
	</tr>
</table><p>La diferencia es palpable: <strong>hemos utilizado 13 filas en vez de 20</strong>, que en un procesador sería el equivalente a utilizar trece ciclos de CPU en vez de veinte: en torno a un 35% menos instrucciones, lo cual es mejora muy significativa. Si cada una de las instrucciones (filas) se ejecutase en el mismo tiempo, nuestro algoritmo sería un 35% más rápido.</p>
<!-- BREAK 7 -->
<p><p class="sumario_derecha" style="width:250px">Hay tareas que no se pueden paralelizar; otras, al contrario, son fácilmente paralelizables.</p>
 Gracias a este sencillo ejemplo comprobamos algunos de los problemas de la ejecución en paralelo: <strong>hay tareas que no se pueden paralelizar</strong>, por ejemplo las tareas <code>5</code> y <code>6</code> de nuestro segundo algoritmo deben ser secuenciales, ya que se necesita que primero vertamos el aceite y luego calentemos la sartén (o de lo contrario nos quemaremos). Al contrario, hay otras tareas que son fácilmente paralelizables: mismamente las que nos encontramos en <code>8</code>, remover y preparar los huevos. Podemos hacer una cosa mientras la otra persona prepara la otra.</p>

<p>Como conclusiones, en primer lugar, <strong>dos núcleos no significa que mejoremos por dos el rendimiento del procesador de un núcleo</strong>, ni cuatro núcleos que lo mejoremos por cuatro. Hay tareas que no pueden ser paralelas y que necesariamente deben ser secuenciales. Por otro lado es necesario tener en cuenta que los procesadores se encargan de gestionar cientos o miles de tareas simultáneamente, de la misma forma que en una cocina se suelen crear varios platos simultáneamente y, por ello, esos huecos que en la tabla se ven vacíos podrían aprovecharse en otras <em>recetas</em>.</p>
<!-- BREAK 8 -->
<h2>La ejecución fuera de orden: adelantando trabajo</h2>

<p>La <strong>ejecución fuera de orden</strong> es un concepto que silenciosamente hemos introducido en nuestro ejemplo del <em>algoritmo paralelo de la tortilla de patata</em>. Básicamente <strong>consiste en adelantar trabajo</strong> que prevemos vamos a realizar posteriormente. Aunque no tengamos todos los elementos necesarios para continuar con nuestra receta, sí podemos hacer algo que luego nos permitirá ahorrarnos un paso.</p>
<!-- BREAK 9 -->
<p><div class="caption-img"></p>
<div class="article-asset-image article-asset-normal article-asset-center">
 <div class="asset-content">
                   <img class="centro_sinmarco" height=434 width=650 loading="lazy" decoding="async" sizes="100vw" fetchpriority="high" srcset="https://i.blogs.es/0a4d08/sartenes/450_1000.jpg 450w, https://i.blogs.es/0a4d08/sartenes/650_1200.jpg 681w,https://i.blogs.es/0a4d08/sartenes/1024_2000.jpg 1024w, https://i.blogs.es/0a4d08/sartenes/1366_2000.jpg 1366w" src="https://i.blogs.es/0a4d08/sartenes/450_1000.jpg" alt="Sartenes">
   <img alt="Sartenes" class="centro_sinmarco" src="https://i.blogs.es/0a4d08/sartenes/450_1000.jpg">
   
      </div>
</div>
<p><span>Sartenes preparadas para paralelizar (vía <a rel="noopener, noreferrer" href="http://www.flickr.com/photos/waferboard/4153245628/">Flickr de waferboard</a>)</span>
</div></p>

<p><p class="sumario_derecha" style="width:200px">La ejecución fuera de orden consiste en adelantar trabajo que prevemos vamos a realizar posteriormente</p>
Nótese por ejemplo el paso 8 del algoritmo paralelo. Mientras uno está removiendo el contenido de la sartén, otro puede ir preparado cuatro huevos, cascarlos en un bol e ir batiéndolos. En nuestro ejemplo de algoritmo secuencial teníamos dos pasos diferentes, 12 y 13, de forma que en el primero de ellos estábamos removiendo y esperando en intervalos de tres minutos, y en el otro -- que, recuerdo, sólo comenzaba cuando el anterior había terminado -- batiendo los huevos. Es claramente una tarea que puede hacerse simultáneamente, ya que no interfieren unos elementos con otros.</p>

<p>Un ejemplo más práctico y semejante a la realidad, relacionado con operaciones básicas, es el siguiente:</p>
<ul>
   <li>
   <p>Le asignamos al registro A el valor 0 (<code>A:=0</code>)</p>

  </li>
   <li>
   <p>Le asignamos al registro B el valor 1 (<code>B:=1</code>)</p>

  </li>
   <li>
   <p>Le asignamos al registro C el valor 2 (<code>C:=2</code>)</p>

  </li>
   <li>
   <p>Incrementamos en 1 el valor del registro C (<code>C:=C+1</code>)</p>

  </li>
   <li>
   <p>Le asignamos al registro D el valor 3 (<code>D:=3</code>)</p>

  </li>
 </ul>
<p>Éste sería el algoritmo para un procesador mononúcleo. En caso de tener dos núcleos hay algunas de esas cinco tareas que pueden hacerse simultáneamente:</p>
<!-- BREAK 10 --><table >
	<tr>
		<td ></td>
		<td >Núcleo 1</td>
		<td >Núcleo 2</td>
	</tr>
	<tr>
		<td >1</td>
		<td ><code>A:=0</code></td>
		<td ><code>B:=1</code></td>
	</tr>
	<tr>
		<td >2</td>
		<td ><code>C:=2</code></td>
		<td ><code>D:=0</code></td>
	</tr>
	<tr>
		<td >3</td>
		<td ><code>C:=C+1=3</code></td>
		<td ></td>
	</tr>
</table><p>¿A qué se debe ese hueco en blanco? A que hemos adelantado la tarea <code>D:=0</code> ya que para ejecutar la anterior <code>C:=C+1</code> se necesita que C exista y tenga un valor asignado, o de lo contrario no se puede sumar <code>1</code> a un hueco vacío. Este ejemplo simplemente juega con cuatro variables y una suma, con lo que es sencillo a más no poder; en la práctica las tareas son mucho más complejas y el algoritmo OOE es algo diferente: existe una cola de instrucciones pendientes de ejecutarse y un pequeño algoritmo que se encarga de gestionarlas: si pueden hacerse, se hacen; si no pueden hacerse en este preciso instante, se postponen para que el procesador no esté se mantenga a la espera y se ejecutarán posteriormente una vez se disponga de todos sus operandos.</p>
<!-- BREAK 11 -->
<p>La <strong>ejecución fuera de orden</strong> (out of orden execution, OoOE, <em>OOE</em>) empezó a gestarse en los años setenta y ochenta, aunque no fue hasta la década de los 90 cuando se popularizó en el mercado. El primer procesador que incluyó esta mejora fue el POWER1 de IBM, si bien a día de hoy es una técnica implementada en prácticamente cualquier microprocesador moderno x86, así como en muchos de los actuales ARM.</p>
<!-- BREAK 12 -->
<h2>Núcleos, frecuencias y mucho más</h2>

<p>Lo que hemos visto en todos estos especiales es una pincelada de lo que es la realidad. Hemos hablado de arquitecturas, instrucciones, núcleos y algoritmos, hemos mencionado OOE e incluso hemos puesto algunos ejemplos prácticos.</p>
<!-- BREAK 13 --><div class="article-asset-image article-asset-normal article-asset-center">
 <div class="asset-content">
                   <img class="centro_sinmarco" height=270 width=650 loading="lazy" decoding="async" sizes="100vw" fetchpriority="high" srcset="https://i.blogs.es/761a8a/intel-ivy-bridge-cpugpu/450_1000.jpg 450w, https://i.blogs.es/761a8a/intel-ivy-bridge-cpugpu/650_1200.jpg 681w,https://i.blogs.es/761a8a/intel-ivy-bridge-cpugpu/1024_2000.jpg 1024w, https://i.blogs.es/761a8a/intel-ivy-bridge-cpugpu/1366_2000.jpg 1366w" src="https://i.blogs.es/761a8a/intel-ivy-bridge-cpugpu/450_1000.jpg" alt="Intel Core Ivy Bridge cpu">
   <img alt="Intel Core Ivy Bridge cpu" class="centro_sinmarco" src="https://i.blogs.es/761a8a/intel-ivy-bridge-cpugpu/450_1000.jpg">
   
      </div>
</div>
<p>Lo que tenéis aquí arriba es la circuitería de un procesador, en este caso un Intel Core 'Ivy Bridge'. A continuación os dejo una fotografía <a rel="noopener, noreferrer" href="http://www.anandtech.com/show/6330/the-iphone-5-review/4">de AnandTech</a> de las tripas del SoC <a class="text-outboundlink" href="https://www.xataka.com/moviles/apple-a6-cuenta-con-un-procesador-de-doble-nucleo-y-una-gpu-de-triple-nucleo" data-vars-post-title="Apple A6 cuenta con un procesador de doble núcleo y una GPU de triple núcleo" data-vars-post-url="https://www.xataka.com/moviles/apple-a6-cuenta-con-un-procesador-de-doble-nucleo-y-una-gpu-de-triple-nucleo">Apple A6 utilizado en el iPhone 5</a>:</p>
<!-- BREAK 14 --><div class="article-asset-image article-asset-normal article-asset-center">
 <div class="asset-content">
                   <img class="centro_sinmarco" height=550 width=562 loading="lazy" decoding="async" sizes="100vw" fetchpriority="high" srcset="https://i.blogs.es/4ba396/apple-a6-at/450_1000.jpg 450w, https://i.blogs.es/4ba396/apple-a6-at/650_1200.jpg 681w,https://i.blogs.es/4ba396/apple-a6-at/1024_2000.jpg 1024w, https://i.blogs.es/4ba396/apple-a6-at/1366_2000.jpg 1366w" src="https://i.blogs.es/4ba396/apple-a6-at/450_1000.jpg" alt="Apple A6">
   <img alt="Apple A6" class="centro_sinmarco" src="https://i.blogs.es/4ba396/apple-a6-at/450_1000.jpg">
   
      </div>
</div>
<p><strong>Un procesador tiene mucho más que núcleos y frecuencias</strong>. Si ahondamos en el tema nos encontraremos con mucha <strong>memoria</strong> distribuida por doquier, y no sólo memoria caché (L2, L3; se encargan de comunicar unos núcleos con otros) si no también registros o contadores, así como buses de datos o circuitos de toda índole. El conjunto de todos estos componentes muchas veces microscópicos formarán un chip de pequeñas dimensiones (unos pocos centímetros cuadrados) que es al que denominamos procesador.</p>
<!-- BREAK 15 -->
<h2>¿De qué depende el rendimiento?</h2>

<p>Es sin duda alguna una pregunta que debemos hacernos. <strong>¿De qué depende realmente el rendimiento de un procesador?</strong> ¿Por qué un procesador a 1.6 GHz. puede ser más potente que uno a 4 GHz.?</p>
<!-- BREAK 16 -->
<p>Como hemos visto, un microprocesador es mucho más que una frecuencia. Ésta indica la periodicidad con la que la CPU ejecuta una instrucción, cuya definición <a class="text-outboundlink" href="https://www.xataka.com/componentes-de-pc/cisc-frente-a-risc-una-batalla-en-blanco-y-negro" data-vars-post-title="CISC frente a RISC, una batalla en blanco y negro" data-vars-post-url="https://www.xataka.com/componentes-de-pc/cisc-frente-a-risc-una-batalla-en-blanco-y-negro">ya vimos en una de las primeras entradas</a>. A priori podríamos pensar que a mayor frecuencia de funcionamiento es mejor, pero también entran en juego otros muchos factores -- tanto hardware (caché, su localización y cantidad) como software (algoritmos como el <em>OOE</em>) -- que no sólo repercuten en el rendimiento final, si no también en el precio de mercado del chip. Este último factor es fundamental por ejemplo en entornos profesionales, donde se estudia cada céntimo de inversión.</p>
<!-- BREAK 17 -->
<p><div class="caption-img"></p>
<div class="article-asset-image article-asset-normal article-asset-center">
 <div class="asset-content">
                   <img class="centro_sinmarco" height=488 width=600 loading="lazy" decoding="async" sizes="100vw" fetchpriority="high" srcset="https://i.blogs.es/72095d/amd-bulldozer-waffer/450_1000.jpg 450w, https://i.blogs.es/72095d/amd-bulldozer-waffer/650_1200.jpg 681w,https://i.blogs.es/72095d/amd-bulldozer-waffer/1024_2000.jpg 1024w, https://i.blogs.es/72095d/amd-bulldozer-waffer/1366_2000.jpg 1366w" src="https://i.blogs.es/72095d/amd-bulldozer-waffer/450_1000.jpg" alt="AMD Bulldozer">
   <img alt="AMD Bulldozer" class="centro_sinmarco" src="https://i.blogs.es/72095d/amd-bulldozer-waffer/450_1000.jpg">
   
      </div>
</div>
<p><span>¿Veis los cuatro núcleos acompañados de las ocho (4xL2 y 4xL3) caché? Éste es un <a class="text-outboundlink" href="https://www.xataka.com/componentes-de-pc/primeros-datos-de-los-amd-bulldozer-de-8-nucleos-nuevos-amd-fx-series" data-vars-post-title="Primeros datos de los AMD Bulldozer de 8 núcleos: nuevos AMD FX-Series" data-vars-post-url="https://www.xataka.com/componentes-de-pc/primeros-datos-de-los-amd-bulldozer-de-8-nucleos-nuevos-amd-fx-series">AMD FX</a></span>
</div></p>

<p>Con el <strong>número de núcleos</strong> ocurre algo parecido. Cuantos más núcleos tengamos deberíamos obtener un mayor rendimiento, pero también es necesario que vengan acompañados de la circuitería necesaria para que trabajen de una forma eficiente. No valdrá de nada tener una CPU de diez núcleos si no existe un algoritmo y un buena base electrónica que se encarguen de situar las instrucciones en cada una de las colas de proceso de cada núcleo, así como por supuesto gestionarlas correctamente. Ésta era la razón por la que los primeros procesadores multinúcleo de uso doméstico, lanzados hace unos cinco años, no funcionaban tan bien como deberían; en la actualidad se ha avanzado notablemente y el paralelismo en tareas domésticas es bastante aceptable.</p>
<!-- BREAK 18 -->
<p>Para nosotros, los usuarios, siempre es interesante <strong>estudiar el rendimiento de un procesador como un todo</strong>, como un conjunto de componentes cuyo resultado es la ejecución de un programa en nuestro ordenador. Para ello sería ideal poder determinar a priori y sólo con las características técnicas del chip una estimación del rendimiento. Lamentablemente o existe ninguna técnica que cumpla estos requisitos y la mejor forma de atacar este problema es acercándonos en la medida de lo posible a su realidad: <strong>utilizar software específico</strong>. En este ámbito recibe un nombre conocido por todos: <strong>benchmarks</strong>. Hace no mucho hablábamos de <a class="text-outboundlink" href="https://www.xataka.com/moviles/benchmarking-en-moviles-poniendole-numeros-a-la-potencia" data-vars-post-title="Benchmarking en móviles, poniéndole números a la potencia" data-vars-post-url="https://www.xataka.com/moviles/benchmarking-en-moviles-poniendole-numeros-a-la-potencia">benchmarks para móviles</a>, cuyo funcionamiento es similar al de sus homólogos para plataformas de escritorio, como por ejemplo Windows.</p>
<!-- BREAK 19 -->
<p><div class="caption-img"> </p>
<div class="article-asset-image article-asset-normal article-asset-center">
 <div class="asset-content">
                   <img class="centro_sinmarco" height=365 width=650 loading="lazy" decoding="async" sizes="100vw" fetchpriority="high" srcset="https://i.blogs.es/271422/3dmark-capt/450_1000.jpg 450w, https://i.blogs.es/271422/3dmark-capt/650_1200.jpg 681w,https://i.blogs.es/271422/3dmark-capt/1024_2000.jpg 1024w, https://i.blogs.es/271422/3dmark-capt/1366_2000.jpg 1366w" src="https://i.blogs.es/271422/3dmark-capt/450_1000.jpg" alt="3DMark">
   <img alt="3DMark" class="centro_sinmarco" src="https://i.blogs.es/271422/3dmark-capt/450_1000.jpg">
   
      </div>
</div>
<p><span>Captura de los resultados de <a rel="noopener, noreferrer" href="http://www.3dmark.com/">3DMark</a>, uno de los benchmarks más utilizados</span> </div></p>

<p>Un <strong>benchmark</strong> es como cualquier otro software. Se programa y ejecuta una serie de tareas. A diferencia de los programas a los que estamos acostumbrados, <strong>un benchmark ejecuta siempre la misma secuencia de código</strong>, de forma que sus resultados sobre un mismo equipo deberían ser siempre los mismos. Las mínimas variaciones que se producen son debidas a que el estado del sistema operativo en cada momento es sensiblemente diferente, por ejemplo debido a la ejecución de pequeños procesos en segundo plano.</p>
<!-- BREAK 20 -->
<p><p class="sumario_izquierda" style="width:250px">Un benchmark ejecuta siempre el mismo código independientemente del hardware, con lo que los resultados pueden compararse entre diferentes máquinas.</p>
 La clave de los benchmarks y su principal característica es precisamente la de ejecutar el mismo código, independientemente del hardware. Al ejecutar exactamente lo mismo se utilizan los mismos recursos de los componentes hardware, con lo que <strong>los resultados pueden compararse entre una máquina y otra</strong>.</p>

<p>No obstante, un benchmark no es un tema baladí. Existen <strong>decenas de tipos de benchmarks</strong> que están centrados en los diferentes componentes: gráficos, de potencia bruta, para el almacenamiento o de red. Si bien existen benchmarks genéricos, estos generalmente se componen de varios benchmarks específicos que sacan el máximo partido a cada componente: GPU, CPU, memoria RAM, etc. A cada uno de ellos se le da un peso concreto y posteriormente se realiza una media, dando lugar a una cifra final que nos indica su "nota" y que puede fácilmente compararse con otros resultados.</p>
<!-- BREAK 21 -->
<p>No puedo terminar este apartado sin mencionar que estamos muy acostumbrados a las características técnicas, pero en el mundo actual con los componentes tan complejos que tenemos éstas no nos lo dicen todo. <strong>La única opción real que tenemos para medir la diferencia de rendimiento entre dos procesadores son los benchmarks</strong>. Los hay mejores y peores, más o menos completos; pero es la única herramienta fiable que tenemos a nuestra disposición.</p>
<!-- BREAK 22 -->
<h2>Un ejemplo real</h2>

<p>Enfilamos ya la recta final con <strong>un ejemplo real y práctico de que los núcleos y su frecuencia no lo son todo</strong>. En la siguiente tabla encontraréis las características de dos teléfonos de primera línea presentados en los últimos meses, ambos basados en ARM:</p>
<!-- BREAK 23 --><table style="font-size:75%" border="1" bordercolor="#27971e">
	<tr style="background-color: #cdf092">
		<td ></td>
		<th ><code>Teléfono 1</code></th>
		<th ><code>Teléfono 2</code></th>
	</tr>
	<tr style="background-color: #d8e6c0">
		<td >Set de instrucciones</td>
		<td >ARMv7</td>
		<td >ARMv7</td>
	</tr>
	<tr style="background-color: #d8e6c0">
		<td >Núm. núcleos</td>
		<td bgcolor="#ff9a9a">2</td>
		<td bgcolor="#aaf4a0">4</td>
	</tr>
	<tr style="background-color: #d8e6c0">
		<td >Tipo de núcleos</td>
		<td >Krait</td>
		<td >Cortex-A9</td>
	</tr>
	<tr style="background-color: #d8e6c0">
		<td >Frec. núcleos</td>
		<td bgcolor="#aaf4a0">1.7</td>
		<td bgcolor="#ff9a9a">1.6</td>
	</tr>
	<tr style="background-color: #d8e6c0">
		<td >RAM</td>
		<td bgcolor="#ff9a9a">1 GB</td>
		<td bgcolor="#aaf4a0">2 GB</td>
	</tr>
	<tr style="background-color: #d8e6c0">
		<td >Resolución de la pantalla</td>
		<td>1280x720</td>
		<td>1280x720</td>
	</tr>

	<tr style="background-color: #d8e6c0">
		<td >Sistema operativo</td>
		<td>Android 4.1</td>
		<td>Android 4.1</td>
	</tr>

</table><p>Con el fondo rojo están las características inferiores a sus homólogas verdes del otro teléfono, lo que a priori podríamos pensar es mejor o peor. Con estos datos <strong>es lógico pensar que la balanza se inclina a favor del <code>Teléfono 2</code></strong>: la menor frecuencia de sus núcleos (sólo un 0.1 GHz. menos) no se impone debido a que tiene el doble de ellos y que además duplica la cantidad de memoria RAM. Ambos son ARMv7 aunque varía el fabricante y el diseño del núcleo, un Krait y un Cortex-A9. A pesar de ello ambos implementan la <strong>ejecución fuera de orden</strong> de la que hablábamos anteriormente.</p>
<!-- BREAK 24 -->
<p>Así pues, el <code>Teléfono 1</code> tiene todas las de perder. Hagamos un ejercicio mental: <strong>¿cuál sería la mejora estimada para el <code>Teléfono 2</code>?</strong> ¿Con qué porcentaje le ganaría a nuestro primer participante? Pensemos durante unos  segundos y, cuando estéis listos para conocer la solución, pasad las siguientes imágenes.</p>
<!-- BREAK 25 --><div class="article-asset-image article-asset-normal article-asset-center">
 <div class="asset-content">
                   <img class="centro_sinmarco" height=550 width=650 loading="lazy" decoding="async" sizes="100vw" fetchpriority="high" srcset="https://i.blogs.es/04fffe/qualcomm-snapdragon-logo-chip/450_1000.jpg 450w, https://i.blogs.es/04fffe/qualcomm-snapdragon-logo-chip/650_1200.jpg 681w,https://i.blogs.es/04fffe/qualcomm-snapdragon-logo-chip/1024_2000.jpg 1024w, https://i.blogs.es/04fffe/qualcomm-snapdragon-logo-chip/1366_2000.jpg 1366w" src="https://i.blogs.es/04fffe/qualcomm-snapdragon-logo-chip/450_1000.jpg" alt="Qualcomm Snapdragon S4">
   <img alt="Qualcomm Snapdragon S4" class="centro_sinmarco" src="https://i.blogs.es/04fffe/qualcomm-snapdragon-logo-chip/450_1000.jpg">
   
      </div>
</div>

<div class="article-asset-image article-asset-normal article-asset-center">
 <div class="asset-content">
                   <img class="centro_sinmarco" height=344 width=562 loading="lazy" decoding="async" sizes="100vw" fetchpriority="high" srcset="https://i.blogs.es/734dd2/exynos4procss834quad/450_1000.jpg 450w, https://i.blogs.es/734dd2/exynos4procss834quad/650_1200.jpg 681w,https://i.blogs.es/734dd2/exynos4procss834quad/1024_2000.jpg 1024w, https://i.blogs.es/734dd2/exynos4procss834quad/1366_2000.jpg 1366w" src="https://i.blogs.es/734dd2/exynos4procss834quad/450_1000.jpg" alt="Samsung Exynos 4 Quad">
   <img alt="Samsung Exynos 4 Quad" class="centro_sinmarco" src="https://i.blogs.es/734dd2/exynos4procss834quad/450_1000.jpg">
   
      </div>
</div>
<p>Efectivamente el <code>Teléfono 1</code> utiliza un <strong>Qualcomm Snapdragon</strong>, concretamente un <em>S4 Pro MSM8960T</em>; por su parte, el <code>Teléfono 2</code> trae consigo un <strong>Samsung Exynos 4 Quad 4412</strong>. Ambos procesadores fueron presentados a lo largo de 2012, con lo que son tecnologías modernas. En el caso que aquí nos concierne se trata de los teléfonos <strong>Sony Xperia SP y Samsung Galaxy Note II</strong>.</p>
<!-- BREAK 26 -->
<p>Y finalmente, ¿cuál de los dos es más potente? <strong>¿Piensas que el Samsung Galaxy Note II ofrece un mayor rendimiento que el Sony Xperia SP?</strong>. Tal vez hayas cambiado de parecer tras conocer los nombres de nuestros protagonistas... o tal vez no. No te entretengo más, en la siguiente tabla están <strong>un trio de benchmarks</strong> que hemos ejecutado en los dos terminales:</p>
<!-- BREAK 27 --><table style="font-size:75%" border="1" bordercolor="#27971e">
	<tr style="background-color: #cdf092">
		<td ></td>
		<th ><a class="text-outboundlink" href="https://www.xataka.com/moviles/sony-xperia-sp" data-vars-post-title="Sony Xperia SP " data-vars-post-url="https://www.xataka.com/moviles/sony-xperia-sp">Sony Xperia SP</a></th>
		<th ><a class="text-outboundlink" href="https://www.xataka.com/analisis/samsung-galaxy-note-ii-analisis" data-vars-post-title="Samsung Galaxy Note II, análisis" data-vars-post-url="https://www.xataka.com/analisis/samsung-galaxy-note-ii-analisis">Samsung Galaxy Note II</a></th>
		<td >% de mejora</td>
	</tr>
	<tr style="background-color: #d8e6c0">
		<td >Lanzamiento</td>
		<td >04/2013</td>
		<td >09/2012</td>
		<td >-</td>
	</tr>
	<tr style="background-color: #d8e6c0">
		<td >CPU</td>
		<td >Qualcomm MSM8960T <br>Snapdragon S4 Pro</td>
		<td >Samsung Exynos 4412 Quad</td>
		<td >-</td>
	</tr>
	<tr style="background-color: #d8e6c0">
		<td >Núm. núcleos</td>
		<td bgcolor="#ff9a9a">2xKrait ARMv7</td>
		<td bgcolor="#aaf4a0">4xCortex-A9 ARMv7</td>
		<td >-</td>
	</tr>
	<tr style="background-color: #d8e6c0">
		<td >Frec. núcleos</td>
		<td >1.7</td>
		<td >1.6</td>
		<td >-</td>
	</tr>
	<tr style="background-color: #d8e6c0">
		<td >GPU</td>
		<td >Adreno 320</td>
		<td >Mali-400MP</td>
		<td >-</td>
	</tr>
	<tr style="background-color: #d8e6c0">
		<td >RAM</td>
		<td bgcolor="#ff9a9a">1 GB</td>
		<td bgcolor="#aaf4a0">2 GB</td>
		<td >-</td>
	</tr>
	<tr style="background-color: #d8e6c0">
		<th >AnTuTu benchmark</th>
		<th bgcolor="#aaf4a0" >15117</th>
		<th bgcolor="#ff9a9a" >13473</th>
		<th bgcolor="#aaf4a0">+12,20%</th>
	</tr>
	<tr style="background-color: #d8e6c0">
		<th >Quadrant Standard</th>
		<th bgcolor="#aaf4a0" >7649</th>
		<th bgcolor="#ff9a9a" >5472</th>
		<th bgcolor="#aaf4a0">+39.78</th>
	</tr>
	<tr style="background-color: #d8e6c0">
		<th >3DMark</th>
		<th bgcolor="#aaf4a0" >10236</th>
		<th bgcolor="#ff9a9a" >3346</th>
		<th bgcolor="#aaf4a0">+205.91%</th>
	</tr>
</table><p>Efectivamente, <strong>Sony Xperia SP, que sobre el papel parecía el menos potente, sale como ganador de nuestra comparativa</strong> y de una forma abrumadora con una media del 85% de mejora respecto del <em>Galaxy Note II</em> en estos tres tests. Seguro que ahora se entiende perfectamente <strong>por qué los núcleos y su frecuencia no lo son todo para un procesador</strong>.</p>
<!-- BREAK 28 -->
<h2>Especial Arquitecturas Hardware: índice</h2>
<ul>
   <li>
   <p><a class="text-outboundlink" href="https://www.xataka.com/componentes-de-pc/asi-comenzo-todo-el-origen-de-los-procesadores" data-vars-post-title="Así comenzó todo: el origen de los procesadores" data-vars-post-url="https://www.xataka.com/componentes-de-pc/asi-comenzo-todo-el-origen-de-los-procesadores">I.- Así comenzó todo: el origen de los procesadores</a></p>

  </li>
   <li>
   <p><a class="text-outboundlink" href="https://www.xataka.com/componentes-de-pc/cisc-frente-a-risc-una-batalla-en-blanco-y-negro" data-vars-post-title="CISC frente a RISC, una batalla en blanco y negro" data-vars-post-url="https://www.xataka.com/componentes-de-pc/cisc-frente-a-risc-una-batalla-en-blanco-y-negro">II.- CISC frente a RISC, una batalla en blanco y negro</a></p>

  </li>
   <li>
   <p><a class="text-outboundlink" href="https://www.xataka.com/componentes-de-pc/arm-la-navaja-suiza-de-los-procesadores-1" data-vars-post-title="ARM, la 'navaja suiza' de los procesadores" data-vars-post-url="https://www.xataka.com/componentes-de-pc/arm-la-navaja-suiza-de-los-procesadores-1">III.- ARM, la 'navaja suiza' de los procesadores</a></p>

  </li>
   <li>
   <p><a class="text-outboundlink" href="https://www.xataka.com/componentes-de-pc/arquitectura-x86-una-historia-imprescindible-de-la-informatica" data-vars-post-title="Arquitectura x86, una historia imprescindible de la informática" data-vars-post-url="https://www.xataka.com/componentes-de-pc/arquitectura-x86-una-historia-imprescindible-de-la-informatica">IV.- Arquitectura x86, una historia imprescindible de la informática</a></p>

  </li>
   <li>
   <p>V.- Por qué los núcleos y su frecuencia no lo son todo para un procesador</p>

  </li>
 </ul>
<p>Imagen de portada | <a rel="noopener, noreferrer" href="http://www.flickr.com/photos/grongar/6484241175/">Flickr de Rebecca Siegel</a> 
En Xataka | <a href="https://www.xataka.com/tag/todo-sobre-las-arquitecturas-de-pc">Todo sobre las arquitecturas de PC</a></p>
<script>
 (function() {
  window._JS_MODULES = window._JS_MODULES || {};
  var headElement = document.getElementsByTagName('head')[0];
  if (_JS_MODULES.instagram) {
   var instagramScript = document.createElement('script');
   instagramScript.src = 'https://platform.instagram.com/en_US/embeds.js';
   instagramScript.async = true;
   instagramScript.defer = true;
   headElement.appendChild(instagramScript);
  }
 })();
</script>

                    ]]>
                </description>
            </item>
                                <item>
                <title><![CDATA[Arquitectura x86, una historia imprescindible de la informática]]></title>
                <link>https://www.xataka.com/componentes/arquitectura-x86-una-historia-imprescindible-de-la-informatica</link>
                <guid>https://www.xataka.com/componentes/arquitectura-x86-una-historia-imprescindible-de-la-informatica</guid>
                <pubDate>Tue, 22 Jan 2013 10:59:18 +0000</pubDate>
                                         <dc:creator>Pablo Espeso</dc:creator>
                                       <description>
                    <![CDATA[
                              <p>
      <img src="https://i.blogs.es/ca34a9/especial-arq4-portada/1024_2000.jpg" alt="Arquitectura&#x20;x86,&#x20;una&#x20;historia&#x20;imprescindible&#x20;de&#x20;la&#x20;inform&#x00E1;tica">
    </p>
    <p>Conocer la <strong>arquitectura x86</strong> es conocer la base de los procesadores de la todavía breve historia de la informática. Se cuentan por millones los procesadores vendidos a lo largo de la historia que la implementan, y además ha sido una arquitectura que dio pié al éxito de compañías como Microsoft e Intel así como al concepto de ordenador personal. <strong>x86 es un hito tecnológico</strong> que merece la pena ser analizado y estudiado con gran profundidad.</p>
<!-- BREAK 1 -->
<p>A continuación la conoceremos a fondo, desmigaremos su historia, la situaremos en el mercado y explicaremos las características técnicas de la más notable arquitectura CISC del mercado. <strong>x86 es una de las creaciones más importantes</strong> en el mundo del hardware, y conocerla es imprescindible para comprender la historia de la informática y su estado actual. Así que pasen y lean, están todos invitados</p>
<!-- BREAK 2 --><!--more--><h2>Un poco de historia</h2>

<p><div class="caption-img"></p>
<div class="article-asset-image article-asset-normal article-asset-center">
 <div class="asset-content">
                   <img class="centro_sinmarco" height=514 width=650 loading="lazy" decoding="async" sizes="100vw" fetchpriority="high" srcset="https://i.blogs.es/956144/intel-4004/450_1000.jpg 450w, https://i.blogs.es/956144/intel-4004/650_1200.jpg 681w,https://i.blogs.es/956144/intel-4004/1024_2000.jpg 1024w, https://i.blogs.es/956144/intel-4004/1366_2000.jpg 1366w" src="https://i.blogs.es/956144/intel-4004/450_1000.jpg" alt="Intel 4004">
   <img alt="Intel 4004" class="centro_sinmarco" src="https://i.blogs.es/956144/intel-4004/450_1000.jpg">
   
      </div>
</div>
<p><span>Intel 4004</span>
</div></p>

<p>En 1971 Intel presentó el primer procesador comercial del mercado, el <a class="text-outboundlink" href="https://www.xataka.com/componentes-de-pc/intel-4004-cuarenta-anos-para-la-historia" data-vars-post-title="Intel 4004, cuarenta años para la historia" data-vars-post-url="https://www.xataka.com/componentes-de-pc/intel-4004-cuarenta-anos-para-la-historia">4004</a>. Se trataba de un modelo con bus de 4 bits y pensado para su uso en calculadoras, muy vetusto pero considerado como la primera piedra de todo lo que se presentaría en esa década. A él lo siguieron los <strong>Intel 8008 y 8080</strong> en 1972 y 1974, respectivamente, con set de instrucciones diseñado por <em>Datapoint Corporation</em> y también pensados para ser utilizados en las calculadoras más avanzadas de la época.</p>
<!-- BREAK 3 -->
<p>Tras estos modelos Intel empezó un enorme proyecto con el que buscaba reinventar el mundo de los procesadores. En 1975 inició los diseños de la <strong>arquitectura iAPX 432</strong> (<em>Intel Advanced Processor Architecture</em>) de 32 bits, con mejoras en la multitarea y la administración de memoria respecto de la familia de los <em>8000</em>, siendo una arquitectura pensada en la programación orientada a objetos y con la capacidad de administrar múltiples procesos simultáneamente. Sin embargo, viendo que la competencia preparaba sus respectivos nuevos productos (Motorola 6800, MOS 6502 o Zilog Z80) y teniendo en cuenta lo ambicioso del proyecto 432 que les obligaría a estar varios años sin presentar un nuevo producto, decidieron iniciar un nuevo trabajo que, si bien en un inicio podía ser considerado temporal, fue lo que le ha mantenido ocupados durante todas estas décadas.</p>
<!-- BREAK 4 -->
<p><div class="caption-img"></p>
<div class="article-asset-image article-asset-normal article-asset-center">
 <div class="asset-content">
                   <img class="centro_sinmarco" height=470 width=650 loading="lazy" decoding="async" sizes="100vw" fetchpriority="high" srcset="https://i.blogs.es/b110ae/intel-8086/450_1000.jpg 450w, https://i.blogs.es/b110ae/intel-8086/650_1200.jpg 681w,https://i.blogs.es/b110ae/intel-8086/1024_2000.jpg 1024w, https://i.blogs.es/b110ae/intel-8086/1366_2000.jpg 1366w" src="https://i.blogs.es/b110ae/intel-8086/450_1000.jpg" alt="Intel 8086">
   <img alt="Intel 8086" class="centro_sinmarco" src="https://i.blogs.es/b110ae/intel-8086/450_1000.jpg">
   
      </div>
</div>
<p><span>Intel 8086, 1979</span>
</div></p>

<p>En el mes de mayo de 1976 comenzaron a desarrollar un nuevo procesador que empezó a venderse un par de años más tarde, a mediados de 1978. El <strong>Intel 8086</strong> incluyó retrocompatibilidad con el software de los anteriores 8008 y 8080, utilizando transistores de 3 micras (unas 135 veces más grandes que los actuales de 22 nanómetros) y una frecuencia de hasta 4.77 MHz. Lo más importante de todo fue la introducción de un <strong>nuevo juego de instrucciones diseñado por Intel y denominado x86-16</strong>. Fue un pequeño éxito para Intel, y si bien era realmente potente para la época su precio se consideró excesivo. Uno de los puntos más curiosos del 8086 es que si bien fue un invento de Intel, otras compañías como OKI, Siemens, Fujitsu o AMD distribuyeron en el mercado clones de este modelo plenamente compatibles y que incluso en algunos aspectos mejoraban las características del original.</p>
<!-- BREAK 5 -->
<p>Unos meses más tarde, el 1 de julio de 1979 se presentó el <strong>Intel 8088</strong>, una versión más barata del 8086 con prácticamente todas sus características, y que tuvo en IBM a su principal aliado. El <strong>IBM PC 5150</strong>, considerado el primer ordenador personal ('PC') de venta masiva de la historia, utilizó el 8088 en detrimento de otros procesadores de la competencia debido a su alta disponibilidad, facilidad de programación y reducido precio. El IBM PC, que rondaba los 3.000 dólares, fue un éxito de ventas desde su lanzamiento, el 12 de agosto de 1981.</p>
<!-- BREAK 6 -->
<p>Fue entonces cuando Intel posicionó como su principal producto una nueva familia de chips: <strong>los procesadores 'x86'</strong>, definidos así por usar el mismo juego de instrucciones que, si bien ha ido evolucionando con los años, sigue utilizando muchas de las características originales.</p>
<!-- BREAK 7 -->
<p><div class="caption-img"></p>
<div class="article-asset-image article-asset-normal article-asset-center">
 <div class="asset-content">
                   <img class="centro_sinmarco" height=439 width=650 loading="lazy" decoding="async" sizes="100vw" fetchpriority="high" srcset="https://i.blogs.es/af36db/intel-80286/450_1000.jpg 450w, https://i.blogs.es/af36db/intel-80286/650_1200.jpg 681w,https://i.blogs.es/af36db/intel-80286/1024_2000.jpg 1024w, https://i.blogs.es/af36db/intel-80286/1366_2000.jpg 1366w" src="https://i.blogs.es/af36db/intel-80286/450_1000.jpg" alt="Intel 80286">
   <img alt="Intel 80286" class="centro_sinmarco" src="https://i.blogs.es/af36db/intel-80286/450_1000.jpg">
   
      </div>
</div>
<p><span>Intel 80286, 1982</span>
</div></p>

<p><strong>El 8086 es considerado el primer x86 de la historia</strong>, si bien el modelo que catapultó la fama de Intel fue el 8088. A él le sucedieron los 80186, 80286, 80386 y 80486, más conocidos como 186, 286, 386 y 486 que fueron presentados a lo largo de la década de los 80 y principios de los 90 dentro de equipos englobados bajo el concepto que fué creado en el IBM PC, el cual supuso un completo éxito. Después de los 80X86 Intel se movió a los conocidísimos Pentium, con el primer Pentium en 1993 seguido de Pentium Pro, Pentium II, Pentium III y Pentium 4. Incluso los actuales Ivy Bridge mantienen la marca 'Pentium' en alguno de sus modelos de más baja gama.</p>
<!-- BREAK 8 -->
<p><div class="caption-img"></p>
<div class="article-asset-image article-asset-normal article-asset-center">
 <div class="asset-content">
                   <img class="centro_sinmarco" height=517 width=650 loading="lazy" decoding="async" sizes="100vw" fetchpriority="high" srcset="https://i.blogs.es/7686b8/intel-pentium/450_1000.jpg 450w, https://i.blogs.es/7686b8/intel-pentium/650_1200.jpg 681w,https://i.blogs.es/7686b8/intel-pentium/1024_2000.jpg 1024w, https://i.blogs.es/7686b8/intel-pentium/1366_2000.jpg 1366w" src="https://i.blogs.es/7686b8/intel-pentium/450_1000.jpg" alt="Intel Pentium">
   <img alt="Intel Pentium" class="centro_sinmarco" src="https://i.blogs.es/7686b8/intel-pentium/450_1000.jpg">
   
      </div>
</div>
<p><span>Intel Pentium, 1992</span>
</div></p>

<p>Por su parte, aquella <strong>arquitectura iAPX 432</strong> que tantas expectativas generó en su gestación fue finalmente presentada en 1981, pero defraudó enormemente a los usuarios quienes consideraron que ofrecía un rendimiento muy por debajo de lo esperado. Intel la abandonó pocos meses después de presentarla al público.</p>
<!-- BREAK 9 -->
<p>Desde el primer x86 allá por los años setenta, Intel ha sido la encargada de mover la batuta de la que es considerada la <strong>principal arquitectura CISC de la historia</strong>, si bien no es la única: Motorola, DEC y sobre todo IBM han presentado <a class="text-outboundlink" href="https://www.xataka.com/componentes-de-pc/cisc-frente-a-risc-una-batalla-en-blanco-y-negro" data-vars-post-title="CISC frente a RISC, una batalla en blanco y negro" data-vars-post-url="https://www.xataka.com/componentes-de-pc/cisc-frente-a-risc-una-batalla-en-blanco-y-negro">procesadores CISC</a> a lo largo de la historia. Sus principales características las describiremos más adelante, pero antes nos pararemos a hablar sobre un tema importante: las <strong>licencias x86</strong>.</p>
<!-- BREAK 10 -->
<h2>x86 y las licencias</h2>

<p>Comentábamos en <a class="text-outboundlink" href="https://www.xataka.com/componentes-de-pc/arm-la-navaja-suiza-de-los-procesadores-1" data-vars-post-title="ARM, la 'navaja suiza' de los procesadores" data-vars-post-url="https://www.xataka.com/componentes-de-pc/arm-la-navaja-suiza-de-los-procesadores-1">el anterior artículo</a> de esta serie que ARM diseña sus arquitecturas y vende esta propiedad intelectual a otras compañías, encargadas de tomar esos diseños, modificarlos si fuese necesario y luego ordenar la fabricación del procesador final. <strong>Intel</strong> toma un doble papel de diseñador y fabricante de sus procesadores, ya que <strong>también vende las licencias</strong> a otros fabricantes. </p>
<!-- BREAK 11 -->
<p>El ejemplo más claro de compañía a la que Intel le licencia a arquitectura x86 lo encontramos en <strong>AMD</strong>, quien desde hace varias décadas acuerda con Intel un contrato tal que le permite fabricar chips con el mismo juego de instrucciones, de forma que son plenamente compatibles en software aunque utilizan hardware diferente. En la actualidad <strong>sólo AMD y VIA tienen licencias x86</strong> proporcionadas por Intel, además de lógicamente ella misma. Las cuotas de mercado hablan por si mismas:</p>
<!-- BREAK 12 -->
<p><div class="caption-img"></p>
<div class="article-asset-image article-asset-normal article-asset-center">
 <div class="asset-content">
                   <img class="centro_sinmarco" height=400 width=650 loading="lazy" decoding="async" sizes="100vw" fetchpriority="high" srcset="https://i.blogs.es/1e44fe/licencias-x86-diagrama/450_1000.jpg 450w, https://i.blogs.es/1e44fe/licencias-x86-diagrama/650_1200.jpg 681w,https://i.blogs.es/1e44fe/licencias-x86-diagrama/1024_2000.jpg 1024w, https://i.blogs.es/1e44fe/licencias-x86-diagrama/1366_2000.jpg 1366w" src="https://i.blogs.es/1e44fe/licencias-x86-diagrama/450_1000.jpg" alt="Diagrama de porcentajes de licencias x86">
   <img alt="Diagrama de porcentajes de licencias x86" class="centro_sinmarco" src="https://i.blogs.es/1e44fe/licencias-x86-diagrama/450_1000.jpg">
   
      </div>
</div>
<p><span>Diagrama de porcentajes de licencias x86 (<a rel="noopener, noreferrer" href="http://uk.hardware.info/news/31324/amds-market-share-drops-to-below-17-percent">vía Hardware.info</a>)</span>
</div></p>

<h2>Intel X86 y sus principales características</h2>

<p>La larga experiencia de la compañía ha repercutido en <strong>múltiples y notables cambios</strong> en muchos aspectos, que van desde la mejora en el tamaño de los buses de datos (16, 32 y ahora 64 bits) a múltiples nuevas instrucciones añadidas que han ido adaptándose a los nuevos usos de la tecnología</p>
<!-- BREAK 13 -->
<p>Por ejemplo el 8086 no disponía de operaciones en coma flotante, pera lo cual Intel creó un <strong>coprocesador matemático</strong> que realizase estas operaciones: fue una pequeña extensión sobre x86 denominada <strong>x87</strong> y lanzada al mercado bajo los nombres 8087, 80187, 80287, 80387, 80487 y la última 80587, ya a mediados de los 90. Se trataba de procesadores independientes que proporcionaban un extra de rendimiento en cierto software, pero que a la vez suponían un coste adicional respecto del equipo original que tampoco era considerado muy barato. Desde hace un par de décadas todos los procesadores x86 comerciales incluyen instrucciones para operar en coma flotante, con lo que no es necesario un coprocesador adicional salvo en ciertos usos muy concretos en los que se requiere de una gran potencia de cálculo, por ejemplo con sistemas como <a href="https://www.xataka.com/tag/NVidia-Tesla">NVidia Tesla</a>.</p>
<!-- BREAK 14 -->
<p><div class="caption-img"></p>
<div class="article-asset-image article-asset-normal article-asset-center">
 <div class="asset-content">
                   <img class="centro_sinmarco" height=520 width=650 loading="lazy" decoding="async" sizes="100vw" fetchpriority="high" srcset="https://i.blogs.es/0a83ba/diag-bloques-intel-8086/450_1000.jpg 450w, https://i.blogs.es/0a83ba/diag-bloques-intel-8086/650_1200.jpg 681w,https://i.blogs.es/0a83ba/diag-bloques-intel-8086/1024_2000.jpg 1024w, https://i.blogs.es/0a83ba/diag-bloques-intel-8086/1366_2000.jpg 1366w" src="https://i.blogs.es/0a83ba/diag-bloques-intel-8086/450_1000.jpg" alt="Intel 8086 block diagram">
   <img alt="Intel 8086 block diagram" class="centro_sinmarco" src="https://i.blogs.es/0a83ba/diag-bloques-intel-8086/450_1000.jpg">
   
      </div>
</div>
<p><span>Diagrama esquemático del Intel 8086 (<a rel="noopener, noreferrer" href="http://en.wikipedia.org/wiki/File:Intel_8086_block_scheme.svg">vía Wikipedia</a>)</span>
</div></p>

<p>x86 también ha ido incluyendo <strong>nuevos sets de instrucciones y mayores registros</strong> para afrontar todo tipo de tareas. <strong>MMX</strong>, que añadió los registros utilizados en la arquitectura x87, ha sido uno de los más conocidos y fue incluido en un conjunto de modelos basados en los Pentium y lanzados en 1996, si bien hay muchos más: <em>SSE</em> (Streaming SIMD Extensions en sus versiones SSE, SSE2, SSE3, SSSE3 y SSE4; introdujo múltiples instrucciones para operar con datos en coma flotante, enteros o posiciones de memoria), <em>3DNow!</em> (una evolución sobre MMX, también para aplicación gráfica) o <em>AES</em> (más reciente, para cifrado de la información). En Wikipedia puede consultarse <a rel="noopener, noreferrer" href="http://en.wikipedia.org/wiki/X86_instruction_listings">un breve resúmen de las instrucciones disponibles</a>, si bien la documentación más completa <a rel="noopener, noreferrer" href="http://www.intel.es/content/www/us/en/processors/architectures-software-developer-manuals.html">la proporciona la propia Intel</a> y se compone de unos cuantos miles de páginas.</p>
<!-- BREAK 15 -->
<p>Si echáis un vistazo a ese par de enlaces veréis que en x86 dispondremos de <strong>cientos de instrucciones</strong>, muchas de ellas complejas que podrían subdividirse en varias instrucciones más pequeñas. Sin embargo la <strong>filosofía de CISC</strong> es precisamente esa: proporcionar un amplio conjunto de instrucciones que pueden abarcar múltiples tareas más simples. El algoritmo del huevo frito de <a class="text-outboundlink" href="https://www.xataka.com/componentes-de-pc/asi-comenzo-todo-el-origen-de-los-procesadores" data-vars-post-title="Así comenzó todo: el origen de los procesadores" data-vars-post-url="https://www.xataka.com/componentes-de-pc/asi-comenzo-todo-el-origen-de-los-procesadores">nuestra primera entrada introductoria</a> era el siguiente:</p>
<!-- BREAK 16 --><ul>
   <li>
   <p><code>Paso 1: Poner la sartén en la vitrocerámica</code></p>

  </li>
   <li>
   <p><code>Paso 2: Echar aceite</code></p>

  </li>
   <li>
   <p><code>Paso 3: Calentar el aceite</code></p>

  </li>
   <li>
   <p><code>Paso 4: Esperar a que esté caliente</code></p>

  </li>
   <li>
   <p><code>Paso 5: Cascar el huevo</code></p>

  </li>
   <li>
   <p><code>Paso 6: Verterlo con cuidado sobre el aceite caliente</code></p>

  </li>
   <li>
   <p><code>Paso 7: Con la ayuda de una paleta, echar el aceite por encima del huevo</code></p>

  </li>
   <li>
   <p><code>Paso 8: Comprobar que el huevo ya está cocinado y, en ese caso, sacarlo a un plato</code></p>

  </li>
 </ul>
<p>Supongamos que cada uno de esos 'pasos' puede ejecutarse en un procesador Intel 8088. Sin embargo, jugando a ser Intel procedemos a lanzar el Pentium MMX con nuevas instrucciones entre las que se encuentran dos nuevas: <code>[Echar y calentar el aceite]</code> y <code>[Cascar el huevo y verterlo con cuidado sobre el aceite caliente]</code>, ambas más complejas que las anteriores. Si las utilizásemos en nuestro algoritmo el resultado sería el siguiente:</p>
<!-- BREAK 17 --><ul>
   <li>
   <p><code>Paso 1: Poner la sartén en la vitrocerámica</code></p>

  </li>
   <li>
   <p><code>Paso 2: Echar y calentar el aceite</code></p>

  </li>
   <li>
   <p><code>Paso 4: Esperar a que esté caliente</code></p>

  </li>
   <li>
   <p><code>Paso 5: Cascar el huevo y verterlo con cuidado sobre el aceite caliente</code></p>

  </li>
   <li>
   <p><code>Paso 7: Con la ayuda de una paleta, echar el aceite por encima del huevo</code></p>

  </li>
   <li>
   <p><code>Paso 8: Comprobar que el huevo ya está cocinado y, en ese caso, sacarlo a un plato</code></p>

  </li>
 </ul>
<p>Unos años más tarde estamos diseñando <em>Pentium 4</em> y decidimos probar con una nueva instruccion, <code>[Echar y calentar el aceite hasta que alcance su temperatura óptima]</code>, con lo que podríamos volver a modificar el algoritmo:</p>
<!-- BREAK 18 --><ul>
   <li>
   <p><code>Paso 1: Poner la sartén en la vitrocerámica</code></p>

  </li>
   <li>
   <p><code>Paso 2: Echar y calentar el aceite hasta que alcance su temperatura óptima</code></p>

  </li>
   <li>
   <p><code>Paso 5: Cascar el huevo y verterlo con cuidado sobre el aceite caliente</code></p>

  </li>
   <li>
   <p><code>Paso 7: Con la ayuda de una paleta, echar el aceite por encima del huevo</code></p>

  </li>
   <li>
   <p><code>Paso 8: Comprobar que el huevo ya está cocinado y, en ese caso, sacarlo a un plato</code></p>

  </li>
 </ul>
<p>Podríamos continuar añadiendo nuevas instrucciones cada vez más complejas para completar nuestra tarea, minimizando el número de <code>pasos</code> pero siendo estos cada vez más complejos. Incluso llevando la filosofía al extremo, si vemos que nuestros usuarios/clientes hacen muchos huevos fritos en sus desarrollos podríamos implementar una única instrucción:</p>
<!-- BREAK 19 --><ul>
   <li>
   <p><code>Paso 0: Hacer un huevo frito</code></p>

  </li>
 </ul>
<p>Que sería la más compleja de todas.</p>

<p>Otro aspecto fundamental de los <strong>procesadores x86 es su rendimiento</strong>. A lo largo de la historia ha demostrado ser una <strong>arquitectura muy potente</strong>, pero esto tiene su contrapartida: son un conjunto de procesadores que <strong>consumen más energía</strong> que los modelos ARM.</p>
<!-- BREAK 20 -->
<h2>Arquitectura x86, conclusiones</h2>

<p>Terminamos este capítulo de nuestro especial de arquitecturas con algunas <strong>conclusiones finales sobre x86</strong>, una de las más importantes de la historia.</p>

<p><strong>El rendimiento de x86 ha crecido sustancialmente con cada nueva generación</strong> de procesadores. Intel, como gran creadora de la arquitectura ha ido adaptándola a los nuevos usos por parte de los usuarios, añadiendo no sólo nuevas instrucciones sino también nuevos chips. Lo último ha sido introducir una unidad de procesamiento gráfico junto a la CPU, lo cual permite abaratar costes y ofrecer un conjunto que si bien no es excesivamente potente en el procesamiento de imágenes, sí es suficiente para muchos usuarios.</p>
<!-- BREAK 21 --><div class="article-asset-image article-asset-normal article-asset-center">
 <div class="asset-content">
                   <img class="centro_sinmarco" height=430 width=650 loading="lazy" decoding="async" sizes="100vw" fetchpriority="high" srcset="https://i.blogs.es/75248e/intel-logo/450_1000.jpg 450w, https://i.blogs.es/75248e/intel-logo/650_1200.jpg 681w,https://i.blogs.es/75248e/intel-logo/1024_2000.jpg 1024w, https://i.blogs.es/75248e/intel-logo/1366_2000.jpg 1366w" src="https://i.blogs.es/75248e/intel-logo/450_1000.jpg" alt="Intel logo">
   <img alt="Intel logo" class="centro_sinmarco" src="https://i.blogs.es/75248e/intel-logo/450_1000.jpg">
   
      </div>
</div>
<p>El <strong>futuro de la arquitectura x86</strong> mezclará su negocio tradicional en equipos de sobremesa y portátiles junto a esa nueva categoría de dispositivos 'portátiles', móviles y tabletas principalmente. Intel ya ha introducido su tecnología en algunos dispositivos con unos remodelados <a class="text-outboundlink" href="https://www.xataka.com/tablets/intel-atom-z2760-a-fondo" data-vars-post-title="Intel Atom Z2760, a fondo" data-vars-post-url="https://www.xataka.com/tablets/intel-atom-z2760-a-fondo">Intel Atom de bajo consumo</a>, y a lo largo de este año está confirmado su uso en muchos otros gadgets de diversas marcas.</p>
<!-- BREAK 22 -->
<p>Por otro lado, <strong>el gran rival de x86 es ARM</strong>, una arquitectura cuyo crecimiento en los últimos años está siendo importantísimo al conseguir introducirse en dispositivos pequeños, eficientes y con un precio generalmente más atractivo, que seducen a muchos usuarios. No cabe duda de que <strong>Intel continuará evolucionando su principal arquitectura</strong> hacia los nuevos usos de la tecnología y que seguiremos hablando de ella durante muchos años más.</p>
<!-- BREAK 23 -->
<h2>Especial Arquitecturas Hardware: índice</h2>
<ul>
   <li>
   <p><a class="text-outboundlink" href="https://www.xataka.com/componentes-de-pc/asi-comenzo-todo-el-origen-de-los-procesadores" data-vars-post-title="Así comenzó todo: el origen de los procesadores" data-vars-post-url="https://www.xataka.com/componentes-de-pc/asi-comenzo-todo-el-origen-de-los-procesadores">I.- Así comenzó todo: el origen de los procesadores</a></p>

  </li>
   <li>
   <p><a class="text-outboundlink" href="https://www.xataka.com/componentes-de-pc/cisc-frente-a-risc-una-batalla-en-blanco-y-negro" data-vars-post-title="CISC frente a RISC, una batalla en blanco y negro" data-vars-post-url="https://www.xataka.com/componentes-de-pc/cisc-frente-a-risc-una-batalla-en-blanco-y-negro">II.- CISC frente a RISC, una batalla en blanco y negro</a></p>

  </li>
   <li>
   <p><a class="text-outboundlink" href="https://www.xataka.com/componentes-de-pc/arm-la-navaja-suiza-de-los-procesadores-1" data-vars-post-title="ARM, la 'navaja suiza' de los procesadores" data-vars-post-url="https://www.xataka.com/componentes-de-pc/arm-la-navaja-suiza-de-los-procesadores-1">III.- ARM, la 'navaja suiza' de los procesadores</a></p>

  </li>
   <li>
   <p>IV.- Arquitectura x86, una historia imprescindible de la informática</p>

  </li>
 </ul>
<p>En Xataka | <a href="www.xataka.com/tag/todo-sobre-las-arquitecturas-de-pc">Todo sobre las arquitecturas de PC</a></p>
<script>
 (function() {
  window._JS_MODULES = window._JS_MODULES || {};
  var headElement = document.getElementsByTagName('head')[0];
  if (_JS_MODULES.instagram) {
   var instagramScript = document.createElement('script');
   instagramScript.src = 'https://platform.instagram.com/en_US/embeds.js';
   instagramScript.async = true;
   instagramScript.defer = true;
   headElement.appendChild(instagramScript);
  }
 })();
</script>

                    ]]>
                </description>
            </item>
                                <item>
                <title><![CDATA[ARM, la 'navaja suiza' de los procesadores]]></title>
                <link>https://www.xataka.com/componentes/arm-la-navaja-suiza-de-los-procesadores-1</link>
                <guid>https://www.xataka.com/componentes/arm-la-navaja-suiza-de-los-procesadores-1</guid>
                <pubDate>Mon, 24 Dec 2012 09:01:55 +0000</pubDate>
                                         <dc:creator>Pablo Espeso</dc:creator>
                                       <description>
                    <![CDATA[
                              <p>
      <img src="https://i.blogs.es/a06b00/arq-3-port-ns-b2/1024_2000.jpg" alt="ARM,&#x20;la&#x20;&#x27;navaja&#x20;suiza&#x27;&#x20;de&#x20;los&#x20;procesadores">
    </p>
    <p>Tras hablar sobre <a class="text-outboundlink" href="https://www.xataka.com/componentes-de-pc/cisc-frente-a-risc-una-batalla-en-blanco-y-negro" data-vars-post-title="CISC frente a RISC, una batalla en blanco y negro" data-vars-post-url="https://www.xataka.com/componentes-de-pc/cisc-frente-a-risc-una-batalla-en-blanco-y-negro">enfoques RISC y CISC</a>, hoy nos adentraremos en un caso más concreto. Hablaremos de <strong>ARM</strong>, una arquitectura pero también una empresa diseñadora con una dilatada experiencia y una interesante historia que empieza en Reino Unido en los años setenta.</p>
<!-- BREAK 1 -->
<p><strong>ARM</strong> es una arquitectura que ha tenido un enorme crecimiento en los últimos años, si bien su nacimiento se remonta tres décadas en el pasado de la mano de Acorn Computers Ltd., una empresa ya extinta, y con quien colaboran compañías históricas de gran importancia en el mercado actual.</p>
<!-- BREAK 2 --><!--more--><h2>Un poco de historia</h2>

<p>En 1980, la <strong>BBC</strong> (<em>British Broadcasting Corporation</em>) se interesó en crear la <strong>Computer Literacy Project</strong>, una serie educativa en la que querían proponer ejercicios y tareas de programación, sonido o gráficos que deberían completarse con un computador. Para ello inició un concurso mediante el cual buscaban una empresa británica que les diseñase un equipo a medida, con una serie de requisitos tales como un bajo precio pero a la vez múltiples funcionalidades y posibilidades.</p>
<!-- BREAK 3 --><div class="article-asset-video">
 <div class="asset-content">
  <div class="base-asset-video">
   <iframe width="650" height="405" src="https://www.youtube.com/embed/gIxCVcYRCRQ" allowfullscreen></iframe>
  </div>
 </div>
</div>
<p><strong>Acorn Computers Ltd.</strong>, fundada por <em>Hermann Hauser</em> y <em>Chris Curry</em> y afincada en Cambridge, ya había presentado en marzo de 1979 el <em>Acorn System 1</em> tan solo un año después de su fundación, y vio en el concurso de la BBC una interesante oportunidad. A principios de 1980 presentaron al concurso el <strong>Acorn Proton</strong>.</p>
<!-- BREAK 4 -->
<p><div class="caption-img"></p>
<div class="article-asset-image article-asset-normal article-asset-center">
 <div class="asset-content">
                   <img class="centro_sinmarco" height=358 width=650 loading="lazy" decoding="async" sizes="100vw" fetchpriority="high" srcset="https://i.blogs.es/2cea2f/acorn-atom/450_1000.jpg 450w, https://i.blogs.es/2cea2f/acorn-atom/650_1200.jpg 681w,https://i.blogs.es/2cea2f/acorn-atom/1024_2000.jpg 1024w, https://i.blogs.es/2cea2f/acorn-atom/1366_2000.jpg 1366w" src="https://i.blogs.es/2cea2f/acorn-atom/450_1000.jpg" alt="Acorn Atom">
   <img alt="Acorn Atom" class="centro_sinmarco" src="https://i.blogs.es/2cea2f/acorn-atom/450_1000.jpg">
   
      </div>
</div>
<p><span>Acorn Atom, 1980</span>
</div></p>

<p>Se trataba de una evolución respecto de su predecesor, el <em>Acorn Atom</em>: un ordenador destinado al mercado doméstico y puesto a la venta en 1980, con un procesador MOS 6502 a 1 MHz., 2 KB de memoria RAM y 8 de ROM, en ambos casos ampliables hasta los 12 KB. Incluso disponía de periféricos como lector de cintas, el almacenamiento más común de la época. En el Acorn Proton también estábamos ante un procesador MOS 6502 pero a 2 MHz., además de mayor cantidad de memoria RAM (16 KB) y un mayor número de periféricos asociados, como acceso a cintas, redes o incluso impresora.</p>
<!-- BREAK 5 -->
<p>El <strong>Acorn Proton</strong> luchó contra otros diseños de compañías como Sinclair o Dragon y salió vencedor por a su alta potencia - especialmente en el apartado gráfico - y reducido precio: unas 235 libras. En abril de 1981 la BBC llegó a un acuerdo con Acorn para que fabricasen 12.000 unidades del <em>Proton</em> de cara a la primavera de 1982, cuando el <em>Computer Literacy Project</em> iniciaría su andadura en televisión. Fue entonces cuando se modificó el nombre y el <em>Acorn Proton</em> pasó a denominarse <strong>BBC Micro</strong>.</p>
<!-- BREAK 6 -->
<p><div class="caption-img"></p>
<div class="article-asset-image article-asset-normal article-asset-center">
 <div class="asset-content">
                   <img class="centro_sinmarco" height=463 width=650 loading="lazy" decoding="async" sizes="100vw" fetchpriority="high" srcset="https://i.blogs.es/ba6a1a/bbc-micro/450_1000.jpg 450w, https://i.blogs.es/ba6a1a/bbc-micro/650_1200.jpg 681w,https://i.blogs.es/ba6a1a/bbc-micro/1024_2000.jpg 1024w, https://i.blogs.es/ba6a1a/bbc-micro/1366_2000.jpg 1366w" src="https://i.blogs.es/ba6a1a/bbc-micro/450_1000.jpg" alt="BBC Micro">
   <img alt="BBC Micro" class="centro_sinmarco" src="https://i.blogs.es/ba6a1a/bbc-micro/450_1000.jpg">
   
      </div>
</div>
<p><span>British Broadcasting Corporation Micro, 1982, con enorme parecido al Atom</span>
</div></p>

<p>La BBC supo mover su proyecto y el <strong>BBC Micro fue un completo éxito</strong>. Acorn vendió 24.000 unidades en 1982 que ascendieron hasta el millón en toda la vida del Micro, desde su lanzamiento hasta el año 1994 en el que se retiró del mercado. Éxito para la BBC y mucho dinero para Acorn, una compañía que a pesar de tener unos pocos años de vida logró introducirse en el mercado de los computadores domésticos de una forma realmente veloz.</p>
<!-- BREAK 7 -->
<p>Tras el BBC Micro, Acorn empezó a plantear nuevos desarrollos en los años posteriores. Diseñó nuevo hardware para competir contra los equipos domésticos de la época de compañías de renombre como Amstrad, Sinclair o Apple, y a la vez intentó entrar en el mercado profesional con chips de alto rendimiento basados en el enfoque RISC.</p>
<!-- BREAK 8 -->
<p>En 1983, Acorn inició el diseño de lo que un par de años más tarde fue <strong>Acorn RISC Machine, ARM</strong>, y que tuvo en el <strong>ARM1</strong> su primer chip final pero aún no comercial. Acorn mandó su fabricación a <em>VLSI Technology, Inc.</em>, que lo fabricó a partir del 26 de abril de 1985 en pocas unidades que fueron únicamente utilizadas por la propia Acorn de forma interna, para diseñar una segunda versión ya pública: <strong>ARM2</strong>.</p>
<!-- BREAK 9 -->
<p><strong>ARM2 era el núcleo de un coprocesador matemático</strong> de apoyo a la CPU que empezó a utilizarse en el BBC Micro, gracias a su alta escalabilidad, y que posteriormente también llegó al mercado con una versión compatible con los <em>IBM PC</em> de la época. Ofrecía un rendimiento de unos 4 MIPS (millones de instrucciones por segundo) funcionando a 8 MHz., con un consumo de 0.1 vatios y el uso de unos 30.000 transistores (por unos 68.000 del competidor Motorola 68000).</p>
<!-- BREAK 10 -->
<p>En este período en el que se desarrollaron los ARM1 y ARM2, Acorn tuvo serios problemas económicos. En 1983 presentó el <strong>Acorn Electron</strong>, una versión mejorada del <em>BBC Micro</em> que compitió contra los míticos Commodore 64 y Sinclair ZX Spectrum de la época. Sufrieron problemas de fabricación del equipo (ordenaron 300.000 unidades pero el fabricante sólo pudo crear 30.000) que llevaron a los usuarios a adquirir los productos de Commodore y Sinclair en una campaña tan importante como la de la Navidad, en este caso del año 1984. El stock llegó unos meses más tarde y Acorn acumuló 250.000 unidades del Electron sin vender. La herida estaba hecha e incluso Acorn llegó a un acuerdo con Olivetti para que comprase algunas participaciones.</p>
<!-- BREAK 11 -->
<p><div class="caption-img"></p>
<div class="article-asset-image article-asset-normal article-asset-center">
 <div class="asset-content">
                   <img class="centro_sinmarco" height=410 width=650 loading="lazy" decoding="async" sizes="100vw" fetchpriority="high" srcset="https://i.blogs.es/6e86e6/bbc-master/450_1000.jpg 450w, https://i.blogs.es/6e86e6/bbc-master/650_1200.jpg 681w,https://i.blogs.es/6e86e6/bbc-master/1024_2000.jpg 1024w, https://i.blogs.es/6e86e6/bbc-master/1366_2000.jpg 1366w" src="https://i.blogs.es/6e86e6/bbc-master/450_1000.jpg" alt="BBC Master">
   <img alt="BBC Master" class="centro_sinmarco" src="https://i.blogs.es/6e86e6/bbc-master/450_1000.jpg">
   
      </div>
</div>
<p><span>British Broadcasting Corporation Master, 1986 (<a rel="noopener, noreferrer" href="http://en.wikipedia.org/wiki/File:Acorn_BBC_Master_Series.jpg">vía Wikipedia</a>)</span>
</div></p>

<p>A pesar de ello, Acorn continuó fabricando nuevos ordenadores de uso tanto doméstico como profesional, como lo fueron los BBC Master (1986) y <a class="text-outboundlink" href="https://www.xataka.com/ordenadores/acorn-archimedes-especial-ordenadores-desconocidos" data-vars-post-title="Acorn Archimedes: especial ordenadores desconocidos" data-vars-post-url="https://www.xataka.com/ordenadores/acorn-archimedes-especial-ordenadores-desconocidos">Acorn Archimedes</a> (1987). Se trata de dos equipos que utilizaron la tecnología ARM, el primero en forma de coprocesador y el segundo como procesador central, con precios bastante altos (499 y desde 800 libras, respectivamente) y que no funcionaron del todo mal en el mercado, principalmente en el entorno académico (colegios y universidades). El <strong>Acorn Archimedes</strong> es especialmente importante ya que fue el primer ordenador doméstico del mercado en utilizar la arquitectura ARM y un sistema operativo propio: <em>Arthur OS</em>, desarrollado por <em>Castle Technology Limited</em> y que más adelante pasó llamarse <em>ARM OS</em>.</p>
<!-- BREAK 12 -->
<p><div class="caption-img"></p>
<div class="article-asset-image article-asset-normal article-asset-center">
 <div class="asset-content">
                   <img class="centro_sinmarco" height=349 width=613 loading="lazy" decoding="async" sizes="100vw" fetchpriority="high" srcset="https://i.blogs.es/be6d0b/acorn-archimedes/450_1000.jpg 450w, https://i.blogs.es/be6d0b/acorn-archimedes/650_1200.jpg 681w,https://i.blogs.es/be6d0b/acorn-archimedes/1024_2000.jpg 1024w, https://i.blogs.es/be6d0b/acorn-archimedes/1366_2000.jpg 1366w" src="https://i.blogs.es/be6d0b/acorn-archimedes/450_1000.jpg" alt="Acorn Archimedes">
   <img alt="Acorn Archimedes" class="centro_sinmarco" src="https://i.blogs.es/be6d0b/acorn-archimedes/450_1000.jpg">
   
      </div>
</div>
<p><span>Acorn Archimedes, 1987</span>
</div></p>

<h2>El nacimiento de ARM junto a Apple y el fin de Acorn Computers</h2>

<p>En la recta final de los ochenta Acorn se encontraba evolucionando su tecnología, presentando las arquitecturas ARMv2 y preparando la ARMv3. Fue entonces cuando <strong>Apple se interesó en colaborar con Acorn</strong> para diseñar un nuevo procesador para un dispositivo que se presentaría unos años más tarde, en 1993: la <strong>Apple Newton</strong>, el primer dispositivo en la historia en ser considerado PDA (<em>personal digital assistant</em>). En esos años terminó el diseño de la arquitectura ARMv3 y se presentó la familia de <strong>procesadores ARM6</strong>, compuesta por tres modelos: ARM60, ARM600 y ARM610, este último utilizado en la primera <em>Newton MessagePad 100</em>. Pero también algo muy importante: debido a la alta carga de trabajo, Acorn creó junto a Apple y VLSI Technology una compañía que se encargase exclusivamente del diseño de ARM. <strong>En noviembre de 1990 nació Advanced RISC Machines Ltd</strong>, que ya en el año 1998 con su salida se transformó en la actual <strong>ARM Holdings</strong>.</p>
<!-- BREAK 13 -->
<p>En sus primeros años de vida <strong>ARM creció</strong> de forma muy notable y licenció sus productos a múltiples compañías como Intel (que presentó los primeros XScale basados en la arquitectura ARMv5; <a class="text-outboundlink" href="https://www.xataka.com/otros/intel-vende-su-division-de-procesadores-xscale" data-vars-post-title="Intel vende su división de procesadores XScale" data-vars-post-url="https://www.xataka.com/otros/intel-vende-su-division-de-procesadores-xscale">el 27 de junio de 2006 vendió el negocio a Marvell</a>) o IBM. En la actualidad son varias decenas las empresas que crean o han creado procesadores ARM, muchas de ellas de primera línea en el panorama tecnológico: las propias Intel, IBM o Apple (quien <a rel="noopener, noreferrer" href="http://news.cnet.com/Short-Take-Apple-sells-ARM-shares/2110-1001_3-221149.html">vendió parte de sus participaciones</a> de <em>ARM Ltd.</em> en 1999 por unos 59 millones de dólares), pero también Broadcom, Huawei, LGDEC, Qualcomm, AMD, RIM, Samsung, Panasonic, Sony o Texas Instruments, entre muchos otros.</p>
<!-- BREAK 14 -->
<p>Por su parte, <strong>Acorn Computers</strong> inició a principios de los 90 un descenso en caída libre sin visos de detenerse. Tras modificar su estructura organizativa, Acorn quiso introducirse en el mercado de los primeros sistemas de televisión bajo demanda, continuó en el mercado educativo y mantuvo la colaboración con la BBC así como sus desarrollos de estaciones de trabajo para el mercado más profesional. Las cosas no funcionaron como en la anterior década, Olivetti vendió sus participaciones a <em>Lehman Brothers</em> en 1996 y todo se mantuvo con pérdidas cada vez mayores. En enero de 1999 cambiaron el nombre a <strong>Element 14</strong> y en mayo iniciaron las conversaciones con <em>MSDW Investment Holdings Limited</em>, una filial de <em>Morgan Stanley</em>, para la venta de la compañía. El acuerdo finalizó en junio del mismo año, cuando <strong>se vendió Element 14 por 270 millones de libras</strong>.</p>
<!-- BREAK 15 -->
<p><div class="caption-img"> </p>
<div class="article-asset-image article-asset-normal article-asset-center">
 <div class="asset-content">
                   <img class="centro_sinmarco" height=550 width=650 loading="lazy" decoding="async" sizes="100vw" fetchpriority="high" srcset="https://i.blogs.es/b9b98d/acorn-phoebe/450_1000.jpg 450w, https://i.blogs.es/b9b98d/acorn-phoebe/650_1200.jpg 681w,https://i.blogs.es/b9b98d/acorn-phoebe/1024_2000.jpg 1024w, https://i.blogs.es/b9b98d/acorn-phoebe/1366_2000.jpg 1366w" src="https://i.blogs.es/b9b98d/acorn-phoebe/450_1000.jpg" alt="Acorn Phoebe">
   <img alt="Acorn Phoebe" class="centro_sinmarco" src="https://i.blogs.es/b9b98d/acorn-phoebe/450_1000.jpg">
   
      </div>
</div>
<p><span>Un prototipo del Acorn Phoebe, 1998, uno de sus últimos equipos que ni siquiera llegó a comercializarse (<a rel="noopener, noreferrer" href="http://en.wikipedia.org/wiki/File:Acorn-Phoebe-Case.jpg">vía Wikipedia</a>)</span> </div></p>

<p>Tras ello, Morgan Stanley jugó con <em>Element 14</em> y terminó vendiéndola como una empresa de fabricación de DSL a Broadcom. Poco después, <strong>en noviembre de 2000, Element 14 pasó a formar parte del negocio de Broadcom como sucursal encargada del diseño de routers DSL, y tras ello desapareció del mercado</strong>.</p>
<!-- BREAK 16 -->
<h2>ARM, la arquitectura RISC más importante de la historia</h2>

<p>Cuando en la anterior entrada hablábamos de <strong>RISC</strong>, mencionábamos que tenía a ARM como su principal representante en el mercado actual. Es cierto que existen otras arquitecturas con el mismo enfoque, como lo son los IBM PowerPC o las MIPS32 y MIPS64 de <em>MIPS Technologies</em>, pero su uso es mucho menor que en el caso de nuestra principal protagonista.</p>
<!-- BREAK 17 -->
<p>ARM nació como una arquitectura para uso en ordenadores y dispositivos de bolsillo, con aquella primera Newton de Apple como primer gran dispositivo en movilidad. En la actualidad se ha ampliado enormemente los dispositivos en los que se integra: se utilizan en teléfonos y tabletas, por supuesto, en reproductores y grabadores de vídeo (DVD, Blu-Ray, etc.), videoconsolas portátiles o incluso en modems y routers de comunicación. Pero también en televisores, frigoríficos, lavadoras o lavavajillas, en teléfonos DECT o en coches (por eso ahora <a class="text-outboundlink" href="https://www.xataka.com/gadgets-y-coches/tu-nuevo-ford-se-conduce-el-solo-en-los-atascos-y-lo-hemos-probado-en-alemania" data-vars-post-title="El próximo Ford se conduce él solo en los atascos (y lo hemos probado en Alemania)" data-vars-post-url="https://www.xataka.com/gadgets-y-coches/tu-nuevo-ford-se-conduce-el-solo-en-los-atascos-y-lo-hemos-probado-en-alemania">incluyen tantas funciones</a>). Los aspiradores robot e incluso juguetes como Lego Mindstorms NXT utilizan un procesador ARM.</p>
<!-- BREAK 18 -->
<p>Hay otro uso algo desconocido pero también bastante convencional: <strong>el uso de chips ARM en microcontroladores</strong> de gestión de otros dispositivos, como por ejemplo un disco duro tradicional o un SSD. En el segundo caso, cuando nos referimos al controlador incluído (por ejemplo SandForce) nos referimos a un chip que integra un procesador basado en ARM que es el encargado de gestionar las posiciones libres y ocupadas de memoria, de ejecutar TRIM y, más en general, de organizar y administrar la estructura interna del almacenamiento.</p>
<!-- BREAK 19 -->
<p><div class="caption-img"></p>
<div class="article-asset-image article-asset-normal article-asset-center">
 <div class="asset-content">
                   <img class="centro_sinmarco" height=449 width=650 loading="lazy" decoding="async" sizes="100vw" fetchpriority="high" srcset="https://i.blogs.es/ab9cd9/ocz-indilinx-everest-2/450_1000.jpg 450w, https://i.blogs.es/ab9cd9/ocz-indilinx-everest-2/650_1200.jpg 681w,https://i.blogs.es/ab9cd9/ocz-indilinx-everest-2/1024_2000.jpg 1024w, https://i.blogs.es/ab9cd9/ocz-indilinx-everest-2/1366_2000.jpg 1366w" src="https://i.blogs.es/ab9cd9/ocz-indilinx-everest-2/450_1000.jpg" alt="OCZ Indilinx Everest 2">
   <img alt="OCZ Indilinx Everest 2" class="centro_sinmarco" src="https://i.blogs.es/ab9cd9/ocz-indilinx-everest-2/450_1000.jpg">
   
      </div>
</div>
<p><span>Controlador Indilinx Everest 2 de un Vertex 4 rodeado de chips de memoria (<a rel="noopener, noreferrer" href="http://www.storagereview.com/ocz_vertex_4_ssd_review">vía StorageReview</a>)</span>
</div></p>

<p>Todos estos usos de procesadores ARM existen porque <strong>es una arquitectura de muy bajo consumo energético</strong>, al menos en comparación con las alternativas existentes en el mercado. Muchas veces incluso podría pasar desapercibido respecto del consumo de otros componentes del mismo dispositivo, por ejemplo en un coche eléctrico. Además, <strong>la fabricación de estos chips es bastante barata</strong>, si bien es cierto que suele requerir de implementaciones software específicas que sí suelen ser más costosas que en otras arquitecturas como la x86 más habitual de nuestros ordenadores. Ella será la protagonista de nuestra próxima entrada de este especial.</p>
<!-- BREAK 20 -->
<h2>Lo que hace a ARM diferente</h2>

<p>Desde la primera versión comercial allá por mediados de los 80, <strong>ARM</strong> ha ido evolucionando con el paso del tiempo y por supuesto se han introducido nuevas instrucciones con cada versión de la arquitectura, no sólo para mejorar el rendimiento si no también la seguridad. En Wikipedia hay <a rel="noopener, noreferrer" href="http://en.wikipedia.org/wiki/List_of_ARM_microprocessor_cores">una amplia lista</a> que contempla las arquitecturas y los núcleos que han existido a lo largo de la historia de ARM, desde la primera ARMv1 (núcleo ARM1) hasta la actual ARMv7 (núcleos Cortex-A, Cortex-M y Cortex-R) o incluso la próxima arquitectura ARMv8 (con los <a class="text-outboundlink" href="https://www.xataka.com/tablets/arm-cortex-a50-el-futuro-de-los-procesadores-moviles" data-vars-post-title="ARM Cortex-A50, el futuro de los procesadores móviles" data-vars-post-url="https://www.xataka.com/tablets/arm-cortex-a50-el-futuro-de-los-procesadores-moviles">Cortex-A50</a>) que ya ha sido diseñada y cuyos primeros productos se esperan para el 2013.</p>
<!-- BREAK 21 -->
<p>También hay otros fabricantes que han creado sus arquitecturas basándose en las de ARM, en la actualidad por ejemplo Qualcomm (y sus ARMv7 Snapdragon, modelos Scorpion y Krait), NVidia (Tegra en todas sus vertientes), Apple (ARMv7 en los últimos A6 y A6x) o Samsung (y sus Exynos, hasta ahora todos basados también en ARMv7).</p>
<!-- BREAK 22 --><div class="article-asset-image article-asset-normal article-asset-center">
 <div class="asset-content">
                   <img class="centro_sinmarco" height=500 width=597 loading="lazy" decoding="async" sizes="100vw" fetchpriority="high" srcset="https://i.blogs.es/e5fdb7/arm-cortex-a15-arch/450_1000.jpg 450w, https://i.blogs.es/e5fdb7/arm-cortex-a15-arch/650_1200.jpg 681w,https://i.blogs.es/e5fdb7/arm-cortex-a15-arch/1024_2000.jpg 1024w, https://i.blogs.es/e5fdb7/arm-cortex-a15-arch/1366_2000.jpg 1366w" src="https://i.blogs.es/e5fdb7/arm-cortex-a15-arch/450_1000.jpg" alt="ARM Cortex-A15 diagram">
   <img alt="ARM Cortex-A15 diagram" class="centro_sinmarco" src="https://i.blogs.es/e5fdb7/arm-cortex-a15-arch/450_1000.jpg">
   
      </div>
</div>

<div class="article-asset-image article-asset-small article-asset-center">
 <div class="asset-content">
                   <img class="centro_sinmarco" height=488 width=522 loading="lazy" decoding="async" sizes="100vw" fetchpriority="high" srcset="https://i.blogs.es/87db56/nvidia-kal-el-diagram/450_1000.jpg 450w, https://i.blogs.es/87db56/nvidia-kal-el-diagram/650_1200.jpg 681w,https://i.blogs.es/87db56/nvidia-kal-el-diagram/1024_2000.jpg 1024w, https://i.blogs.es/87db56/nvidia-kal-el-diagram/1366_2000.jpg 1366w" src="https://i.blogs.es/87db56/nvidia-kal-el-diagram/450_1000.jpg" alt="NVidia Tegra 3 diagram">
   <img alt="NVidia Tegra 3 diagram" class="centro_sinmarco" src="https://i.blogs.es/87db56/nvidia-kal-el-diagram/450_1000.jpg">
   
      </div>
</div>
<p>Una de las principales características de ARM es que <strong>utiliza relativamente pocos transistores</strong>, o al menos muchos menos que los procesadores de otras arquitecturas. Esto le permite <strong>ofrecer un rendimiento aceptable con un consumo energético muy bajo</strong>, y no sólo eso: fabricar un procesador ARM también es notablemente más barato, lo cual los hace ideales en muchos casos.</p>
<!-- BREAK 23 -->
<h2>Lo que nos espera con ARM</h2>

<p>Desde el nacimiento de <em>Advanced RISC Machines Ltd</em> hace poco más de veinte años, ARM ha crecido de forma muy notable tanto económica como tecnológicamente. Ya hemos visto que es una arquitectura que se utiliza en prácticamente cualquier dispositivo electrónico moderno, e incluso muchos elementos a priori más tradicionales están adoptando esta tecnología para ofrecer nuevas funciones a los usuarios: por ejemplo los nuevos aspiradores robot (el iRobot Roomba 570 utiliza un ARM7TDMI bajo la arquitectura ARMv4) o incluso los juguetes más tecnológicamente avanzados (Lego Mindstorms NXT también integra el ARM7TDMI en sus entrañas).</p>
<!-- BREAK 24 -->
<p><div class="caption-img"></p>
<div class="article-asset-image article-asset-normal article-asset-center">
 <div class="asset-content">
                   <img class="centro_sinmarco" height=271 width=650 loading="lazy" decoding="async" sizes="100vw" fetchpriority="high" srcset="https://i.blogs.es/2b99bb/hp-redstone-diag/450_1000.jpg 450w, https://i.blogs.es/2b99bb/hp-redstone-diag/650_1200.jpg 681w,https://i.blogs.es/2b99bb/hp-redstone-diag/1024_2000.jpg 1024w, https://i.blogs.es/2b99bb/hp-redstone-diag/1366_2000.jpg 1366w" src="https://i.blogs.es/2b99bb/hp-redstone-diag/450_1000.jpg" alt="HP RedStone ARM">
   <img alt="HP RedStone ARM" class="centro_sinmarco" src="https://i.blogs.es/2b99bb/hp-redstone-diag/450_1000.jpg">
   
      </div>
</div>
<p><span>Diagrama del proyecto de servidores ARM de HP, el <a rel="noopener, noreferrer" href="http://h17007.www1.hp.com/us/en/iss/110111.aspx">HP Moonshot</a></span>
</div></p>

<p>En el actual panorama de crisis económica y con un cuidado por la naturaleza cada vez mayor, <strong>ARM es una opción que se está estudiando para su uso en grandes centros de datos</strong> como sustituto de las actuales arquitecturas. Su principal finalidad es la de abaratar los costes relacionados con el enorme consumo energético, no sólo por los propios computadores si no también por los ingentes sistemas de ventilación y seguridad asociados. ARM no sólo consume menos energía si no que <strong>también genera menos calor</strong>, otra característica muy importante en los <em>datacenters</em>. Ya existen varios ejemplos a lo largo de todo el mundo que han creado sistemas de unos cuantos cientos de procesadores, y si bien no son los más potentes (no hay ningún ARM en el Top500 de supercomputadores) sí ofrecen un rendimiento más que digno para muchas, muchísimas de las tareas más profesionales de la actualidad. Es cuestión de tiempo que ARM entre en esa prestigiosa y conocida lista.</p>
<!-- BREAK 25 -->
<p>A día de hoy podemos asegurar que <strong>el futuro de ARM es muy prometedor</strong>. Van ganando rendimiento en cada nueva generación de procesadores, van manteniendo - o incluso reduciendo - el consumo energético, y por si fuera poco la innovación tiene muy en cuenta a esta arquitectura. El concepto de <em>casa inteligente</em> se basará en procesadores ARM, los coches están empezando a utilizarlos - y en no mucho tiempo será algo común en nuestros vehículos - además de por supuesto nuevos conceptos de gadgets que aparecerán en los próximos años de la misma forma que hace no mucho aterrizaron los teléfonos avanzados, las tabletas o los libros electrónicos.</p>
<!-- BREAK 26 -->
<p>Y no solo eso: los usuarios están modificando su concepto de ordenador personal. Estamos ante eso que muchos denominan la <strong>era post-PC en la que ARM puede ser vital</strong> para conseguir nuevos tipos de dispositivos portátiles y con autonomías hoy impensables, pero que serán razonables y tecnológicamente viables dentro de unos pocos años.</p>
<!-- BREAK 27 -->
<h2>Especial Arquitecturas Hardware: índice</h2>
<ul>
   <li>
   <p><a class="text-outboundlink" href="https://www.xataka.com/componentes-de-pc/asi-comenzo-todo-el-origen-de-los-procesadores" data-vars-post-title="Así comenzó todo: el origen de los procesadores" data-vars-post-url="https://www.xataka.com/componentes-de-pc/asi-comenzo-todo-el-origen-de-los-procesadores">I.- Así comenzó todo: el origen de los procesadores</a></p>

  </li>
   <li>
   <p><a class="text-outboundlink" href="https://www.xataka.com/componentes-de-pc/cisc-frente-a-risc-una-batalla-en-blanco-y-negro" data-vars-post-title="CISC frente a RISC, una batalla en blanco y negro" data-vars-post-url="https://www.xataka.com/componentes-de-pc/cisc-frente-a-risc-una-batalla-en-blanco-y-negro">II.- CISC frente a RISC, una batalla en blanco y negro</a></p>

  </li>
   <li>
   <p>III.- ARM, la 'navaja suiza' de los procesadores</p>

  </li>
 </ul>
<p>Imagen de portada | <a rel="noopener, noreferrer" href="http://en.wikipedia.org/wiki/File:Acorn-ARM-Evaluation-System.jpg">Fibble para Wikipedia</a>
En Xataka | <a href="https://www.xataka.com/tag/todo-sobre-las-arquitecturas-de-pc">Todo sobre las arquitecturas de PC</a></p>
<script>
 (function() {
  window._JS_MODULES = window._JS_MODULES || {};
  var headElement = document.getElementsByTagName('head')[0];
  if (_JS_MODULES.instagram) {
   var instagramScript = document.createElement('script');
   instagramScript.src = 'https://platform.instagram.com/en_US/embeds.js';
   instagramScript.async = true;
   instagramScript.defer = true;
   headElement.appendChild(instagramScript);
  }
 })();
</script>

                    ]]>
                </description>
            </item>
                                <item>
                <title><![CDATA[CISC frente a RISC, una batalla en blanco y negro]]></title>
                <link>https://www.xataka.com/componentes/cisc-frente-a-risc-una-batalla-en-blanco-y-negro</link>
                <guid>https://www.xataka.com/componentes/cisc-frente-a-risc-una-batalla-en-blanco-y-negro</guid>
                <pubDate>Fri, 14 Dec 2012 10:01:29 +0000</pubDate>
                                         <dc:creator>Pablo Espeso</dc:creator>
                                       <description>
                    <![CDATA[
                              <p>
      <img src="https://i.blogs.es/6de8b7/esp-arq-2-port/1024_2000.jpg" alt="CISC&#x20;frente&#x20;a&#x20;RISC,&#x20;una&#x20;batalla&#x20;en&#x20;blanco&#x20;y&#x20;negro">
    </p>
    <p>Habiendo tratado ya parte el inicio de la computación, hoy entraremos en una época algo más moderna. Muchos la considerarán <strong>la época dorada de la computación</strong>, aquella en la que germinó el concepto de los ordenadores actuales y se empezó a fraguar la era más contemporánea de la información.</p>
<!-- BREAK 1 -->
<p>Situémonos en los últimos años de la década de los 50: los procesadores se desarrollaban de forma completamente independiente, haciendo que un mismo programa tuviese que ser modificado para ejecutarse en máquinas diferentes. Es evidente que era una situación que había que cambiar.</p>
<!-- BREAK 2 --><!--more--><h2>La operación más sencilla para un procesador</h2>

<p>En <a class="text-outboundlink" href="https://www.xataka.com/componentes-de-pc/asi-comenzo-todo-el-origen-de-los-procesadores" data-vars-post-title="Así comenzó todo: el origen de los procesadores" data-vars-post-url="https://www.xataka.com/componentes-de-pc/asi-comenzo-todo-el-origen-de-los-procesadores">la primera entrada</a> hablamos de la <em>ISA</em> (<em>Instruction Set Architecture</em>) y pusimos dos ejemplos: <strong>ARM y x86</strong> son las dos ISA más utilizadas en la actualidad en los procesadores de Intel, Qualcomm, ARM, Samsung, etc.</p>
<!-- BREAK 3 -->
<p>Una ISA esta formada por múltiples componentes, tales como los tipos de datos que maneja un procesador, los registros y sus tamaños, los buffers e incluso los errores que es capaz de manejar. Uno de los componentes fundamentales de cada ISA son el <strong>conjunto de instrucciones</strong> que admite.</p>
<!-- BREAK 4 -->
<p>Estas instrucciones son fundamentales e imprescindibles, ya que es lo que el procesador ejecuta. Dependiendo de la ISA existen múltiples tipos de instrucciones, aunque principalmente se engloban dentro de tres grandes categorías: operaciones con memoria, operaciones aritméticas y operaciones de control sobre la CPU.</p>
<!-- BREAK 5 -->
<p>Llegados a este punto, <strong>la complejidad del set de instrucciones</strong> es variable y depende enormemente de lo que sus diseñadores decidieran en el día de su creación. En nuestro ejemplo del algoritmo real del huevo frito recordaréis que teníamos un <code>Paso 6: Verterlo con cuidado sobre el aceite caliente</code>, que es una de sus instrucciones. Si realizamos una aproximación desde el punto de vista de un procesador esa sería <strong>una instrucción compleja</strong> que podría dividirse en varias instrucciones más simples:</p>
<!-- BREAK 6 --><ul>
   <li>
   <p><code>Paso 6.1: Colocar el huevo partido sobre la sartén.</code></p>

  </li>
   <li>
   <p><code>Paso 6.2: Acercar el huevo partido a un par de centímetros del aceite caliente.</code></p>

  </li>
   <li>
   <p><code>Paso 6.3: Mover verticalmente el huevo partido.</code></p>

  </li>
   <li>
   <p><code>Paso 6.4: Verter el contenido del huevo partido sobre el aceite hasta que esté vacío.</code></p>

  </li>
   <li>
   <p><code>Paso 6.5: Retirar el huevo partido y ya vacío.</code></p>

  </li>
   <li>
   <p><code>Paso 6.6: Tirar a la basura el huevo partido y ya vacío.</code></p>

  </li>
 </ul>
<p>Como veis estamos realizando la misma labor con dos juegos de instrucciones diferentes. La primera instrucción <code>Paso 6</code> es más compleja que las nuevas instrucciones <code>Paso 6.X</code>, que <strong>son más simples y sencillas</strong> de entender pero también son muchas más en cantidad. Elegir entre una u otra <strong>dependerá del set de instrucciones que admite el procesador</strong>.</p>
<!-- BREAK 7 -->
<p>Este razonamiento es la base para entender lo que ocurrió con <strong>CISC</strong> a mediados del siglo XX, cuando IBM se propuso unificar las instrucciones con las que trabajaban los procesadores. Unos años más tarde y teniendo en cuenta su experiencia, introdujo con otro enfoque: <strong>RISC</strong>. Ambas aproximaciones se fundamentan sobre la misma base de funcionamiento (un bucle infinito en el que en un mismo ciclo, un procesador recibe una nueva instrucción a ejecutar, la decodifica, la ejecuta y espera a la siguiente instrucción) pero son muy diferentes en cuanto al tipo de instrucción que admiten.</p>
<!-- BREAK 8 -->
<h2>CISC acude en la búsqueda de lo más completo</h2>

<p>En los años 50, todos los computadores se diseñaban de forma completamente aislada unos de otros. Esto hacía que sus instrucciones fuesen independientes, haciendo que un programa escrito para un cierto ordenador no se pudiese ejecutar en otro. A finales de la década, IBM reunió a un grupo de sus investigadores para estudiar la forma con la que un programa pudiese trabajar en múltiples computadores sin importantes cambios, ampliando la compatibilidad del software en diferentes máquinas. El resultado fue el enfoque <strong>CISC, <em>Complex Instruction Set Computing</em></strong>, introducido por primera vez en los <a rel="noopener, noreferrer" href="http://en.wikipedia.org/wiki/IBM_System/360">IBM System/360</a> el 7 de abril de 1964.</p>
<!-- BREAK 9 -->
<p><div class="caption-img"></p>
<div class="article-asset-image article-asset-normal article-asset-center">
 <div class="asset-content">
                   <img class="centro_sinmarco" height=409 width=650 loading="lazy" decoding="async" sizes="100vw" fetchpriority="high" srcset="https://i.blogs.es/391e44/ibm-system-360/450_1000.jpg 450w, https://i.blogs.es/391e44/ibm-system-360/650_1200.jpg 681w,https://i.blogs.es/391e44/ibm-system-360/1024_2000.jpg 1024w, https://i.blogs.es/391e44/ibm-system-360/1366_2000.jpg 1366w" src="https://i.blogs.es/391e44/ibm-system-360/450_1000.jpg" alt="IBM System-360">
   <img alt="IBM System-360" class="centro_sinmarco" src="https://i.blogs.es/391e44/ibm-system-360/450_1000.jpg">
   
      </div>
</div>
<p><span>Un System/360 en una fábrica de Volkswagen, año 1973 (<a rel="noopener, noreferrer" href="http://en.wikipedia.org/wiki/File:Bundesarchiv_B_145_Bild-F038812-0014,_Wolfsburg,_VW_Autowerk.jpg">vía Wikipedia</a>)</span>
</div></p>

<p><strong>CISC</strong> ofrece un conjunto de instrucciones bastante completas y lentas de ejecutar, pero que agrupaban varias operaciones de bajo nivel en la misma instrucción. Esto da lugar a <strong>programas pequeños</strong> y sencillos de desarrollar que además realizaban pocos accesos a memoria: esto que ahora podría parecer insignificante era vital en aquella época, cuando los ordenadores trabajaban con muchos menos recursos que los equipos actuales. En <em>el algoritmo de ejemplo del huevo frito</em>, con un enfoque CISC tendríamos una única instrucción: nuestro <code>Paso 6: Verterlo con cuidado sobre el aceite caliente</code>.</p>
<!-- BREAK 10 -->
<p>En la actualidad <strong>CISC tiene a x86</strong> como su mayor exponente, con AMD y sobre todo Intel a la cabeza de su desarrollo. Hay muchos ejemplos históricos como los PDP, Motorola 68000, <a class="text-outboundlink" href="https://www.xataka.com/componentes-de-pc/intel-4004-cuarenta-anos-para-la-historia" data-vars-post-title="Intel 4004, cuarenta años para la historia" data-vars-post-url="https://www.xataka.com/componentes-de-pc/intel-4004-cuarenta-anos-para-la-historia">Intel 4004</a> o Intel 8086, quizá los más representativos. Prácticamente cualquier ordenador de sobremesa o portátil desde los años 80 ha utilizado un procesador x86.</p>
<!-- BREAK 11 -->
<h2>RISC, con la simpleza por bandera</h2>

<p>Tras el lanzamiento de CISC, los científicos de IBM empezaron a comprobar que los diseñadores de software creaban sus propias instrucciones más simples y precisas. Entonces, ya en la década de los 70, empezaron a diseñar una alternativa que posteriormente se introdujo en el mercado bajo el acrónimo <strong>RISC, <em>Reduced Instruction Set Computing</em></strong>. El IBM 801 que empezó a crearse en 1975, fue diseñado por John Cocke y es considerado el primer procesador RISC de la historia.</p>
<!-- BREAK 12 -->
<p><div class="caption-img"> </p>
<div class="article-asset-image article-asset-normal article-asset-center">
 <div class="asset-content">
                   <img class="centro_sinmarco" height=510 width=650 loading="lazy" decoding="async" sizes="100vw" fetchpriority="high" srcset="https://i.blogs.es/4227f3/ibm-801-john-cocke/450_1000.jpg 450w, https://i.blogs.es/4227f3/ibm-801-john-cocke/650_1200.jpg 681w,https://i.blogs.es/4227f3/ibm-801-john-cocke/1024_2000.jpg 1024w, https://i.blogs.es/4227f3/ibm-801-john-cocke/1366_2000.jpg 1366w" src="https://i.blogs.es/4227f3/ibm-801-john-cocke/450_1000.jpg" alt="IBM 801">
   <img alt="IBM 801" class="centro_sinmarco" src="https://i.blogs.es/4227f3/ibm-801-john-cocke/450_1000.jpg">
   
      </div>
</div>
<p><span>John Cocke ya en los 80 junto a uno de los prototipos que usó el procesador 801</span> </div></p>

<p>La principal virtud de RISC es tener un conjunto de <strong>instrucciones muy simples que se ejecutarán más rápidamente en el procesador</strong>. Existe un catálogo de pocas instrucciones y éstas son muy sencillas, lo cual implica también que para una cierta tarea compleja necesitaremos un mayor número de ellas, y por esto el programa final tendrá una longitud mayor y además accederá en un mayor número de ocasiones a los datos almacenados en la memoria. En nuestro ejemplo del <em>algoritmo del huevo frito</em>, un procesador RISC estaría compuesto por las instrucciones descritas entre <code>Paso 6.1</code> y <code>Paso 6.6</code>.</p>
<!-- BREAK 13 -->
<p>Un procesador de tipo RISC es más simple tanto en software (instrucciones) como en hardware (registros de memoria), lo cual hace que sea un dispositivo notablemente más barato que otras CPU. En la actualidad el mayor ejemplo de <strong>procesador RISC son los productos ARM</strong>, utilizados ampliamente en dispositivos móviles pero también en otros campos como los supercomputadores. ARM será el principal protagonista de una de nuestras próximas entradas de esta saga.</p>
<!-- BREAK 14 -->
<h2>RISC frente a CISC y la gran batalla actual</h2>

<p><strong>CISC</strong> nació con la finalidad de homogeneizar los diferentes computadores en los años 50 y 60. <strong>RISC</strong> buscó en los 70 ir un paso más allá y mejorar el rendimiento con instrucciones más simples pero programas más largos y más difíciles de desarrollar.</p>
<!-- BREAK 15 -->
<p>Tanto CISC como RISC han <strong>evolucionado de forma muy notable</strong> desde su nacimiento, adoptando mejoras provenientes del contrario en ambos casos y nuevos conjuntos de instrucciones para adaptarse a los usos de los ordenadores. Si bien es cierto que en la época de su creación la diferencia era muy amplia - principalmente debido a las limitaciones técnicas de la época tanto en tamaño de memoria como en velocidad de proceso -, en la actual <em>informática moderna</em> los requisitos son muy diferentes. Los límites en capacidad de almacenamiento son casi inexistentes y los procesadores son capaces de ejecutar millones de instrucciones en un solo segundo.</p>
<!-- BREAK 16 -->
<p><div class="caption-img"></p>
<div class="article-asset-image article-asset-normal article-asset-center">
 <div class="asset-content">
                   <img class="centro_sinmarco" height=384 width=650 loading="lazy" decoding="async" sizes="100vw" fetchpriority="high" srcset="https://i.blogs.es/c41873/ibm-powerpc-601-intel-80286/450_1000.jpg 450w, https://i.blogs.es/c41873/ibm-powerpc-601-intel-80286/650_1200.jpg 681w,https://i.blogs.es/c41873/ibm-powerpc-601-intel-80286/1024_2000.jpg 1024w, https://i.blogs.es/c41873/ibm-powerpc-601-intel-80286/1366_2000.jpg 1366w" src="https://i.blogs.es/c41873/ibm-powerpc-601-intel-80286/450_1000.jpg" alt="IBM PowerPC 601 e Intel 80286">
   <img alt="IBM PowerPC 601 e Intel 80286" class="centro_sinmarco" src="https://i.blogs.es/c41873/ibm-powerpc-601-intel-80286/450_1000.jpg">
   
      </div>
</div>
<p><span>¿Adivináis qué enfoque siguen estos dos?</span>
</div></p>

<p>La gran batalla actual es la de sus dos grandes exponentes, <strong>ARM y x86</strong>, que han actualizado sus objetivos a lo que les importa a los usuarios del siglo XXI. Veremos que el punto fuerte de <strong>ARM está en la eficiencia energética</strong>. Un chip ARM consume mucha menos energía que un <strong>procesador x86 que tiene en su alto rendimiento</strong> su gran virtud, a costa de consumir bastante más energía.</p>
<!-- BREAK 17 -->
<p>Ésta es la gran batalla que nos ocupará las próximas entradas.</p>

<h2>Especial Arquitecturas Hardware: índice</h2>
<ul>
   <li>
   <p><a class="text-outboundlink" href="https://www.xataka.com/componentes-de-pc/asi-comenzo-todo-el-origen-de-los-procesadores" data-vars-post-title="Así comenzó todo: el origen de los procesadores" data-vars-post-url="https://www.xataka.com/componentes-de-pc/asi-comenzo-todo-el-origen-de-los-procesadores">I.- Así comenzó todo: el origen de los procesadores</a></p>

  </li>
   <li>
   <p>II.- CISC frente a RISC, una batalla en blanco y negro</p>

  </li>
   <li>
   <p><em>Continuará...</em></p>

  </li>
 </ul>
<script>
 (function() {
  window._JS_MODULES = window._JS_MODULES || {};
  var headElement = document.getElementsByTagName('head')[0];
  if (_JS_MODULES.instagram) {
   var instagramScript = document.createElement('script');
   instagramScript.src = 'https://platform.instagram.com/en_US/embeds.js';
   instagramScript.async = true;
   instagramScript.defer = true;
   headElement.appendChild(instagramScript);
  }
 })();
</script>

                    ]]>
                </description>
            </item>
                                <item>
                <title><![CDATA[Así comenzó todo: el origen de los procesadores]]></title>
                <link>https://www.xataka.com/componentes/asi-comenzo-todo-el-origen-de-los-procesadores</link>
                <guid>https://www.xataka.com/componentes/asi-comenzo-todo-el-origen-de-los-procesadores</guid>
                <pubDate>Mon, 10 Dec 2012 09:31:44 +0000</pubDate>
                                         <dc:creator>Pablo Espeso</dc:creator>
                                       <description>
                    <![CDATA[
                              <p>
      <img src="https://i.blogs.es/c73182/portada-especial-arq-1/1024_2000.jpg" alt="As&#x00ED;&#x20;comenz&#x00F3;&#x20;todo&#x3A;&#x20;el&#x20;origen&#x20;de&#x20;los&#x20;procesadores">
    </p>
    <p>En <strong>la prehistoria de la informática</strong> sólo unos pocos cientos de personas en todo el mundo tenían las aptitudes necesarias para ponerse a los mandos de los ordenadores de la época. Allá por los años 50 y 60, los computadores eran máquinas que ocupaban varias habitaciones e incluso necesitaban de múltiples operarios para funcionar correctamente. Apenas trabajaban para grandes universidades o ejércitos y eran completamente desconocidas en los hogares.</p>
<!-- BREAK 1 -->
<p>Es evidente que esto ha cambiado radicalmente con el paso de los años y ahora cualquiera tiene a su disposición un ordenador sencillo de utilizar. Pero antes no era así. Entonces, <strong>¿cómo empezó a fraguarse la era de la Información?</strong></p>
<!-- BREAK 2 --><!--more--><h2>Las máquinas que cambiaron el mundo</h2>

<p>Tras la era industrial y aprovechando la segunda guerra mundial, los gobiernos más potentes se vieron en la necesidad de invertir el tiempo de sus mejores científicos en idear <strong>máquinas que pudiesen tratar información</strong>, ya sea procedente del enemigo y en ese caso descifrándola, o enviándola oculta a un aliado. Para ello necesitaban disponer de una estructura y organización que les permitiese procesar información que estuviese en un formato conocido, y además almacenar los resultados para poder estudiarlos a posteriori. Nació la <strong>arquitectura de Von Neumann</strong></p>
<!-- BREAK 3 -->
<p><div class="caption-img"></p>
<div class="article-asset-image article-asset-normal article-asset-center">
 <div class="asset-content">
                   <img class="centro_sinmarco" height=618 width=650 loading="lazy" decoding="async" sizes="100vw" fetchpriority="high" srcset="https://i.blogs.es/560821/arquitectura-von-neumann/450_1000.jpg 450w, https://i.blogs.es/560821/arquitectura-von-neumann/650_1200.jpg 681w,https://i.blogs.es/560821/arquitectura-von-neumann/1024_2000.jpg 1024w, https://i.blogs.es/560821/arquitectura-von-neumann/1366_2000.jpg 1366w" src="https://i.blogs.es/560821/arquitectura-von-neumann/450_1000.jpg" alt="Arquitectura de Von Neumann">
   <img alt="Arquitectura de Von Neumann" class="centro_sinmarco" src="https://i.blogs.es/560821/arquitectura-von-neumann/450_1000.jpg">
   
      </div>
</div>
<p><span>Diagrama de la arquitectura de Von Neumann (<a rel="noopener, noreferrer" href="http://en.wikipedia.org/wiki/File:Von_Neumann_architecture.svg">vía Wikipedia</a>)</span>
</div></p>

<p>La <strong>arquitectura de Von Neumann</strong> fue ideada por <em>John Von Neumann</em> en la década de los 40 para un trabajo del gobierno americano, y hoy en día sigue vigente en la mayoría de los computadores modernos. Su misión es servir un <strong>esquema de funcionamiento genérico</strong> que permitiese a un ordenador ejecutar tareas sucesivamente, sin tener que modificar la estructura física del equipo. Según esta organización, el computador dispone de una lista de instrucciones que un procesador interno va descifrando y más tarde ejecutando. Una vez que ha finalizado esa ejecución se pasa al siguiente elemento de la lista, y se repite el proceso. Para ello se necesitan tres componentes básicos:</p>
<!-- BREAK 4 --><ul>
   <li>
   <p>Una <em>unidad de proceso</em> que incluirá ALU y unidad de control.</p>

  </li>
   <li>
   <p>Dispositivos de <em>memoria</em> para almacenar información, bien temporal o final.</p>

  </li>
   <li>
   <p>Periféricos de <em>entrada/salida</em> para comunicarse con el usuario.</p>

  </li>
 </ul>
<p><div class="caption-img"> </p>
<div class="article-asset-image article-asset-normal article-asset-center">
 <div class="asset-content">
                   <img class="centro_sinmarco" height=496 width=650 loading="lazy" decoding="async" sizes="100vw" fetchpriority="high" srcset="https://i.blogs.es/b869bb/eniac-usarmy/450_1000.jpg 450w, https://i.blogs.es/b869bb/eniac-usarmy/650_1200.jpg 681w,https://i.blogs.es/b869bb/eniac-usarmy/1024_2000.jpg 1024w, https://i.blogs.es/b869bb/eniac-usarmy/1366_2000.jpg 1366w" src="https://i.blogs.es/b869bb/eniac-usarmy/450_1000.jpg" alt="ENIAC">
   <img alt="ENIAC" class="centro_sinmarco" src="https://i.blogs.es/b869bb/eniac-usarmy/450_1000.jpg">
   
      </div>
</div>
<p><span>El "Electronic Numerical Integrator And Computer" del ejército estadounidense</span> </div></p>

<p>La arquitectura de Von Neumann fue utilizada por primera vez en el <strong>ENIAC</strong> o <em>Electronic Numerical Integrator And Computer</em>, que trabajó para el gobierno estadounidense entre los años 1946 y 1955. Sobre él hablaremos en el último apartado.</p>
<!-- BREAK 5 -->
<p><strong>¿Y cómo trabajarían estos primeros computadores?</strong> Mediante el <strong>sistema binario</strong>. Se trata de un sistema de numeración con un funcionamiento similar al decimal al que estamos acostumbrados los seres humanos, pero utilizando únicamente el <code>0</code> y el <code>1</code>. A partir de estos dos números se construye toda la información, si bien es cierto que trabajar en binario es algo bastante poco habitual al existir otras herramientas mucho más avanzadas y fáciles de interpretar por el ser humano. Lo mejor del sistema binario es que es un sistema simple que permite construir circuitos electrónicos para realizar operaciones matemáticas de una forma sencilla a través de circuitos elementales.</p>
<!-- BREAK 6 -->
<p>El <strong>procesador</strong> dispone de una serie de circuitos electrónicos que son utilizados por los algoritmos, ideados por el ser humano para afrontar problemas. ¿Qué es, entonces, un algoritmo?</p>
<!-- BREAK 7 --><ul>
   <li>
   <p><code>Paso 1: Poner la sartén en la vitrocerámica</code></p>

  </li>
   <li>
   <p><code>Paso 2: Echar aceite</code></p>

  </li>
   <li>
   <p><code>Paso 3: Calentar el aceite</code></p>

  </li>
   <li>
   <p><code>Paso 4: Esperar a que esté caliente</code></p>

  </li>
   <li>
   <p><code>Paso 5: Cascar el huevo</code></p>

  </li>
   <li>
   <p><code>Paso 6: Verterlo con cuidado sobre el aceite caliente</code></p>

  </li>
   <li>
   <p><code>Paso 7: Con la ayuda de una paleta, echar el aceite por encima del huevo</code></p>

  </li>
   <li>
   <p><code>Paso 8: Comprobar que el huevo ya está cocinado y, en ese caso, sacarlo a un plato</code></p>

  </li>
 </ul>
<p>Un <strong>algoritmo</strong> es una secuencia de órdenes o instrucciones que se dictan en un cierto orden. Es necesario que cada paso esté muy bien definido y que se siga un orden estricto para que la máquina sea capaz de ejecutarlo sin problemas. El ejemplo de arriba es un símil respecto de la vida real, el <em>algoritmo de cómo elaborar un huevo frito con puntilla</em>. A continuación os dejo con otro ejemplo:</p>
<!-- BREAK 8 --><ul>
   <li>
   <p><code>Paso 1: coge el valor del registro A y llámalo N1.</code></p>

  </li>
   <li>
   <p><code>Paso 2: coge el valor del registro B y llámalo N2.</code></p>

  </li>
   <li>
   <p><code>Paso 3: suma N1 y N2 y almacena el resultado en el registro C.</code></p>

  </li>
   <li>
   <p><code>Paso 4: almacena el valor del registro C en la posición de memoria etiquetada como M.</code></p>

  </li>
 </ul>
<p>Con los cuatro pasos de este segundo ejemplo nos hemos aproximado mejor a la realidad de nuestros ordenadores: hemos sumado dos números (existentes en los registros <code>A</code> y <code>B</code>) y su resultado lo hemos almacenado en la posición de memoria <code>M</code>. Podríamos incluso decir que hemos utilizado un pseudolenguaje ensamblador, y recuerdo que toda la información que maneja el ordenador está basada en <code>0</code> y <code>1</code>, incluyendo no sólo los valores numéricos de la propia suma si no también las direcciones en las que se almacena la información (en este caso, las direcciones de los registros <code>A</code>, <code>B</code>, <code>C</code> y también la posición de memoria etiquetada como <code>M</code>).</p>
<!-- BREAK 9 -->
<p><div class="caption-img"> </p>
<div class="article-asset-image article-asset-normal article-asset-center">
 <div class="asset-content">
                   <img class="centro_sinmarco" height=433 width=650 loading="lazy" decoding="async" sizes="100vw" fetchpriority="high" srcset="https://i.blogs.es/3e9d16/intel-cpu-48cores/450_1000.jpg 450w, https://i.blogs.es/3e9d16/intel-cpu-48cores/650_1200.jpg 681w,https://i.blogs.es/3e9d16/intel-cpu-48cores/1024_2000.jpg 1024w, https://i.blogs.es/3e9d16/intel-cpu-48cores/1366_2000.jpg 1366w" src="https://i.blogs.es/3e9d16/intel-cpu-48cores/450_1000.jpg" alt="Intel CPU 48 cores">
   <img alt="Intel CPU 48 cores" class="centro_sinmarco" src="https://i.blogs.es/3e9d16/intel-cpu-48cores/450_1000.jpg">
   
      </div>
</div>
<p><span>Procesador prototipo de Intel de 2009, con 48 núcleos</span> </div></p>

<p>En definitiva, <strong>el procesador se encarga de recibir secuencias de órdenes y ejecutarlas</strong>. Estas órdenes serán mayoritariamente matemáticas (suma estos dos números y guarda el resultado en esta determinada posición de memoria) pero también de almacenamiento o interrupciones del sistema. Y precisamente estas órdenes simples y atómicas se denominan <strong>instucciones</strong>, que son las operaciones que un procesador es capaz de entender y ejecutar. Por ejemplo, suma dos números y almacena el resultado en esta memoria, o multiplica estos dos números, o algo mucho más simple como almacena este dato en esta posición de la memoria. Las instrucciones son operaciones muy simples pero con las que se construye todo, y un conjunto de estas instrucciones se denomina <strong>set de instrucciones o ISA</strong> (<em>Instruction Set Architecture</em>). Por ejemplo, <strong>x86</strong> es la ISA de los procesadores Intel o AMD domésticos actuales, los cuales a su vez utilizan múltiples microarquitecturas, y <strong>ARM</strong> es la ISA de los procesadores de Samsung, Qualcomm, Apple, etc. En posteriores artículos entraremos más a fondo en los diferentes juegos de instrucciones así como en las arquitecturas más representativas del mercado actual.</p>
<!-- BREAK 10 -->
<h2>¿Y qué es una microarquitectura?</h2>

<p>Hablar de procesadores es una introducción esencial para continuar hablando de microarquitectura. <strong>¿Qué es una microarquitectura?</strong></p>

<p>Un microprocesador no es sólo un cerebro que procesa información (técnicamente la parte que realiza las operaciones se llama ALU, <em>Arithmetic Logic Unit</em> o <em>unidad aritmético lógica</em>), sino mucho más. Está compuesto de registros (pequeñas memorias donde se almacenan datos), buffers, cachés, unidades de proceso, ALU, y mucho más. Todo esto se fabrica utilizando componentes electrónicos ciertamente pequeños (las arquitecturas actuales de nuestros ordenadores utilizan transistores de 22 nanómetros, 0.000022 milímetros) y no siempre nos encontraremos con todos. Es necesaria una organización y estructuración de todos los componentes a la que se denomina <strong>microarquitectura</strong>.</p>
<!-- BREAK 11 -->
<p><div class="caption-img"></p>
<div class="article-asset-image article-asset-normal article-asset-center">
 <div class="asset-content">
                   <img class="centro_sinmarco" height=752 width=650 loading="lazy" decoding="async" sizes="100vw" fetchpriority="high" srcset="https://i.blogs.es/00a2e4/intel-c2d-arch/450_1000.jpg 450w, https://i.blogs.es/00a2e4/intel-c2d-arch/650_1200.jpg 681w,https://i.blogs.es/00a2e4/intel-c2d-arch/1024_2000.jpg 1024w, https://i.blogs.es/00a2e4/intel-c2d-arch/1366_2000.jpg 1366w" src="https://i.blogs.es/00a2e4/intel-c2d-arch/450_1000.jpg" alt="Intel Core 2 Duo arquitectura">
   <img alt="Intel Core 2 Duo arquitectura" class="centro_sinmarco" src="https://i.blogs.es/00a2e4/intel-c2d-arch/450_1000.jpg">
   
      </div>
</div>
<p><span>Diagrama de la arquitectura de un Intel Core 2 Duo (<a rel="noopener, noreferrer" href="http://en.wikipedia.org/wiki/File:Intel_Core2_arch.svg">vía Wikipedia</a>)</span>
</div></p>

<p><strong>La microarquitectura pretende organizar todos los componentes internos de un procesador</strong>. Lo que tenéis aquí arriba es un diagrama de bloques de lo que nos encontraremos dentro del procesador, en este caso concreto de un Intel Core 2 Duo. Por ejemplo, la zona amarilla es la encargada de realizar las operaciones y la verde de almacenar las siguientes instrucciones a ser ejecutadas. Como véis es algo bastante complejo, y eso que no es más que un esquema muy general.</p>
<!-- BREAK 12 -->
<p>Uno de los aspectos más interesantes es que un mismo juego de instrucciones (ISA) puede ser ejecutado sobre diferentes microarquitecturas, que es lo que da lugar a las <strong>grandes rivalidades</strong> que por ejemplo tienen Intel y AMD bajo x86, o Samsung, Apple y Qualcomm con ARM. Sobre el estado actual del mercado y las grandes <em>guerras</em> en lo referente a las arquitecturas hablaremos en posteriores artículos.</p>
<!-- BREAK 13 -->
<h2>Los primeros procesadores</h2>

<p>Los primeros procesadores no funcionaban con transistores si no con válvulas de vacío, y fue la Segunda Guerra Mundial la que propició que los gobiernos investigasen en máquinas que fuesen capaces de operar con información de forma muy rápida en comparación con la velocidad de cálculo humana. Uno de los primeros equipos era el <strong>ENIAC</strong>, el primero que siguió la arquitectura de Von Neumann y sobre el cual hay unos datos bastantes interesantes <a rel="noopener, noreferrer" href="http://en.wikipedia.org/wiki/ENIAC">en su entrada de Wikipedia</a>:</p>
<!-- BREAK 14 --><ul>
   <li>
   <p>Contenía 17.488 tubos de vacío, 70.000 resistencias y 10.000 condensadores, entre otros muchos componentes.</p>

  </li>
   <li>
   <p>Su peso total era de 27 toneladas, ocupando una superficie de 167 metros cuadrados.</p>

  </li>
   <li>
   <p>Para hacerla funcionar era necesario operar 6000 interruptores... manualmente, claro.</p>

  </li>
   <li>
   <p>Requería una potencia de 160 kiloVatios.</p>

  </li>
   <li>
   <p>Permitía operar hasta 5.000 sumas y 357 multiplicaciones por segundo.</p>

  </li>
 </ul>
<p>Empezó a operar <strong>en 1946</strong> tras casi tres años de diseño, desarrollo y fabricación por parte de <em>J. Mauchly</em> y <em>J. Presper Eckert</em> en la Universidad de Pennsylvania. Cesó su labor el 2 de octubre de 1955.</p>
<!-- BREAK 15 -->
<p>Si bien esta primera generación de computadores se caracterizó por trabajar con válvulas de vacío, programarse en código máquina o, a lo sumo, ensamblador, <strong>la segunda generación de procesadores</strong> evolucionó de forma muy notable debido a la escasa fiabilidad y durabilidad de las primeras propias válvulas. Empezó la carrera de <strong>los transistores</strong>, el almacenamiento magnético (es decir, los primeros discos duros), los lenguajes de alto nivel y los primeros sistemas operativos monousuario. Por entonces <strong>IBM</strong> ya llevaba varios años dando guerra y puso en el mercado una de las máquinas más avanzadas y exclusivas de la historia en su contexto, el <em>IBM 7090</em> que es considerado como el primer ordenador con CPU de transistores de la historia. Era seis veces más potente que su antecesor (el <em>IBM 709</em>) y costaba la mitad, así que era una inversión asegurada.</p>
<!-- BREAK 16 -->
<p><div class="caption-img"> </p>
<div class="article-asset-image article-asset-normal article-asset-center">
 <div class="asset-content">
                   <img class="centro_sinmarco" height=489 width=631 loading="lazy" decoding="async" sizes="100vw" fetchpriority="high" srcset="https://i.blogs.es/ef97c3/nasa-ibm-7090/450_1000.jpg 450w, https://i.blogs.es/ef97c3/nasa-ibm-7090/650_1200.jpg 681w,https://i.blogs.es/ef97c3/nasa-ibm-7090/1024_2000.jpg 1024w, https://i.blogs.es/ef97c3/nasa-ibm-7090/1366_2000.jpg 1366w" src="https://i.blogs.es/ef97c3/nasa-ibm-7090/450_1000.jpg" alt="NASA IBM 7090">
   <img alt="NASA IBM 7090" class="centro_sinmarco" src="https://i.blogs.es/ef97c3/nasa-ibm-7090/450_1000.jpg">
   
      </div>
</div>
<p><span>Lo que hay frente a la silla de la derecha es un 7090</span> </div></p>

<p>Esto es solamente el inicio de los tiempos, <strong>la prehistoria de los ordenadores</strong>. Y las cosas han cambiado mucho desde entonces. En la próxima entrada hablaremos de los <strong>diseños RISC y CISC</strong>, las repercusiones que han tenido en los dispositivos más modernos y también sus microarquitecturas más importantes, que con toda seguridad las estáis utilizando en este preciso instante.</p>
<!-- BREAK 17 -->
<h2>Especial Arquitecturas y Procesadores: índice</h2>
<ul>
   <li>
   <p>I.- Así comenzó todo: el origen de los procesadores</p>

  </li>
   <li>
   <p>Continuará...</p>

  </li>
 </ul>
<p>En Xataka | <a href="xataka.com/tag/Especial-Arquitecturas">Especial arquitecturas</a></p>
<script>
 (function() {
  window._JS_MODULES = window._JS_MODULES || {};
  var headElement = document.getElementsByTagName('head')[0];
  if (_JS_MODULES.instagram) {
   var instagramScript = document.createElement('script');
   instagramScript.src = 'https://platform.instagram.com/en_US/embeds.js';
   instagramScript.async = true;
   instagramScript.defer = true;
   headElement.appendChild(instagramScript);
  }
 })();
</script>

                    ]]>
                </description>
            </item>
            </channel>
</rss>
