Electrónica para sistemas industriales 1 Tarea4_1 Microprocesadores.

Post on 28-Jan-2016

217 views 0 download

Transcript of Electrónica para sistemas industriales 1 Tarea4_1 Microprocesadores.

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