Muestra las diferencias entre dos versiones de la página.
Próxima revisión | Revisión previa | ||
clase:asir:fhw:1eval:tema03 [2020/09/08 18:37] 127.0.0.1 external edit |
clase:asir:fhw:1eval:tema03 [2021/11/04 16:17] (actual) admin [Ejercicios] |
||
---|---|---|---|
Línea 1: | Línea 1: | ||
====== 03. Procesadores ====== | ====== 03. Procesadores ====== | ||
- | |||
- | ===== Contenidos ===== | ||
- | * Procesadores | ||
- | * Arquitectura del Conjunto de Instrucciones (ISA) | ||
- | * Ensamblado y código máquina | ||
- | * Unidades Funcionales | ||
- | * Microarquitectura | ||
- | * Fabricantes de Procesadores | ||
- | * Núcleos e hilos | ||
- | * Cache | ||
- | * Frecuencia | ||
- | * Socket | ||
- | |||
- | ===== Material ===== | + | ====== Material |
- | ==== Procesadores ==== | + | ===== Procesadores |
Línea 24: | Línea 11: | ||
El resultado de los cálculos del procesador se puede almacenar en la RAM, en el sistema de Entrada/ | El resultado de los cálculos del procesador se puede almacenar en la RAM, en el sistema de Entrada/ | ||
- | ==== Arquitectura del Conjunto de Instrucciones (ISA) ==== | + | ===== Arquitectura del Conjunto de Instrucciones (ISA) ===== |
* [[https:// | * [[https:// | ||
Línea 39: | Línea 26: | ||
| x86 (tambien llamada IA32) | Intel | PC de hasta de 4 GB de RAM | | | x86 (tambien llamada IA32) | Intel | PC de hasta de 4 GB de RAM | | ||
| x64 (tambien llamada AMD64, EM64T, x86-64, Intel 64)| AMD | PC con mas de 4 GB de RAM | | | x64 (tambien llamada AMD64, EM64T, x86-64, Intel 64)| AMD | PC con mas de 4 GB de RAM | | ||
- | | ARMv7 | ARM | Móviles, | + | | ARMv7 (tambien llamada AArch32)| ARM | Móviles, |
- | | ARMv8 | ARM | Móviles, | + | | ARMv8 (tambien llamada AArch64)| ARM | Móviles, |
- | | Power | IBM | Estaciones de trabajo RISC, Antiguos Mac y en consolas como PS3 y XBox 360 | | + | | Power | IBM | Estaciones de trabajo RISC, Antiguos Mac y en consolas como PS3 y XBox 360. [[https:// |
| SPARC | Oracle/Sun | Estaciones de trabajo RISC | | | SPARC | Oracle/Sun | Estaciones de trabajo RISC | | ||
- | | RISC-V | RISC-V Fundation | Pretende ser una alternativa a ARM que no pueda ser censurada por los gobiernos. [[https:// | + | | RISC-V | RISC-V Fundation | Pretende ser una alternativa a ARM que no pueda ser censurada por los gobiernos. [[https:// |
Lo importante de una ISA es que un programa de ordenador solo puede ser escrito para una ISA concreta y no funcionará para otra ISA. Aunque también un programa, debido a que funciona sobre un sistema operativo, el programa debe ser programador pensando tanto en la ISA como en el Sistema Operativo. | Lo importante de una ISA es que un programa de ordenador solo puede ser escrito para una ISA concreta y no funcionará para otra ISA. Aunque también un programa, debido a que funciona sobre un sistema operativo, el programa debe ser programador pensando tanto en la ISA como en el Sistema Operativo. | ||
Línea 60: | Línea 47: | ||
Decir que las arquitecturas de PC (x86 y x64) al necesitar procesadores muy " | Decir que las arquitecturas de PC (x86 y x64) al necesitar procesadores muy " | ||
- | ==== Características de las ISA ==== | + | ===== Características de las ISA ===== |
Las ISA tiene 2 características principales: | Las ISA tiene 2 características principales: | ||
* Complejidad de las instrucciones: | * Complejidad de las instrucciones: | ||
Línea 77: | Línea 64: | ||
- | ==== Ensamblador ==== | + | ===== Ensamblador |
El lenguaje ensamblado es el lenguaje que usamos las personas para escribir programas para un procesador. Prácticamente es como indicar los " | El lenguaje ensamblado es el lenguaje que usamos las personas para escribir programas para un procesador. Prácticamente es como indicar los " | ||
Línea 166: | Línea 153: | ||
<note tip>Si te interesa mas el lenguaje ensamblador. Puedes leerte el libro {{: | <note tip>Si te interesa mas el lenguaje ensamblador. Puedes leerte el libro {{: | ||
- | ==== Unidades Funcionales ==== | + | <note tip> |
+ | ===== Unidades Funcionales | ||
Ahora vamos a ver como es el procesador por dentro, como ya hemos indicado , el procesador tiene una serie de registros que vienen determinados por la ISA. Junto con ellos dentro del procesador están las siguientes unidades funcionales: | Ahora vamos a ver como es el procesador por dentro, como ya hemos indicado , el procesador tiene una serie de registros que vienen determinados por la ISA. Junto con ellos dentro del procesador están las siguientes unidades funcionales: | ||
Línea 195: | Línea 183: | ||
- | ==== Microarquitectura ==== | + | ===== Microarquitectura |
Es como los ingenieros diseñan el procesador para ser lo mas rápido posible. En los procesadores de Intel son cada una de las generaciones. 1º Gen, 2º Gen , etc. En los procesadores AMD tenemos Zen, Zen+ , Zen 2, Zen 3. | Es como los ingenieros diseñan el procesador para ser lo mas rápido posible. En los procesadores de Intel son cada una de las generaciones. 1º Gen, 2º Gen , etc. En los procesadores AMD tenemos Zen, Zen+ , Zen 2, Zen 3. | ||
Cada año que pasa , se diseñan mejores microarquitecturas para hacer mas rápido el procesador pero su ISA es la misma para de esa forma que los programas sigan sirviendo en el nuevo procesador. Por lo tanto al comprar un procesador lo que nos interesa saber es su microarquitectura ya que eso determina el rendimiento. | Cada año que pasa , se diseñan mejores microarquitecturas para hacer mas rápido el procesador pero su ISA es la misma para de esa forma que los programas sigan sirviendo en el nuevo procesador. Por lo tanto al comprar un procesador lo que nos interesa saber es su microarquitectura ya que eso determina el rendimiento. | ||
- | ==== Fabricante ==== | + | ===== Fabricante |
Es el que finalmente fabrica el procesador (o cualquier otro chip) en las fábricas de procesadores. No tiene porque ser la misma empresa que diseña la microarquitectura o crea la ISA. | Es el que finalmente fabrica el procesador (o cualquier otro chip) en las fábricas de procesadores. No tiene porque ser la misma empresa que diseña la microarquitectura o crea la ISA. | ||
Línea 218: | Línea 206: | ||
| Snapdragon 865 | ARMv8 | ARM | Qualcomm | TSMC | | | Snapdragon 865 | ARMv8 | ARM | Qualcomm | TSMC | | ||
| A11 | ARMv8 | ARM | Apple | TSMC | | | A11 | ARMv8 | ARM | Apple | TSMC | | ||
- | | Exynos 990 | ARMv8 | Samsung | Samsung | | + | | Exynos 990 | ARMv8 | ARM |Samsung | Samsung | |
Línea 234: | Línea 222: | ||
- | ==== Núcleos e hilos ==== | + | ===== Núcleos e hilos ===== |
Hemos visto como es un procesador o CPU, pero ahora hay que distinguir entre los siguientes 3 conceptos: | Hemos visto como es un procesador o CPU, pero ahora hay que distinguir entre los siguientes 3 conceptos: | ||
* Procesador o CPU | * Procesador o CPU | ||
Línea 247: | Línea 235: | ||
- | Por lo que en una placa se pueden poner uno o mas procesadores, | + | Por lo que en una placa se pueden poner uno o mas procesadores, |
+ | ==== La ley de Amdahl ==== | ||
+ | La [[https:// | ||
+ | {{: | ||
- | ==== Cache ==== | + | |
+ | |||
+ | ===== Cache ===== | ||
La cache es como una pequeña memoria RAM que se encuentra dentro del procesador. La cache es fundamental en cualquier procesador ya que la RAM es demasiado lenta para enviar los datos y las instrucciones que necesita un procesador ya que el procesador funciona muy muy rápido en comparación con la RAM. La cache almacena las instrucciones y/o datos que mas usa la CPU y de esa forma no tiene que perder el tiempo en ir a buscarlo a la RAM. | La cache es como una pequeña memoria RAM que se encuentra dentro del procesador. La cache es fundamental en cualquier procesador ya que la RAM es demasiado lenta para enviar los datos y las instrucciones que necesita un procesador ya que el procesador funciona muy muy rápido en comparación con la RAM. La cache almacena las instrucciones y/o datos que mas usa la CPU y de esa forma no tiene que perder el tiempo en ir a buscarlo a la RAM. | ||
Línea 270: | Línea 263: | ||
- | ==== Frecuencia ==== | + | ===== Frecuencia |
Otra característica importante del procesador en la Frecuencia a la que funciona, que se mide en GHz. Es decir la velocidad a la que ejecuta cada instrucción | Otra característica importante del procesador en la Frecuencia a la que funciona, que se mide en GHz. Es decir la velocidad a la que ejecuta cada instrucción | ||
Es importante destacar que no se puede comparar directamente la frecuencia de dos procesadores con microarquitectura distinta. Aunque uno vaya mas rápido que el otro (a mayor frecuencia) no significa que vaya mas rápido.Eso es así ya que por ejemplo la FPU de un proceesador a 2,2 Ghz podría ser mucho mas rápida que una la de otro procesador a 2,5 GHz | Es importante destacar que no se puede comparar directamente la frecuencia de dos procesadores con microarquitectura distinta. Aunque uno vaya mas rápido que el otro (a mayor frecuencia) no significa que vaya mas rápido.Eso es así ya que por ejemplo la FPU de un proceesador a 2,2 Ghz podría ser mucho mas rápida que una la de otro procesador a 2,5 GHz | ||
- | ==== Socket ==== | + | ===== Socket |
El socket (o Zócalo en castellano) es "el conector" | El socket (o Zócalo en castellano) es "el conector" | ||
Línea 283: | Línea 276: | ||
* Socket PGA: Tiene los pines en el procesador | * Socket PGA: Tiene los pines en el procesador | ||
* Socket LGA: Tiene los pines en la placa base | * Socket LGA: Tiene los pines en la placa base | ||
+ | |||
+ | La tendencia es a que se use LGA ya que permite mas densidad de pines. Actualmente (2021) AMD usa PGA e Intel PGA. | ||
Mas información | Mas información | ||
Línea 357: | Línea 352: | ||
- | ==== Ejercicio 6 ==== | ||
- | Usando los conceptos aprendidos en clase, explica las diferencias entre una CPU y los siguientes tipos de procesadores: | ||
- | * GPU | ||
- | * iGPU | ||
- | * APU | ||
- | * IPU | ||
- | ==== Ejercicio | + | |
+ | ==== Ejercicio | ||
Indica para las siguientes ISA de ARM si son ISAs de 32 bits o 64 bits: | Indica para las siguientes ISA de ARM si son ISAs de 32 bits o 64 bits: | ||
* ARMv6 | * ARMv6 | ||
Línea 373: | Línea 363: | ||
Y indica también la máxima RAM a la que puede acceder cada uno de ellos. | Y indica también la máxima RAM a la que puede acceder cada uno de ellos. | ||
- | ==== Ejercicio | + | ==== Ejercicio |
- | En la página de descarga de [[https:// | + | En la página de descarga de [[https:// |