Introducción al microprocesador i386ex

36
Introducción al microprocesador i386ex Un procesador que incluye dispositivos en su mismo chip

description

Introducción al microprocesador i386ex. Un procesador que incluye dispositivos en su mismo chip. i386ex: Un microprocesador empotrado. Pertenece a la familia x86 de intel Arquitectura CISC Sólo 8 registros de propósito general: AX BX CX DX SI DI SP BP Ancho de 8, 16 y 32 bits - PowerPoint PPT Presentation

Transcript of Introducción al microprocesador i386ex

Page 1: Introducción al microprocesador i386ex

Introducción al microprocesador i386ex

Un procesador que incluye dispositivos en su mismo chip

Page 2: Introducción al microprocesador i386ex

i386ex: Un microprocesador empotrado Pertenece a la familia x86 de intel Arquitectura CISC

Sólo 8 registros de propósito general: AX BX CX DX SI DI SP BP Ancho de 8, 16 y 32 bits

Memoria segmentada: Segmentos de 64 Kbytes de tamaño 6 registros de segmento: CS (CODE), DS (DATA), SS

(STACK). 16 bits Dirección final de memoria = Reg Seg x 16 + Offset El offset es el modo de direccionamiento = R base + R

indice + Desplazamiento

Page 3: Introducción al microprocesador i386ex

¿Empotrado? En inglés embedded Embedded system según

www.wikipedia.org:An embedded system is a special-purpose computer

controlled electo-mechanical system in which the computer is completely encapsulated by the device it controls. An embedded system has specific requirements and performs pre-defined tasks, unlike a general-purpose personal computer. An embedded system is a computer-controlled system. The core of any embedded system is a microprocessor, programmed to perform a few tasks (often just one task). This is to be compared to other computer systems with general purpose hardware and externally loaded software. Embedded systems are often designed for mass production.

Page 4: Introducción al microprocesador i386ex

El microprocesador i386ex se emplea en el diseño de sistemas empotrados Además de su núcleo (core) computacional

contiene Dispositivos usados en sistemas empotrados:

Temporizadores Contadores Controlador de interrupciones Acceso directo a memoria Líneas de salida digital de uso general

Arquitectura de 32 bits compatible con el PC Modo de bajo consumo Medidas de seguridad anti-cuelgues del bus

Page 5: Introducción al microprocesador i386ex

Bloques funcionales

Unidadde

controldel bus

SIO 1 y 2

Núcleo computacional

microprocesador i386 SX

Datapath y Unidades deEjecución

Controlador deDMA, acceso

directo a memoria

Árbitrodel Bus

SSIO

WDT/ Monitorde Bus

Reloj y Potencia

JTAGCSU

I/O Ports

ICU

Address Bus

Data Bus

i386EX

Cola deprerrecojida deinstrucciones

SIO: Serial input output

ICU: Interrupt controller unit

DMA: Direct memory access

Page 6: Introducción al microprocesador i386ex

El núcleo computacional i386sx : funcionamiento.

R ecogidain str 1

D ecodifi ca-ción in str 1

E jecu ciónin str 1

R ecogidain str 2

D ecodifi ca-ción in str 2

E jecu ciónin str 2

T iem po tr an scu r r ido

R ecogidain str 1

R ecogidain str 2

R ecogidain str 3

R ecogidain str 4

Wresu l tado 1

R ecogidain str 5

D ecod 1 D ecod 2 D ecod 3 D ecod 4 D ecod 5

E xec 1 E xec 2 E xec 3 E xec 4

A ddr &M M U

A ddr &M M U

B I U

U nidad dedecodifi cación

U na unidad deejecución

M M U

C auce de ejecución del i386E X

P rocesador no encauzado

Page 7: Introducción al microprocesador i386ex

El núcleo computacional i386sx : estructura. Núcleo computacional 386SX

Cola de instruccionesde 16 bytes

Árbitrodel Bus

holdintrnmi

#error#busyreset

