ANTERIOR

SP3 / H1 : Componentes en los procesadore

SIGUIENTE
MENU

Componentes en los procesadores

En la situación profesional observamos que tenemos un problema de VELOCIDAD DE PROCESAMIENTO. Siempre hay dos factores principales que mejoran este inconveniente, uno es el Microprocesador y el otro la Memoria RAM. Estudiaremos en estas herramientas el MICROPROCESADOR.

El procesador (denominado CPU, por Central Processing Unit) es un circuito electrónico que funciona a la velocidad de un reloj interno por medio de un cristal de cuarzo que, sometido a una corriente eléctrica, envía pulsos denominados picos. La velocidad de reloj (ciclo) corresponde al número de pulsos por segundo, expresados en Hertz (Hz). Podemos considerar entonces que un equipo que funciona a 100 MHz posee un reloj que envía 100.000.000 pulsos por segundo. Por lo general, la frecuencia del reloj es un múltiplo de la frecuencia del sistema, donde se involucra la velocidad del procesador con el bus principal de la placa madre (FSB, Front-Side Bus o Bus de la Parte Frontal).

Con cada pico de reloj, el procesador ejecuta una acción que corresponde, a su vez, a una instrucción o bien a una parte de ella. La medida CPI (Cycles Per Instruction o Ciclos por Instrucción) representa el número promedio de ciclos de reloj necesarios para que el microprocesador ejecute una instrucción. En consecuencia, la potencia del microprocesador puede caracterizarse por el número de instrucciones por segundo que es capaz de procesar. Los MIPS (millions of instructions per second o millones de instrucciones por segundo) son las unidades que se utilizan, y corresponden a la frecuencia del procesador dividida por el número de CPI.

Cálculo: CPU de 1.5 GHz (Gigahercios)

* Su velocidad de reloj es 1.5 Gigaciclos por segundo (15 seguido de ocho ceros o 1.5 * 10 ^ 9).

A continuación, lo invitamos a ver un video explicativo:

Cuando observemos un procesador debemos saber que lo que tenemos en frente es un encapsulado externo que lo envuelve , y que contiene los contactos necesarios para poder encastrarlo a un zócalo de motherboard. El núcleo interno del micro es un trozo de sicilio alterado mediante tratamientos químicos, con una superficie pequeña.

Fabricación

Un gran salto en la tecnología se lleva a cabo en la fabricación de los chips, los cuales son integrados por un número determinado de transistores en una única pieza, con el tiempo se fueron desarrollando técnicas para colocar más transistores en circuitos integrados (chips). Para la fabricación de chips se utilizan materiales muy específicos llamados semiconductores, el más empleado es el silicio.

El silicio posee un elevado punto de fusión, y por sus propiedades semiconductoras tiene gran aplicación en la industria electrónica y como detector de radiaciones. Sus derivados presentan gran variedad de usos, desde las industrias del vidrio a las de los polímeros artificiales, como las siliconas.

Los semiconductores conducen electricidad bajo determinadas condiciones.

Veamos algunos videos con explicaciones sencillas sobre semiconductores:

  • Manufactura

  • Funcionamiento

Durante la fabricación del chip, el silicio es mezclado con otras sustancias, con el fin de introducir impurezas que le confieran capacidad de semiconducción. El silicio es cristalizado en grandes obleas llamadas wafers que, posteriormente, son divididas en secciones rectangulares más pequeñas, de las que finalmente saldrán los chips (en un wafer puede haber más de cien microprocesadores). Luego de efectuar el corte del wafer, se obtienen fragmentos de material sin una función concreta. A continuación se pasa a la fase de implantación, que dotará al procesador de todas las funciones de cálculo. El diseño se hace en principio a nivel lógico. Luego del diseño lógico se pasa a la fabricación de los chips en serie, mediante un proceso llamado fotolitografía.

Los transistores y las conexiones entre ellos se crean en el semiconductor aplicando diferentes capas de varios materiales, cada una en un lugar determinado y exacto.

 

El semiconductor es tratado con una sustancia sensible a la luz y se le aplica luz a través de la máscara, con lo cual se crean las diferentes capas del chip. El proceso se repite para cada máscara a escala microscópica (Micrón o Nanómetros ).

La siguiente fase es el encapsulamiento, que implica ensamblar el diminuto chip en una placa de circuito impreso con los diferentes contactos con los que luego se insertará en la placa madre.

