Download Formacion_Especifica_Tarea_ISE1_2_1
Document related concepts
no text concepts found
Transcript
Introducción a Sistemas Industriales Módulo 2 – Microprocesadores y sistemas MP Tarea2_1 – Microprocesadores y sistemas MP. Paralelismo en MP А. Петров, PU, Dep. ECIT 1 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 2 Microprocesador (MP o P) 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). 3 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. 4 Componentes MP 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 5 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. . 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. 7 Arquitectura del Set de Instrucciones (ISA) 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 * instrucciones * instrucciones store * instrucciones y return. aritméticas como sumar y restar lógicas como and, or, y not de datos como move, input, output, load, y de control de flujo como goto, if ... goto, call, 8 Ejemplo: Programador Registros Visibles de IA-32 9 Ciclo de Fetch Decode Execute en MP Instruccion Obtiene instrucciones del almacenamiento del programa Fetch Procesador Decodificador Determina las acciones requeridas De instrucción Operando Fetch Ejecutar Localiza y obtiene los datos operandos resultados Instrucción siguiente Control Memoria Ruta de datos Output Computa los valores resultado o status Almacén de Input ALU Registros Deposita los resultados en el almacén para un uso posterior Determina la instrucción sucesora 10 Sistemas de Microprocesadores 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 Sistemas MP – memoria 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) 14 Sistemas MP – Sistema E/S 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. 15 Sistema Bus 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 16 CPU y Almacén primario (RAM) – buses CPU RAM Unidad de Control Unidad Aritmético-Lógica Bus de Datos Bus de Dirección Bus de Control I/O buses Aparatos de entrada Almacén secundario 17 Aparatos de salida Bus de datos 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 18 Bus de Dirección •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 = … 19 Bus de Control • 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 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 Sistema MP – ejemplo: microcontrolador Diagrama de bloques PIC16F8X [9] PIC16F84 incluye: Memoria de programa FLASH 1Kx14 RAM (Registro de ficheros) 68x8 Memoria de datos EPROM 64x8 Temporizador – TMR0 Temporizadores adicionales (watch-dog etc.) Puertos I/O: RA – 5 líneas Infor mati on Syst ems PUECI T 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 29 Paralelismo en MP 30 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: 1972: 1974: 1978: 1982: 1985: 1989: 1993: 1997: 1999: 2000: 2006: 4004 8008 8080 80862 80286 80386 80486 DX Pentium Pentium II Pentium III Pentium IV Pentium D 900 2,250 transistores 2,500 transistores 5,000 transistores 9,000 transistores 120,000 transistores 275,000 transistores 1,180,000 transistores 3,100,000 transistores 7,500,000 transistores 24,000,000 transistores 42,000,000 transistores 376,000,000 transistores Mejora del rendimiento en MP – paralelismo 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 ) 33 “Pipeline” de instrucción 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. 34 “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. 35 Paralelismo MP Modelo Subescalar Тa=N(k. τ) Paralelismo de nivel de instrucción (pipeline) Тb=[ k + (N-1) ]. τ N- número de tareas (instrucciones) k – número de fases τ – Tiempo de ejecución por fase Modelo Superescalar Simple (2 pipelines) Tc Tb/2 36 Procesador multinúcleo* 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]. 37 Evolución de los Microprocesadores Resumen de los Microprocesadores Intel 38 Lista de MP de 4 y 8 bits Тип Empresa Tecnolo- Palabra /año gía (bits) Tc/ft Instruc ciones Registros Memoria Acc/ind/ Voltaje GPR бит us/Mhz бр. КВ V 4004 Intel/71 p-mos 4 10.8/ 46 4 1/0/16 +5-10 8008 --“--/72 p-mos 8 12.5/ 48 16 1/0/6 +5-9 8080 --“--/74 n-mos 8 2/1 78 64 --“-- +-5+12 Z80 Zilog/75 --“-- “ 1.6/ 158 “ 1/2/14 +5 6502 MosTehn --“-- “ 1 55 “ 1/2/0 “ CM630 Bulgaria --“-- “ 1 55 “ --“-- --“-- 6800 Motorola --“-- “ 2/1 72 “ 2/1/0 --“-- CM601 Bulgaria --“-- “ “ “ “ --“-- --“-- 8085 Intel/77 --“-- “ 1.3/2 80 “ 0/2/8 --“-- 39 Intel 4004 Primer microprocesador (1971 – T. Hoff) ◦ Para calculadora Busicom Características ◦ ◦ ◦ ◦ ◦ 10 m 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 40 Intel 8008 8-bit follow-on (1972) ◦ Terminales mudos Características ◦ ◦ ◦ ◦ ◦ 10 m proceso 3500 transistores 500 – 800 kHz Tamaño de palabra 8-bit Paquete DIP 18-pin Rutas de datos de 8-bit ◦ Transistores individuales visibles 41 Intel 8080 Bus de dirección de 16-bit (1974) ◦ Usado en ordenador Altair (primeros aficionados al PC) Características ◦ ◦ ◦ ◦ ◦ 6 m proceso 4500 transistores 2 MHz Tamaño de palabra 8-bit Paquete DIP 40-pin 42 Intel 8086 / 8088 Procesador de 16-bit (1978-9) ◦ IBM PC y PC XT ◦ Productos revolucionarios ◦ Introducida x86 ISA Características ◦ ◦ ◦ ◦ ◦ 3 m proceso 29k transistores 5-10 MHz Tamaño de palabra 16-bit Paquete DIP 40-pin Microcódigo ROM 43 Intel 80286 Memoria Virtual (1982) ◦ IBM PC AT Características ◦ ◦ ◦ ◦ ◦ 1.5 m proceso 134k transistores 6-12 MHz Tamaño d palabra 16-bit 68-pin PGA Rutas de datos regulares y pociones de bits de la ROM claramente visibles 44 Intel 80386 Procesador de 32-bit (1985) ◦ Modern x86 ISA Características ◦ ◦ ◦ ◦ ◦ 1.5-1 m proceso 275k transistores 16-33 MHz Tamaño de palabra 32-bit 100-pin PGA Ruta de datos 32-bit microcódigo ROM, control combinado 45 Intel 80486 Pipelining (1989) ◦ Unidad de punto flotante en el chip ◦ 8 KB cache Características ◦ ◦ ◦ ◦ ◦ 1-0.6 m proceso 1.2M transistores 25-100 MHz Tamaño de palabra 32-bit 168-pin PGA Cache, ruta de datos íntegra, FPU, microcódigo, control combinado 46 Intel Pentium Superescalar (1993) ◦ 2 instructiones por ciclo ◦ Separado 8KB I$ & D$ Características ◦ ◦ ◦ ◦ ◦ 0.8-0.35 m proceso 3.2M transistores 60-300 MHz Tamaño de palabra 32-bit 296-pin PGA Caches, ruta de datos FPU, control 47 Intel Pentium Pro / II / III Ejecución dinámica (1995-9) ◦ 3 micro-ops / ciclo ◦ Ejecución de fuera de servicio ◦ 16-32 KB I$ & D$ ◦ Instrucciones Multimedia ◦ PIII adds 256+ KB L2$ Características ◦ ◦ ◦ ◦ ◦ 0.6-0.18 m proceso 5.5M-28M transistores 166-1000 MHz Tamaño de palabra 32-bit MCM / SECC 48 Intel Pentium 4 Pipeline profunda (2001) ◦ Reloj muy rápido ◦ 256-1024 KB L2$ Características ◦ ◦ ◦ ◦ Proceso 180 – 90 nm 42-125M transistores 1.4-3.4 GHz Tamaño de palabra de 32bit ◦ 478-pin PGA Las unidades comienzan a hacerse invisibles en esta escala 49 Itanium 2 (última versión) Core Tukwila (65 nm) (2010) ◦ Reloj muy rápido ◦ 256-1024 KB L2$ Características ◦ Velocidad de reloj 1.73 GHz ◦ Cache ◦ L2 256 KiB + 512 KiB; L3 24 MiB ◦ Transistores – alrededor de 600M ◦ QuickPath4.8 GT/s ◦ Núcleos 4 ◦ 64-bit word size ◦ Socket LGA1248 50 Aumento de104 en el contador de transistores, ¡frecuencia de reloj durante 30 años! Summary 51 Fuentes adicionales: 1.http://www.intel.com/pressroom/kits/quickreffam.htm 2.http://www.edn.com/article/CA438294.html 3.http://subjects.ee.unsw.edu.au/elec2041/lectures/index.html 4.http://redhill.net.au/c/c-1.html 5.http://en.wikipedia.org/wiki/Central_processing_unit 6.http://en.wikipedia.org/wiki/VLIW 7.http://en.wikipedia.org/wiki/Explicitly_Parallel_Instruction_Computing 8.http://en.wikipedia.org/wiki/Multi-core 9.http://en.wikipedia.org/wiki/Microcontroller 10.http://en.wikipedia.org/wiki/Embedded_system 11.http://kmh.ync.ac.kr/PcNcMicro/student2.html 12. http://www.pattosoft.com.au/Articles/ModernMicroprocessors/ 13. E. Garrison Walters "The Essential Guide to Computing", Prentice Hall PTR 52