#smiactpereq

Rec

ogid

a de

cód

igo

y de

pág

inas

Bus

de

dire

ccio

nes

real

es

Unidad de controldel bus

Drivers dedirecciones

Control detamaño del

bus yencauza-

miento delbus

Transcepto-res y

Multiplexores

m/#iod/#c#lock#ads #na#ready

d15:0

#be0,#be1,A25:1

Con

trol

de pr

iori

dad

deac

ceso

al b

usPLA de control y deatriibutos

Sumador

Unidad de paginación

PLA de límites yatributos

Registro dedescriptores

Sumador de 3 entradas

Unidad de segmentación

32

32

Anticipador de recogidade instrucciones

32

Bus

de

dire

ccio

nes

linea

les

32

Decodificador deinstrucciones

Cola de 3instruccionesdecodificadas

Unidadde

ControlMicropro-gramada yROM demicro-código

Bus de control interno

Statusflags

ALU

Fich

ero

de reg

i str

os

Mul

t ipl

icad

or, d

i vis

or y

desp

l aza

dor

rápi

do

32

32

Bus

de

dire

ccio

nes

efec

tiva

s

Bus

de

dire

ccio

nes

efec

tiva

s

Controlde laALU

32Flujo decódigo

32Bus de la ALU dedicado

Datapath

Cache de páginas

Page 8: Introducción al microprocesador i386ex

Introducción al bus del µP i386ex

El canal de comunicación del µP con la memoria y los periféricos.

Page 9: Introducción al microprocesador i386ex

Buses de datos y de direcciones El bus de datos es de 16 bits de ancho, una word. Contiene siempre la dirección de la word que el

procesador necesita leer o escribir.

i386EX

B u s dedi r eccion es.C on ten ido = 3

8-15

0-7

B y te bajoB y te al to

1

0

7

6

5

4

3

2

Nºwor d

B u s de datos 0-15

L a w or ddi r eccion adaes l a n ú m er o

3

E l by te bajo de l a w or d 3, sudi r ección de by te es l a 6

E l by te al to de l a w or d 3, sudi r ección de by te es l a 6+1

Page 10: Introducción al microprocesador i386ex

Buses de datos y de direcciones El bus de datos es de 16 bits de ancho, una word. Contiene siempre la dirección de la word que el

procesador necesita leer o escribir.

R u ta baja 0:7 R u ta al ta 8:15

B u s de datos16 bi ts

R esto de gr u pos B u s de d i r eccion es25 bi ts

E l bu s del i 386E X

Page 11: Introducción al microprocesador i386ex

El bus de datos: ruta baja y ruta alta.

i386EX

B u s dedi r eccion es.C on ten ido = 3

8-15

0-7

B y te al to

1

0

7

6

5

4

3

2

Nºwor dB y te bajo

B u s de datos 0-15

L a w or d di r eccion ada esla n ú m er o 3

E l by te r esiden te en lad i r ección (de by te) n ú m er o 6es el ú n ico by te d i r eccion ado

en esta tr an sacción

#ble

#ble

E ste n iv el 0 en la señ al # ble sign ifi ca qu eel pr ocesador n ecesi ta u sar l a r u ta baja del

bu s de datos

Page 12: Introducción al microprocesador i386ex

Usando sólo la ruta alta: #bhe

i386EX

B u s dedi r eccion es.C on ten ido = 3

8-15

0-7

1

0

7

6

5

4

3

2

Nºwor dB y te bajoB y te al to

B u s de datos 0-15

L a w or d di r eccion ada esla n ú m er o 3

E l by te r esiden te en lad i r ección (de by te) n ú m er o 7es el ú n ico by te d i r eccion ado

en esta tr an sacción

#ble

#ble

E ste n iv el 1 en la señ al # ble sign ifi ca qu eel pr ocesador n o n ecesi ta u sar la r u ta baja

del bu s de datos

# bhe

