Objetivos Introducción y características principales Componentes básicos de MP Arquitectura del Set de Instrucción (ISA) Sistemas MP – componentes y tipos Tipo especial de MP (ASIC, DSP, FPGA etc.) Paralelismo en MP Evolución de Microprocesadores 1
2 Chip de silicona que contiene una CPU. Los términos microprocesador y CPU se usan indistintamente. En todos los ordenadores personales y en la mayoría de workstations hay un microprocesador. MP también controla la lógica de casi todos los accesorios digitales, desde despertadoras de radio hasta sistemas de inyección de gasolina en automóviles. Los microprocesadores se diferencian por tres características básicas: Set de instrucción: El set de instrucciones que puede ejecutar el microprocesador. Ancho de banda: La cantidad de bits procesados en una sola instrucción. Velocidad del reloj: (MHz) – determina cuántas instrucciones por segundo puede ejecutar el procesador. Además, MP se clasifican como RISC (en inglés, ordenador de set de instrucciones reducidas) o CISC (ordenador de set de instrucciones complejas). Microprocesador (MP o ?P)
Funciones básicas de la CPU Forma direcciones de instrucciones y operandos Recupera y desempeña operaciones; Mantiene información sobre el proceso de registro de banderas; Inicializa operaciones de entrada/salida; Respalda al sistema de interrupciones y procesado; Controla el intercambio, procesado y errores; Mantiene un diálogo con el usuario. 3
4 ALU (Arithmetic/Logic Unit) Registros– visible e invisible al programador (los registros visibles representan el modelo de prgramación del MP) Unidad de Control I/O y bufferes internos (normalmente 3 estados) I/O y buses internos Hay tres tipos de buses I/O : Un bus de dirección (que puede tener 8, 16 ó 32 bits de ancho) Un bus de datos – bi-direccional (que puede tener 8, 16, 32 y 64 bits de ancho) Un bus de control. Algunas líneas típicas de control son: # Una RD (read –lectura) y WR (write –escritura) line # A clock line # A reset line Componentes MP
Organización de un microprocesador Aunque MP son cada vez más complejos, la raíz de su operación puede resumirse como repetidas secuencias de tareas simples: Fetch una instrucción; Decode (descodificar) la instrucción; Execute (ejecutar) la instrucción; Store (almacenar) el resultado. Cada microprocesador reconoce un unico set de instrucciones binarias que han sido predefinidas y almacenadas permanentemente en el chip. Cuando la CPU recibe una instrucción, la pasa a una unidad conocida como la Unidad de Decodificación, que contiene una secuencia de operaciones que debe cumplirse para completar la operación. La Unidad de decodificación pasa la secuencia de instrucciones a aquélla que contenga programas peueños conocidos como microcódigo para cada operación que el microprocesador haya sido diseñado para llevar. . 5
6 Diagrama de bloques simplificado de MP A, B, C y registro de dirección son registros de buffer simples basados en triggers. El contador del programa es un registro que puede aumentar su valor de una o cero con la apropiada instrucción. Ayuda a formar la dirección de la siguiente instrucción. ALU puede simplemente añadir 8 bits o poder añadir, sustraer, multiplicar y dividir números de 8 bits (operandos). Test es un registro de estados que puede guardar los resultados de las operaciones en el ALU. Estos valores se utilizan para gestionar el programa. 3-stados son buffers con 3 estados. Reloj e inputs de Reset inputs son respectivamente para el control del tiempo y el set inicial del MP. Nota. Los procesadores modernos como Pentium, AMD, Itanium etc. tienen una estructura interna muy compleja.
ISA, es la parte de la arquitectura de ordenadores relacionada con la programación, incluyendo los tipos de datos nativos, instrucciones, registros, modos de direccionar, arquitectura de la memoria, manejo de interrupciones y excepciones y externos I/O. Un ISA incluye una especificación del set de opcodes (lenguaje de máquina), los comandos nativos implementados para un diseño particular de CPU. Las instrucciones incluyen: * instrucciones aritméticas como sumar y restar * instrucciones lógicas como and, or, y not * instrucciones de datos como move, input, output, load, y store * instrucciones de control de flujo como goto, if … goto, call, y return. 7 Arquitectura del Set de Instrucciones (ISA)
8 Ejemplo: Programador Registros Visibles de IA-32
Ciclo de Fetch Decode Execute en MP 9 (Gp:) Instruccion Fetch (Gp:) Decodificador De instrucción (Gp:) Operando Fetch (Gp:) Ejecutar (Gp:) Almacén de resultados (Gp:) Instrucción siguiente Obtiene instrucciones del almacenamiento del programa Determina las acciones requeridas Localiza y obtiene los datos operandos Computa los valores resultado o status Deposita los resultados en el almacén para un uso posterior Determina la instrucción sucesora (Gp:) Control (Gp:) Ruta de datos Memoria Procesador Input Output ALU Registros
Sistemas de Microprocesadores 10
11 Resumen de sistemas de MP Sistemas Integrados y Aplicaciones Microprocesadores integrados constituyen el 94% de ventas de todos los microprocesadores. Los microprocesadores integrados se extienden a un rango de uso mucho más amplio que los PCs. Estructura del sistema de un microprocesador básico: Unidad de procesado central(CPU) Memoria Entrada/Salida (E/S) o Input/Output (I/O) Bus de sistema Un microcontrolador o SoC que incluirá algunos o todos los ocmponentes del mismo chip que la CPU.
12 Sistema MP–configuración mínima Algunos sistemas MP incluyen circuitos adicionales, como temporizadores, ADC, DAC, drivers LCD etc. Microcontrolador (SoC) = sistema de MP con único chip [9]
13 Las tareas de la memoria son : 1. Almacenar programas y datos 2. Suministrar datos al MPU según demanda 3. Aceptar nuevos datos de la MPU para almacenar Tipos de memoria: RAM (Random Access Memory) » Estática (SRAM): Más rápida, alto coste » Dinámica (DRAM): Más lenta, menor coste, consume menos energía y espacio • ROM (Read Only Memory) – EPROM, EEPROM, Memoria FLASH – Retiene memoria incluso sin energía – Almacena programas ejecutados tras el inicio del sistema (e.g. BIOS) Sistemas MP – memoria
14 E/S es el enlace entre la MPU y el mundo exterior (También conocido como puertos E/S) Un puerto de entrada (puerto input) es un circuito a través del cual un aparato externo puede enviar señales (datos) a la MPU. Un puerto de salida (puerto output ) es un circuito que permite a la MPU enviar señales (datos) a aparatos externos. Los dispositivos E/S conectan tanto aparatos digitales como analógicos. Sistemas MP – Sistema E/S
15 Los subsistemas individuales de los ordenadores digitales están conectados mediante un sistema Bus interconectado. Un Bus es un camino de comunicaciones común usado para llevar información entre varios elementos de un sistema informático. El término BUS se refiere a un grupo de cables o vías de conducción en un cuadro de mandos (PCB) en el que se transfiere información binaria de una parte del microcomputador a otra. Hay tres grupos principales de Bus 1. BUS DE DIRECCIÓN 2. BUS DE DATOS 3. BUS DE CONTROL Sistema Bus
16 CPU y Almacén primario (RAM) – buses (Gp:) Bus de Control (Gp:) Bus de Dirección (Gp:) Bus de Datos RAM Unidad de Control Unidad Aritmético-Lógica CPU Aparatos de entrada Almacén secundario Aparatos de salida I/O buses
17 El Bus de Datos lleva los datos que se han transferido en el sistema (bi-direccional) Ejemplos de transferencias de datos: 1. Instrucciones de programa leídos de la memoria a la MPU 2. Datos enviados de laMPU a un puerto I/O 3. Datos leídos desde un puerto I/O hacia la MPU 4. Resultados de la MPU enviados a la Memoria A éstos se les llama operación de lectura y escritura Ancho del bus de datos: 8086: 16 bits, 80486: 32 bits, Pentium: 64 bits Bus de datos
18 Una dirección ies un número binario que identifica la localización del almacén de una memoria específica o un puerto I/O involucrado en una transferencia de datos El Bus de Dirección se usa para transmitir la dirección de la localización de la memoria o del puerto I/O. El bus de Dirección es unidireccional ( un sentido): Las direcciones siempre se crean por la MPU. Ancho de bus de dirección: Límites de cantidad de memoria » Pentium: 32 bits. Localizaciones: 232bits = 4GB » Itanium: 64 bits. Localizaciones 264 bits = … Bus de Dirección
19 Otro grupo de señales cuyas funciones son de suministrar sincronización ( control de tiempos) entre la MPU y otros componentes del sistema. Las señales de control son unidireccionales, y son principalmente salidas de la MPU. Ejemplo Datos de control desde MPU Bus de Control
20 Sistema MP– interfaz de la memoria Arquitectura Von Neumann – memoria común: para datos e instrucciones Arquitectura Harvard – memoria dual: separa datos e instrucciones Arquitectura Super Harvard – memoria dual + instrucciones cache + controlador I/O (Las arquitecturas Harvard son típicas para microcontroladores y DSP)
21 Information Systems PU-ECIT Sistema MP – ejemplo: microcontrolador Diagrama de bloques PIC16F8X [9] PIC16F84 incluye: Memoria de programa FLASH 1Kx14 RAM (Registro de ficheros) 68×8 Memoria de datos EPROM 64×8 Temporizador – TMR0 Temporizadores adicionales (watch-dog etc.) Puertos I/O: RA – 5 líneas RB – 8 líneas Reloj – ext/int Arquitectura Harvard – RISC Instrucción – 35
22 Ejemplo: Microcontrolador ATmega32 AVR ATmega32 es una MCU de 8 bits CMOS RISC 8-bit con memoria Flash Programable. Las instrucciones se ejecutan para un ciclo, permitiendo que las salidas alcancen 1MIPS/MHz. DIP con 40 pins. He aquí algunos parámetros básicos: Arquitectura Harvard RISC avanzada y frecuencia de reloj a 16 MHz. 131 instrucciones – la mayoría se realizan en un ciclo de la máquina. Registros generales de 32 x 8-bit Esquemas completamente estáticos Productividad hasta 16 MIPS con 16 MHz Muliplicación de construcción para 2 relojes Memoria: 32KB memoria Flash de programa – programable; 1KB EEPROM para datos; 2KB built SRAM Número de ciclos Escribir/Suprimir: 10,000 por memoria Flash y 100, 000 para EEPROM Almacén de datos: 20 años a 85 ° C / 100 años a 25 ° C Interfaz JTAG (consistente con IEEE std. 1149.1) para la organización y ptrogramación en el chip.
23 AVR – Diagrama de Bloques Simplificado
24 Microprocesadores y microcontroladores ARM ARM (Advanced RISC Machine) son los microprocesadores y microcontroladores de 16/32 bits más utilizados en los dispositivos móviles. La versión inicial del núcleao de ARM se creó por la compañía Acorn Computers Ltd., pero ahora otras empresas producen los MCU y MP con base ARM (Alcatel, Atmel, NEC, NVIDIA, NXP (antes Philips), Oki, Qualcomm, Samsung, Sharp , ST Microelectronics, Symbios Logic, Texas Instruments, VLSI Technology, etc.). Desde 2009, los procesadores ARM suponían aproximadamente el 90% de todos los procesadores integrados de 32 bits RISC (productos electrónicos, PDA, teléfonos móviles, iPod – reproductores digitales de música, consolas de video, calculadoras, HDD, ruters, etc.). La familia de ARM incluye ARM7, ARM9, ARM11 y Cortex. La velocidad del reloj varía ampliamente – desde decenas de MHz hasta 1GHz y más. ARM es una gran combinación de lógica moderna, alto rendimiento, bajo consumo (son la mayoría CMOS), bajo coste, arquitectura simple que permite una integración simple en varios dispositivos. (http://en.wikipedia.org/wiki/ARM_architecture).
25 Ejemplo: NS7520 del diagrama de bloques del microcontrolador ARM7TDMI
26 Tipos especiales de MP ASIC – Application-Specific Integrated Circuit – es un circuito integrado (IC) personalizado para un uso particular (tarea única), más que para un uso general. Por ejemplo, un chip diseñado únicamente para hacer funcionar un teléfono móvil es un ASIC *. DSP – A digital signal processor es un MP especializado diseñado específicamente para procesado de señales digitales, generalmente en tiempo real. FPGA – Field Programmable Gate Array – el día moderno equivalente a 7400 series lógicas, que contiene bloques lógicos programables y permite que el mismo FPGA se utilice en aplicaciones diferentes.** . (Los diseñadores de los sistemas basados en FPGL normalmente utilizan HDL como Verilog y VHDL) Media Processors es un sistema en chip (SoC)avanzado especialmente adecuado para distribuir una alta calidad de vídeo, audio, gráficos, imágenes y aplicaciones informáticas intensivas dentro de un entorno de baja energía.
27 ¿Dónde están los sistemas integrados? Un sistema integrado es un sistema especial en el que el ordenador está totalmente encapsulado o dedicado al dispositivo o sistema que controla. Un sistema integrado realiza una o unas pocas tareas predefinidas, normalmente con muy pocos requerimientos específicos.
28 Una “pequeña lista” de sistemas integrados
Paralelismo en MP 29
Evolución de la Arquitectura de Microprocesadores Intel y Ley de Moore En 1965 Gordon Moore predijo que el número de transistores de un microprocesador se duplicaría cada 18 meses y esta tendencia permanecería hasta 1975, pero…
Evolución de la Arquitectura de Microprocesadores Intel (cont.) La Ley de Moore se cumple para los últimos 26 años! 1971: 4004 2,250 transistores 1972: 8008 2,500 transistores 1974: 8080 5,000 transistores 1978: 80862 9,000 transistores 1982: 80286 120,000 transistores 1985: 80386 275,000 transistores 1989: 80486 DX 1,180,000 transistores 1993: Pentium 3,100,000 transistores 1997: Pentium II 7,500,000 transistores 1999: Pentium III 24,000,000 transistores 2000: Pentium IV 42,000,000 transistores 2006: Pentium D 900 376,000,000 transistores
Mejora del rendimiento en MP – paralelismo 32 Paralelismo de Nivel de Instrucción: Ejecución simultánea de instrucciones múltiples con un programa/hilo Thread Level Parallelism: Ejecución simultánea de programas / threads * múltiples. Paralelismo de datos: Operaciones simultáneas en múltiples datos. Palabra de Instrucción muy Larga (VLIW): La VLIW Ejecuta la operación en paralelo basada en un plan fijado determinado cuando se compilan los programas. [16] Explicitly Parallel Instruction Computing (EPIC) es un paradigma informático, similar a VLIW, utilizado por Intel y HP en el desarrollo de la arquitectura de Intel IA-64 [7] Modelos de Multiprocesador, Multiordenador y Multinúcleo Otras características que mejoran el rendimiento de los MI son: Cambio de nombre de registro y Ejecución de Fuera de Servicio de las instrucciones (para más detalles ver: http://en.wikipedia.org/wiki/Register_renaming http://en.wikipedia.org/wiki/Out-of-order_execution )
“Pipeline” de instrucción 33 Una “pipeline” de instrucción es una técnica utilizada en el diseño de ordenadores y otros elementos electrónicos digitales para aumentar su rendimiento. Hay algunas ventajas y desventajas.
“Pipeline” de Instrucción (cont) “Burbujas” – un problema en pipelining Si durante la ejecución ocurre un pequeño problema, se crea una “burbuja” en la pipeline en la que no sucede nada útil. En el ciclo 2, la instrucción morada se retrasa y la fase de decodificación en el ciclo 3 ahora contiene una burbuja. Todo aquello “detrás” de la burbuja morada se retrasa. 34
Paralelismo MP 35 Modelo Subescalar ?a=N(k. t) Paralelismo de nivel de instrucción (pipeline) ?b=[ k + (N-1) ]. t Modelo Superescalar Simple (2 pipelines) Tc ? Tb/2 N- número de tareas (instrucciones) k – número de fases t – Tiempo de ejecución por fase
Procesador multinúcleo* 36 Combina dos o más procesadores independientes en un solo paquete, a menudo en un solo circuito integrado (IC). Un dispositivo con un núcleo dual contiene dos microprocesadores independientes. Permite que un dispositivo informático exponga alguna porma de thread-level parallelism (TLP) Esta forma de TLP se conoce generalmente como chip-level multiprocessing [18].
Evolución de los Microprocesadores Resumen de los Microprocesadores Intel 37
Lista de MP de 4 y 8 bits 38
Intel 4004 Primer microprocesador (1971 – T. Hoff) Para calculadora Busicom Características 10 mm proceso 2300 transistores 400 – 800 kHz Tamaño de palabra 4bit Paquete DIP 16-pin Masks hand cut from Rubylith Dibujadas con lápices de colores 1 metal, 1 poly (jumpers) Líneas diagonales 39
ESTA PRESENTACIÓN CONTIENE MAS DIAPOSITIVAS DISPONIBLES EN LA VERSIÓN DE DESCARGA