miércoles, 2 de octubre de 2019

Unidad 2. CPU Y BUSES DEL SISTEMA

La CPU
CPU son las siglas en ingles de Central Processing Unit (Unidad de Proceso Central), El CPU es el cerebro del ordenador, referimos a la parte de la computadora en la que se controlan y originan comandos directos que generan las diferentes funciones de la CPU. En el CPU se hacen todos los cálculos del código binario de la computadora. En general, es la parte más importante del sistema.
CPU 1
En el caso de una computadora de escritorio, sencilla, solo necesitan un tablero de circuitos impresos. En este tablero se encuentra el chip llamado microprocesador que representa el corazón de ese CPU que calcula y determina las funciones principales de la computadora (casi todas). El CPU presenta 2 componentes fundamentales: La unidad de lógica/aritmética (ALU)es la calculadora principal de la computadora, ella vincula las operaciones que están relacionadas directamente con el código binario que se maneja en la PC y la unidad de control (CU) es la gran administradora de la memoria y los componentes que agregan las funciones, las descifra y las ejecuta.
La expresión «unidad central de proceso» es, en términos generales, es una descripción de una cierta clase de máquinas de lógica que pueden ejecutar complejos programas de computadora. Esta amplia definición puede fácilmente ser aplicada a muchos de los primeros computadores que existieron mucho antes que el término «CPU» estuviera en amplio uso. Sin embargo, el término en sí mismo y su acrónimo han estado en uso en la industria de la informática por lo menos desde el principio de los años 1960. La forma, el diseño y la implementación de los CPU ha cambiado drásticamente desde los primeros ejemplos, pero su operación fundamental ha permanecido bastante similar.



Memoria

Memoria virtual
La memoria virtual es el uso de la memoria RAM del PC en combinación del disco duro. En algunos casos como cuando por ejemplo tenemos una memoria RAM de reducido tamaño y latencia, la memoria virtual mueve los datos que existen en la memoria RAM a un espacio que se llama archivo de paginación. Estos movimientos crean un espacio extra en la memoria RAM para que así se pueda completar la tarea que se esté realizando con mayor solvencia.


La memoria virtual simula perfectamente una memoria RAM de mayor tamaño, y su utilizad reside en las aplicaciones y sus datos, por eso, el lema “a mayor RAM, mayor capacidad para ejecutar aplicaciones con datos complejos.” Pero tened en cuenta que no es tan solvente y fiable como la RAM por lo que puede provocar puntualmente fallos de ejecución.
Es verdad que no todo es ventajas, al usar una memoria virtual el sistema puede comportase de manera más lenta debido a la carga de los datos, dado que la velocidad de acceso de los datos al disco duro, es más lenta que a la memoria RAM. Ahora bien, si no se tiene una porción de memoria en esta, el sistema necesita tiempo para leer los datos y devolverlos a la memoria principal, puesto que es uno de los lugares donde el procesador puede acceder.
No se debería hablar de la memoria como algo aislado, dado que es un sistema de memoria que se organiza en 4 niveles:
  1. Los registros más alejados.
  2. La caché del micro que se encargan de tener los datos que más usa cerca del procesador.
  3. La memoria RAM.
  4. El disco duro.
Jerarquía de memorias





Registros de la CPU
La CPU tiene 14 registros internos, cada uno de 16 bits. Los primeros cuatro, AX, BX, CX, y DX son registros de uso general y también pueden ser utilizados como registros de 8 bits, para utilizarlos como tales es necesario referirse a ellos como, por ejemplo: AH y AL, que son los bytes alto (high) y bajo (low) del registro AX. Esta nomenclatura es aplicable también a los registros BX, CX y DX.

Los 14 registros son conocidos por sus nombres específicos:

Memoria Cache (L1-L2-L3)
Caché: es una memoria tipo SRAM, basada en transistores y por ello es muy veloz. Es intermedia entre el microprocesador y la memoria RAM, esta memoria guarda los datos utilizados frecuentemente y evita volver a buscarlos en la memoria RAM ya que está es relativamente lenta, por lo que se agilizan los procesos. Su unidad de medida es en Megabytes (MB).

     En el caso de los microprocesadores, estos integran de 1 a 3 tipos de memoria caché denominadas L1, L2 y L3, que significan (“Level X“) ó traducido es nivel 1, nivel 2 y nivel 3.

     + Memoria L1: se encuentra integrada dentro de los circuitos del microprocesador y eso la hace más cara y más complicado en el diseño, pero también mucho más eficiente por su cercanía al microprocesador, ya que funciona a la misma velocidad que él. Esta a su vez se subdivide en 2 partes.

– L1 DC: (“Level 1 date cache“): se encarga de almacenar datos usados frecuentemente y cuando sea necesario volver a utilizarlos, inmediatamente los utiliza, por lo que se agilizan los procesos.

– L1 IC: (“Level 1 instruction cache“): se encarga de almacenar instrucciones usadas frecuentemente y cuando sea necesario volver a utilizarlas, inmediatamente las recupera, por lo que se agilizan los procesos.

     + Memoria L2: esta anteriormente se encontraba en tarjetas de memoria, para ser insertada en una ranura especial de la tarjeta principal (Motherboard) y funciona a la velocidad de trabajo de la misma. Actualmente la memoria L2 viene integrada en el microprocesador, se encarga de almacenar datos de uso frecuente y agilizar los procesos; determina por mucho si un microprocesador es la versión completa ó un modelo austero. Pueden contar con una capacidad de almacenamiento Caché de 8 MB, 9 MB en procesadores AMD® e Intel® y hasta 12 MB en procesadores Intel®.

     + Memoria L3: esta memoria es un tercer nivel que utilizaron primero los procesadores de la firma AMD® y posteriormente Intel®. Con este nivel de memoria se agiliza el acceso a datos e instrucciones que no fueron localizadas en L1 ó L2. Si no se encuentra el dato en ninguna de las 3, entonces se accederá a buscarlo en la memoria RAM. Pueden contar con una capacidad de almacenamiento Caché de hasta 8 Mb y 9 Mb sumando L2+L3 en el caso de la nomenclatura AMD®.


