domingo, 19 de febrero de 2023

CURSO DE INFORMÁTICA TÉCNICA PARA MASTODONTES. Capítulo 5. Los microprocesadores. ¿Qué son y como funcionan por dentro?



Estamos acostumbrados a que a diario se hable del procesador o microprocesador, de que se comenten cosas como «yo tengo este o aquél». Muchos de los que hablan saben que es un integrado o circuito impreso, que és importante dentro de un pc y no tantos saben como trabaja por dentro.
Obviamente, me voy a encargar que los que sigáis este curso sepáis algo más que el resto.

El microprocesador, como ya he adelantado, es un circuito integrado con millones de transistores (se habla de que un i7 de Intel tendría alrededor de 700 millones) que, su función principal es la de procesar la información y hacer cálculos aritméticos. Continuando con mi rústica comparativa, el microprocesador sería como el «celebro» del ordenador. O al menos como gran parte del celebro ya que, incluyo al chipset (del que hablaré en el próximo capítulo) también como parte integrante del este celebro electrónico.

No voy a explicar la evolución de los microprocesadores, ya que tendría que hacer otro capítulo (al menos) y no tendría mucho sentido para el curso que hacemos. Sería solamente cultura general. Tan solo comentaré lo que sea imprescindible, para no liar mucho el concepto.


Microprocesador Intel Core i9, de los más potentes del mercado (a fecha de hoy), con 16 núcleos, 
13a generación.

A. Marcas de microprocesadores.

Antes de continuar, vamos a repasar por encima qué grandes marcas y productos (por series o modelos conocidos) tienen o habían tenido en el mercado.

Intel:

- 4004, 4040, 8008, familia 8048 (MCS), 8080, 8085, 8086, 8088, 80186, 80188, 80286, 80386, 80486, Pentium (80586), Pentium MMX, Pentium Pro, Pentium II, Pentium Celeron, Pentium II Xeon, Pentium III y Pentium III Xeon, Pentium M y Pentium M Celeron, Pentium Core y Core Duo, Pentium 4, Pentium Itanium y Pentium Itanium II, Pentium D, Pentium Xeon Dual Core, Intel Xeon Quad Core, Intel Core 2 Duo, Intel Core 2 Xtreme, Intel Core 2 Quad, Intel Dual Core, Pentium G, Atom, MIC, Intel Core i3, Intel Core i5, Intel Core i7 e Intel Core i9.

Tenéis que tener en cuenta que estos son tipos genéricos. Existen muchos modelos, con distinta arquitectura, velocidades y otras características.

AMD:

- AMD 9080 (copia del 8080), Am2901, Am29116, Am293xx, Am 23k, (clones de Intel: 8086, Am286, Am386, Am486, Am5x86), AMD K5, K6 (Athlon), Duron, Sempron, K7, AMD 64, AMD K8, AMD Opteron, AMD 64x2, AMD Turion, AMD Phenom (K10), AMD Athlon II, AMD Phenom II, AMD Fusion, Bobcat, Bulldozer, Vishera y los últimos, AMD Ryzen.

Zilog:

- Z80.

MOS Tech/Rockwell:

- 6502.

Qualcomm:

-Series Snapdragon 200, 400, 600, 700, 800, Snapdragon 8+, Snapdragon 8+ gen 2

Motorola:

- Motorola 6800, Motorola 6809, Motorola 68000, Motorola 68008, Motorola 68012, Motorola 68020, Motorola 68030, Motorola 68040, Motorola 68881, Motorola 88000, Motorola 96000, Motorola Dragonball, Motorola 68LC040, Motorola MC68EC020, Motorola MC14500B, Motorola Dragonball, Motorola Coldfire, Motorola PowerPC. 

Samsung:

- Samsung ARM 1176, Samsung S5PC100 ARM Cortex-A8

TSMC (para Apple - iPhone):

- Chip A4 ARM Cortex A8, Chip A5 ARM Cortex A9, Chip A6, Chip A7, Chip A8, Chip A9, Chip A10 Fusion, Chip A11 Bionic, Chip A12 Bionic, Chip A13 Bionic y Chip A14 Bionic por el momento.

Bien hasta aquí una lista de microprocesadores por fabricante. Seguro que hay muchos más que no he citado, pero estos son de más importantes, tanto para PC's como para los dispositivos móviles.



Esta es una pequeña muestra de los microprocesadores que tengo en mi colección. 
En ella aparecen Intel i5, Pentium II y III, Pentium 4 , un Intel Celeron y AMD 5x86, 
AMD K6, K7 y AMD 64 Athlon.