E ste n iv el 0 en la señ al # bhe sign ifi ca qu eel pr ocesador n ecesi ta u sar la r u ta al ta del

bu s de datos

# bhe

Page 13: Introducción al microprocesador i386ex

Checkpoint!

R u ta baja 0:7 R u ta al ta 8:15

B u s de datos16 bi ts

bid i r eccion al

R esto de gr u pos B u s de d i r eccion es25 bi ts

U n id i r eccion al

B y te en ables#ble#bhe

E l bu s del i 386E X

Page 14: Introducción al microprocesador i386ex

Un bus síncrono

i386EX

clk2 clkou t

clk2

E stado T 1

C icl o de bu s m ín im o

E stado T 2

clkou t(ph1)

ph2

Page 15: Introducción al microprocesador i386ex

La señal reset

i386EX

clk2 clkout

reset

boot

La recepción de un reset lleva al procesador a su estado inicial (boot o arranque).

Page 16: Introducción al microprocesador i386ex

#ads: Comienzo de un nuevo ciclo de bus

clk2

clkout

Estado T1Fase 1 (ph1)

Ciclo de bus mínimo

Estado T2Fase 2 (ph2)

#ads

w/#r

d/#c

m/#io

A1:25

#ble

#bhe

Dirección de memoria(word)válida

i386EX

clkout

w/#rd/#cm/#io

clk2#ads

Memoria

A1:25

Page 17: Introducción al microprocesador i386ex

Checkpoint!

R eloj ex ter n oclk2

R eloj del pr ocesadorcl kou t

A 0:7 A 8:15

B u s de datos16 bi tsbid i r eccion al

B y te en ables#ble#bhe

B u s de d i r eccion es25 bi tsU n id i r eccion al

D efi n ición de ci cl o de bu sw /#r m /#io d/#c

I n i ci o de ci cl o de bu s#ads

E l bu s del i 386E X

Page 18: Introducción al microprocesador i386ex

Terminación de un ciclo de bus: #ready

i386EX

clkout

w/#rd/#cm/#io

clk2#ads

Memoria

A1:25

Generadorexterno dewait states

#ready

d0:15

clk2

ph2

Estado T1Fase 1 (ph1)

Ciclo de bus mínimo

Estado T2Fase 2 (ph2)

#ads

w/#r

d/#c

m/#io

A1:25

#ble

#bhe

Dirección de memoria(word)válida

#ready

D0:15 Datoslistos

Page 19: Introducción al microprocesador i386ex

¿Qué tipos de ciclos de bus existen?

m/#io

d/#c

w/#r

Tipo de ciclo de bus

0 0 0 Ciclo de reconocimiento de interrupción

(Interrupt Acknowledge Cycle).

0 0 1 -

0 1 0 Lectura de datos procedente del espacio de i/o

0 1 1 Escritura de datos hacia el espacio de i/o

1 0 0 Lectura de instrucción desde memoria

1 0 1 Ciclo de halt o shutdown

1 1 0 Lectura de datos desde memoria

1 1 1 Escritura de datos en memoria

Page 20: Introducción al microprocesador i386ex

Little-endian

cf 12

La word que está presente en el registro AX se almacenaría en la dirección 1AB21h del modo representado en la figura.

1AB22

1AB21

1AB23

1AB24

1AB20

1AB1F

Memoria del

Sistema

Registro AXalah

12

cf

Page 21: Introducción al microprocesador i386ex

Cómo se direcciona la memoria y los periféricos

B u s de di r eccion es+ 2 by te en ables

0000003h

0000002h

0000004h

0000005h

0000001h

0000000h

E spaciode

m em or ia

8 bi ts(1by te)

3ffffffh

26 bi ts efect i v os

B u s de di r eccion es+ 2 by te en ables

16 l í n easefect i v as

64 Mbytes

i386EX

0003h

0002h

0004h

0005h

0001h

0000h

E spaciode i /o

(P u er tos d e en tr ad a/sal i d a)

8 bi ts(1 by te)

ffffh

