Sunteți pe pagina 1din 9

INTRODUCCIN A LOS MICROPROCESADORES

BUSCANDO FALLOS EN EL ESQUEMA DE UN


MICROPROCESADOR
Chipworks Inc
Canada

El Microprocesador es
un componente de alta escala
de integracin (LSI) !

Transistor
1945
ENIAC
1er Computador
vlvulas

2 Transistores

1948
Transistor
Lab. Bell
Schokley,
y
Brattain,
Bardeen

1958
1960
Primer IC MOSFET
Kilby

2.300 Transistores
1971
Primer P
4004
INTEL

42 millones deTransistores
2001
Pentium IV
INTEL

PALABRAS UTILIZADAS
P
P
C
DSP

Microprocesador
Microcontrolador
Procesador Digital de Seal

Computador
Computador personal
Microcomputador
PLC
Autmata Programable

56 aos
PC con P4
ENIAC (1945)

Microprocesador (P) = Componente LSI que incorpora los elementos de la unidad central de proceso (CPU) de un computador.
Microcomputador= Sistema computador construido alrededor de un P.
P
Minicomputador= Sistema computador con CPU basada en bloques MSI o SSI.
Microcontrolador (C o MCU)= P en un solo chip .

ANCDOTA INTEL AO 1972:


Contrato para el desarrollo de un TRC para DATAPOINT
Se presental INTEL y TEXAS
Lo desarrolla INTEL
Es algo lento para TRC (no funciona bien como TRC)
Estalla guerra de precios de transistores (precio transistores baja)
El TRC con transistores es muy barato
DATAPOINT pasa de INTEL y saca al mercado su TRC con transistores
Gran faena para INTEL: prdida de dinero invertido, equipo despedido
Pone en catlogo el producto desarrollado
SORPRESA!:
SORPRESA!: El producto se vende muy bien (INTEL 8008)

TRC = Controlador de tubo de rayos catdicos


8008

4004

Ha nacido el microprocesador!
El ao anterior (1971) haban desarrollado un producto de arquitectura similar (INTEL 4004) para un fabricante japones de calculadoras.
El equipo despedido crea la ZILOG (Z80)
Otros fabricantes entran en el negocio (MOTOROLA)

4004

8008

8080

8086/8088

286

386

486

EVOLUCIN
DE LOS P
INTEL
ITALIUM

PENTIUM

XEN
PENTIUM IV

PENTIUM III

PENTIUM II

PENTIUM PRO

ELEMENTOS BASADOS EN MICROPROCESADORES


) P en ordenadores personales:

para PC INTEL (PENTIUM) o AMD


para MAC MOTOROLA (power PC)

) MCU en aplicaciones industriales: MICROSYSTEM (PIC), MOTOROLA (68HC11), ......


) Automtas programables o PLC: OMRON y SIEMENS
) Procesadores digitales de seal (DSP): Texas Instrument (www.ti.com)
) Procesadores Neuronales: MOTOROLA o TOSHIBA (Neuron Chip)

ARQUITECTURA VON-NEUMANN
(P CISC Complex Instruction Set Computer)

EXTERIOR

ALIMENTACIN

RELOJ

MEMORIA
ROM
(Programa)

CPU

MEMORIA
RAM
(Datos)

MAPA DE
MEMORIA

Entrada /
Salida

MAPA E/S
16 = 64K
20 = 1M
24 = 16M
32 = 4G
DIRECCIONES
DATOS

8
16
32
64

CONTROL
CLK
Interrupciones
RESET
DMA
R/W
9

Muy pocas instrucciones: p.e. 64

ARQUITECTURA HARVARD
(P RISC Reduced Instruction Set Computer)

8 bits

6 bits
INSTRUCCIN

BUS DATOS PROGRAMA

BUSES

14

DATO INMEDIATO

EXTERIOR
ALIMENTACIN

MEMORIA
ROM
(Programa)

RELOJ

CPU

MEMORIA
RAM
(Datos)

Entrada /
Salida

DIRECCIONES
DATOS

BUSES

CONTROL
10

