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