<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom">

	<channel>
		<title>Magazine - todo-sobre-las-arquitecturas-de-pc</title>
		<link>http://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>2013-05-24 14:25:03</pubDate>

		<generator>http://www.xataka.com</generator>
                    <item>
      <title><![CDATA[Todo sobre las arquitecturas de los procesadores ]]></title>
      <link>http://www.xataka.com/componentes-de-pc/todo-sobre-las-arquitecturas-de-los-procesadores</link>
      <guid>http://www.xataka.com/componentes-de-pc/todo-sobre-las-arquitecturas-de-los-procesadores</guid>
      <pubDate>Thu, 11 Apr 2013 10:56:22 +0000</pubDate>

      <author>Javier Penalva</author>
      <description><![CDATA[
      <p><img alt="Procesadores Intel" src="http://img.xataka.com/2013/04/2012_11_20_Intel1.jpg" class="centro" /></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>

        <div class="super-related">
 <ul>
<li><a href="http://www.xataka.com/componentes-de-pc/asi-comenzo-todo-el-origen-de-los-procesadores">I.- Así comenzó todo: el origen de los procesadores</a></li>
<li><a href="http://www.xataka.com/componentes-de-pc/cisc-frente-a-risc-una-batalla-en-blanco-y-negro">II.- <span class="caps">CISC</span> frente a <span class="caps">RISC</span>, una batalla en blanco y negro</a></li>
<li><a href="http://www.xataka.com/componentes-de-pc/arm-la-navaja-suiza-de-los-procesadores-1"><span class="caps">III</span>.- <span class="caps">ARM</span>, la &#8216;navaja suiza&#8217; de los procesadores</a></li>
<li><a href="http://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></li>
<li><a href="http://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></li>
</ul>
        </div>      ]]></description>
      </item>
                    <item>
      <title><![CDATA[Por qué los núcleos y su frecuencia no lo son todo para un procesador]]></title>
      <link>http://www.xataka.com/componentes-de-pc/por-que-los-nucleos-y-su-frecuencia-no-lo-son-todo-para-un-procesador</link>
      <guid>http://www.xataka.com/componentes-de-pc/por-que-los-nucleos-y-su-frecuencia-no-lo-son-todo-para-un-procesador</guid>
      <pubDate>Thu, 11 Apr 2013 07:18:40 +0000</pubDate>

      <author>Pablo Espeso</author>
      <description><![CDATA[
      <p><img alt="De frecuencias, núcleos... y mucho más" src="http://img.xataka.com/2013/04/arq5f.jpg" class="centro" /></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>

	<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.<br />
<!--more--></p>

<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>

	<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>

<div class="caption-img">
<img alt="Tortilla de patata" src="http://img.xataka.com/2013/04/tortilla-de-patata.jpg" class="centro" />
<span>Una tortilla de patata con buena pinta (vía <a href="http://www.flickr.com/photos/yotbsoymoderna/6891244715/">Flickr de aidalidice</a>)</span>
</div>

	<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>

	<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>

<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 <span class="caps">CPU</span> 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>

	<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>

<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>

<div class="caption-img">
<img alt="Sartenes" src="http://img.xataka.com/2013/04/sartenes.jpg" class="centro" />
<span>Sartenes preparadas para paralelizar (vía <a href="http://www.flickr.com/photos/waferboard/4153245628/">Flickr de waferboard</a>)</span>
</div>

	<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 &#8212; que, recuerdo, sólo comenzaba cuando el anterior había terminado &#8212; 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>Le asignamos al registro A el valor 0 (<code>A:=0</code>)</li>
<li>Le asignamos al registro B el valor 1 (<code>B:=1</code>)</li>
<li>Le asignamos al registro C el valor 2 (<code>C:=2</code>)</li>
<li>Incrementamos en 1 el valor del registro C (<code>C:=C+1</code>)</li>
<li>Le asignamos al registro D el valor 3 (<code>D:=3</code>)</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>

<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 <span class="caps">OOE</span> 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>

	<p>La <strong>ejecución fuera de orden</strong> (out of orden execution, OoOE, <em><span class="caps">OOE</span></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 <span class="caps">IBM</span>, 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 <span class="caps">ARM</span>.</p>

<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 <span class="caps">OOE</span> e incluso hemos puesto algunos ejemplos prácticos.</p>

	<p><img src="http://img.xataka.com/2012/04/Intel-Ivy-Bridge-cpugpu.jpg" alt="Intel Core Ivy Bridge cpu" class="centro_sinmarco"></p>

	<p>Lo que tenéis aquí arriba es la circuitería de un procesador, en este caso un Intel Core &#8216;Ivy Bridge&#8217;. A continuación os dejo una fotografía <a href="http://www.anandtech.com/show/6330/the-iphone-5-review/4">de AnandTech</a> de las tripas del SoC <a href="http://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>

	<p><img alt="Apple A6" src="http://img.xataka.com/2013/03/apple-a6-at.jpg" class="centro" /></p>

	<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>

<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>

	<p>Como hemos visto, un microprocesador es mucho más que una frecuencia. Ésta indica la periodicidad con la que la <span class="caps">CPU</span> ejecuta una instrucción, cuya definición <a href="http://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 &#8212; tanto hardware (caché, su localización y cantidad) como software (algoritmos como el <em><span class="caps">OOE</span></em>) &#8212; 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>

<div class="caption-img">
<img src="http://img.xataka.com/2010/11/amd-bulldozer-waffer.jpg" alt="AMD Bulldozer" class="centro_sinmarco">
<span>¿Veis los cuatro núcleos acompañados de las ocho (4xL2 y 4xL3) caché? Éste es un <a href="http://www.xataka.com/componentes-de-pc/primeros-datos-de-los-amd-bulldozer-de-8-nucleos-nuevos-amd-fx-series"><span class="caps">AMD</span> FX</a></span>
</div>

	<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 <span class="caps">CPU</span> 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>

	<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 href="http://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>

<div class="caption-img"> <img alt="3DMark" src="http://img.xataka.com/2013/04/3dmark-capt.jpg" class="centro" /> <span>Captura de los resultados de <a href="http://www.3dmark.com/">3DMark</a>, uno de los benchmarks más utilizados</span> </div>

	<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>

	<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: <span class="caps">GPU</span>, <span class="caps">CPU</span>, memoria <span class="caps">RAM</span>, 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 &#8220;nota&#8221; y que puede fácilmente compararse con otros resultados.</p>

	<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>

<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 <span class="caps">ARM</span>:</p>

	<p><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 ><span class="caps">RAM</span></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>1280&#215;720</td>
		<td>1280&#215;720</td>
	</tr></p>

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

	<p></table></p>

	<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 <span class="caps">RAM</span>. 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>

	<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>

	<p><img src="http://img.xataka.com/2013/02/Qualcomm-Snapdragon-logo-chip.jpg" alt="Qualcomm Snapdragon S4" class="centro_sinmarco"></p>

	<p><img src="http://img.xataka.com/2012/04/exynos4procss834quad.jpg" alt="Samsung Exynos 4 Quad" class="centro_sinmarco"></p>

	<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>

	<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&#8230; 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>

<table style="font-size:75%" border="1" bordercolor="#27971e">
	<tr style="background-color: #cdf092">
		<td ></td>
		<th ><a href="http://www.xataka.com/moviles/sony-xperia-sp">Sony Xperia SP</a></th>
		<th ><a href="http://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 ><span class="caps">CPU</span></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 ><span class="caps">GPU</span></td>
		<td >Adreno 320</td>
		<td >Mali-400MP</td>
		<td >-</td>
	</tr>
	<tr style="background-color: #d8e6c0">
		<td ><span class="caps">RAM</span></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>

<h2>Especial Arquitecturas Hardware: índice</h2>

<ul>
<li><a href="http://www.xataka.com/componentes-de-pc/asi-comenzo-todo-el-origen-de-los-procesadores">I.- Así comenzó todo: el origen de los procesadores</a></li>
<li><a href="http://www.xataka.com/componentes-de-pc/cisc-frente-a-risc-una-batalla-en-blanco-y-negro">II.- <span class="caps">CISC</span> frente a <span class="caps">RISC</span>, una batalla en blanco y negro</a></li>
<li><a href="http://www.xataka.com/componentes-de-pc/arm-la-navaja-suiza-de-los-procesadores-1"><span class="caps">III</span>.- <span class="caps">ARM</span>, la &#8216;navaja suiza&#8217; de los procesadores</a></li>
<li><a href="http://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></li>
<li>V.- Por qué los núcleos y su frecuencia no lo son todo para un procesador</li>
</ul>

	<p>Imagen de portada | <a href="http://www.flickr.com/photos/grongar/6484241175/">Flickr de Rebecca Siegel</a> <br />
En Xataka | <a href="http://www.xataka.com/tag/todo-sobre-las-arquitecturas-de-pc">Todo sobre las arquitecturas de PC</a></p>      ]]></description>
      </item>
                    <item>
      <title><![CDATA[Arquitectura x86, una historia imprescindible de la informática]]></title>
      <link>http://www.xataka.com/componentes-de-pc/arquitectura-x86-una-historia-imprescindible-de-la-informatica</link>
      <guid>http://www.xataka.com/componentes-de-pc/arquitectura-x86-una-historia-imprescindible-de-la-informatica</guid>
      <pubDate>Tue, 22 Jan 2013 09:59:18 +0000</pubDate>

      <author>Pablo Espeso</author>
      <description><![CDATA[
      <p><img alt="Arquitectura x86, especial Xataka" src="http://img.xataka.com/2013/01/especial-arq4-portada.jpg" class="centro" /></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>

	<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 <span class="caps">CISC</span> 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<br />
<!--more--></p>

<h2>Un poco de historia</h2>

<div class="caption-img">
<img alt="Intel 4004" src="http://img.xataka.com/2013/01/Intel-4004.jpg" class="centro_sinmarco" />
<span>Intel 4004</span>
</div>

	<p>En 1971 Intel presentó el primer procesador comercial del mercado, el <a href="http://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>

	<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, <span class="caps">MOS</span> 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>

<div class="caption-img">
<img alt="Intel 8086" src="http://img.xataka.com/2013/01/Intel-8086.jpg" class="centro_sinmarco" />
<span>Intel 8086, 1979</span>
</div>

	<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 <span class="caps">OKI</span>, Siemens, Fujitsu o <span class="caps">AMD</span> distribuyeron en el mercado clones de este modelo plenamente compatibles y que incluso en algunos aspectos mejoraban las características del original.</p>

	<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 <span class="caps">IBM</span> a su principal aliado. El <strong><span class="caps">IBM</span> PC 5150</strong>, considerado el primer ordenador personal (&#8216;PC&#8217;) 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 <span class="caps">IBM</span> PC, que rondaba los 3.000 dólares, fue un éxito de ventas desde su lanzamiento, el 12 de agosto de 1981.</p>

	<p>Fue entonces cuando Intel posicionó como su principal producto una nueva familia de chips: <strong>los procesadores &#8216;x86&#8217;</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>

<div class="caption-img">
<img alt="Intel 80286" src="http://img.xataka.com/2013/01/Intel-80286.jpg" class="centro_sinmarco" />
<span>Intel 80286, 1982</span>
</div>

	<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 <span class="caps">IBM</span> 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 <span class="caps">III</span> y Pentium 4. Incluso los actuales Ivy Bridge mantienen la marca &#8216;Pentium&#8217; en alguno de sus modelos de más baja gama.</p>

<div class="caption-img">
<img alt="Intel Pentium" src="http://img.xataka.com/2013/01/Intel-Pentium.jpg" class="centro_sinmarco" />
<span>Intel Pentium, 1992</span>
</div>

	<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>

	<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 <span class="caps">CISC</span> de la historia</strong>, si bien no es la única: Motorola, <span class="caps">DEC</span> y sobre todo <span class="caps">IBM</span> han presentado <a href="http://www.xataka.com/componentes-de-pc/cisc-frente-a-risc-una-batalla-en-blanco-y-negro">procesadores <span class="caps">CISC</span></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>

<h2>x86 y las licencias</h2>

	<p>Comentábamos en <a href="http://www.xataka.com/componentes-de-pc/arm-la-navaja-suiza-de-los-procesadores-1">el anterior artículo</a> de esta serie que <span class="caps">ARM</span> 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>

	<p>El ejemplo más claro de compañía a la que Intel le licencia a arquitectura x86 lo encontramos en <strong><span class="caps">AMD</span></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 <span class="caps">AMD</span> y <span class="caps">VIA</span> tienen licencias x86</strong> proporcionadas por Intel, además de lógicamente ella misma. Las cuotas de mercado hablan por si mismas:</p>

<div class="caption-img">
<img alt="Diagrama de porcentajes de licencias x86" src="http://img.xataka.com/2013/01/licencias-x86-diagrama.jpg" class="centro" />
<span>Diagrama de porcentajes de licencias x86 (<a href="http://uk.hardware.info/news/31324/amds-market-share-drops-to-below-17-percent">vía Hardware.info</a>)</span>
</div>

<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>

	<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="http://www.xataka.com/tag/NVidia-Tesla">NVidia Tesla</a>.</p>

<div class="caption-img">
<img alt="Intel 8086 block diagram" src="http://img.xataka.com/2013/01/diag-bloques-intel-8086.jpg" class="centro_sinmarco" />
<span>Diagrama esquemático del Intel 8086 (<a href="http://en.wikipedia.org/wiki/File:Intel_8086_block_scheme.svg">vía Wikipedia</a>)</span>
</div>

	<p>x86 también ha ido incluyendo <strong>nuevos sets de instrucciones y mayores registros</strong> para afrontar todo tipo de tareas. <strong><span class="caps">MMX</span></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><span class="caps">SSE</span></em> (Streaming <span class="caps">SIMD</span> Extensions en sus versiones <span class="caps">SSE</span>, 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 <span class="caps">MMX</span>, también para aplicación gráfica) o <em><span class="caps">AES</span></em> (más reciente, para cifrado de la información). En Wikipedia puede consultarse <a 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 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>

	<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 <span class="caps">CISC</span></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 href="http://www.xataka.com/componentes-de-pc/asi-comenzo-todo-el-origen-de-los-procesadores">nuestra primera entrada introductoria</a> era el siguiente:</p>

<ul>
<li><code>Paso 1: Poner la sartén en la vitrocerámica</code></li>
<li><code>Paso 2: Echar aceite</code></li>
<li><code>Paso 3: Calentar el aceite</code></li>
<li><code>Paso 4: Esperar a que esté caliente</code></li>
<li><code>Paso 5: Cascar el huevo</code></li>
<li><code>Paso 6: Verterlo con cuidado sobre el aceite caliente</code></li>
<li><code>Paso 7: Con la ayuda de una paleta, echar el aceite por encima del huevo</code></li>
<li><code>Paso 8: Comprobar que el huevo ya está cocinado y, en ese caso, sacarlo a un plato</code></li>
</ul>

	<p>Supongamos que cada uno de esos &#8216;pasos&#8217; puede ejecutarse en un procesador Intel 8088. Sin embargo, jugando a ser Intel procedemos a lanzar el Pentium <span class="caps">MMX</span> 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>

<ul>
<li><code>Paso 1: Poner la sartén en la vitrocerámica</code></li>
<li><code>Paso 2: Echar y calentar el aceite</code></li>
<li><code>Paso 4: Esperar a que esté caliente</code></li>
<li><code>Paso 5: Cascar el huevo y verterlo con cuidado sobre el aceite caliente</code></li>
<li><code>Paso 7: Con la ayuda de una paleta, echar el aceite por encima del huevo</code></li>
<li><code>Paso 8: Comprobar que el huevo ya está cocinado y, en ese caso, sacarlo a un plato</code></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>

<ul>
<li><code>Paso 1: Poner la sartén en la vitrocerámica</code></li>
<li><code>Paso 2: Echar y calentar el aceite hasta que alcance su temperatura óptima</code></li>
<li><code>Paso 5: Cascar el huevo y verterlo con cuidado sobre el aceite caliente</code></li>
<li><code>Paso 7: Con la ayuda de una paleta, echar el aceite por encima del huevo</code></li>
<li><code>Paso 8: Comprobar que el huevo ya está cocinado y, en ese caso, sacarlo a un plato</code></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>

<ul>
<li><code>Paso 0: Hacer un huevo frito</code></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 <span class="caps">ARM</span>.</p>

<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 <span class="caps">CPU</span>, 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>

	<p><img src="http://img.xataka.com/2011/02/intel-logo.jpg" class="centro_sinmarco" alt="Intel logo"></p>

	<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 &#8216;portátiles&#8217;, móviles y tabletas principalmente. Intel ya ha introducido su tecnología en algunos dispositivos con unos remodelados <a href="http://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>

	<p>Por otro lado, <strong>el gran rival de x86 es <span class="caps">ARM</span></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>

<h2>Especial Arquitecturas Hardware: índice</h2>

<ul>
<li><a href="http://www.xataka.com/componentes-de-pc/asi-comenzo-todo-el-origen-de-los-procesadores">I.- Así comenzó todo: el origen de los procesadores</a></li>
<li><a href="http://www.xataka.com/componentes-de-pc/cisc-frente-a-risc-una-batalla-en-blanco-y-negro">II.- <span class="caps">CISC</span> frente a <span class="caps">RISC</span>, una batalla en blanco y negro</a></li>
<li><a href="http://www.xataka.com/componentes-de-pc/arm-la-navaja-suiza-de-los-procesadores-1"><span class="caps">III</span>.- <span class="caps">ARM</span>, la &#8216;navaja suiza&#8217; de los procesadores</a></li>
<li>IV.- Arquitectura x86, una historia imprescindible de la informática </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>      ]]></description>
      </item>
                    <item>
      <title><![CDATA[ARM, la 'navaja suiza' de los procesadores]]></title>
      <link>http://www.xataka.com/componentes-de-pc/arm-la-navaja-suiza-de-los-procesadores-1</link>
      <guid>http://www.xataka.com/componentes-de-pc/arm-la-navaja-suiza-de-los-procesadores-1</guid>
      <pubDate>Mon, 24 Dec 2012 08:01:55 +0000</pubDate>

      <author>Pablo Espeso</author>
      <description><![CDATA[
      <p><img alt="Todo sobre las arquitecturas de PC 3: ARM" src="http://img.xataka.com/2012/12/arq-3-port-ns-b2.jpg" class="centro" /></p>

	<p>Tras hablar sobre <a href="http://www.xataka.com/componentes-de-pc/cisc-frente-a-risc-una-batalla-en-blanco-y-negro">enfoques <span class="caps">RISC</span> y <span class="caps">CISC</span></a>, hoy nos adentraremos en un caso más concreto. Hablaremos de <strong><span class="caps">ARM</span></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>

	<p><strong><span class="caps">ARM</span></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.<br />
<!--more--><br />
<h2>Un poco de historia</h2></p>

	<p>En 1980, la <strong><span class="caps">BBC</span></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>

	<p><iframe width="650" height="405" src="http://www.youtube.com/embed/gIxCVcYRCRQ" frameborder="0" allowfullscreen></iframe></p>

	<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 <span class="caps">BBC</span> una interesante oportunidad. A principios de 1980 presentaron al concurso el <strong>Acorn Proton</strong>.</p>

<div class="caption-img">
<img alt="Acorn Atom" src="http://img.xataka.com/2012/12/Acorn-Atom.jpg" class="centro" />
<span>Acorn Atom, 1980</span>
</div>

	<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 <span class="caps">MOS</span> 6502 a 1 MHz., 2 KB de memoria <span class="caps">RAM</span> y 8 de <span class="caps">ROM</span>, 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 <span class="caps">MOS</span> 6502 pero a 2 MHz., además de mayor cantidad de memoria <span class="caps">RAM</span> (16 KB) y un mayor número de periféricos asociados, como acceso a cintas, redes o incluso impresora.</p>

	<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 &#8211; especialmente en el apartado gráfico &#8211; y reducido precio: unas 235 libras. En abril de 1981 la <span class="caps">BBC</span> 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><span class="caps">BBC</span> Micro</strong>.</p>

<div class="caption-img">
<img alt="BBC Micro" src="http://img.xataka.com/2012/12/BBC-Micro.jpg" class="centro" />
<span>British Broadcasting Corporation Micro, 1982, con enorme parecido al Atom</span>
</div>

	<p>La <span class="caps">BBC</span> supo mover su proyecto y el <strong><span class="caps">BBC</span> 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 <span class="caps">BBC</span> 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>

	<p>Tras el <span class="caps">BBC</span> 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 <span class="caps">RISC</span>.</p>

	<p>En 1983, Acorn inició el diseño de lo que un par de años más tarde fue <strong>Acorn <span class="caps">RISC</span> Machine, <span class="caps">ARM</span></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><span class="caps">VLSI</span> 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>

	<p><strong>ARM2 era el núcleo de un coprocesador matemático</strong> de apoyo a la <span class="caps">CPU</span> que empezó a utilizarse en el <span class="caps">BBC</span> Micro, gracias a su alta escalabilidad, y que posteriormente también llegó al mercado con una versión compatible con los <em><span class="caps">IBM</span> PC</em> de la época. Ofrecía un rendimiento de unos 4 <span class="caps">MIPS</span> (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>

	<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><span class="caps">BBC</span> 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>

<div class="caption-img">
<img alt="BBC Master" src="http://img.xataka.com/2012/12/BBC-Master.jpg" class="centro" />
<span>British Broadcasting Corporation Master, 1986 (<a href="http://en.wikipedia.org/wiki/File:Acorn_BBC_Master_Series.jpg">vía Wikipedia</a>)</span>
</div>

	<p>A pesar de ello, Acorn continuó fabricando nuevos ordenadores de uso tanto doméstico como profesional, como lo fueron los <span class="caps">BBC</span> Master (1986) y <a href="http://www.xataka.com/ordenadores/acorn-archimedes-especial-ordenadores-desconocidos">Acorn Archimedes</a> (1987). Se trata de dos equipos que utilizaron la tecnología <span class="caps">ARM</span>, 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 <span class="caps">ARM</span> y un sistema operativo propio: <em>Arthur OS</em>, desarrollado por <em>Castle Technology Limited</em> y que más adelante pasó llamarse <em><span class="caps">ARM</span> OS</em>.</p>

<div class="caption-img">
<img alt="Acorn Archimedes" src="http://img.xataka.com/2012/12/Acorn-Archimedes.jpg" class="centro" />
<span>Acorn Archimedes, 1987</span>
</div>

<h2>El nacimiento de <span class="caps">ARM</span> 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 <span class="caps">PDA</span> (<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 <span class="caps">VLSI</span> Technology una compañía que se encargase exclusivamente del diseño de <span class="caps">ARM</span>. <strong>En noviembre de 1990 nació Advanced <span class="caps">RISC</span> Machines Ltd</strong>, que ya en el año 1998 con su salida se transformó en la actual <strong><span class="caps">ARM</span> Holdings</strong>.</p>

	<p>En sus primeros años de vida <strong><span class="caps">ARM</span> 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 href="http://www.xataka.com/otros/intel-vende-su-division-de-procesadores-xscale">el 27 de junio de 2006 vendió el negocio a Marvell</a>) o <span class="caps">IBM</span>. En la actualidad son varias decenas las empresas que crean o han creado procesadores <span class="caps">ARM</span>, muchas de ellas de primera línea en el panorama tecnológico: las propias Intel, <span class="caps">IBM</span> o Apple (quien <a href="http://news.cnet.com/Short-Take-Apple-sells-ARM-shares/2110-1001_3-221149.html">vendió parte de sus participaciones</a> de <em><span class="caps">ARM</span> Ltd.</em> en 1999 por unos 59 millones de dólares), pero también Broadcom, Huawei, <span class="caps">LGDEC</span>, Qualcomm, <span class="caps">AMD</span>, <span class="caps">RIM</span>, Samsung, Panasonic, Sony o Texas Instruments, entre muchos otros.</p>

	<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 <span class="caps">BBC</span> 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><span class="caps">MSDW</span> 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>

<div class="caption-img"> <img alt="Acorn Phoebe" src="http://img.xataka.com/2012/12/Acorn-Phoebe.jpg" class="centro" /> <span>Un prototipo del Acorn Phoebe, 1998, uno de sus últimos equipos que ni siquiera llegó a comercializarse (<a href="http://en.wikipedia.org/wiki/File:Acorn-Phoebe-Case.jpg">vía Wikipedia</a>)</span> </div>

	<p>Tras ello, Morgan Stanley jugó con <em>Element 14</em> y terminó vendiéndola como una empresa de fabricación de <span class="caps">DSL</span> 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 <span class="caps">DSL</span>, y tras ello desapareció del mercado</strong>.</p>

<h2><span class="caps">ARM</span>, la arquitectura <span class="caps">RISC</span> más importante de la historia</h2>

	<p>Cuando en la anterior entrada hablábamos de <strong><span class="caps">RISC</span></strong>, mencionábamos que tenía a <span class="caps">ARM</span> como su principal representante en el mercado actual. Es cierto que existen otras arquitecturas con el mismo enfoque, como lo son los <span class="caps">IBM</span> PowerPC o las MIPS32 y MIPS64 de <em><span class="caps">MIPS</span> Technologies</em>, pero su uso es mucho menor que en el caso de nuestra principal protagonista.</p>

	<p><span class="caps">ARM</span> 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 (<span class="caps">DVD</span>, 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 <span class="caps">DECT</span> o en coches (por eso ahora <a href="http://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 <span class="caps">NXT</span> utilizan un procesador <span class="caps">ARM</span>.</p>

	<p>Hay otro uso algo desconocido pero también bastante convencional: <strong>el uso de chips <span class="caps">ARM</span> en microcontroladores</strong> de gestión de otros dispositivos, como por ejemplo un disco duro tradicional o un <span class="caps">SSD</span>. 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 <span class="caps">ARM</span> que es el encargado de gestionar las posiciones libres y ocupadas de memoria, de ejecutar <span class="caps">TRIM</span> y, más en general, de organizar y administrar la estructura interna del almacenamiento.</p>

<div class="caption-img">
<img alt="OCZ Indilinx Everest 2" src="http://img.xataka.com/2012/12/OCZ-Indilinx-Everest-2.jpg" class="centro_sinmarco" />
<span>Controlador Indilinx Everest 2 de un Vertex 4 rodeado de chips de memoria (<a href="http://www.storagereview.com/ocz_vertex_4_ssd_review">vía StorageReview</a>)</span>
</div>

	<p>Todos estos usos de procesadores <span class="caps">ARM</span> 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>

<h2>Lo que hace a <span class="caps">ARM</span> diferente</h2>

	<p>Desde la primera versión comercial allá por mediados de los 80, <strong><span class="caps">ARM</span></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 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 <span class="caps">ARM</span>, 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 href="http://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>

	<p>También hay otros fabricantes que han creado sus arquitecturas basándose en las de <span class="caps">ARM</span>, 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>

	<p><img alt="ARM Cortex-A15 diagram" src="http://img.xataka.com/2012/12/ARM-Cortex-A15-arch.jpg" class="centro_sinmarco" /></p>

	<p><img src="http://img.xataka.com/2011/09/nvidia-kal-el-diagram.jpg" alt="NVidia Tegra 3 diagram" class="centro"></p>

	<p>Una de las principales características de <span class="caps">ARM</span> 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 <span class="caps">ARM</span> también es notablemente más barato, lo cual los hace ideales en muchos casos.</p>

<h2>Lo que nos espera con <span class="caps">ARM</span></h2>

	<p>Desde el nacimiento de <em>Advanced <span class="caps">RISC</span> Machines Ltd</em> hace poco más de veinte años, <span class="caps">ARM</span> 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 <span class="caps">NXT</span> también integra el ARM7TDMI en sus entrañas).</p>

<div class="caption-img">
<img alt="HP RedStone ARM" src="http://img.xataka.com/2012/12/HP-RedStone-diag.jpg" class="centro_sinmarco" />
<span>Diagrama del proyecto de servidores <span class="caps">ARM</span> de HP, el <a href="http://h17007.www1.hp.com/us/en/iss/110111.aspx">HP Moonshot</a></span>
</div>

	<p>En el actual panorama de crisis económica y con un cuidado por la naturaleza cada vez mayor, <strong><span class="caps">ARM</span> 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. <span class="caps">ARM</span> 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 <span class="caps">ARM</span> 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 <span class="caps">ARM</span> entre en esa prestigiosa y conocida lista.</p>

	<p>A día de hoy podemos asegurar que <strong>el futuro de <span class="caps">ARM</span> es muy prometedor</strong>. Van ganando rendimiento en cada nueva generación de procesadores, van manteniendo &#8211; o incluso reduciendo &#8211; 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 <span class="caps">ARM</span>, los coches están empezando a utilizarlos &#8211; y en no mucho tiempo será algo común en nuestros vehículos &#8211; 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>

	<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 <span class="caps">ARM</span> 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>

<h2>Especial Arquitecturas Hardware: índice</h2>

<ul>
<li><a href="http://www.xataka.com/componentes-de-pc/asi-comenzo-todo-el-origen-de-los-procesadores">I.- Así comenzó todo: el origen de los procesadores</a></li>
<li><a href="http://www.xataka.com/componentes-de-pc/cisc-frente-a-risc-una-batalla-en-blanco-y-negro">II.- <span class="caps">CISC</span> frente a <span class="caps">RISC</span>, una batalla en blanco y negro</a></li>
<li><span class="caps">III</span>.- <span class="caps">ARM</span>, la &#8216;navaja suiza&#8217; de los procesadores</li>
</ul>

	<p>Imagen de portada | <a href="http://en.wikipedia.org/wiki/File:Acorn-ARM-Evaluation-System.jpg">Fibble para Wikipedia</a><br />
En Xataka | <a href="http://www.xataka.com/tag/todo-sobre-las-arquitecturas-de-pc">Todo sobre las arquitecturas de PC</a></p>      ]]></description>
      </item>
                    <item>
      <title><![CDATA[CISC frente a RISC, una batalla en blanco y negro]]></title>
      <link>http://www.xataka.com/componentes-de-pc/cisc-frente-a-risc-una-batalla-en-blanco-y-negro</link>
      <guid>http://www.xataka.com/componentes-de-pc/cisc-frente-a-risc-una-batalla-en-blanco-y-negro</guid>
      <pubDate>Fri, 14 Dec 2012 09:01:29 +0000</pubDate>

      <author>Pablo Espeso</author>
      <description><![CDATA[
      <p><img alt="CISC frente a RISC" src="http://img.xataka.com/2012/12/esp-arq-2-port.jpg" class="centro" /></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>

	<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.<br />
<!--more--></p>

<h2>La operación más sencilla para un procesador</h2>

	<p>En <a href="http://www.xataka.com/componentes-de-pc/asi-comenzo-todo-el-origen-de-los-procesadores">la primera entrada</a> hablamos de la <em><span class="caps">ISA</span></em> (<em>Instruction Set Architecture</em>) y pusimos dos ejemplos: <strong><span class="caps">ARM</span> y x86</strong> son las dos <span class="caps">ISA</span> más utilizadas en la actualidad en los procesadores de Intel, Qualcomm, <span class="caps">ARM</span>, Samsung, etc.</p>

	<p>Una <span class="caps">ISA</span> 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 <span class="caps">ISA</span> son el <strong>conjunto de instrucciones</strong> que admite.</p>

	<p>Estas instrucciones son fundamentales e imprescindibles, ya que es lo que el procesador ejecuta. Dependiendo de la <span class="caps">ISA</span> 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 <span class="caps">CPU</span>.</p>

	<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>

<ul>
<li><code>Paso 6.1: Colocar el huevo partido sobre la sartén.</code></li>
<li><code>Paso 6.2: Acercar el huevo partido a un par de centímetros del aceite caliente.</code></li>
<li><code>Paso 6.3: Mover verticalmente el huevo partido.</code></li>
<li><code>Paso 6.4: Verter el contenido del huevo partido sobre el aceite hasta que esté vacío.</code></li>
<li><code>Paso 6.5: Retirar el huevo partido y ya vacío.</code></li>
<li><code>Paso 6.6: Tirar a la basura el huevo partido y ya vacío.</code></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>

	<p>Este razonamiento es la base para entender lo que ocurrió con <strong><span class="caps">CISC</span></strong> a mediados del siglo XX, cuando <span class="caps">IBM</span> 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><span class="caps">RISC</span></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>

<h2><span class="caps">CISC</span> 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, <span class="caps">IBM</span> 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><span class="caps">CISC</span>, <em>Complex Instruction Set Computing</em></strong>, introducido por primera vez en los <a href="http://en.wikipedia.org/wiki/IBM_System/360"><span class="caps">IBM</span> System/360</a> el 7 de abril de 1964.</p>

<div class="caption-img">
<img alt="IBM System-360" src="http://img.xataka.com/2012/12/IBM-System-360.jpg" class="centro" />
<span>Un System/360 en una fábrica de Volkswagen, año 1973 (<a href="http://en.wikipedia.org/wiki/File:Bundesarchiv_B_145_Bild-F038812-0014,_Wolfsburg,_VW_Autowerk.jpg">vía Wikipedia</a>)</span>
</div>

	<p><strong><span class="caps">CISC</span></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 <span class="caps">CISC</span> tendríamos una única instrucción: nuestro <code>Paso 6: Verterlo con cuidado sobre el aceite caliente</code>.</p>

	<p>En la actualidad <strong><span class="caps">CISC</span> tiene a x86</strong> como su mayor exponente, con <span class="caps">AMD</span> y sobre todo Intel a la cabeza de su desarrollo. Hay muchos ejemplos históricos como los <span class="caps">PDP</span>, Motorola 68000, <a href="http://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>

<h2><span class="caps">RISC</span>, con la simpleza por bandera</h2>

	<p>Tras el lanzamiento de <span class="caps">CISC</span>, los científicos de <span class="caps">IBM</span> 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><span class="caps">RISC</span>, <em>Reduced Instruction Set Computing</em></strong>. El <span class="caps">IBM</span> 801 que empezó a crearse en 1975, fue diseñado por John Cocke y es considerado el primer procesador <span class="caps">RISC</span> de la historia.</p>

<div class="caption-img"> <img alt="IBM 801" src="http://img.xataka.com/2012/12/IBM-801-john-Cocke.jpg" class="centro" /> <span>John Cocke ya en los 80 junto a uno de los prototipos que usó el procesador 801</span> </div>

	<p>La principal virtud de <span class="caps">RISC</span> 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 <span class="caps">RISC</span> estaría compuesto por las instrucciones descritas entre <code>Paso 6.1</code> y <code>Paso 6.6</code>.</p>

	<p>Un procesador de tipo <span class="caps">RISC</span> 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 <span class="caps">CPU</span>. En la actualidad el mayor ejemplo de <strong>procesador <span class="caps">RISC</span> son los productos <span class="caps">ARM</span></strong>, utilizados ampliamente en dispositivos móviles pero también en otros campos como los supercomputadores. <span class="caps">ARM</span> será el principal protagonista de una de nuestras próximas entradas de esta saga.</p>

<h2><span class="caps">RISC</span> frente a <span class="caps">CISC</span> y la gran batalla actual</h2>

	<p><strong><span class="caps">CISC</span></strong> nació con la finalidad de homogeneizar los diferentes computadores en los años 50 y 60. <strong><span class="caps">RISC</span></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>

	<p>Tanto <span class="caps">CISC</span> como <span class="caps">RISC</span> 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 &#8211; 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>

<div class="caption-img">
<img alt="IBM PowerPC 601 e Intel 80286" src="http://img.xataka.com/2012/12/ibm-powerpc-601-intel-80286.jpg" class="centro_sinmarco" />
<span>¿Adivináis qué enfoque siguen estos dos?</span>
</div>

	<p>La gran batalla actual es la de sus dos grandes exponentes, <strong><span class="caps">ARM</span> y x86</strong>, que han actualizado sus objetivos a lo que les importa a los usuarios del siglo <span class="caps">XXI</span>. Veremos que el punto fuerte de <strong><span class="caps">ARM</span> está en la eficiencia energética</strong>. Un chip <span class="caps">ARM</span> 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>

	<p>Ésta es la gran batalla que nos ocupará las próximas entradas.</p>

<h2>Especial Arquitecturas Hardware: índice</h2>

<ul>
<li><a href="http://www.xataka.com/componentes-de-pc/asi-comenzo-todo-el-origen-de-los-procesadores">I.- Así comenzó todo: el origen de los procesadores</a></li>
<li>II.- <span class="caps">CISC</span> frente a <span class="caps">RISC</span>, una batalla en blanco y negro</li>
<li><em>Continuará&#8230;</em></li>
</ul>      ]]></description>
      </item>
                    <item>
      <title><![CDATA[Así comenzó todo: el origen de los procesadores]]></title>
      <link>http://www.xataka.com/componentes-de-pc/asi-comenzo-todo-el-origen-de-los-procesadores</link>
      <guid>http://www.xataka.com/componentes-de-pc/asi-comenzo-todo-el-origen-de-los-procesadores</guid>
      <pubDate>Mon, 10 Dec 2012 08:31:44 +0000</pubDate>

      <author>Pablo Espeso</author>
      <description><![CDATA[
      <p><img alt="Así comenzó todo: el origen de los procesadores" src="http://img.xataka.com/2012/12/portada-especial-arq-1.jpg" class="centro" /></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>

	<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><br />
<!--more--></p>

<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>

<div class="caption-img">
<img alt="Arquitectura de Von Neumann" src="http://img.xataka.com/2012/12/arquitectura-von-neumann.jpg" class="centro_sinmarco" />
<span>Diagrama de la arquitectura de Von Neumann (<a href="http://en.wikipedia.org/wiki/File:Von_Neumann_architecture.svg">vía Wikipedia</a>)</span>
</div>

	<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>

<ul>
<li>Una <em>unidad de proceso</em> que incluirá <span class="caps">ALU</span> y unidad de control.</li>
<li>Dispositivos de <em>memoria</em> para almacenar información, bien temporal o final.</li>
<li>Periféricos de <em>entrada/salida</em> para comunicarse con el usuario.</li>
</ul>

<div class="caption-img"> <img alt="ENIAC" src="http://img.xataka.com/2012/12/ENIAC-USarmy.jpg" class="centro" /> <span>El &#8220;Electronic Numerical Integrator And Computer&#8221; del ejército estadounidense</span> </div>

	<p>La arquitectura de Von Neumann fue utilizada por primera vez en el <strong><span class="caps">ENIAC</span></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>

	<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>

	<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>

<ul>
<li><code>Paso 1: Poner la sartén en la vitrocerámica</code></li>
<li><code>Paso 2: Echar aceite</code></li>
<li><code>Paso 3: Calentar el aceite</code></li>
<li><code>Paso 4: Esperar a que esté caliente</code></li>
<li><code>Paso 5: Cascar el huevo</code></li>
<li><code>Paso 6: Verterlo con cuidado sobre el aceite caliente</code></li>
<li><code>Paso 7: Con la ayuda de una paleta, echar el aceite por encima del huevo</code></li>
<li><code>Paso 8: Comprobar que el huevo ya está cocinado y, en ese caso, sacarlo a un plato</code></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>

<ul>
<li><code>Paso 1: coge el valor del registro A y llámalo N1.</code></li>
<li><code>Paso 2: coge el valor del registro B y llámalo N2.</code></li>
<li><code>Paso 3: suma N1 y N2 y almacena el resultado en el registro C.</code></li>
<li><code>Paso 4: almacena el valor del registro C en la posición de memoria etiquetada como M.</code></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>

<div class="caption-img"> <img alt="Intel CPU 48 cores" src="http://img.xataka.com/2012/12/intel-cpu-48cores.jpg" class="centro" /> <span>Procesador prototipo de Intel de 2009, con 48 núcleos</span> </div>

	<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 <span class="caps">ISA</span></strong> (<em>Instruction Set Architecture</em>). Por ejemplo, <strong>x86</strong> es la <span class="caps">ISA</span> de los procesadores Intel o <span class="caps">AMD</span> domésticos actuales, los cuales a su vez utilizan múltiples microarquitecturas, y <strong><span class="caps">ARM</span></strong> es la <span class="caps">ISA</span> 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>

<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 <span class="caps">ALU</span>, <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, <span class="caps">ALU</span>, 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>

<div class="caption-img">
<img alt="Intel Core 2 Duo arquitectura" src="http://img.xataka.com/2012/12/intel-c2d-arch.jpg" class="centro_sinmarco" />
<span>Diagrama de la arquitectura de un Intel Core 2 Duo (<a href="http://en.wikipedia.org/wiki/File:Intel_Core2_arch.svg">vía Wikipedia</a>)</span>
</div>

	<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>

	<p>Uno de los aspectos más interesantes es que un mismo juego de instrucciones (<span class="caps">ISA</span>) puede ser ejecutado sobre diferentes microarquitecturas, que es lo que da lugar a las <strong>grandes rivalidades</strong> que por ejemplo tienen Intel y <span class="caps">AMD</span> bajo x86, o Samsung, Apple y Qualcomm con <span class="caps">ARM</span>. Sobre el estado actual del mercado y las grandes <em>guerras</em> en lo referente a las arquitecturas hablaremos en posteriores artículos.</p>

<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><span class="caps">ENIAC</span></strong>, el primero que siguió la arquitectura de Von Neumann y sobre el cual hay unos datos bastantes interesantes <a href="http://en.wikipedia.org/wiki/ENIAC">en su entrada de Wikipedia</a>:</p>

<ul>
<li>Contenía 17.488 tubos de vacío, 70.000 resistencias y 10.000 condensadores, entre otros muchos componentes.</li>
<li>Su peso total era de 27 toneladas, ocupando una superficie de 167 metros cuadrados.</li>
<li>Para hacerla funcionar era necesario operar 6000 interruptores&#8230; manualmente, claro.</li>
<li>Requería una potencia de 160 kiloVatios.</li>
<li>Permitía operar hasta 5.000 sumas y 357 multiplicaciones por segundo.</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>

	<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><span class="caps">IBM</span></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><span class="caps">IBM</span> 7090</em> que es considerado como el primer ordenador con <span class="caps">CPU</span> de transistores de la historia. Era seis veces más potente que su antecesor (el <em><span class="caps">IBM</span> 709</em>) y costaba la mitad, así que era una inversión asegurada.</p>

<div class="caption-img"> <img alt="NASA IBM 7090" src="http://img.xataka.com/2012/12/NASA-IBM-7090.jpg" class="centro" /> <span>Lo que hay frente a la silla de la derecha es un 7090</span> </div>

	<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 <span class="caps">RISC</span> y <span class="caps">CISC</span></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>

<h2>Especial Arquitecturas y Procesadores: índice</h2>

<ul>
<li>I.- Así comenzó todo: el origen de los procesadores</li>
<li>Continuará&#8230;</li>
</ul>

	<p>En Xataka | <a href="xataka.com/tag/Especial-Arquitecturas">Especial arquitecturas</a></p>      ]]></description>
      </item>
        	  <atom:link href="http://www.xataka.com/tag/todo-sobre-las-arquitecturas-de-pc/rss2.xml" rel="self" type="application/rss+xml" />
	</channel>

</rss>