Finalmente, está la fase de prueba y calibración de velocidad. No todas las unidades fabricadas tienen la misma calidad de componentes, por lo que son probadas inicialmente en la frecuencia para la que fueron diseñadas y, en caso de fallar, en frecuencias progresivamente más bajas, hasta alcanzar aquella en la que el funcionamiento sea estable.

 

Lo invitamos a ver un video demostración sobre cómo se fabrica un microprocesador:

Si bien todos los micros siguen los mismos pasos de fabricación, es al final de esta prueba cuando los procesadores son diferenciados y etiquetados con la correspondiente frecuencia bajo la cual serán comercializados.

Características Básicas

Podremos encontrar a la hora de buscar un microprocesador que tiene variadas características, las que suelen destacarse son la velocidad y el tamaño de caché, sin embargo, existen otras características internas que son de relevancia para aquellas personas que desean tener la mejor tecnología o componente del mercado.

Algunas característica son:

Transistores: las funciones que puede tener un transistor son variadas, ya que puede amplificar, conmutar, rectificar y hacer de oscilador.

Los transistores son conmutadores electrónicos en miniatura, parecido a los interruptores/llaves de la luz, un transistor tiene dos posiciones, apagado y encendido, posibilitando el paso o no de electrones (energía). Los transistores no tienen partes móviles, se apagan y encienden por señales eléctricas. Estas conmutaciones facilitan el trabajo realizado por los microprocesadores.

Transistores convencionales:

Distintos tipos de transistores:

Funcionamiento del transistor: los electrones fluyen desde la entrada a la salida, formando un canal conductor. La puerta hace las veces de interruptor.

Velocidad de Reloj: como vimos en la situación profesional anterior, la frecuencia está vinculada a la velocidad que puede llevar a cabo un dispositivo electrónico en ciclos. En el caso de los proceadores nos muestra la frecuencia a la que puede alcanzar un núcleo del microprocesador, por ejemplo la 80286 es de 5 Mhz comparada a un Core i7 que puede alcanzar los 4 Ghz, la evolución de procesamiento es enorme año tras año.

Tamaño de datos: la cantidad de bits que puede manejar por los distintos buses, podemos considerar que 64 bits es el mayor tamaño de manejo de datos.

MIPS: millions of instructions per second o millones de instrucciones por segundo, son las unidades que se utilizan, y corresponden a la frecuencia del procesador, dividida por el número de CPI (Cycles Per Instruction o Ciclos por Instrucción). Veremos más adelante que MIPS hace referencia a otra característica del procesador totalmente diferente.

Veamos una infografía sobre la evolución del microprocesador:

Instrucciones

El microprocesador recibe de todos los dispositivos de la PC distintas instrucciones que serán procesadas por el mismo y las convierte en resultados. Una instrucción es una operación elemental que el procesador puede cumplir. Las instrucciones se almacenan en la memoria principal, esperando ser tratadas por el procesador. Las instrucciones poseen dos campos:

  • El código de operación, que representa la acción que el procesador debe ejecutar.

  • El código operando, que define los parámetros de la acción. El código operando depende a su vez de la operación. Puede tratarse tanto de información como de una dirección de memoria.

El número de bits en una instrucción varía de acuerdo al tipo de información (entre 1 y 4 bytes de 8 bits).

Las instrucciones pueden agruparse en distintas categorías, veamos algunas de las más importantes:

  • Acceso a Memoria: acceso a la memoria o transferencia de información entre registros.

  • Operaciones Aritméticas: operaciones tales como suma, resta, división o multiplicación.

  • Operaciones Lógicas: operaciones tales como Y, O, NO, NO EXCLUSIVO, etc.

  • Control: controles de secuencia, conexiones condicionales, etc.

Veamos qué realiza el procesador con las instrucciones internamente. En pocas palabras tiene cinco funciones principales: búsqueda de la instrucción, decodificación, búsqueda de operandos, ejecución de la instrucción y almacenamiento del resultado.

Conjunto de Instrucciones

Un conjunto de instrucciones es la suma de las operaciones básicas que puede cumplir un procesador. El conjunto de instrucciones de un procesador es un factor determinante en la arquitectura, aunque una misma arquitectura puede llevar a diferentes implementaciones por diferentes fabricantes.