64 Kbytes

m /# io

0 1

Page 22: Introducción al microprocesador i386ex

La memoria vista por el programador: Un array de bytes.

0000003h

0000002h

0000004h

0000005h

0000001h

0000000h

8 bi ts(1by te)

3ffffffh

64 Mbytes

Page 23: Introducción al microprocesador i386ex

La memoria vista por el i386ex: Un array de words (16 bits)

0000003h

0000002h

0000001h

0000000h

8 bi ts(1by te)

3ffffffh

32 Mwords

i386EX

8 bi ts(1by te)

0000004h

0000005h

3ffffffh

0000000h0000001h

0000002h0000003h

0000004h0000005h

0000006h0000007h

3fffffeh

D i r ección de by te n ú m er o...

B y te bajo decada w or d

B y te al to decada w or d

N ú m er o de w or d =C on ten ido del bu s

de d i r eccion es

D i r ección de by te n ú m er o...

Page 24: Introducción al microprocesador i386ex

0000003h

0000002h

0000001h

0000000h

8 bi ts(1by te)

3ffffffh

32 Mwords

i386EX8 bi ts

(1by te)

0000004h

0000005h

3ffffffh

0000000h0000001h

0000002h0000003h

0000006h0000007h

3fffffeh

B y te bajo decada w or d

B y te al to decada w or d

D irección de w ord0000005h f8h 0000004h

ah al

D i r ección d e by te d e esta celd a.

C on ten id o d e esta celd a (1 by te)

N ú m er o de w or d =C on ten ido del bu s

de d i r eccion es

B us de direccionesa1:25 = 0000002h

# bhe

# ble

d8:15

d0:7

f8h

f8h

f8hf8hf8hf8h

f8h

f8h

f8h

f8h

f8h

f8h

f8h

E l i386E X está ejecu tan do m ov ah, ds:[5]

Page 25: Introducción al microprocesador i386ex

Redes de intercambio de bytes. Transferir el byte bajo de

una word a la parte alta del registro de destino, o al revés:

Hay que utilizar una red de intercambio.

El 386ex, ya la tiene. En otros procesadores,

habrá de ser provista por el diseñador.

i386EX

ah al

R ed de in ter cam bio de by tes

i486GX

ah al

R ed de in ter cam biode by tes ex ter n a

Page 26: Introducción al microprocesador i386ex

Ejemplo:

0000003h

0000002h

0000001h

0000000h

8 bi ts(1by te)

3ffffffh

32 Mwords

i386EX8 bi ts

(1by te)

0000004h

0000005h

3ffffffh

0000000h0000001h

0000002h0000003h

0000006h0000007h

3fffffeh

B y te bajo decada w or d

B y te al to decada w or d

D irección de w ord0000005h f8h 0000004h

ah al

D i r ección d e by te d e esta celd a.

C on ten id o d e esta celd a (1 by te)

N ú m er o de w or d =C on ten ido del bu s

de d i r eccion es

B us de direccionesa1:25 = 0000002h

# bhe

# ble

<

d8:15

d0:7

f8h

f8h

f8hf8hf8hf8h

f8h

f8h

f8h

f8hf8h

f8h

f8h

E l i386E X está ejecu tan do m ov al , ds:[5]

f8h

f8h

f8h

Page 27: Introducción al microprocesador i386ex

Lectura de una word: Visión lógica.

0000003h

0000002h

0000004h

0000005h

0000001h

0000000h

7fh

50h

8 bi ts(1by te)

3ffffffh

64 Mbytes

7fh7fhalah

ax

Page 28: Introducción al microprocesador i386ex

Lectura de una word: Visión real.

0000003h

0000002h

0000001h

0000000h

8 bi ts(1by te)

3ffffffh

32 Mwords

i386EX8 bi ts

(1by te)

0000004h

0000005h

3ffffffh

0000000h0000001h

0000002h0000003h

0000006h0000007h

3fffffeh

B y te bajo decada w or d