Microprocesador Zilog Z80, en el que me especialicé, en distintos formatos. A día de hoy 
se sigue estudiando en las distintas universidades, como paso previo a otros. Estaba dentro 
de los Amstrad, Spectrum, MSX 2 y algunas consolas como la Playstation.


Posiblemente el primer microprocesador del mercado hecho on transistores, el Intel 4004. 
De él proceden el 98% de microprocesadores del mercado. Jamás se hubiera pensado
 hasta donde podrían llegar sus descendientes. 😂

Bien, una vez finalizada la lista, comenté al principio que el microprocesador, la función que tiene es procesar información y realizar cálculos aritméticos. Pero hay una particularidad, el microprocesador no entiende de lenguajes de programación; tan solo entiende electrónica digital, tensión o no tensión, 0's y 1's, en fin, binario. Empezamos a explicar un microprocesador por dentro.

 

 B. ¿Cómo está compuesto internamente un microprocesador?

Desde los prehistóricos 4004, 8008 y 8080 (y anteriores), considerados como los primeros microprocesadores, hasta los actuales i5, i7 e i9 de Intel, los Ryzen y Athlon de AMD o los Qualcomm Snapdragon 2, todos trabajan de la siguiente forma:

1. Todos los microprocesadores disponen de tres buses para trabajar. El bus de direcciones, el bus de datos y el bus de control.

a. El bus de direcciones sirve para indicar al microprocesador a qué dirección de memoria tiene que acceder.

b. El bus de datos sirve para indicar al microprocesador el dato a trabajar.

c. El bus de control. Este consta de distintas líneas independientes cuyas funciones son diversas, desde señales de cronómetro hasta transmitir órdenes a los distintos dispositivos, o como indicativo de qué acciones son de lectura y cuáles de escritura, interrupciones y más. Todos los buses del microprocesador son bidireccionales, es decir, funcionan en ambos sentidos, excepto algunos (bastantes) del bus de control, que tan solo tienen un sentido (por ejemplo, el reloj).

2. Todos los microprocesadores disponen de al menos una memoria buffer (o caché) entre los buses del microprocesador y los de la placa base, con objeto de adecuar las diferentes velocidades de trabajo entre micro y placa base. En los microprocesadores de últimas generaciones se les llama L1, L2 e incluso L3.

3. Todos los microprocesadores tienen una sección de control. Esta se encarga de decodificar las instrucciones recibidas en código máquina (o instrucciones de ensamblador) y la ejecución de las mismas.

4. Todos los microprocesadores tienen registros. Los registros son memorias de alta velocidad que utiliza el microprocesador internamente para su gestión. Hay registros de 4 bits hasta de 64 bits. Incluso mucho de estos registros se permiten juntar para realizar cálculos superiores. 

5. Todos los microprocesadores disponen de una ALU. ALU significa Unidad Aritmética Lógica en inglés, en español es UAL, pero es lo mismo. Esta unidad se encarga de coger ciertos datos de algunos registros (no todos trabajan con la ALU) y realizar operaciones aritméticas y booleanas. Esta ALU puede verse apoyada por un co-procesador aritmético, que en los micros viejos era una opción pero en los nuevos ya vienen incorporados. En los micros de Intel, uno de los cambios del x486 al Pentium era este, la adición del co-procesador aritmético de serie.

A todo este entramado, se le llama núcleo. Habréis visto en las características de los microprocesadores el uso de 2 núcleos, 4, 8, 12 núcleos e incluso en los últimos i7/i9 de Intel de 13a generación hasta 16 núcleos. Bien, significa que son en realidad x microprocesadores unidos internamente, con lo cual se agiliza mucho el proceso.

6. Todos los microprocesadores trabajan con una frecuencia reloj. Esta frecuencia que va en hercios (Hz) proporciona al microprocesador un patrón para ejecutar las instrucciones. No quiero liaros mucho con esto, porque tampoco, a este nivel, es necesario. Simplemente quedaros que cuanta más frecuencia tiene, más rápido se ejecutan las instrucciones y por lo tanto, más rápido va el pc a la hora de ejecutar programas. Las primeras frecuencias eran de 2/4 MHz (millones de hercios) y los actuales i5/i7 van entorno a los 5GHz hasta los 6Ghz los de 13a generación. 1 GHz = 1000 MHz.