Memoria Principal
La Memoria Principal está formada por circuitos integrados (chips), en ellos la información se almacena en estados de tensión (+5 V) al que hacemos corresponder un uno, y no tensión (0 V) al que le corresponde un cero, por tanto, el sistema de almacenamiento sólo posee dos posibles valores y por ello se denomina binario. Ésta es por lo tanto la menor cantidad de información que podemos almacenar en un ordenador, y se denomina bit (o cero o uno), y al conjunto de ocho bits se le denomina Byte u Octeto.

Podemos imaginar la memoria como un conjunto de casillas, cada una con una dirección que la identifica, donde se almacenan los datos y las instrucciones correspondientes a los programas.

Para conocer la ubicación de cada dato estas casillas deben estar convenientemente numeradas, es lo que se denomina dirección de memoria. En cada casilla podremos almacenar una determinada cantidad de bits según el ordenador, 8bits (1 Byte), 16 bits, 32 bits.... El número de bits que almacena un ordenador en cada casilla de la memoria y que puede manipular en cada ciclo se la denomina longitud de palabra ("word" en inglés).

La cantidad de Bytes que se pueden almacenar en la memoria de un ordenador es bastante elevada y por ello se utilizan prefijos, así 1 KiloByte o KB corresponde a 210 = 1024 Bytes (y no 1000 KB), 1 MegaByte o MB = 1024 KB, 1 GigaByte o GB = 1024 MB, 1 TeraByte o TB = 1024 GB.

La memoria se comunica con el resto de la CPU mediante unos canales denominados "Buses". Existen tres, el Bus de datos por donde circulan los datos, el Bus de direcciones encargado de indicar la posición de un dato concreto almacenado en memoria, y el Bus de control por donde circulan las instrucciones de los procesos que lleva a cabo el ordenador.

Por tanto, para localizar un dato en la memoria principal, la dirección que ocupa éste debe circular por el bus de direcciones. Según cual sea la amplitud del bus de direcciones y la longitud de palabra, así será el tamaño de la memoria que puede gestionar el ordenador. Es decir, el número de casillas o direcciones de memoria que pueden ser indicadas y el tamaño de la información que contienen. Para un bus de direcciones de 8 bits el ordenador podrá gestionar 28 = 256 posiciones de memoria y en cada una de ellas podremos almacenar 8 bits si esta es la longitud de palabra de ese ordenador.

Existen dos tipos de memoria en el ordenador, una de ellas es la denominada RAM (Random Access Memory, Memoria de Acceso Aleatorio) que es la encargada de almacenar los datos y los programas que la CPU está procesando. El término acceso aleatorio significa que no es necesario leer una serie de datos para acceder al que nos interesa, sino que podemos acceder directamente al dato deseado. Esta memoria depende del suministro de tensión eléctrica para mantener la información y por tanto al apagar el ordenador los datos almacenados en ella se perderán.

La otra parte de la memoria se denomina ROM (Read Only Memory, Memoria de Solo Lectura), en la que se encuentran el test de fiabilidad del ordenador (POST: Power on Self Test), las rutinas de inicialización y arranque, y la BIOS que proporciona los servicios fundamentales para que el ordenador sea operativo, en su mayor parte controla periféricos del ordenador como la pantalla, el teclado y las unidades de disco. El término Memoria de Solo Lectura, significa que esta memoria no puede ser modificada y aun cuando apaguemos el ordenador la información permanecerá inalterada en la ROM.


Existe otra porción de memoria denominada CMOS que contiene datos básicos de éste, como pueden ser el número de unidades de disquetes y su tipo, de discos duros y su tipo, la fecha, la hora y otros datos respecto al comportamiento fundamental del ordenador. Esta memoria no es de tipo permanente, ya que podemos variar la configuración de nuestro equipo y para ser mantenida necesita de la tensión que le suministra una pequeña pila o batería.

Además, en los ordenadores modernos se ha incorporado una memoria muy rápida denominada caché, que hace de memoria intermedia entre el microprocesador y la memoria RAM. Normalmente los datos no se leen aleatoriamente, sino que los procesos de ordenador suelen requerir el uso de datos que están almacenados en memoria de manera contigua. Por ello, en lugar de leer de uno en uno los datos, se lee un bloque completo que se lleva a la memoria caché, esta memoria es mucho más rápida (y cara) que la memoria RAM, por lo que los accesos se hacen entre el microprocesador y la caché siempre que sea posible. Cuando un dato no esté en la caché, se leerá otro bloque de la RAM. De esta manera los ordenadores aumentan su velocidad de trabajo de forma considerable.

Memoria secundaria
Memoria secundaria es un componente importante de los modernos sistemas de computadoras personales, y hace que un porcentaje considerable de su costo. Todos los sistemas informáticos modernos casa (además de ciertos dispositivos especializados, como consolas de video juegos) vienen con una unidad de disco duro como una característica estándar, por lo general uno muy importante, y la mayoría también incluyen una forma de masa de medios de almacenamiento extraíbles, como una unidad de CD o uno de sus variantes modernos .Unidades de disco, a pesar de ser menos útil de lo que originalmente fueron, ya que tienen menos datos, todavía están incluidos en muchos equipos.