IDEAS BSICAS P
1.- Es un sistema secuencia sincrono.
1.
2.- Existe siempre un RELOJ (CLK). Normalmente la circuitera es interna y con un cuarzo externo se define la frecuencia de funcionamiento.
3.- Existe un PROGRAMA que gobierna el funcionamiento del sistema. Est constituido por un conjunto de instrucciones que se ejecutan
de forma secuencial y que estn almacenadas en memoria (ROM) de forma codificada.
codificada
4.- La MEMORIA es el lugar de almacenamiento de datos y resultados parciales. Datos fijos y Programa (ROM) y datos variables (RAM).
5.- La CPU tiene las siguientes funciones:
Recoge las instrucciones de programa que estan en memoria
Las decodifica y ejecuta
Reconoce situaciones especiales (RESET, Interrupciones, etc)
6 - Dentro de la CPU tenemos varios elementos bsicos que debemos conocer:
6.Los REGISTROS de uso comn y los de estado (Acumuladores, PC, SP, IX, F)
La unidad aritmtico lgica (ALU). Define las operaciones aritmtico/lgicas que podemos realizar
Asociado con ellas el JUEGO DE INSTRUCCIONES que es capaz de realizar.
7.- La unidad de E/S proporciona la interconexin con el mundo exterior:
Monitor, teclados, ratn, D/A, A/D, memora externa, discos, perifricos en general.
8.- Todos los bloques estn interconectados por los BUSES:
BUS DE DATOS
BUS DE DIRECCIONES
BUS DE CONTROL

11

BUS DE DATOS
Es el encargado de transmitir y recibir datos e instrucciones desde y hacia la memoria y unidades de E/S.
Es BIDIRECCIONAL
Todos los bloque estan conectados en paralelo y comparten todas las lneas del BUS
Necesidad de Alta Impedancia (Tri-estado)
Lnea de
Bus de
Datos

+Vcc
Dispositivo 1
Transmite
Transmite un 11
Lnea de
Bus de
Datos

PROBLEMA!

SOLUCIN
+Vcc
Dispositivo 2
T
Transmite
it un 0

+Vcc
Mientras el dispositivo 1
transmite el resto estn en
alta impedancia
impedancia
+Vcc
ALTA IMPEDANCIA

El nmero de lneas define el tipo de P:


8 lineas CPU de 8 bits, 16 lneas CPU de 16 bits, 32 lneas CPU de 32 bits, 64 lneas CPU de 64 bits
De
De alguna
alg na forma el nmero de lineas determina el nmero de instrucciones
instr cciones del procesador y ssu potencia de clc
clculo.
lo
Es muy habitual la nomenclatura: D0, D1, D2,.. Y representar los valores en hexadecimal:
0011 1100 = (3D)hexa = (58)decimal
Son habituales las palabras:
MSB = bit mas significativo
NIBBLE = 4 bits
LSB = bit menos significativo
i ifi ti (D0)
BYTE = 8 bits
WORD = 16 bits
LONG WORD = 32 bits

12

BUS DE DIRECCIONES
Selecciona el dispositivo desde donde vamos a leer o escribir (datos o instrucciones)
Es unidireccional
El nmero de lneas define la cantidad de memoria que se puede direccionar directamente (tambin los perifricos).
16 lneas = 64K
20 lneas = 1M
24 lneas = 16M
32 lneas = 4G
Se conoce como MAPA DE MEMORIA y MAPA DE E/S el lugar donde estn cada uno de los datos y perifricos.
Se utiliza la nomenclatura A0, A1, A2, etc. Es habitual trabajar en hexadecimal
11 lneas = 2K
0000
07FF

ROM

0000 0000 0000 0000


0000 0111 1111 1111

LIBRE

TOTAL = 64K
(16 lneas)

11 lneas = 2K
F800

RAM

FFFF
HEXADECIMAL

1111 1000 0000 0000


1111 1111 1111 1111
BINARIO
MSB = A15

LSB = A0
13