El procesador funciona de forma eficiente gracias a un número limitado de instrucciones, conectadas de forma permanente a los circuitos electrónicos. La mayoría de las operaciones se pueden realizar utilizando funciones básicas. Algunas arquitecturas, no obstante, sí incluyen funciones avanzadas de procesamiento.

En definitiva, un conjunto de instrucciones agilizará el procesamiento de información o datos, ya que tendrá predeterminado un grupo de ejecuciones facilitando el resultado. Por ejemplo sería el manual de instrucción para armar una biblioteca; manual de instrucciones para cambiar una bujía; manual de instrucción para cambiar el chip de un smartphone; etc. En este caso, serían los "manuales de instrucciones" para realizar procesos sobre datos que envíe como: proceso de imagen, sonido, aplicaciones, etc.

La tarea a realizar en un microprocesador la especifica un programa. Un programa consiste en una secuencia de instrucciones, codificadas (código máquina) de acuerdo a un formato interpretable por el procesador.

El procesador será capaz de ejecutar un conjunto básico de instrucciones, cada una de las cuales realiza una operación elemental muy simple (por ejemplo operaciones aritméticas). La tarea a realizar se debe especificar de acuerdo a estas instrucciones elementales. El programa, por tanto, será la secuenciación de las instrucciones elementales de tal manera que lleven a cabo el algoritmo que describe la tarea que se desea realizar.

Un algoritmo 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. Por ejemplo veamos el ejemplo para hervir un huevo:

Paso 1: tomar un huevo.

Paso 2: poner agua en un recipiente para calentar.

Paso 3: calentar el agua hasta el punto de ebullición.

Paso 4: ubicar el huevo dentro del recipiento con agua.

Paso 5: hervir en fuego moderado por 15 minutos.

Paso 6: retirar el huevo del recipiente.

Paso 7: comprobar que este cocido.

Paso 8: retirar la cáscara del huevo.

Este es un ejemplo sobre cómo puede funcionar un algoritmo en la vida real, imaginemos que a esto el procesador debe interpretarlo desde los diferentes programas de un dispositivo. Por ejemplo sistemas operativos, software de 3D, videojuegos, etc.

Antes de continuar, necesitamos conocer el procesamiento de instrucciones, por ello repasaremos las arquitecturas de procesadores que existen.

  • Arquitectura CISC: La arquitectura CISC (Complex Instruction Set Computer, Ordenador de Conjunto de Instrucciones Complejas) se refiere a la conexión permanente del procesador con las instrucciones complejas, difíciles de crear a partir de las instrucciones de base.

    La arquitectura CISC es especialmente popular en procesadores de tipo 80 x 86 (8086). Este tipo de arquitectura tiene un costo elevado a causa de las funciones avanzadas impresas en la silicona.

    Las instrucciones son de longitud diversa, y a veces requieren más de un ciclo de reloj. Dado que los procesadores basados en la arquitectura CISC sólo pueden procesar una instrucción a la vez, el tiempo de procesamiento es una función del tamaño de la instrucción.

  • Arquitectura RISC: Los procesadores con tecnología RISC (Reduced Instruction Set Computer, Ordenador de Conjunto de Instrucciones Reducidas) no poseen funciones avanzadas conectadas en forma permanente.

    Es por eso que los programas deben traducirse en instrucciones sencillas, lo cual complica el desarrollo o hace necesaria la utilización de un procesador más potente. Este tipo de arquitectura tiene un costo de producción reducido si se lo compara con los procesadores CISC. Además, las instrucciones de naturaleza sencilla se ejecutan en un sólo ciclo de reloj, lo cual acelera la ejecución del programa si se lo compara con los procesadores CISC. Para terminar, dichos procesadores pueden manejar múltiples instrucciones en forma simultánea, procesándolas en paralelo.

En el interior de un microprocesador encontramos las siguientes partes claramente definidas:

Podemos encontrar páginas como donde podremos observar información y detalles internos de los CPU del mercado, muy buenas comparativas y detalles de los procesadores. Por ejemplo como la siguiente imagen:

La imagen anterior provista por la web, puede ser muy compleja ya que tiene varias características. Podemos destacar algunas de ellas como principales desde los inicios del microprocesador como:

Esquema microprocesador 8088:

Buses dentro de un microprocesador 8086:

Veamos en los siguientes párrafos el significado de todos estos componentes internos.

Principales componentes de un microprocesador