B y te al to decada w or d

D irección de w ord0000005h

f8h

0000004h

ah al

D i r ección d e by te d e esta celd a.

C on ten id o d e esta celd a (1 by te)

N ú m er o de w or d =C on ten ido del bu s

de d i r eccion es

B us de direccionesa1:25 = 0000002h

# bhe

# ble

d8:15

d0:7

f8h

f8h

f8hf8hf8hf8h

f8h

f8h

f8h

f8h

f8h

f8h

f8h

E l i386E X está ejecu tan do m ov ax , ds:[2]

6ch

6ch

6ch

6ch

6ch6ch6ch6ch6ch6ch

6ch

6ch

6ch

6ch

6ch

Page 29: Introducción al microprocesador i386ex

Lectura de una word no alineada

4bh

0000003h

0000002h

0000004h

0000005h

0000001h

0000000h

8 bi ts(1by te)

3ffffffh

64 Mbytes

4bh7fhalah

ax

7fh 0000006h

Dirección inicial de la word = 5 Tamaño de una word = 2 5 mod 2 = 1 ≠ 0, está desalineada, por tanto, la word lógica está en dos words físicas

seguidas

Page 30: Introducción al microprocesador i386ex

Lectura de una word desalineada: Primer ciclo.

0000003h

0000002h

0000001h

0000000h

8 bi ts(1by te)

3ffffffh

32 Mwords

i386EX8 bi ts

(1by te)

0000004h

0000005h

3ffffffh

0000000h0000001h

0000002h0000003h

0000007h

3fffffeh

B y te bajo decada w or d

B y te al to decada w or d

D irección de w ord0000005h f8h 0000004h

ah al

N ú m er o de w or d =C on ten ido del bu s

de d i r eccion es

B us de direccionesa1:25 = 0000003h

# bhe

#ble

d8:15

d0:7

E l i386E X está ejecu tan do el pr im er ci clo debu s de an cho 1 by te cor r espon dien te a la

in str u cción m ov ax , ds:[5]

6ch

6ch

6ch

6ch6ch6ch6ch6ch6ch

6ch

6ch

6ch6ch

6ch

6ch0000006h

6ch

6ch

E l ci r cu i to i n ter cam biador deby tes en r u ta el dato

pr oceden te de la r u ta dedatos i n fer i or a l a

par te al ta del r egi str o

C on ten id o d e esta celd a (1 by te)

D i r ección d e by te d e esta celd a.

Page 31: Introducción al microprocesador i386ex

Lectura de una word desalineada: segundo ciclo.

0000003h

0000002h

0000001h

0000000h

8 bits (1byte)

3ffffffh

32 Mwords

i386EX

8 bits (1byte)

0000004h

0000005h

3ffffffh

0000000h0000001h

0000002h0000003h

0000007h

3fffffeh

Byte bajo decada word

Byte alto decada word

Dirección de word 0000005h f8h 0000004h

ah al

Número de word =Contenido del bus

de direcciones

Bus de direccionesa1:25 = 0000002h

#bhe

#ble

d8:15

d0:7

El i386EX está ejecutando el segundo ciclo de bus de ancho 1 byte correspondiente a la

instrucción mov ax, ds:[5]

6ch

6ch0000006h

El circuito intercambiador debytes enruta el dato

procedente de la ruta dedatos alta a la

parte inferior del registro

Contenido de esta celda (1 byte)

Dirección de byte de esta celda.

f8h

f8h

f8h

f8h

f8hf8hf8hf8hf8h

f8h

f8h

f8h

f8hf8h

f8h

f8h

Page 32: Introducción al microprocesador i386ex

Lectura de una dword desalineada.

4bh

0000003h

0000002h

0000004h

0000005h

0000001h

0000000h

8 bi ts(1by te)

3ffffffh

64 Mbytes

4bh7fhalah

eax

7fh 0000006h

81h00h

81h

00h 0000008h

0000007h

