electrónica para sistemas industriales 1 tarea4_1 microprocesadores
TRANSCRIPT
Electrónica para sistemas Electrónica para sistemas industrialesindustriales
1
Tarea4_1 MicroprocesadoresTarea4_1 Microprocesadores
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
3
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).
Microprocessor (MP or Microprocessor (MP or P)P)
Funciones básicas de la CPUFunciones 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
5
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
Componentes del MPComponentes del MP
Organización del MicroprocesadorOrganizació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
7
Diagrama de un MP simplificadoDiagrama 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.
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.
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
Conjunto de instrcciones (ISA)Conjunto de instrcciones (ISA)
Fetch Decode Execute Cycle in MPFetch Decode Execute Cycle in MP
9
Recoger
instrucción
Decodificación de
instrucción
Buscar operación
Ejecutar
Almacenar resultado
Siguiente instrucción
Obtener instrucción del almacenamiento de programa
Determinar las acciones necesarias
Localizar y obtener datos
Calcular el valor de resultado o estado
Depositar resultados en almacenamiento para posterior uso
Determinar la instrucción siguiente
Control
Camino de datos
Memoria
Procesador
Entrada
Salida
ALU Registros
Perspectica de los MPPerspectica 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
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
Perspectica de los MP (cont.)(cont.)
12
Sistema MP – Configuración mínima 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
13
Las funciones de la memoria son:1. Almacenar programas y datos2. Proporcionar datos al MPU a petición3. Aceptar nuevos datos desde MPU para almacenamientoTipos de memoria:• RAMRAM (Random Access Memory)
» Estatica (SRAM): Rápida, cara» Dinámica(DRAM): más lenta, barata, consume menos
potencia y espacio• ROMROM (Read Only Memory) – EPROMEPROM, EEPROMEEPROM, FLASHFLASH MemoryMemory
– Mantiene la memoria incluso sin alimentación – Almacena los programas que se ejecutan al inicio(por
ejemplo. BIOSBIOS)
Sistema MP– memoriaSistema MP– memoria
14
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 MPUenviar señales (datos) a dispositivos externos.
A los puertos de entrada y salida se conectan dispositivos digitales y analógicos
Los sistemas de entrada y saldia(I/O)Los sistemas de entrada y saldia(I/O)
15
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 DATOS3. BUS DE CONTROL
Ver la siguiente diapositiva
El Bus del sistemaEl Bus del sistema
16
CPU and Almacenamiento primario (RAM) – CPU and Almacenamiento primario (RAM) – buses buses
Bus de control
Bus de direcciones
Bus de datos
RAMUnidad de control
Unidad aritmético lógica
CPU
Dispositivos de entrada
Almacenamiento secundario
Dispositvos de salida
Buses I/O
17
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 Ancho de bus de datos: 8086 16 bits, 80486 32 bits, Pentium 64 bits64 bits
Bus de datosBus de datos
18
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ónde 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 Ancho de banda bus de direcciones: limita la cantidad de memoriamemoria
» Pentium: 32 bits. Locations: 2» Pentium: 32 bits. Locations: 23232bits = 4GBbits = 4GB» Itanium: 64 bits. Locations 2» Itanium: 64 bits. Locations 26464 bits = … bits = …
Bus de direccionesBus de direcciones
19
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
Bus de control Bus de control
20
MP system – memory interfacing MP system – memory interfacing
Arquitectura Von Arquitectura Von Neumann Neumann – memoria – memoria común: para datos e común: para datos e instruccionesinstruccionesArquitectura HarvardArquitectura Harvard– – memoria dual: separada para memoria dual: separada para datos e instruccionesdatos e instruccionesArquitectura Super Arquitectura Super Harvard Harvard – memoria dual + – memoria dual + instrucción cache + I/O instrucción cache + I/O controlador (Las arquitecturas controlador (Las arquitecturas Harvard son tipicas en Harvard son tipicas en microcontroladoresmicrocontroladores y y DSPDSP))
Mejorar el rendimieno en sistemas MPMejorar el rendimieno en sistemas MP
21
Tubería de instrucción Tubería de instrucción Una tubería de instrucción es una tecnica usada en el diseño de Una tubería de instrucción es una tecnica usada en el diseño de computadores y otros dispositivos electrónicos computadores y otros dispositivos electrónicos para incrementar su para incrementar su rendimiento.rendimiento. Tiene algunas Tiene algunas ventajasventajas y y desventajasdesventajas
Tubería de instrucción (continuación)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]MP parallelism[15]
23
Modelo subescalarModelo subescalar
Тa=N(k. τ)Тa=N(k. τ)
Nivel de instrucciónNivel de instrucción
Paralelismo Paralelismo
(tubería)(tubería)
Тb=[ k + (N-1) ]. τТb=[ k + (N-1) ]. τ
Modelo simpleModelo simple
superescalarsuperescalar
(2 tuberías)(2 tuberías)
Tc Tc Tb/2 Tb/2
NN-- número de número de tareas tareas (instrucciones)(instrucciones)
kk – número de – número de fasesfases
ττ – ejecución – ejecución tiempo por tiempo por fasefase
Paralelismo MP (sumario)Paralelismo MP (sumario)
24
Paralelismo a nivel de instrucción:Paralelismo a nivel de instrucción: Ejecución simultanea Ejecución simultanea de multiples instrucciones dentro de un programa/hilode multiples instrucciones dentro de un programa/hilo
Paralelismo a nivel de hilosParalelismo a nivel de hilos: Ejecuciones simultáneas de : Ejecuciones simultáneas de multiples programas/hilos*multiples programas/hilos*
Paralelismo de datos:Paralelismo de datos: Operaciones simultáneas en Operaciones simultáneas en multiples piezas de datosmultiples piezas de datos
Instrucciones de gran tamaño.Instrucciones de gran tamaño. El enfoque VLIW ejecuta la El enfoque VLIW ejecuta la opearación en paralelo basandose en un programa fijo opearación en paralelo basandose en un programa fijo cuando se compilan los programas.cuando se compilan los programas.
Procesamiento de instrucciones explícitamente en Procesamiento de instrucciones explícitamente en paralelo (EPIC) paralelo (EPIC) es un paradigm de programación, es un paradigm de programación, similar a VLIW, usado por Intel y HP en el desarrollo de la similar a VLIW, usado por Intel y HP en el desarrollo de la arquitectura Intel’s IA-64 [7]arquitectura Intel’s IA-64 [7]
Microprocesadores Multinúcleo *Microprocesadores Multinúcleo *
25
Combina dos o más procesadores Combina dos o más procesadores independientes independientes en un único paquete, en un único paquete, osuelen osuelen integrarse en un circuito integrado (integrarse en un circuito integrado (ICIC). ).
Un dispositivo multinucleo contiene Un dispositivo multinucleo contiene dos dos microprocesadores independientesmicroprocesadores independientes. Permite . Permite que un dispositivo informatico muestre algún que un dispositivo informatico muestre algún tipo de paralelismo a tipo de paralelismo a nivel de hilo nivel de hilo (TLP) (TLP)
Esta forma de TLP suele conocerse como Esta forma de TLP suele conocerse como procesamiento a nivel de chip[18].procesamiento a nivel de chip[18].
26
Tipos especiales de MPTipos 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.
27
Donde están los sistemas embebidos?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.
28
Pequeña lista de sistemas embebidosPequeña lista de sistemas embebidos
Evolución de los microprocesadroes
Visión de los microprocesadores IntelVisión de los microprocesadores Intel
29
Lista MP de 4- y 8-bitLista MP de 4- y 8-bit
30
ТипCompañí
a /año
Tecnolo
gía
Palabra
(bits)Tc/ft
Intrucci
ones
Memori
a
Registros
Acc/ind/
GPR
U
Potencia
бит 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 --“--
Intel 4004Intel 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
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 8008Intel 8008
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 8080Intel 8080
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 8086 / 8088Intel 8086 / 8088
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 ROMsclaramente visibles
35
Intel 80286Intel 80286
Procesador de 32-nit(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 80386Intel 80386
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 80486Intel 80486
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 PentiumIntel Pentium
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 Pro / II / IIIIntel Pentium Pro / II / III
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
Intel Pentium 4Intel Pentium 4
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
Itanium 2 (last version) Itanium 2 (last version)
SummarySummary
Incremento de transistors un 104, frecuencia del reloj alrededor de 30 años!
42
43
Recursos adicionales:Recursos adicionales:1.http://www.intel.com/pressroom/kits/quickreffam.htm1.http://www.intel.com/pressroom/kits/quickreffam.htm
2.http://www.edn.com/article/CA438294.html2.http://www.edn.com/article/CA438294.html
3.http://subjects.ee.unsw.edu.au/elec2041/lectures/index.html3.http://subjects.ee.unsw.edu.au/elec2041/lectures/index.html
4.http://redhill.net.au/c/c-1.html4.http://redhill.net.au/c/c-1.html
5.http://en.wikipedia.org/wiki/Central_processing_unit5.http://en.wikipedia.org/wiki/Central_processing_unit
6.http://en.wikipedia.org/wiki/VLIW6.http://en.wikipedia.org/wiki/VLIW
7.http://en.wikipedia.org/wiki/Explicitly_Parallel_Instruction_Computing7.http://en.wikipedia.org/wiki/Explicitly_Parallel_Instruction_Computing
8.http://en.wikipedia.org/wiki/Multi-core8.http://en.wikipedia.org/wiki/Multi-core
9.http://en.wikipedia.org/wiki/Microcontroller9.http://en.wikipedia.org/wiki/Microcontroller
10.http://en.wikipedia.org/wiki/Embedded_system10.http://en.wikipedia.org/wiki/Embedded_system
11.http://kmh.ync.ac.kr/PcNcMicro/student2.html11.http://kmh.ync.ac.kr/PcNcMicro/student2.html
12. http://www.pattosoft.com.au/Articles/ModernMicroprocessors/12. http://www.pattosoft.com.au/Articles/ModernMicroprocessors/
13. E. Garrison Walters "The Essential Guide to Computing", Prentice Hall 13. E. Garrison Walters "The Essential Guide to Computing", Prentice Hall
PTRPTR