Memoria auxiliar

Si se habla de memoria auxiliar, puede hacerse referencia a los antiguos diskettes, un disco o CD-ROM, DVDs, unidades de memoria flash, discos Zip y otras alternativas. Cada una de ellas presenta diversas características que la adecuan a uno u otro propósito. Además, en la mayoría de los casos pueden adquirirse con distintos tamaños, de acuerdo con las necesidades del usuario.
memoria-auxiliar
Memoria en la red
El empleo de dispositivos de almacenamiento como CD y memorias USB, están perdiendo terreno con la llamada Nube (cloud computing).

Los datos se almacenan en Internet y son accedidos desde cualquier lugar.
Resultado de imagen para la nube



Buses del sistema
Estructura del bus del sistema

Los buses son el mecanismo más común para la comunicación entre los dispositivos del computador. Físicamente son conductores por donde viajan señales eléctricas. Algunos ejemplos de buses se muestran en las figuras:

El bus es un dispositivo en común entre dos o más dispositivos, si dos dispositivos transmiten al mismo tiempo señales las señales pueden distorsionarse y consecuentemente perder información.  Por dicho motivo existe un arbitraje para decidir quién hace uso del bus. 
Por cada línea se pueden trasmitir señales que representan unos y ceros, en secuencia, de a una señal por unidad de tiempo. Si se desea por ejemplo transmitir 1 byte, se deberán mandar 8 señales, una detrás de otra, en consecuencia, se tardaría 8 unidades de tiempo. Para poder transmitir 1 byte en 1 sola unidad de tiempo tendríamos que usar 8 líneas al mismo tiempo.
Existen varios tipos de buses que realizan la tarea de interconexión entre las distintas partes del computador, al bus que comunica al procesador, memoria y E/S se lo denomina bus del sistema.

La cantidad de líneas del bus a medida que pasa el tiempo se va incrementando como uno de los métodos para incrementar la velocidad de transferencia de señales en el computador, y así incrementar el desempeño.  Cada línea tiene un uso específico, y hay una gran diversidad de implementaciones, pero en general podemos distinguir 3 grandes grupos de buses:

A)   Bus de datos: Por estas líneas se transfieren los datos, pueden ser de 8, 16, 32 o más líneas, lo cual nos indica cuantos datos podemos transferir al mismo tiempo, y es muy influyente en el rendimiento del sistema. Por ejemplo, si el bus es de 8 líneas y las instrucciones son de 16 bits, el sistema va a tener que acceder 2 veces a memoria para poder leer la instrucción, el doble de tiempo en leer instrucciones comparando con un bus de datos de 16 líneas. 
Resultado de imagen para bus de datos
B)   Bus de direcciones: Por estas líneas se envía la dirección a la cual se requiere hacer referencia para una lectura o escritura, si el bus es de 8 líneas, por ejemplo, las combinaciones posibles para identificar una dirección irían del 00000000 al 11111111, son 256 combinaciones posibles, en consecuencia, el ancho del bus de datos nos indica la cantidad de direcciones de memoria a la que podemos hacer referencia.  Dentro de las direcciones posibles, en general el sistema no usa todas para hacer referencia a la memoria principal, una parte las usa para hacer referencia a los puertos de E/S. 

Resultado de imagen para bus de direcciones

C)   Bus de control: Estas líneas son utilizadas para controlar el uso del bus de control y del bus de datos. Se transmiten órdenes y señales de temporización. Las órdenes son muy diversas, las más comunes son:

·         Escritura en memoria. 

·         Lectura de memoria. 

·         Escritura de E/S. 

·         Lectura de E/S. 

·         Transferencia reconocida. 

·         Petición del bus. 

·         Sesión del bus. 

·         Petición de interrupción. 

·         Interrupción reconocida. 

·         Señal de reloj.

·         Inicio. 

Jerarquía de bus del sistema

Para mejorar el rendimiento del bus, las jerarquías de buses fueron implementadas cada vez más, una primera aproximación a una jerarquía de bus básica seria como la que se muestra en el siguiente esquema:



Primero tenemos un bus local, de alta velocidad que conecta el procesador a la cache, el controlador de la cache también puede acceder al bus del sistema, con esta implementación, la mayor parte de los datos a los que va a acceder el procesador, que están en la cache, serán entregados a una alta velocidad, otro punto a destacar de esta parte es que los accesos a memoria por parte de la cache no van a interrumpir el flujo de datos entre procesador y cache.  También se ve la posibilidad de conectar un dispositivo de entrada salida al bus local.  Luego tenemos el bus del sistema, al cual está conectada la memoria y por debajo el bus de expansión, al cual se pueden conectar una amplia diversidad de dispositivos, entre el bus del sistema y el bus de expansión se encuentra una interface, que entre las principales tareas está la de adaptar las velocidades de transmisión, por ejemplo para un dispositivo muy lento conectado al bus de expansión la interface podría acumular una cierta cantidad de datos y luego transmitirla a través del bus del sistema.


El hecho de que cada vez más salgan al mercado dispositivos que requieren más velocidad de transmisión en los buses, hizo que los fabricantes implementaran los buses de alta velocidad, el cual está muy estrechamente ligado al bus local, solo hay un adaptador que los une. Debajo de este bus tenemos el bus de expansión, más lento conectado mediante otro adaptador. La figura muestra detalladamente el sistema de bus y periféricos que se interconectan.

Existen varios parámetros y elementos en los buses con los cuales podemos clasificarlos.

*Tipos de buses
Un ejemplo común de dedicados es el bus de datos y el bus de direcciones, cada uno se utiliza solo para una función específica. Esta situación de bus de datos y de direcciones dedicados es lo más común, pero podría llegar a implementarse con un solo bus multiplexado el tiempo. Esto funcionaria a grandes rasgos de la siguiente forma:

Al comienzo de la transferencia se sitúa en el bus la dirección de donde se quiere leer o a donde se desea escribir, luego se emite por el bus de datos una señal indicando que en el bus se encuentra una dirección valida.

A partir de ese momento se dispone de una unidad de tiempo para que los dispositivos identifiquen si es su dirección, luego de esto se pone en el mismo bus los datos y se realiza la transferencia en el sentido que lo indique una orden emitida por el bus de control. La Ventaja de este método es la reducción de la cantidad de líneas, lo cual ahorra espacio y costos, la desventaja son que para poder implementar la forma de operar la circuitería en cada modulo tiene que ser más compleja, y que el rendimiento del sistema será menor por no poder transmitir los datos simultáneamente, en paralelo (datos y dirección).

Otro tipo de clarificación podría ser según su dedicación física: Podríamos poner como ejemplo el bus de E/S, el cual se encarga de conectar solo los dispositivos de E/S, este bus se conecta al bus principal mediante algún adaptador, la ventaja está en que al ser dedicado solo a E/S, el rendimiento de este va a ser mejor, ya que solo van a operar con él los módulos de E/S, y no va a haber tanta competencia por el bus.

domingo, 22 de septiembre de 2019


Unidad 2. CPU Y BUSES DEL SISTEMA

LA CPU

  • Estructura y función de la CPU

    La unidad central de procesamiento o unidad de procesamiento central (conocida por las siglas CPU), es el hardware dentro de un ordenador u otros dispositivos programables, que interpreta las instrucciones de un programa informático mediante la realización de las operaciones básicas aritméticas, lógicas y de entrada/salida del sistema.

    Dos componentes típicos de una CPU son la Unidad Aritmético Lógica (ALU), la cual se encarga de realizar las operaciones aritméticas y lógicas, y la Unidad de Control (CU), que se encarga de extraer instrucciones de la memoria, las decodifica y las ejecuta, llamando a la ALU cuando sea necesario.
    La principal función de una CPU es ejecutar un secuencia de instrucciones generadas por los programas. El programa es representado por una serie de números que se mantienen en una cierta clase de memoria de ordenador. Hay cuatro pasos que la mayoría de las CPU de arquitectura de Von Neumann usan en su operación: Leer, decodificar, ejecutar y escribir.



                     


                            Resultado de imagen para unidad central de proceso

  • Ciclo de instrucción

    Un ciclo de instrucción  es el período que tarda la unidad central de proceso (CPU) 
    en ejecutar una instrucción de lenguaje máquina.

    1.Del registro de instrucción, los datos que forman la instrucción son descifrados por la unidad de control.
    2.Pasa la información descifrada como una secuencia de señales de control a las unidades de función relevantes de la CPU para realizar las acciones requeridas por la instrucción como la lectura de valores de registros.
    3.Los valores de registro pasan a la Unidad Aritmética lógica (ALU) para añadirlos juntos y escribiendo el resultado de vuelta al registro.4.El resultado generado por la operación es almacenado en la memoria principal, o enviado a un dispositivo de salida. El ciclo entonces es repetido.

    Un ciclo de instrucción incluye los siguientes subciclos:

    Captación: Llevar la siguiente instrucción de la memoria al procesador.
    Ejecución: Interpretar el código de operación y llevar a cabo la operación indicada.
    Interrupción: Si las interrupciones están habilitadas y ha ocurrido una interrupción, guardar el estado del proceso actual y atender la interrupción.


    Para traer la instrucción desde la memoria principal la CPU presenta el valor de la PC sobre el bus de dirección.La CPU entonces trae la instrucción de la memoria principal vía el bus de datos en el Registro de Datos de Memoria (MDR).El valor del MDR entonces es colocado en el Registro de Instrucción Actual un circuito que sostiene la instrucción de modo que pueda ser descifrado y ejecutado.


    Comprende una secuencia de acciones determinada que debe llevar a cabo la CPU para ejecutar cada instrucción en un programa. Cada instrucción del juego de instrucciones de una CPU, puede requerir diferente número de ciclos de instrucción para su ejecución. Un ciclo de instrucción está formado por uno o más ciclos máquina.


    Para que cualquier sistema de proceso de datos basado en microprocesador (por ejemplo un ordenador) o microcontrolador (por ejemplo un reproductor de MP3) realice una tarea (programa) primero se debe buscar cada instrucción en la memoria principal y luego ejecutarla.