Dirección inicial de la dword = 5 Tamaño de una dword = 4 5 mod 1 = 1 ≠ 0, está desalineada, por tanto, la dword lógica está en tres words

físicas seguidas

Page 33: Introducción al microprocesador i386ex

Lectura dedworddesalineada:Ciclo 1 (byte).

0000003h

0000002h

0000001h

0000000h

8 bi ts(1by te

)

1ffffffh

32 Mwords

i386EX8 bi t s(1by te

)

0000004h

0000005h

3ffffffh

0000000h0000001h

0000002h0000003h

0000007h

3fffffeh

B y te baj ode

cada w or d

B y te al tode

cada w or d

D irecc ió n de w o rd4bh 0000004h

ah al

D i r ecci ón d e by te d e esta cel d a .

N ú m er o de w or d=

C on ten i do del bu sde d i r ecci on es

B us de d i recci o nesa 1:25 = 0000004h

# bhe

# bl e

<

d8:15

d0:7

0000009h

81h 7fh

C on ten i d o d e esta cel d a (1 by te)

0000006h

0000005h

00h

00h00h00h00h00h

00h

00h

00h

00h

00h

00h

00h

00h

0000008h 00heax

mov eax, [5]

Page 34: Introducción al microprocesador i386ex

Lectura dedworddesalineada:Ciclo 2 (word)

0000003h

0000002h

0000001h

0000000h

8 bi ts(1by te)

3ffffffh

32 Mwords

i386EX8 bi ts

(1by te)

0000004h

0000005h

3ffffffh

0000000h0000001h

0000002h0000003h

3fffffeh

B y te bajo decada w or d

B y te al to decada w or d

D irección de w ord4bh 0000004h

ah al

N ú m er o de w or d =C on ten ido del bu s

de d i r eccion es

B us de direccionesa1:25 = 0000003h

#bhe

#ble

d8:15

d0:7

0000009h

7fh0000006h

0000008h 00heax0000007h

D i r ección d e by te d e esta celd a.

81h

C on ten id o d e esta celd a (1 by te)

0000005h

7fh

7fh

7fh

7fh

7fh7fh7fh7fh

7fh

7fh

7fh

7fh

7fh81h

81h

81h

81h

81h

81h81h81h81h81h

81h

81h

81h

81h

81h

81h

81h

7fh

mov eax, [5]

Page 35: Introducción al microprocesador i386ex

Lectura dedworddesalineada:Ciclo 3 (byte)

mov eax, [5]

0000003h

0000002h

0000001h

0000000h

8 bi ts(1by te)

3ffffffh

32 Mwords

i386EX8 bi ts

(1by te)

0000004h

0000005h

3ffffffh

0000000h

0000002h

0000006h0000007h

3fffffeh

B y te bajo decada w or d

B y te al to decada w or d

D irección de w ord0000005h 0000004h

N ú m er o de w or d =C on ten ido del bu s

de d i r eccion es

B us de direccionesa1:25 = 0000001h

#bhe

# ble

d8:15

d0:7

ah al

eax7fh

00h

81h

4bh

D i r ección d e by te d e esta celd a.

0000001h

C on ten id o d e esta celd a (1 by te)

0000003h

81h

81h

81h

81h

81h

81h

81h81h81h81h81h81h81h

81h

81h

81h

81h

81h81h

81h

81h

Page 36: Introducción al microprocesador i386ex

Temporización de los tres ciclos seguidos.

clk2

ph2

E stado T 1F ase 1 (ph1)

C i cl o de bu s m ín im o

E stado T 2F ase 2 (ph2)

#ads

w /#r

d/#c

m /#io

A 1:25

#ble

#bhe

D i rección de m em oria(w ord)

4

#r eady

D 0:15 - -00h 817fh

D i rección de m em oria(w ord)

3

4b- -h

D i rección de m em oria(w ord)

2

C icl o de bu s m ín im o

ci clo de bu s 1 ci clo de bu s 2 ci clo de bu s 3