Podemos destacar los siguientes componentes como principales:

  • Caché: Es importante tener un acceso rápido a la memoria para poder obtener mayor velocidad de respuesta. Mientras el microprocesador avanzaba en su tecnología convirtiéndose en un componente muy veloz, dejaba atrás en rendimiento a la memoria RAM (más lenta y de menor progresión en cuanto a velocidad) actuando como cuello de botella, desperdiciando la verdadera velocidad del micro. Por eso se decidió insertar una pequeña memoria, de alta velocidad, en la que el procesador pueda almacenar la información con la que está trabajando y no deba recurrir al sistema de memoria RAM con tanta frecuencia.

    Un procesador tiene varios niveles de memoria caché pensada para acelerar estos accesos. Su idea de funcionamiento es sencilla, se almacenan en ella los datos e instrucciones a los que se accede más frecuentemente y al estar cerca del procesador el acceso es más rápido. Fuera del núcleo nos encontramos con la denominada LLC (Last level cache) que dependiendo del modelo es la tercera o segunda capa.

    Se pueden encontrar hasta tres niveles de caché en el microprocesador. L1, L2 y L3 de diferentes tamaños, generalmente descriptas tanto en las características del dispositivo, en su caja o en la web. Se describirá más sobre el mismo continuando en la situación profesional.

  • Unidad de Control: vincula la información entrante para luego decodificarla y enviarla a la unidad de ejecución. Cuando el micro toma datos de la caché o la RAM, empieza a actuar la unidad de control. Está encargada de interpretar las instrucciones y determina la forma en que deben ser entregadas a la unidad de ejecución (las ordena y las envía de la mejor manera posible). La unidad contiene pequeñas celdas de memoria llamadas registros, donde se almacena información acerca de las instrucciones que se están ejecutando. Las partes principales son el decodificador, que toma el código de la instrucción y lo pasa a un lenguaje interno del procesador (Assembler) y el secuenciador, que es donde la instrucción se descompone en pequeñas porciones, denominadas microinstrucciones, y se pasan al motor de ejecución. Está compuesta por los siguientes elementos:

  • Assembler: se desarrolló un lenguaje ensamblador que reemplaza números por palabras, de manera que sea más fácil programar instrucciones al microprocesador. Es un lenguaje de BAJO nivel, muy difícil de utilizar.

  • Secuenciador (unidad lógica y de supervisión): sincroniza la ejecución de la instrucción con la velocidad de reloj. También envía señales de control.

  • Señales de Control: Las señales de control son señales electrónicas que orquestan las diversas unidades del procesador que participan en la ejecución de una instrucción. Dichas señales se envían utilizando un elemento denominado secuenciador. Por ejemplo, la señal Leer/Escribir permite que la memoria se entere de que el procesador desea leer o escribir información.

  • Contador ordinal: que contiene la dirección de la instrucción que se está ejecutando actualmente.

  • Registro de instrucción: que contiene la siguiente instrucción.

  • Unidad de Ejecución (unidad de procesamiento): cumple las tareas que le asigna la unidad de instrucción. Las unidades de ejecución se encargan de realizar las operaciones matemáticas y lógicas propiamente dichas, y de guardar el resultado para terminar la fase de ejecución. La unidad de ejecución que más conocemos es la ALU (unidad aritmética lógica), que realiza las operaciones aritméticas (suma, resta, multiplicaciones) y lógicas (comparaciones, decisiones) con números enteros. El otro tipo de unidad de ejecución, es la llamada FPU (unidad de punto flotante) que realiza operaciones de gran precisión con números flotantes (números decimales con comas). La unidad de ejecución se compone de los siguientes elementos:

  • La unidad aritmética lógica (se escribe ALU): sirve para la ejecución de cálculos aritméticos básicos y funciones lógicas (Y, O, O EXCLUSIVO, etc.).

  • La unidad de punto flotante (se escribe FPU): ejecuta cálculos complejos parciales que la unidad aritmética lógica no puede realizar, también podemos encontrarlo como unidad de coma flotante.

  • El registro de estado se detalla más adelante.

  • El registro acumulador se detalla más adelante.

  • Unidad de administración del bus (unidad de entrada/salida - I/O): administra el flujo de información entrante y saliente, y que se encuentra interconectado con la RAM.

  • Registros: Cuando el procesador ejecuta instrucciones, la información se almacena en forma temporal en pequeñas ubicaciones de memoria local de 8, 16, 32 o 64 bits, denominadas registros. Dependiendo del tipo de procesador, el número total de registros puede variar de 10 a varios cientos.

    Los registros más importantes son:

  • El registro acumulador (ACC), que almacena los resultados de las operaciones aritméticas y lógicas.

  • El registro de estado (PSW, Processor Estado: Word o Palabra de Estado del Procesador), que contiene los indicadores de estado del sistema (lleva dígitos, desbordamientos, etc.).

  • El registro de instrucción (RI), que contiene la instrucción que está siendo procesada actualmente.

  • El contador ordinal (OC o PC por Program Counter, Contador de Programa), que contiene la dirección de la siguiente instrucción a procesar.

  • El registro del búfer, que almacena información en forma temporal desde la memoria.