Resultado de imagen para ciclo de instruccion

  • Unidad aritmética y lógica

    La Unidad aritmético-lógica (ALU por sus siglas en inglés: Arithmetic Logic Unit) es un contador digital capaz de realizar las operaciones aritméticas y lógicas entre los datos de un circuito; suma, resta, multiplica y divide, así como establece comparaciones lógicas a través de los condicionales lógicos “si”, “no”, y, “o”. Desde los circuitos más simples, como relojes y calculadoras, hasta complejos circuitos, como los microchips actuales, todos incluyen al menos una Unidad aritmético-lógica, que varía su poder y complejidad según su finalidad.

    Por mucho, los circuitos electrónicos más complejos son los que están construidos dentro de los chips de microprocesadores
     modernos. Por lo tanto, estos procesadores tienen dentro de ellos un ALU muy complejo y potente. De hecho, un microprocesador moderno puede tener múltiples núcleos, cada núcleo con múltiples unidades de ejecución
    , cada una de ellas con múltiples ALU.

    La ALU consta básicamente de: Circuito Operacional, Registros de Entradas, Registro Acumulador y un Registro de Estados, conjunto de registros que hacen posible la realización de cada una de las operaciones.

    La mayoría de las acciones de la computadora son realizadas por la ALU. La ALU toma datos de los registros del procesador. Estos datos son procesados y los resultados de esta operación se almacenan en los registros de salida de la ALU. Otros mecanismos mueven datos entre estos registros y la memoria.

    Una unidad de control controla a la ALU, al ajustar los circuitos que le señala a la ALU qué operaciones realizar.


                       Imagen relacionada                                                 Resultado de imagen para unidad aritmetica y logica cpu

    Con respecto a cualquier microprocesador, las instrucciones involucran operaciones sobre un operando, o entre dos de ellos, estando uno de los mismos almacenado en el registro acumulador que es el registro de trabajo de cualquier ALU, por lo que en algunos casos suele denominarse registro W. El tipo de operaciones que puede realizar una ALU, pueden resumirse así:

    1. Suma aritmética
    2. Resta aritmética (complemento a 2)
    3. Operaciones lógicas
    4. Producto y suma lógica 
    5. Comparación 
    6. Complementación 
    7. Enmascaramiento
    8. Desplazamiento o rotación
    9. No operar (transferencia)

    Algunas instrucciones están referidas al contenido del registro acumulador en su totalidad, y otras respecto a algunos bits del mismo, correspondiente a una palabra de datos que se desea modificar.


  •  Evolución de los microprocesadores 

    El microprocesador es el circuito integrado central más complejo de un sistema
    informático, se le puede llamar por analogía el cerebro de un ordenador.

    Los microprocesadores se fabrican empleando técnicas similares a las usadas para otros circuitos integrados
    , como chips de memoria. Generalmente, los microprocesadores tienen una estructura más compleja que otros chips, y su fabricación exige técnicas extremadamente precisas.

    La fabricación económica de microprocesadores exige su producción masiva. Sobre la superficie de una oblea de silicio se crean simultáneamente varios cientos de grupos de circuitos. El proceso de fabricación de microprocesadores consiste en una sucesión de deposición y eliminación de capas finísimas de materiales conductores, aislantes y semiconductores, hasta que después de cientos de pasos se llega a un complejo "bocadillo" que contiene todos los circuitos interconectados del microprocesador. Para el circuito electrónico sólo se emplea la superficie externa de la oblea de silicio, una capa de unas 10 micras de espesor (unos 0,01 mm, la décima parte del espesor de un cabello humano). Entre las etapas del proceso figuran la creación de sustrato, la oxidación, la litografía, el grabado, la implantación iónica y la deposición de capas.

    Un microprocesador puede operar con una o más CPU (Unidades Centrales de Procesamiento), constituidas cada una por registros, una unidad de control, una unidad aritmético-lógica y una unidad de cálculo en coma flotante (o coprocesador matemático).

    Asimismo, se haya generalmente conectado mediante un zócalo a la placa base o tarjeta madre, junto con un sistema disipador de calor que conforman ciertos materiales de disipación témica y un fan cooler (ventilador inerno).

    Los microprocesadores surgieron como producto de la evolución tecnológica de dos ramas específicas: la computación y los semiconductores. Ambos tuvieron sus inicios a mediados del siglo XX, en el contexto de la Segunda Guerra Mundial, con la invención del transistor, con el que se reemplazó a los tubos al vacío

    El primer procesador fue el Intel 4004 fabricado en 1971. Contenía 2300 transistores y con sus apenas 4 bits de capacidad podía realizar 60.000 operaciones lógicas por segundo, en una frecuencia de reloj de 700 Hz. A partir de entonces, la carrera tecnológica invirtió en el desarrollo de mejores y más potentes microchips: de 8 bits, 16 bits, 32 bits y 64 bits, alcanzando en la actualidad frecuencias superiores a los 3 GHz.

    Evolución de los microprocesadores:


    • 1971: El Intel 4004

    El 4004 fue el primer microprocesador del mundo, creado en un simple chip y desarrollado por Intel. Era un CPU de 4 bits y también fue el primero disponible comercialmente. Este desarrollo impulsó la calculadora de Busicom e inició el camino para dotar de «inteligencia» a objetos inanimados y asimismo, a la computadora personal.

    • 1972: El Intel 8008

    Codificado inicialmente como 1201, fue pedido a Intel por Computer Terminal Corporation para usarlo en su terminal programable Datapoint 2200, pero debido a que Intel terminó el proyecto tarde y a que no cumplía con las expectativas de Computer Terminal Corporation, finalmente no fue usado en el Datapoint. Posteriormente Computer Terminal Corporation e Intel acordaron que el i8008 pudiera ser vendido a otros clientes.

    • 1974: El SC/MP

    El SC/MP desarrollado por National Semiconductor, fue uno de los primeros microprocesadores, y estuvo disponible desde principio de 1974. El nombre SC/MP es el acrónimo de Simple Cost-effective Micro Processor (Microprocesador simple y rentable). Presenta un bus de direcciones de 16bits y un bus de datos de 8bits.
    • 1974: El Intel 8080
    EL 8080 se convirtió en la CPU de la primera computadora personal, la Altair 8800 de MITS, según se alega, nombrada así por un destino de la Nave Espacial «Starship» del programa de televisión Viaje a las Estrellas, y el IMSAI 8080, formando la base para las máquinas que ejecutaban el sistema operativo CP/M-80.
    • 1975: Motorola 6800
    Se fabrica, por parte de Motorola, el Motorola MC6800, más conocido como 6800. Su nombre proviene de que contenía aproximadamente 6800 transistores.​ Fue lanzado al mercado poco después del Intel 8080.​ Varios de los primeras microcomputadoras de los años 1970 usaron el 6800 como procesador. Este microprocesador se utilizó profusamente como parte de un kit para el desarrollo de sistemas controladores en la industria.
    • 1976: El Z80
    La compañía Zilog Inc. crea el Zilog Z80. Es un microprocesador de 8 bits construido en tecnología NMOS, y fue basado en el Intel 8080. Básicamente es una ampliación de este, con lo que admite todas sus instrucciones.
    • 1978: Los Intel 8086 y 8088
    Una venta realizada por Intel a la nueva división de computadoras personales de IBM, hizo que las PC de IBM dieran un gran golpe comercial con el nuevo producto con el 8088, el llamado IBM PC. El éxito del 8088 propulsó a Intel a la lista de las 500 mejores compañías, en la prestigiosa revista Fortune, y la misma nombró la empresa como uno de Los triunfos comerciales de los sesenta.
    • 1982: El Itel 80286
    El 80286, popularmente conocido como 286, fue el primer procesador de Intel que podría ejecutar todo el software escrito para su predecesor. Esta compatibilidad del software sigue siendo un sello de la familia de microprocesadores de Intel.
    • 1985: El Intel 80386
    Este procesador Intel, popularmente llamado 386, se integró con 275 000 transistores, más de 100 veces tantos como en el original 4004. El 386 añadió una arquitectura de 32 bits, con capacidad para multitarea y una unidad de traslación de páginas, lo que hizo mucho más sencillo implementar sistemas operativos que usaran memoria virtual.
    • 1985: El VAX 78032
    El microprocesador VAX 78032 (también conocido como DC333), es de único chip y de 32 bits, y fue desarrollado y fabricado por Digital Equipment Corporation (DEC); instalado en los equipos MicroVAX II, en conjunto con su chip coprocesador de coma flotante separado, el 78132, tenían una potencia cercana al 90 % de la que podía entregar el minicomputador VAX 11/780 que fuera presentado en 1977. Este microprocesador contenía 125 000 transistores, fue fabricado con la tecnología ZMOS de DEC. Los sistemas VAX y los basados en este procesador fueron los preferidos por la comunidad científica y de ingeniería durante la década de 1980.
    • 1989: El INTEL 80486
    La generación 486 realmente significó contar con una computadora personal de prestaciones avanzadas, entre ellas, un conjunto de instrucciones optimizado, una unidad de coma flotante o FPU, una unidad de interfaz de bus mejorada y una memoria caché unificada, todo ello integrado en el propio chip del microprocesador. Estas mejoras hicieron que los i486 fueran el doble de rápidos que el par i386-i387 operando a la misma frecuencia de reloj.
     
    • 1991: El AMD AMx86
    Procesadores fabricados por AMD 100 % compatible con los códigos de Intel de ese momento. Llamados «clones» de Intel, llegaron incluso a superar la frecuencia de reloj de los procesadores de Intel y a precios significativamente menores.
    • 1993: PowerPC 601
    Es un procesador de tecnología RISC de 32 bits, en 50 y 66 MHz. En su diseño utilizaron la interfaz de bus del Motorola 88110. En 1991, IBM busca una alianza con Apple y Motorola para impulsar la creación de este microprocesador, surge la alianza AIM (Apple, IBM y Motorola) cuyo objetivo fue quitar el dominio que Microsoft e Intel tenían en sistemas basados en los 80386 y 80486. Los procesadores de esta familia son utilizados principalmente en computadores Macintosh de Apple Computer y su alto rendimiento se debe fuertemente a su arquitectura tipo RISC.
    • 1993: El Intel Pentium
    El microprocesador de Pentium poseía una arquitectura capaz de ejecutar dos operaciones a la vez, gracias a sus dos tuberías de datos de 32 bits cada uno, uno equivalente al 486DX(u) y el otro equivalente a 486SX(u). Además, estaba dotado de un bus de datos de 64 bits, y permitía un acceso a memoria de 64 bits (aunque el procesador seguía manteniendo compatibilidad de 32 bits para las operaciones internas, y los registros también eran de 32 bits).
    • 1994: EL PowerPC 620
    En este año IBM y Motorola desarrollan el primer prototipo del procesador PowerPC de 64 bit,​ la implementación más avanzada de la arquitectura PowerPC, que estuvo disponible al año próximo. El 620 fue diseñado para su utilización en servidores, y especialmente optimizado para usarlo en configuraciones de cuatro y hasta ocho procesadores en servidores de aplicaciones de base de datos y video. Este procesador incorpora siete millones de transistores y corre a 133 MHz.
    • 1995: EL Intel Pentium Pro
    Lanzado al mercado en otoño de 1995, el procesador Pentium Pro (profesional) se diseñó con una arquitectura de 32 bits. Se usó en servidores y los programas y aplicaciones para estaciones de trabajo (de redes) impulsaron rápidamente su integración en las computadoras. El rendimiento del código de 32 bits era excelente, pero el Pentium Pro a menudo era más lento que un Pentium cuando ejecutaba código o sistemas operativos de 16 bits. El procesador Pentium Pro estaba compuesto por alrededor de 5'5 millones de transistores.
    • 1996: El AMD K5
    Habiendo abandonado los clones, AMD fabricada con tecnologías análogas a Intel. AMD sacó al mercado su primer procesador propio, el K5, rival del Pentium. La arquitectura RISC86 del AMD K5 era más semejante a la arquitectura del Intel Pentium Pro que a la del Pentium. El K5 es internamente un procesador RISC con una Unidad x86- decodificadora, transforma todos los comandos x86 (de la aplicación en curso) en comandos RISC. Este principio se usa hasta hoy en todas las CPU x86.
    • 1996: Los AMD K6 y AMD K6-2
    Con el K6, AMD no solo consiguió hacerle seriamente la competencia a los Pentium MMX de Intel, sino que además amargó lo que de otra forma hubiese sido un plácido dominio del mercado, ofreciendo un procesador casi a la altura del Pentium II pero por un precio muy inferior. En cálculos en coma flotante. El K6 contó con una gama que va desde los 166 hasta los más de 500 MHz y con el juego de instrucciones MMX, que ya se han convertido en estándares.
    Más adelante se lanzó una mejora de los K6, los K6-2 de 250 nanómetros, para seguir compitiendo con los Pentium II, siendo este último superior en tareas de coma flotante, pero inferior en tareas de uso general.
    • 1997: El Intel Pentium II
    Un procesador de 7'5 millones de transistores, se busca entre los cambios fundamentales con respecto a su predecesor, mejorar el rendimiento en la ejecución de código de 16 bits, añadir el conjunto de instrucciones MMX y eliminar la memoria caché de segundo nivel del núcleo del procesador, colocándola en una tarjeta de circuito impreso junto a este. Gracias al nuevo diseño de este procesador, los usuarios de PC pueden capturar, revisar y compartir fotografías digitales con amigos y familia vía Internet; revisar y agregar texto, música y otros; con una línea telefónica; el enviar vídeo a través de las líneas normales del teléfono mediante Internet se convierte en algo cotidiano.
    • 1998: El Intel Pentium II Xeon
    Los procesadores Pentium II Xeon se diseñan para cumplir con los requisitos de rendimiento en computadoras de medio-rango, servidores más potentes y estaciones de trabajo (workstations). Consistente con la estrategia de Intel para diseñar productos de procesadores con el objetivo de llenar segmentos de los mercados específicos, el procesador Pentium II Xeon ofrece innovaciones técnicas diseñadas para las estaciones de trabajo y servidores que utilizan aplicaciones comerciales exigentes, como servicios de Internet, almacenamiento de datos corporativos, creaciones digitales y otros. Pueden configurarse sistemas basados en este procesador para integrar de cuatro u ocho procesadores trabajando en paralelo, también más allá de esa cantidad.
    • 1999: El Intel Celeron
    Continuando la estrategia, Intel, en el desarrollo de procesadores para el segmento de mercados específicos, el procesador Celeron es el nombre que lleva la línea de bajo costo de Intel. El objetivo fue poder, mediante esta segunda marca, penetrar en los mercados impedidos a los Pentium, de mayor rendimiento y precio. Se diseña para añadir valor al segmento del mercado de los PC.
    • 1999: El Intel Pentium III
    El procesador Pentium III ofrece 70 nuevas instrucciones Internet Streaming, las extensiones de SIMD que refuerzan dramáticamente el rendimiento con imágenes avanzadas, 3D, añadiendo una mejor calidad de audio, video y rendimiento en aplicaciones de reconocimiento de voz. Fue diseñado para reforzar el área del rendimiento en el Internet, le permite a los usuarios hacer cosas, tales como, navegar a través de páginas pesadas (con muchos gráficos), tiendas virtuales y transmitir archivos video de alta calidad. El procesador se integra con 9,5 millones de transistores, y se introdujo usando en él tecnología 250 nanómetros.
    • 1999: El Intel Pentium III Xeon
    El procesador Pentium III Xeon amplía las fortalezas de Intel en cuanto a las estaciones de trabajo (workstation) y segmentos de mercado de servidores, y añade una actuación mejorada en las aplicaciones del comercio electrónico e informática comercial avanzada. Los procesadores incorporan mejoras que refuerzan el procesamiento multimedia, particularmente las aplicaciones de vídeo. La tecnología del procesador III Xeon acelera la transmisión de información a través del bus del sistema al procesador, mejorando el rendimiento significativamente. Se diseña pensando principalmente en los sistemas con configuraciones de multiprocesadores.
    • 2000: EL Intel Pentium 4
    Este es un microprocesador de séptima generación basado en la arquitectura x86 y fabricado por Intel. Es el primero con un diseño completamente nuevo desde el Pentium Pro. Se estrenó la arquitectura NetBurst, la cual no daba mejoras considerables respecto a la anterior P6.
    • 2001: El AMD Athlon XP
     AMD tuvo que diseñar un nuevo núcleo, y sacó el Athlon XP. Este compatibilizaba las instrucciones SSE y las 3DNow! Entre las mejoras respecto al Thunderbird se puede mencionar la prerrecuperación de datos por hardware, conocida en inglés como prefetch, y el aumento de las entradas TLB, de 24 a 32.
    • 2004: El Intel Pentium 4 (Prescott)
    A principios de febrero de 2004, Intel introdujo una nueva versión de Pentium 4 denominada 'Prescott'. Primero se utilizó en su manufactura un proceso de fabricación de 90nm y luego se cambió a 65nm. Su diferencia con los anteriores es que estos poseen 1 MiB o 2 MiB de caché L2 y 16 Kb de caché L1 (el doble que los Northwood), prevención de ejecución, SpeedStep, C1E State, un HyperThreading mejorado, instrucciones SSE3, manejo de instrucciones AMD64, de 64 bits creadas por AMD, pero denominadas EM64T por Intel, sin embargo por graves problemas de temperatura y consumo, resultaron un fracaso frente a los Athlon 64.
    • 2004: El AMD Athlon 64
    El AMD Athlon 64 es un microprocesador x86 de octava generación que implementa el conjunto de instrucciones AMD64, que fueron introducidas con el procesador Opteron. El Athlon 64 presenta un controlador de memoria en el propio circuito integrado del microprocesador y otras mejoras de arquitectura que le dan un mejor rendimiento que los anteriores Athlon y que el Athlon XP funcionando a la misma velocidad, incluso ejecutando código heredado de 32 bits. El Athlon 64 también presenta una tecnología de reducción de la velocidad del procesador llamada Cool'n'Quiet,: cuando el usuario está ejecutando aplicaciones que requieren poco uso del procesador, baja la velocidad del mismo y su tensión se reduce.
    • 2006: El Intel Core Duo
    Intel lanzó esta gama de procesadores de doble núcleo y CPUs 2x2 MCM (módulo Multi-Chip) de cuatro núcleos con el conjunto de instrucciones x86-64, basado en la nueva arquitectura Core de Intel. La microarquitectura Core provee etapas de decodificación, unidades de ejecución, caché y buses más eficientes, reduciendo el consumo de energía de CPU Core 2, mientras se incrementa la capacidad de procesamiento.
    • 2007: El AMD Phenom
    Phenom fue el nombre dado por Advanced Micro Devices (AMD) a la primera generación de procesadores de tres y cuatro núcleos basados en la microarquitectura K10. Como característica común todos los Phenom tienen tecnología de 65 nm lograda a través de tecnología de fabricación Silicon on insulator (SOI).. Los procesadores Phenom están diseñados para facilitar el uso inteligente de energía y recursos del sistema, listos para la virtualización, generando un óptimo rendimiento por vatio.
    • 2008: El Intel Core i7 Nehalem
    Intel Core i7 es una familia de procesadores de cuatro núcleos de la arquitectura Intel x86-64. Los Core i7 son los primeros procesadores que usan la microarquitectura Nehalem de Intel y es el sucesor de la familia Intel Core 2. FSB es reemplazado por la interfaz QuickPath en i7 e i5 (zócalo 1366), y sustituido a su vez en i7, i5 e i3 (zócalo 1156) por el DMI eliminado el northBrige e implementando puertos PCI Express directamente. Memoria de tres canales (ancho de datos de 192 bits): cada canal puede soportar una o dos memorias DIMM DDR3. Las placa base compatibles con Core i7 tienen cuatro (3+1) o seis ranuras DIMM en lugar de dos o cuatro, y las DIMM deben ser instaladas en grupos de tres, no dos.
    • 2011: El Intel Core Sandy Bridge
    Es la segunda generación de los Intel Core con nuevas instrucciones de 256 bits, duplicando el rendimiento, mejorando el rendimiento en 3D y todo lo que se relacione con operación en multimedia. Llegaron la primera semana de enero del 2011. Incluye nuevo conjunto de instrucciones denominado AVX y una GPU integrada de hasta 12 unidades de ejecución.
    • 2011: El AMD Fusion
    AMD Fusion es el nombre clave para los microprocesadores Turion, producto de la fusión entre AMD y ATI, se combinan el proceso de la geometría 3D y otras funciones de GPUs actuales. La GPU está integrada en el propio microprocesador. Los primeros modelos salieron entre los últimos meses de 2010 y primeros de 2011 denominados Ontaro y Zacate (bajo consumo), Llano, Brazos y Bulldozer (gamas media y alta) salieron entre mediados y finales del 2011.
    • 2012: El Intel Corel Ivy Bridge
    Ivy Bridge es el nombre en clave de los procesadores conocidos como Intel Core de tercera generación. Son por tanto sucesores de los micros que aparecieron a principios de 2011, cuyo nombre en clave es Sandy Bridge. Pasamos de los 32 nanómetros de ancho de transistor en Sandy Bridge a los 22 de Ivy Bridge. Esto le permite meter el doble de ellos en la misma área.
     
    • 2013: El Intel Core Haswell
    Haswell es el nombre clave de los procesadores de cuarta generación de Intel Core. Son la corrección de errores de la tercera generación e implementan nuevas tecnologías gráficas para el gamming y el diseño gráfico, funcionando con un menor consumo y teniendo un mejor rendimiento a un buen precio.
    • 2017: El Intel Core i7-7920HQ
    Este procesador está en la línea de la séptima generación, incorporando una potencia y una capacidad de respuesta nunca antes vistas. Especialmente fabricado para usuarios exigentes que quieren aumentar su productividad, sin dejar de lado a aquellos que pretenden pensar también en el entretenimiento y juegos sensacionales, con alta transferencia de datos y mucho más, ya está disponible en el mercado.
    • 2017: AMD Ryzen
    Es una marca de procesadores desarrollados por AMD lanzada en febrero de 2017, usa la microarquitectura Zen en proceso de fabricación de 14nm y cuentan con 4800 millones de transistores, ofrecen un gran rendimiento multi-hilo pero uno menor usando un solo hilo que los de su competencia Intel. Los procesadores Ryzen devolvieron a AMD a la gama alta de CPUs de escritorio, capaces de competir en rendimiento contra los procesadores Core i7 de Intel con precios menores y competitivos; desde su lanzamiento la cuota de mercado de AMD ha aumentado.
  •    2019: Intel Core Ice Lake

    El salto al proceso de 10 nm que han marcado los procesadores Intel Core Ice Lake
     debería haberse producido mucho antes, concretamente tras el lanzamiento de los procesadores Skylake, ya que estos fueron un «tock» (nueva arquitectura) sobre Broadwell (los primeros en 14 nm). Después de Skylake Intel tuvo que lanzar los procesadores Kaby Lake, que llegaron bajo el proceso de 14 nm+ y fueron un nuevo «tock» sobre Skylake, una escena que se repitió con dos «tocks» más cuando se lanzaron Coffe Lake y Coffee Lake Refresh, ambos en proceso de 14 nm++.

                         
  •