BUS DE CONTROL
Aqu es donde existe menos generalidad
generalidad, cada CPU tiene sus lneas de control caractersticas
caractersticas.
Algunas son bidireccionales y otras no.
Una seleccin de lineas mas o menos generales podra ser:
Lneas de Reloj (CLK)
Lneas de control de la memora y/o E/S (R/W, MEMRQ, IORQ)
Lneas de interrupciones, enmascarables y no enmascarables (INT, NMI)
Lnea de inicializacin (RESET)
Lneas
Lneas de acceso directo a memoria (DMA,
(DMA MEMRQ,
MEMRQ MEMACK)
Lneas de parada (HLT)
Algunas CPUs con el fin de minimizar el nmero de patillas, multiplexan algunas lneas (p.e. Parte de bus de batos y parte del bus de
direcciones). En este caso es necesaria una seal de control especfica, que indica lo que hay presente en la lnea en cada momento.
Recordar que las lneas que se llevan a muchos dicpositivos deben respetar el tema del FAN-OUT.
Siendo habitual la presencia de DRIVER`s (o BUFFERS), que debern se unidireccional o bidireccional segn el caso.

14

ESTRUCTURA BSICA DE UNA CPU

ALU

Registro de
desplazamiento

Registro de
direcciones (RD)

BUS DE
DIRECCIONES

Decodificador de
Instrucciones
(Microprograma)

Unidad de Con
ntrol
(Secuenciador)

Palabra dee Estado (F)

2 Operando

Contador de
programa (PC)

CLK
R/W
RESET

BUS DE
CONTROL

INT

Acumulador(A)
BUS DE DATOS
(INTERNO)

Registros Indice
(IX)

Puntero de pila
(SP)

BUS DE
DATOS
15

Registro de instrucciones
y datos

REGISTRO DE ESTADO (F)


Se puede llamar de varias formas:
F
Flags
PWR Registro de estado

Se debe mirar en cada CPU que bitstenemos disponible.


Son muy importantes para los saltos condicionales.

Los bits mas tpicos de este registro son:


Z
C
V
I
H

bit de Zero, se pone a 1 si el resultado fue nulo


bit Carry, se pone a 1 si hubo acarreo
bit Overflow, se pone a 1 si hubo desbordamiento
bit de interrupcin.
interrupcin Inhibicin de interrupciones enmascarables
bit de acareo intermedio

REGISTRO F
Z

16

SECUENCIA DE BUSQUEDA Y EJECUCIN DE INSTRUCCIONES


FASE DE BUSQUEDA (utiliza los buses externos)
Se inicia en el PC, que contiene la direccin de memoria donde se encuentra el cdigo binario de la instruccin (COP, OPCODE)
Esta direccin se coloca en el registro de direcciones (RD). Va hacia la memoria externa por el bus de direcciones
El COP se reoge por el bus de datos y es almacebado en el Registro de Instrucciones (RI)
FASE
FASE DE EJECUCIN (podra utilizar los buses externos para otra funcin simultanea)
Se decodfica la instruccin en la UNIDAD DE CONTROL.
Cada instruccin se sub-dividide en un conjunto de pequeas tareas que deben ser secuenciadas por la unidad de control
(MICROPROGRAMA)
La ejecucin podra requerir otra fase de bsqueda para operar sobre un dato de memoria.
Cuando una instruccin se ejecuta el PC ya esta apuntado a las siguiente(importante en los saltos)
MEMORIA
DIRECCIN (16 bits)
$0000

PC = $0100

$XX

$0100

$3E

$0101

$FF

$$FFFF

Instruccin hipottica
AND entre el contenido del acumulador (A)
y el dato $FF.
JUEGO DE INSTRUCCIONES

DATOS (8 bits)

OPCODE = $3E

$$XX

CODIGO MQUINA ($3E, $FF)

ENSAMBLADOR (ANDA, $FF)

17

TIPOS DE INSTRUCCIONES DE UN MICROPROCESADOR

1.- INSTRUCCIONES DE TRANSFERENCIA:


Movimiento de datos de un lugar a otro (entre memoria, entre registros, de memoria a registros)
2.- INSTRUCCIONES ARITMTICAS Y LGICAS
Aritmticas (sumas, restas, multiplicaciones, divisiones)
Lgicas (AND, NO, OR)
Rotaciones y desplazamientos
3 INSTRUCCIONES DE E/S
3.Leer y escribir datos en las unidades de E/S
4.- INSTRUCCIONES DE SALTO
Saltos condicionales e incondicionales
Llamadas y retorno de rutinas
Retornos de interrupciones
5.- INSTRUCCIONES DE CONTROL
Parada configuraciones
Parada,

CADA P TIENE SU PROPIO JUEGO DE INSTRUCCIONES !!


Es dificil dar recetas generales
18

S-ar putea să vă placă și