Title: Introducci
1Introducción a Sistemas Industriales
Módulo 2 Microprocesadores y sistemas MP
Tarea2_1 Microprocesadores y sistemas MP.
Paralelismo en MP
?. ??????, PU, Dep. ECIT
2- 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
-
-
3Microprocesador (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).
4Funciones 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.
5Componentes 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
6Organizació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. .
7- 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.
8- 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 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.
9Ejemplo Programador Registros Visibles de IA-32
10Ciclo de Fetch Decode Execute en MP
Obtiene instrucciones del almacenamiento del
programa
Procesador
Input
Determina las acciones requeridas
Memoria
Localiza y obtiene los datos operandos
Output
Computa los valores resultado o status
ALU
Registros
Deposita los resultados en el almacén para un uso
posterior
Determina la instrucción sucesora
11- Sistemas de Microprocesadores
12Resumen 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.
13Sistema MPconfiguració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
14Sistemas 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)
15Sistemas 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.
16Sistema 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
17CPU y Almacén primario (RAM) buses
CPU
RAM
Unidad de Control
Unidad Aritmético-Lógica
I/O buses
Aparatos de entrada
Almacén secundario
Aparatos de salida
18Bus de datos
El Bus de Datos lleva los datos que se han
transferido en el sistema (bi-direccional) Ejemplo
s 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
19Bus 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
-
20Bus 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
21Sistema 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)
22Sistema 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 RB 8
líneas Reloj ext/int Arquitectura Harvard
RISC Instrucción - 35
23Ejemplo 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.
24AVR Diagrama de Bloques Simplificado
25Microprocesadores 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).
26Ejemplo NS7520 del diagrama de bloques del
microcontrolador ARM7TDMI
27- 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.
28Dó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.
29Una pequeña lista de sistemas integrados
30 31Evolució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
32Evolució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
33Mejora 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_executi
on )
34Pipeline 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.
35Pipeline 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.
36Paralelismo MP
- Modelo Subescalar
- ?aN(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
37Procesador 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.
38- Evolución de los Microprocesadores
- Resumen de los Microprocesadores Intel
39Lista de MP de 4 y 8 bits
??? Empresa /año Tecnolo-gía Palabra (bits) Tc/ft Instrucciones Memoria Registros Acc/ind/ GPR Voltaje
??? 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 ---- -512
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 ----
40Intel 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
41Intel 8008
- 8-bit follow-on (1972)
- Terminales mudos
- Características
- 10 mm 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
42Intel 8080
- Bus de dirección de 16-bit (1974)
- Usado en ordenador Altair (primeros aficionados
al PC) - Características
- 6 mm proceso
- 4500 transistores
- 2 MHz
- Tamaño de palabra 8-bit
- Paquete DIP 40-pin
43Intel 8086 / 8088
- Procesador de 16-bit (1978-9)
- IBM PC y PC XT
- Productos revolucionarios
- Introducida x86 ISA
- Características
- 3 mm proceso
- 29k transistores
- 5-10 MHz
- Tamaño de palabra 16-bit
- Paquete DIP 40-pin
- Microcódigo ROM
44Intel 80286
- Memoria Virtual (1982)
- IBM PC AT
- Características
- 1.5 mm 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
45Intel 80386
- Procesador de 32-bit (1985)
- Modern x86 ISA
- Características
- 1.5-1 mm 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
46Intel 80486
- Pipelining (1989)
- Unidad de punto flotante en el chip
- 8 KB cache
- Características
- 1-0.6 mm 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
47Intel Pentium
- Superescalar (1993)
- 2 instructiones por ciclo
- Separado 8KB I D
- Características
- 0.8-0.35 mm proceso
- 3.2M transistores
- 60-300 MHz
- Tamaño de palabra 32-bit
- 296-pin PGA
- Caches, ruta de datos
- FPU, control
48Intel 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 mm proceso
- 5.5M-28M transistores
- 166-1000 MHz
- Tamaño de palabra 32-bit
- MCM / SECC
49Intel 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 32-bit
- 478-pin PGA
- Las unidades comienzan a hacerse invisibles en
esta escala
50Itanium 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
-
51Summary
- Aumento de104 en el contador de transistores,
frecuencia de reloj durante 30 años!
52Fuentes adicionales 1.http//www.intel.com/pressr
oom/kits/quickreffam.htm 2.http//www.edn.com/arti
cle/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/Cent
ral_processing_unit 6.http//en.wikipedia.org/wiki
/VLIW 7.http//en.wikipedia.org/wiki/Explicitly_Pa
rallel_Instruction_Computing 8.http//en.wikipedia
.org/wiki/Multi-core 9.http//en.wikipedia.org/wik
i/Microcontroller 10.http//en.wikipedia.org/wiki/
Embedded_system 11.http//kmh.ync.ac.kr/PcNcMicro/
student2.html 12. http//www.pattosoft.com.au/Arti
cles/ModernMicroprocessors/ 13. E. Garrison
Walters "The Essential Guide to Computing",
Prentice Hall PTR