Esquema de diagrama y de pines de un microprocesador. Todos, absolutamente todos, trabajan 
de una forma similar. Obviamente, los últimos microprocesadores tendrán muchas 
mejoras y adiciones, pero la idea básica es la misma.

C. Trabajo interno de los microprocesadores.

1. El procesador coge una instrucción a través del buffer y la decodifica en la sección de control, transportada a través del bus de direcciones y de datos, a un registro.
2. La decodifica. Según la instrucción que sea, carga valores en la ALU, las procesa y ...

3. La vuelve a dejar el valor en el registro, para su posterior tratamiento. Y así con todas las instrucciones binarias hasta acabar.

Voy a enseñaros, a modo de conocimiento, como lo hace, con ensamblador.

El ensamblador es un lenguaje de programación de bajo nivel, que sirve para facilitar la programación de código máquina o binario. Uso el sistema del micro Z80 (8 bits) pero, en el resto de microprocesadores usan instrucciones similares. No quiero que os lo aprendáis, es simplemente captar la idea.

Ensamblador:

LD HL, (#95E7) ; cargamos en un registro que se llama HL el valor (lo que contenga) la memoria en la posición #95E7 hexadecimal. LD es una instrucción de ensamblador que significa LoaD (leer). Cuando la sección de control detecta esta instrucción, inmediatamente sabe que el procesador tiene que leer una posición de memoria, y pone en movimiento todo el proceso de lectura de memoria RAM, para pasar la información 
                          
LD A, (HL); cargamos en el registro A (Acumulador) el contenido del registro HL. El acumulador es un registro especial de la ALU. Esto nos indica que vamos a ejecutar una operación Aritmético -lógica en el microprocesador
CMP A, (BC); comparamos (CMP - CoMPare) el valor de A con el contenido de otro registro  llamado BC.
RET NZ; regresamos (RETurn) si la operación no ha resultado positiva en flag, que es otro registro especial de la ALU.
SUB A, 1; le quitamos 1 al valor resultante (SUBstraction)
XOR A; le hacemos una operación Booleana ( OR exclusiva - XOR)
LD HL, A; Cargamos el el registro HL, el resultado de la operación en la ALU.
LD #95E8,(HL); volvemos a pasar a la RAM el valor del registro HL, después de tratarlo.
RET ; devolvemos el proceso al programa que le llamó 

 Este sería un ejemplo práctico en ensamblador para tratar de explicar de como trabaja el microprocesador por dentro (en este caso, de un Z80, pero podría buscaros las instrucciones de Intel, AMD, Qualcomm o la que sea y veríais que funciona prácticamente igual. Repito, quiero que os quedéis con el concepto, nada más.

Así funcionan el 100% de los programas (a base de instrucciones, lo de arriba es un ejemplo), da exactamente igual con qué esté programado, desde Windows, Linux, mac, Android o lo que sea, hasta el más sencillo de los programas. Es lo único que entiende un microprocesador.
Repito también, todos, absolutamente todos los micros trabajan así (con sus diferencias de instrucciones, de registros, arquitectura, velocidad y demás).

Bien, ahora ya tenemos nociones inciciales de como trabaja un microprocesador por dentro.

D. Alimentación de los microprocesadores.

Los microprocesadores antiguos se alimentaban con 5V corriente continua pero los actuales trabajan con 3,3V y incluso algunos modelos a 2,2V (bajo consumo). El motivo de la reducción de tensión es el siguiente: la calor. Y ojo, esto es importante. Hablamos de millones de transistores trabajando. La reducción de la tensión de trabajo alivia la calor producida por dicho trabajo. Pero aún así esto no es suficiente. Todos los microprocesadores necesitan obligatoriamente de un disipador de calor, con su ventilador. Y si el ventilador no funciona bien, corremos el riesgo de romperlo. Trabajan a unas temperaturas de entre 45º y 56º. El propio pc incluye un sistema de protección que cuando detecta que la temperatura del micro por encima de X grados se apaga automáticamente.
Cada disipador va unido al microprocesador con una pasta térmica. Los nuevos micros, cuando los compras, ya tienen su pasta.

Existe una práctica poco recomendable que es aumentar la velocidad del reloj de un microprocesador. Esta se llama overclocking. Ventaja: El ordenador parece que va más rápido. Inconvenientes: se calienta más el micro y puede romperse, a medio plazo. Requiere de un disipador y un ventilador más potente. 

E. Zócalos de microprocesadores (Sockets).
Los zócalos de los microprocesadores son los soportes donde se insertan los microprocesadores en la placa base. Los zócalos son variados, tantos como gamas de microprocesadores. Es lógico pensar que, un microprocesador con 260 conexiones utilice un zócalo distinto a otro microprocesador que tenga 320 conexiones. Esto viene debido al cambio de arquitectura del propio procesador. Uno de 64 bits, necesita al menos 64 + 64 (128) conexiones solo para el bus de datos + bus de direcciones, cosa que en un Intel 8086 tenía 8+16 (24) para el bus de datos y direcciones.
Para colocar los microprocesadores en su zócalo, tenéis que tener en cuenta que en una de las esquinas hay una muesca o una marca. Esta indica la que es la patilla 1 del microprocesador. Deberá coincidir con la patilla 1 del zócalo o de lo contrario, tendréis un buen jaleo. Mucho cuidado con eso.

Tipos de zócalos para AMD clásicos:
- Socket 462, Socket 754, Socket 939, Socket AM2+, Socket AM3+, Socket AM4, Socket FM2, Socket FM2+, Socket TR4 y Socket sTRX4
Tipos de zócalos para Intel clásicos:
- Socket 370, Socket 478, LGA 771, LGA 775, LGA 1150, LGA 1151, LGA 1155, LGA 1156, LGA 1366, LGA 2011 y LGA 1200

Tipos de zócalos por construcción:
1. LGA. Es el más utilizado actualmente. i3 / i5 / i7 / i9
2. PGA. Es un zócalo utilizado en 286, 386, 486 entre otros.
3. ZIF. Utilizado mucho por AMD.
4. BGA. Incrustación en placa base. No se usa actualmente.
5. DIP o DIL. Sistema muy antiguo. Lo usaban los antiguos Intel 4004, 8008, 8086, 8088 y además los Z80, M6502, etc.




Tipos de zócalos para microprocesadores. Hemos visto muchos tipos. 
Arriba, tipo LGA, enmedio un PGA y abajo inserción de un micro en su zócalo.

 F. Tipos de arquitectura.

Bueno, este es otro tema que voy a tocar por encima, para que os suene.

La arquitectura de un microprocesador es básicamente, la estructura interna que tiene. Y con ello estoy también explicando la forma en la que se construyen.

- Arquitectura CISC y RISC.

CISC es el tipo de arquitectura que se utiliza actualmente. Si queréis ampliar la información, al final os dejo un enlace donde podréis comparar los tipos de arquitecturas. Luego existe el término microarquitectura, que es el sistema de fabricación dentro de la arquitectura. Si os suena ARM, Coffee Lake, Skylake, Zen, Zen 2 y otras, estamos hablando de esto. Solo lo comento para que tengáis una idea.

G. Mejora de la arquitectura, ¿qué implica?

Obviamente, la mejora de la arquitectura lo implica todo, desde la capacidad de procesamiento de los datos, la velocidad, la accesibilidad a más memoria (no es la misma capacidad de acceso de un microprocesador de 8 bits, que es de 64k de memoria que uno de 64 bits, que es muy superior (no soportable por los S.O., que tiene una limitación de 128 Gb y 512 Gb en versiones pro). En general, más capacidad de trabajo de un PC. Por eso, las distintas compañías han dedicado su esfuerzo en crear micros cada vez más potentes.

Y hasta aquí, el capítulo 5.

Enlaces de interés:

https://www.muycomputer.com/2018/10/24/procesador-que-es/

https://serbal.pntic.mec.es/irec0010/cpu.html

Partes de un microprocesador:

https://www.profesionalreview.com/2019/06/30/partes-de-un-procesador/

Sockets:

https://www.profesionalreview.com/2021/03/07/tipos-de-socket/

Arquitecturas microprocesadores:

https://www.profesionalreview.com/2022/04/26/tipos-de-arquitectura-de-un-ordenador/

https://www.profesionalreview.com/procesador-cpu/

https://www.ticarte.com/contenido/arquitectura-interna-del-microprocesador


No me voy a extender más. Espero que después de tanta cosa, no os duela la cabeza. 😂😂 La semana que viene, toca chipset y placa base. Otro capítulo muy apasionante (y largo).

Espero que os haya gustado. 

🖌️ Todas las imágenes son © a sus respectivos autores.

Saludos.



No hay comentarios:

Publicar un comentario

Verdades y mentiras. Respuesta a un toot.

Esta es la respuesta a un usuario de Mastodon.