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 1
2 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).
Microprocesador (MP o ?P)
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. 3
4 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 Componentes MP
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. . 5
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.
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. 7
Arquitectura del Set de Instrucciones (ISA)
8 Ejemplo: Programador Registros Visibles de IA-32
Ciclo de Fetch Decode Execute en MP 9 (Gp:) Instruccion Fetch
(Gp:) Decodificador De instrucción (Gp:) Operando Fetch
(Gp:) Ejecutar (Gp:) Almacén de resultados (Gp:)
Instrucción siguiente Obtiene instrucciones del
almacenamiento del programa Determina las acciones requeridas
Localiza y obtiene los datos operandos Computa los valores
resultado o status Deposita los resultados en el almacén
para un uso posterior Determina la instrucción sucesora
(Gp:) Control (Gp:) Ruta de datos Memoria Procesador Input Output
ALU Registros
Sistemas de Microprocesadores 10
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 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) Sistemas MP – memoria
14 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. Sistemas MP – Sistema E/S
15 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 Sistema Bus
16 CPU y Almacén primario (RAM) – buses (Gp:) Bus de
Control (Gp:) Bus de Dirección (Gp:) Bus de Datos RAM
Unidad de Control Unidad Aritmético-Lógica CPU
Aparatos de entrada Almacén secundario Aparatos de salida
I/O buses
17 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 Bus de datos
18 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 =
… Bus de Dirección
19 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 Bus de Control
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 Information Systems PU-ECIT Sistema MP – ejemplo:
microcontrolador Diagrama de bloques PIC16F8X [9] PIC16F84
incluye: Memoria de programa FLASH 1Kx14 RAM (Registro de
ficheros) 68×8 Memoria de datos EPROM 64×8 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
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
Paralelismo en MP 29
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: 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
Mejora del rendimiento en MP – paralelismo 32 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 )
“Pipeline” de instrucción 33 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.
“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. 34
Paralelismo MP 35 Modelo Subescalar ?a=N(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
Procesador multinúcleo* 36 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].
Evolución de los Microprocesadores Resumen de los
Microprocesadores Intel 37
Lista de MP de 4 y 8 bits 38
Intel 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 39
ESTA PRESENTACIÓN CONTIENE MAS DIAPOSITIVAS DISPONIBLES EN
LA VERSIÓN DE DESCARGA