Download Formacion_Especifica_Tarea_ISE3_4_1
Document related concepts
no text concepts found
Transcript
Electrónica para sistemas industriales Tarea4_1 Microprocesadores 1 Objetivos Introducción y principales características Componentes básicos de MP Conjunto de instrucciones (ISA) Paralelismo en MP Sistemas MP – components y tipos Tipos especiales de MP (ASIC, DSP, FPGA etc.) Evolución de los Microprocesadores 2 Microprocessor (MP or P) Un chip de silicio que contiene una CPU. Los términos microprocesador y CPU son usados indistintamente. En todos los ordenadores personales y muchas estaciones de trabajo se encuentra un microprocesador. MP también controla la lógica de todos los dispositivos digitales, desde radio relojes al sistema de inyección de combustible de autumoviles. Tres características diferencian a un microprocesador: Conjunto de instrucciones: El cojunto de instrucciones que el microprocesador puede ejecutar. Ancho de banda : Bits procesados en una instrucción. Velocidad de reloj: (MHz) – determina cuantas instrucciones por Segundo puede ejecutar. Además MP se clasifican en RISC (Computador con conjunto de instrucciones reducidas) or CISC (Computador con conjunto de instrucciones complejas). 3 Funciones básicas de la CPU Forma direcciones de instrucciones y operandos Recupera y realiza las operaciones Mantiene información del proceso en registros Inicializa operaciones I / O Apoya al Sistema de interrupciones y de procesamiento Controla los intercambios, el tratamiento y errores Mantiene un diálogo con el usuario 4 Componentes del MP ALU (Unidad aritmético lógica) Registros Unidad de control I/O y buses internos (usualmente 3 estados) I/O y buses internos Los buses I/O son de tres tipos: Un bus de direcciones (que puede ser de 8, 16 or 32 bits) Un bus de datos bidireccional (puede ser de 8, 16, 32 and 64 bits) Un bus de control. Las típicas líneas de control son: # Linea de RD (lectura) y WR (escritura) # Línea de reloj # Línea de reset 5 Organización del Microprocesador A pesar de que los microprocesadores son cada vez más complejos, en el fondo su funcionamiento se puede resumir como una secuencia repetida de tareas sencillas: obtener una instrucción, decodificar la instrucción, ejecutar la instrucción, almacenar el resultado. Cada microprocesador reconoce un único conjunto de instrucciones binarias que han sido predefinidas y almacenadas permanentemente en el chip. Cuando la CPU recibe una instrucción esta pasa a una unidad conocida como unidad decodificadora que contiene una secuencia de operaciones que deben realizarse para completer la operación. La unidad decodificadora transfiere la secuencia de instrucciones a pequeños programas conocidos como microcodigos por cada operación del microprocesador que ha sido llevada a cabo. 6 Diagrama de un MP simplificado A, B, C y registros de direcciones son simples registros de almacenamiento basados en triggers. El contador de programa es un registro que puede incremntar su valor en 1 ó 0 en la instrucción apropiada. Esto ayuda a crear la dirección de la siguiente instrucción. ALU puede ser un simple sumador de 8 bits o ser capaz de sumar, restar, multiplicar y divider números de 8 bits. Test resgristro de estados que puede guarder los resultados de las operaciones de la ALU. 3-states son buffers con 3 estados. Clock and Reset inputs para la sincronización y la configuración inicial del MP. Nota. Los nuevos procesadors como Pentium, AMD, Itanium etc. tienen estructuras internas muy complejas. 7 Conjunto de instrcciones (ISA) ISA, es la parte del computador relacionada con la programación, incluidos los tipos de datos nativos, instrucciones, registros, modos de direccionamiento, arquitectura de memoria, interrupción y control de excepciones, y externas I/O. ISA incluye una especificación del conjunto de códigos de operación (lenguaje máquina), commandos nativos implementados por un diseñador particular de CPU. Las instrucciones incluyen: * instrucciones aritméticas como suma y resta * instrucciones lógicas como and, or, y not * instrucciones sobre datos como move, input, output, load, y store * instrucciones de control de flujo como goto, if ... goto, call, y return. 8 Fetch Decode Execute Cycle in MP Recoger Obtener instrucción del almacenamiento de programa instrucción Procesador Decodificación de instrucción Determinar las acciones necesarias Entrada Control Memoria Buscar operación Localizar y obtener datos Ejecutar Calcular el valor de resultado o estado Camino de datos ALU Almacenar resultado Depositar resultados posterior uso en almacenamiento Salida Registros para Siguiente instrucción Determinar la instrucción siguiente 9 Perspectica de los MP Sistemas y aplicaciones integradas ◦ Los microprocesadores integrados representan el 94% de todas las ventas de microprocesadores. ◦ Los microprocesadores integrados amplían el rango de rendimieno de los PCs. Terminología Sistemas GP * vs. Sistemas integrados ◦ Cuales son los parámetros clave del diseño? 10 Perspectica de los MP (cont.) Estructura del Sistema de un microprocesador básico ◦ Unidad central de proceso (CPU [MP]) ◦ Memoria (memoria principal [DRAM], memoria Cache[L1,L2]) ◦ Entrada/Salida (I/O) – adaptadores paralelos o en serie etc. ◦ Bus del Sistema Un microcontrolador o SoC incluye algunos o todos los componentes en el mismo chip de la CPU. 11 Sistema MP – Configuración mínima Algunos sistemas MP incluyen circuitos adicionales, como relojes, ADC, DAC, LCD drivers etc. Microcontrolador (SoC) = unico chip Sistema MP 12 Sistema MP– memoria Las funciones de la memoria son: 1. Almacenar programas y datos 2. Proporcionar datos al MPU a petición 3. Aceptar nuevos datos desde MPU para almacenamiento Tipos de memoria: • RAM (Random Access Memory) » Estatica (SRAM): Rápida, cara » Dinámica(DRAM): más lenta, barata, consume menos potencia y espacio • ROM (Read Only Memory) – EPROM, EEPROM, FLASH Memory – Mantiene la memoria incluso sin alimentación – Almacena los programas que se ejecutan al inicio(por ejemplo. BIOS) 13 Los sistemas de entrada y saldia(I/O) I/O es el enlace entre la MPU la salida al exterior. (También conocidos como puertos I/O) Un Puerto de entrada es un circuitos a través del cual un dispositivo externo envia señales (datos) al MPU. Un Puerto de salida es un circuito que permite a la MPU enviar señales (datos) a dispositivos externos. A los puertos de entrada y salida se conectan dispositivos digitales y analógicos 14 El Bus del sistema Los subsistemas individuales de la computadora se conectan a través del BUS del sistema. Un bus es una vía (pathway) de comunicaciones 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 pistas de conducción en una placa de circuito impreso (PCB) a través de los cuales se transfiere la información binaria desde una parte del microcomputador a otra. Hay tres grupos principals 1. BUS DE DIRECCIONES 2. BUS DE DATOS 3. BUS DE CONTROL Ver la siguiente diapositiva 15 CPU and Almacenamiento primario (RAM) – buses CPU RAM Unidad de control Unidad aritmético lógica Bus de datos Bus de direcciones Bus de control Buses I/O Dispositivos de entrada Almacenamiento secundario Dispositvos de salida 16 Bus de datos El bus de datos transporta los datos que son transferidos a través del sistema. ( bi-direccional) Ejemplos de transferencia de datos 1. Instrucciones de programa se leen de la memoria en MPU. 2. Los datos que se envían desde MPU van al puerto I/O 3. Los datos que se leen del Puerto I/O se dirigen a MPU 4. Los resultados de MPU son enviados a la memoria A estas se llaman operaaciones de lectura y escritura Ancho de bus de datos: 8086 16 bits, 80486 32 bits, Pentium 64 bits 17 Bus de direcciones Una dirección es un número binario que identifica una localicación específica de la memoria o puerto I/O involucrado en una transferencia de datos. El bus de direcciones se usa para transmitir la dirección de la localización a la memoria o al puerto de I/O. El bus de direcciones es unidireccional (un sentido) las direcciones son siempre emitidas por el MPU. Ancho de banda bus de direcciones: limita la cantidad de memoria » Pentium: 32 bits. Locations: 232bits = 4GB » Itanium: 64 bits. Locations 264 bits = … 18 Bus de control Otro grupo de señales cuyas funciones son la de proporcionar sincronización (control de tiempo) entre la MPU y otros componentes del sistema. Las señales de control son unidireccionales, y son principalmente salidas de la MPU. Ejemplo de Señales de control RD - lectura señal que afirma lectura de datos desde MPU WR - escritura señal que afirma escritura de datos desde MPU RESET – señal para la configuración inicial del Sistema 19 MP system – memory interfacing Arquitectura Von Neumann – memoria común: para datos e instrucciones Arquitectura Harvard– memoria dual: separada para datos e instrucciones Arquitectura Super Harvard – memoria dual + instrucción cache + I/O controlador (Las arquitecturas Harvard son tipicas en microcontroladores y DSP) 20 Mejorar el rendimieno en sistemas MP Tubería de instrucción Una tubería de instrucción es una tecnica usada en el diseño de computadores y otros dispositivos electrónicos para incrementar su rendimiento. Tiene algunas ventajas y desventajas 21 Tubería de instrucción (continuación) “Burbujas” – un problema en tuberías Cuando ocurre un "hiccup“ en ejecución , una "burbuja" es creada en la tubería en la que no pasa nada útil. En un segundo ciclo, la obtención de la instrucción púrpura se retrasa y la etapa de decodificación el el ciclo e 3 ahora contiene una burbuja. Todo detrás de la instrucción púrpura se retrasa. 22 MP parallelism[15] Modelo subescalar Тa=N(k. τ) Nivel de instrucción Paralelismo (tubería) Тb=[ k + (N-1) ]. τ N- número de tareas (instrucciones) k – número de fases τ – ejecución tiempo por fase Modelo simple superescalar (2 tuberías) Tc Tb/2 23 Paralelismo MP (sumario) Paralelismo a nivel de instrucción: Ejecución simultanea de multiples instrucciones dentro de un programa/hilo Paralelismo a nivel de hilos: Ejecuciones simultáneas de multiples programas/hilos* Paralelismo de datos: Operaciones simultáneas en multiples piezas de datos Instrucciones de gran tamaño. El enfoque VLIW ejecuta la opearación en paralelo basandose en un programa fijo cuando se compilan los programas. Procesamiento de instrucciones explícitamente en paralelo (EPIC) es un paradigm de programación, similar a VLIW, usado por Intel y HP en el desarrollo de la arquitectura Intel’s IA-64 [7] 24 Microprocesadores Multinúcleo * Combina dos o más procesadores independientes en un único paquete, osuelen integrarse en un circuito integrado (IC). Un dispositivo multinucleo contiene dos microprocesadores independientes. Permite que un dispositivo informatico muestre algún tipo de paralelismo a nivel de hilo (TLP) Esta forma de TLP suele conocerse como procesamiento a nivel de chip[18]. 25 Tipos especiales de MP ASIC – Aplicación específica a circuitos integrados un circuito integrado (IC) personalizado para un uso particular (de tarea única), en lugar de para propósito general. Por ejemplo, un chip diseñado únicamente para ejecutar un teléfono móvil es un ASIC*. DSP – Procesador digital de señales es un MP especializado diseñdo específicamente para procesar señal digital, generalmente en tiempo real . FPGA – Field Programmable Gate Array – equivalente modern de la serie 7400, contiene bloques lógicos programables e interconexciones que permiten que la misma FPGA pueda ser utilizada en muchas aplicaciones diferentes.** . (Diseño de los sistemas FPGL- sistemas basados usualmente en HDL como Verilog y VHDL) Procesadores Media es un Sistema avanzado en chip (SoC) ideal para video de alta calidad, audio, graficos, imágenes y aplicaciones de cálculo intensivas en un entorno de baja potencia. 26 Donde están los sistemas embebidos? Un Sistema embebido es un Sistema de propósito general en el que el equipo está completamente encapsulado por un dispositivo que le controla. Un Sistema embebido lleva a cabo una o unas pocas tareas predefinidas, con requisites muy específicos. 27 Pequeña lista de sistemas embebidos 28 Evolución de los microprocesadroes Visión de los microprocesadores Intel 29 Lista MP de 4- y 8-bit Тип Compañí Tecnolo a /año gía Palabra (bits) Tc/ft Intrucc Memori iones a бит us/Mhz бр. КВ Registros Acc/ind/ GPR U Potencia 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 --“-- 30 Intel 4004 Primer microcprocesador (1971 – T. Hoff) ◦ Para calculadoras Busicom Características ◦ ◦ ◦ ◦ ◦ 10 m proceso 2300 transistores 400 – 800 kHz 4-bit ancho de palabra 16-pin DIP package Máscaras mano cortadas desde Rubylith ◦ Diseñados con lápices de colores ◦ 1 metal, 1 poly (jumpers) ◦ Líneas diagonales 31 Intel 8008 Sigue en 8-bit (1972) ◦ Terminales mudos Características ◦ ◦ ◦ ◦ ◦ 10 m procesos 3500 transistores 500 – 800 kHz 8-bit ancho de palabra Chip (DIP) de 18-pin ◦ Bus de 8-bit Transistores individuales visibles 32 Intel 8080 16-bit address bus (1974) ◦ Used in Altair computer (early hobbyist PC) Caracteristicas ◦ ◦ ◦ ◦ ◦ 6 m proceso 4500 transistores 2 MHz 8-bit ancho de palabra Chip de 40-pin 33 Intel 8086 / 8088 16-bit processor (1978-9) ◦ IBM PC and PC XT ◦ Revolutionary products ◦ Introduced x86 ISA Características ◦ ◦ ◦ ◦ ◦ 3 m proceso 29k transistores 5-10 MHz 16-bit ancho de palabra 40-pin DIP package Microcódigo ROM 34 Intel 80286 Memoria virtual(1982) ◦ IBM PC AT Características ◦ ◦ ◦ ◦ ◦ 1.5 m process 134k transistors 6-12 MHz 16-bit word size 68-pin PGA Bus regular y ROMs claramente visibles 35 Intel 80386 Procesador de 32nit(1985) ◦ Moderno x86 ISA Características ◦ ◦ ◦ ◦ ◦ 1.5-1 m procesos 275k transistores 16-33 MHz 32-bit word size 100-pin PGA Bus 32-bit, microcódigo ROM, control sintetizado 36 Intel 80486 Canalización (1989) ◦ Unidad de coma flotante en el chip ◦ 8 KB cache Características ◦ ◦ ◦ ◦ ◦ 1-0.6 m process 1.2M transistors 25-100 MHz 32-bit word size 168-pin PGA Cache, Integer datapath, FPU, microcode, synthesized control 37 Intel Pentium Superescalar (1993) ◦ 2 instrucciones por ciclo 8KB I$ & D$ independiente Características ◦ ◦ ◦ ◦ ◦ 0.8-0.35 m procesos 3.2M transistores 60-300 MHz 32-bit ancho de palabra 296-pin PGA Caches, bus, FPU, control 38 Intel Pentium Pro / II / III Ejecución dinámica (1995-9) ◦ ◦ ◦ ◦ ◦ 3 micro-ops / cycle Out of order execution 16-32 KB I$ & D$ Multimedia instructions PIII adds 256+ KB L2$ Características ◦ ◦ ◦ ◦ ◦ 0.6-0.18 m processs 5.5M-28M transistores 166-1000 MHz 32-bit ancho de palabra MCM / SECC 39 Intel Pentium 4 Tubería ancha(2001) ◦ Reloj muy rápido ◦ 256-1024 KB L2$ Características ◦ ◦ ◦ ◦ ◦ 180 – 90 nm procesos 42-125M transistores 1.4-3.4 GHz 32-bit ancho de palabra 478-pin PGA A esta escala la unidades se hacen invisibles 40 Itanium 2 (last version) 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 – over 600M ◦ QuickPath4.8 GT/s ◦ Cores 4 ◦ 64-bit word size ◦ Socket LGA1248 41 Incremento de transistors un 104, frecuencia del reloj alrededor de 30 años! Summary 42 Recursos 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 43