Concluyendo, podemos observar en los siguientes videos explicativos, una muestra de lo complejo que es internamente el procesamiento de información.

Funcionamiento interno del CPU:

Resumen de todo lo visto en la herramienta:

Elementos integrados

  • Controlador de memoria: Antes tenía un elemento sobre la placa base que se encargaba de toda la comunicación entre el micro y la memoria RAM. Al incluirlo en el interior del procesador se consigue mejorar considerablemente la velocidad.

  • GPU: Cada vez son más los modelos que incluyen una GPU en su interior. De esta forma, consigue reducir el consumo y ahorrar dinero, al no tener que adquirir este dispositivo para nuestro dispositivo. No obstante, no son componentes tan potentes como sus las placas discretas (independientes).

  • Controlador PCI Express: Al implementar internamente este componente la comunicación con la tarjeta gráfica es directa. Es decir, se ha seguido la misma filosofía que con el controlador de memoria.

  • Controlador del bus del sistema: El bus del sistema permite al procesador comunicarse con los periféricos que se encuentran en la placa madre. Al incluirlo se consiguió mejorar la velocidad global del sistema.

Bits de Datos

Uno de los datos más desconcertantes a la hora de comprar un microprocesador es ¿qué quiere decir un micro de 32 bits y uno de 64 bits? ¿cuáles son las ventajas? Nos suele desconcertar y generalmente no encontramos una respuesta satisfactoria con respecto al significado de los bits de datos, la respuesta usual es "va a funcionar más rápido con 64 bits".  No es preciso este concepto, intentemos comprender qué son los bits que direccionan el microprocesador.

Cuando una ALU maneja registros de 8 bits (admite trabajar con números que pueden contener hasta 28 valores distintos, o sea, 255 números), es catalogado como un procesador de 8 bits. La ventaja de trabajar con gran cantidad de bits es que se podrán utilizar números más grandes en un ciclo simple (ciclo de reloj). Es posible sumar dos valores de 16 bits (números mayores a 255 y menores a 65536) con un procesador de 8 bits, pero necesitará como mínimo utilizar dos ciclos de reloj. Si fuera un procesador de 16 bits trabajaría con los valores en menor tiempo sin problemas.

      

Si fuera un microprocesador de 32 o 64 bits, desperdiciaríamos el potencial de los mismos. Sacando la conclusión de que no siempre es mejor tener un procesador con registros más grandes, y dependiendo esencialmente del software y el tipo de datos que se utilice. Debe tener en cuenta el tipo de datos a procesar, es muy distinto manejar un procesador de texto que un programa de manejo en entorno 3D. Con el procesador de texto puede llegar a manejar valores menores a los 16 bits, pero en un programa de 3D puede que utilice muy seguidamente valores superiores a los 64 bits.

Las ventajas del modo de 64 bits sobre el modo de 32 bits son:

  • Mejor rendimiento debido a la anchura registro más amplio, más grande el número de generales y registros de SSE y la arquitectura más limpia.

  • El mayor tamaño de memoria direccionable. Microprocesadores de 32 bits no puede direccionar más de 4 GB de memoria física. Microprocesadores basados ​​en K8 (Athlon 64, Opteron, etc) en el modo de 64 bits puede acceder hasta 1 TB de memoria y procesadores K10-based (Phenom, Third Generation Opteron) pueden acceder hasta 256 TB de memoria.

Concluyendo, los procesadores de 32 bits permanecen en la mayoría de las PC actuales por los usos de los programas y el manejo de datos de los mismos. Se debe tener en cuenta que los procesadores poseen partes de 64, 80 y hasta 128 bits (como lo realiza el FPU y las instrucciones SIMD). En un futuro la mayoría de las aplicaciones correrán en 64 bits.