Tema 9 ESPECIFICACIÓN ALGORÍTMICA DE SISTEMAS...

51
Tema 9 ESPECIFICACIÓN ALGORÍTMICA DE SISTEMAS SECUENCIALES 1

Transcript of Tema 9 ESPECIFICACIÓN ALGORÍTMICA DE SISTEMAS...

Page 1: Tema 9 ESPECIFICACIÓN ALGORÍTMICA DE SISTEMAS SECUENCIALESquegrande.org/apuntes/ETIX/1/TC/teoria/07-08/tema_9.pdf · CONCEPTOS BÁSICOS • La especificación algorítmica de sistemas

Tema 9

ESPECIFICACIÓNALGORÍTMICA DE SISTEMASSECUENCIALES

1

Page 2: Tema 9 ESPECIFICACIÓN ALGORÍTMICA DE SISTEMAS SECUENCIALESquegrande.org/apuntes/ETIX/1/TC/teoria/07-08/tema_9.pdf · CONCEPTOS BÁSICOS • La especificación algorítmica de sistemas

INTRODUCCiÓN

• Existen sistemas secuenciales demasiado complejos pa­ra poder implementarlos con las técnicas vistas· hastaahora, por ejemplo, el procesador MIPS posee 32 regis­tros de 32 bits, lo que lleva a un total de 21024 estados.

• En este tema veremos nuevas metodologías para imple­mentar algoritmos o computaciones sobre conjuntos dedatos (vectores de n bits). En general constan de ope­raciones combinacionales más sencillas que se realizansecuencialmente.

Ejemplos de dichos algoritmos son un sumador secuen­cial con un único FA o un multiplicador a partir de unsumador paralelo.

• Esta metodología es la que se emplea para la implemen­tación de los computadores digitales de propósito gene­ral.

• También se utiliza para implementar hardware específi­co para la computacóon de algoritmos concretos, sobretodo en campos tales como el tratamiento de señales,procesamiento de imágenes, etc.

1

Page 3: Tema 9 ESPECIFICACIÓN ALGORÍTMICA DE SISTEMAS SECUENCIALESquegrande.org/apuntes/ETIX/1/TC/teoria/07-08/tema_9.pdf · CONCEPTOS BÁSICOS • La especificación algorítmica de sistemas

CONCEPTOS BÁSICOS

• La especificación algorítmica de sistemas secuenciales implementaeficientemente algoritmos o computaciones que se realizan sobre'vectores de datos de n bits. Son los llamados algoritmos RT ('Regis­ter Transfer').

• Una computación es un conjunto de operaciones más simples queconsiste en la transferencia de vectores entre registros. Durante lastransferencias se realizan las operaciones de suma, desplazamien­to, comparación, etc.

• Esta nueva metodología divide la implementación en dos bloquesbásicos:

• Camino de datos, el conjunto de elementos que implementael almacenamiento de datos y las funciones de transformaciónde los mismos .

• Sección de control, el sistema secuencial o autómata quecontrola la transferencia y transformaciones de los datos asícomo el secuenciamiento y la operación de todo el sistema.

• El esquema general se puede ver en la siguiente figura:

Data

subsystem ~ms

COI

siglControl

subsystemData inputs .1 Udld 1 • Data outputs

Control inputs -~---.¡ _~~"~~I __ I • Control outputs

2

Page 4: Tema 9 ESPECIFICACIÓN ALGORÍTMICA DE SISTEMAS SECUENCIALESquegrande.org/apuntes/ETIX/1/TC/teoria/07-08/tema_9.pdf · CONCEPTOS BÁSICOS • La especificación algorítmica de sistemas

CONCEPTOS BÁSICOS

• El camino de datos recibe los datos del exterior (entra­das o "Data Input") y devuelve los resultados obtenidos(salidas o "Data Output").

• La sección de control recibe órdenes e información delexterior ("Control Input", por ejemplo, reset, begin, stop,modo de operación ...) y envía información u órdenes alexterior ("Control Output", por ejemplo, end, done, over­f1ow ... ).

• Las condiciones son generadas por el camino de datosy sirven para que la sección de control pueda tomar de­cisiones y realizar un control dependiente de los datos.

Ejemplos de condiciones son el signo de un operando, elacarreo en una operación, un desbordamiento, el valorde un bit o una comparación, etc.

• Los puntos de control son las señales necesarias pararealizar las transformaciones de los datos. Son genera­das por la sección de control e indican al camino de da­tos el modo de operación de todos y cada uno de suselementos.

Ejemplos de puntos de control son la carga de un regis­tro, los bits de control de un MUX o de DEMUX, el tipode operación de una ALU, el incremento de un contador,el desplazamiento de un registro, el sentido del despla­zamiento, la lectura o escritura en una memoria, etc.

3

Page 5: Tema 9 ESPECIFICACIÓN ALGORÍTMICA DE SISTEMAS SECUENCIALESquegrande.org/apuntes/ETIX/1/TC/teoria/07-08/tema_9.pdf · CONCEPTOS BÁSICOS • La especificación algorítmica de sistemas

CONCEPTOS BÁSICOS

• El resultado de aplicar o activar cada uno de los puntosde control se denomina microoperación.

• El conjunto de microoperaciones que se pueden reali­zar de forma concurrente (en paralelo) se denomina mi­croinstrucción. Cada microinstrucción determina o equi­vale a un estado del autómata de la sección de control.

• Cada estado debe indicar que puntos de control hay queactivar en ese momento y cual es su estado (microins­trucción) siguiente, que en general dependerá de las con­diciones actuales del camino de datos.

• El conjunto o secuencia de todas las microinstruccionesconstituye un microprograma y su objetivo es imple­mentar el algoritmo o computación requerido.

4

Page 6: Tema 9 ESPECIFICACIÓN ALGORÍTMICA DE SISTEMAS SECUENCIALESquegrande.org/apuntes/ETIX/1/TC/teoria/07-08/tema_9.pdf · CONCEPTOS BÁSICOS • La especificación algorítmica de sistemas

. CAMINO DE DATOS

• Se encarga de almacenar y transformar los datos .

• Consta de:

• Elementos de almacenamiento.

• Operadores.

• Buses .

• Elementos de almacenamiento: almacenan la informa­

ción. El componente básico es el registro de N bits.

• Registro de N bits con LOAD y CLEAR.

X Yn

CK- y

n

y

LOAD

CLEAR

Operación: if LOAD then y+-xif CLEAR then y+-O

5

Page 7: Tema 9 ESPECIFICACIÓN ALGORÍTMICA DE SISTEMAS SECUENCIALESquegrande.org/apuntes/ETIX/1/TC/teoria/07-08/tema_9.pdf · CONCEPTOS BÁSICOS • La especificación algorítmica de sistemas

CAMINO DE DATOS

• RAM = conjunto de 2k registros de N bits que sólo pue­den accederse de uno en uno.

X Yn

Ak MEMORIA 1'"•

(2K x n)

n

y

• READ

• WRITE

Operación: if READ then y~M[~(A)] el se y~Oif WRITE then M[~(A)]~x

() ,\",k-l .s iendo ~ A = Úi=O Ai . 2~

• Fichero de registros.

RA

WA

p,L

pR 1•••

(2P x n) ,~

• READ

• WRITE

yn

Operación: if READ then y~R,¡[~(A)] else y~O

if WRITE then RJ~(A)]~X

6

Page 8: Tema 9 ESPECIFICACIÓN ALGORÍTMICA DE SISTEMAS SECUENCIALESquegrande.org/apuntes/ETIX/1/TC/teoria/07-08/tema_9.pdf · CONCEPTOS BÁSICOS • La especificación algorítmica de sistemas

·CAMINO DE DATOS

• Otros elementos de almacenamiento: FIFO y L1FO

READ

WRITE

y

FIFO

n

FULL

EMPTY

PUSH

POP

y

L/Fa

n

FULL

EMPTY

• Operadores: se encargan de transformar los datos.

A B

inin

S 'p\\ ":: / in

y

donde OP: ADD, SUB, MAX, MIN,AND, OR, NOR, EXOR,SHIFT, ...

• OP también puede representar una función más compleja imple­mentada con sistemas secuenciales (multiplicadores, divisores, ...).

• Los operadores generan algunas condiciones: >, <, =, carry, over­flow, ...

7

Page 9: Tema 9 ESPECIFICACIÓN ALGORÍTMICA DE SISTEMAS SECUENCIALESquegrande.org/apuntes/ETIX/1/TC/teoria/07-08/tema_9.pdf · CONCEPTOS BÁSICOS • La especificación algorítmica de sistemas

CAMINO DE DATOS

• Buses: son las conexiones, junto con los switches necesarios, quecomunican los distintos elementos del camino de datos (registros yoperadores) .

• Se clasifican en:

• Paralelos/Serie

• Unidireccionales/Bidireccionales

• Dedicados/Compartidos

• Directos/Indirectos

Source Destination

A I .1 B I

(a)

(e)

cp~ S-Switch

G

A

16~

(b)

Dedicated

~

(d)

8

Page 10: Tema 9 ESPECIFICACIÓN ALGORÍTMICA DE SISTEMAS SECUENCIALESquegrande.org/apuntes/ETIX/1/TC/teoria/07-08/tema_9.pdf · CONCEPTOS BÁSICOS • La especificación algorítmica de sistemas

CAMINO DE DATOS

• Switches: establecen o cortan el acceso al bus.

• Unidireccionales

Xo+Yo~1~

X Y Xl Yl

e

Xn-l~Yn-l

e

• Bidireccionales

n

a

LOADl

9

Page 11: Tema 9 ESPECIFICACIÓN ALGORÍTMICA DE SISTEMAS SECUENCIALESquegrande.org/apuntes/ETIX/1/TC/teoria/07-08/tema_9.pdf · CONCEPTOS BÁSICOS • La especificación algorítmica de sistemas

CAMINO DE DATOS

• Selector: selecciona una de entre varias fuentes de da­

tos (MUX).

X[k-1] X[O]

s p

n ...

Selector

n

y

• Distribuidor: selecciona uno de entre varios destinos de

datos (DEMUX).

x

s p

Y[k-1] Y[O]

10

Page 12: Tema 9 ESPECIFICACIÓN ALGORÍTMICA DE SISTEMAS SECUENCIALESquegrande.org/apuntes/ETIX/1/TC/teoria/07-08/tema_9.pdf · CONCEPTOS BÁSICOS • La especificación algorítmica de sistemas

-CAMINO DE DATOS

• Ejemplos de buses:

• Crossbar

n n n

• Bus compartido

o Usando un selector.

n

n

LOAD1 LOAD2

n

LOADm

n

S1092 m

o Usando registros con salida triestado.

LOAD1ENABLE1

n

11

Page 13: Tema 9 ESPECIFICACIÓN ALGORÍTMICA DE SISTEMAS SECUENCIALESquegrande.org/apuntes/ETIX/1/TC/teoria/07-08/tema_9.pdf · CONCEPTOS BÁSICOS • La especificación algorítmica de sistemas

SECCiÓN DE CONTROL

• Es el sistema secuencial o autómata que al activar los puntos decontrol en el orden adecuado controla las transferencias y transfor­maciones de los datos que tienen lugar en el camino de datos y queimplementan un algoritmo específico.

• Cada estado o microinstrucción de la sección de control indica quépuntos de control se activan en cada momento (salidas del autóma­ta) y, en función de las condiciones (entradas del autómata), cual esel estado o microinstrucción siguiente.

• La sección de control también se puede representar mediante undiagrama de flujo.

• Existen diversos métodos para implementar una sección de control:

1. Tablas de estado.

2. Elementos de retardo.

3. Microprogramación.

• Tablas de Estado

• Es la metodología que ya se ha explicado.

• Es compleja, dificil de depurar, no es modular ni flexible y esdificil realizar modificaciones (no hai una relación evidente entrela implementación y el algoritmo).

• Su uso es poco frecuente.

• Se denomina "Lógica Aleatoria".

12

Page 14: Tema 9 ESPECIFICACIÓN ALGORÍTMICA DE SISTEMAS SECUENCIALESquegrande.org/apuntes/ETIX/1/TC/teoria/07-08/tema_9.pdf · CONCEPTOS BÁSICOS • La especificación algorítmica de sistemas

SECCiÓN DE CONTROL

• Elementos de retardo

• Implementación sencilla y directa.

• Alta velocidad pero con un alto coste hardware.

• Se utiliza en sistemas relativamente pequeños.

• Cada estado se implementa con un biestable tipo D.

• Exiten equivalencias entre un autómata, un diagrama de flujo yla implementación mediante elementos de retardo.

uy

x

CK

CK

13

Page 15: Tema 9 ESPECIFICACIÓN ALGORÍTMICA DE SISTEMAS SECUENCIALESquegrande.org/apuntes/ETIX/1/TC/teoria/07-08/tema_9.pdf · CONCEPTOS BÁSICOS • La especificación algorítmica de sistemas

SECCiÓN DE CONTROL

• Los puntos de control que se activan en cada estado se sacan de lasalida del biestable correspondiente.

CK s·1c·

J

• Para activar un punto de control en dos o más estados:

s·1CK

, • •• Cl

S~

~C2C3

14

Page 16: Tema 9 ESPECIFICACIÓN ALGORÍTMICA DE SISTEMAS SECUENCIALESquegrande.org/apuntes/ETIX/1/TC/teoria/07-08/tema_9.pdf · CONCEPTOS BÁSICOS • La especificación algorítmica de sistemas

SECCiÓN DE CONTROL

• Ejemplo: implementación con elementos de retardo

Autómata Diagrama de Flujo

K

15

Page 17: Tema 9 ESPECIFICACIÓN ALGORÍTMICA DE SISTEMAS SECUENCIALESquegrande.org/apuntes/ETIX/1/TC/teoria/07-08/tema_9.pdf · CONCEPTOS BÁSICOS • La especificación algorítmica de sistemas

SECCiÓN DE CONTROL

• Ejemplo (cont.): implem. con elementos de retardo

CLKpreset

c1ear

start

k

16

Page 18: Tema 9 ESPECIFICACIÓN ALGORÍTMICA DE SISTEMAS SECUENCIALESquegrande.org/apuntes/ETIX/1/TC/teoria/07-08/tema_9.pdf · CONCEPTOS BÁSICOS • La especificación algorítmica de sistemas

SECCiÓN DE CONTROL

• Ejemplo (cont.): implem. con elementos de retardo

CLK

start

demuxo--¡-¡, I~ ------~

k

l_~; : ; ~ ;

i"k" só\o es relevante cu;imdoS,=~!

-n~__

fllo

o i

/\10\i '!!

! 0\~,~:~-'

¡, O

,/\,10\H

! O ii \

o

o

o

o

o

: o !

o /"\ A 0 n-~/~1\-' ~I/0\ 10\ 10\ 10\

j \ • l', ' I \ ! '\ 1 \

j 1: I ! o \ í O! ! o \, ¡ 1 i 1 ' ,

l' " ,i I ,,í1 '1 I,ro: ,o! lo¡ ,¡ I i ! .

'~il lio iO,:iO, , ' : !, : , : I ': l' !

01 0\/\1 ¡O'li11liO1, ;: i i 1; i i h; i--i--+, ------;------+----

Oi \0, iOi \1!lio:I\11 I/ . / ' ,! \ 1,1; : )'\ f ,--~-----

\01 \01 \01 \1/ I\o! '\11 l'\) \) \j \J' \j \) ¡--------

fll4 fll3 fll4

17

Page 19: Tema 9 ESPECIFICACIÓN ALGORÍTMICA DE SISTEMAS SECUENCIALESquegrande.org/apuntes/ETIX/1/TC/teoria/07-08/tema_9.pdf · CONCEPTOS BÁSICOS • La especificación algorítmica de sistemas

SECCiÓN DE CONTROL

• Microprogramación

• La implementación es sencilla y estándar.

• El hardware es casi independiente de la implemen­tación.

• Es muy flexible y versátil.

• Fácil de depurar, modificar y ampliar.

• Su funcionamiento es relativamente lento debido alos accesos a la memoria de control.

• Apta para sistemas grandes y/o complejos.

18

Page 20: Tema 9 ESPECIFICACIÓN ALGORÍTMICA DE SISTEMAS SECUENCIALESquegrande.org/apuntes/ETIX/1/TC/teoria/07-08/tema_9.pdf · CONCEPTOS BÁSICOS • La especificación algorítmica de sistemas

SECCiÓN DE CONTROL

• Microprogramación

• Una de las implementaciones más sencillas:

DIRECCIÓN DE SALTO

MUX2P a 1

p

MEMORIADE

CONTROL

(2k x m)

~CLK

ID

I TIPO IlINSTRUCCIÓN

CONDICIÓN DE SALTO

REGISTRO DEMICROINSTRUCCIÓN

PUNTOS DE CONTROL

k

19

Page 21: Tema 9 ESPECIFICACIÓN ALGORÍTMICA DE SISTEMAS SECUENCIALESquegrande.org/apuntes/ETIX/1/TC/teoria/07-08/tema_9.pdf · CONCEPTOS BÁSICOS • La especificación algorítmica de sistemas

SECCiÓN DE CONTROL

• Memoria de control

• Almacena la información de control necesaria paraejecutar el algoritmo.

• Su tamaño viene dado por el número de microins­trucciones (2k) del microprograma por el número debits por microinstrucción (m).

• Se puede implementar con una ROM, PROM o RAM.

• Contador de microprograma (J.LPC)

• Oirecciona la memoria de control para seleccionar lasiguiente microinstrucción (J.LI).

20

Page 22: Tema 9 ESPECIFICACIÓN ALGORÍTMICA DE SISTEMAS SECUENCIALESquegrande.org/apuntes/ETIX/1/TC/teoria/07-08/tema_9.pdf · CONCEPTOS BÁSICOS • La especificación algorítmica de sistemas

SECCiÓN DE CONTROL

• Registro de microinstrucciones (MIR)

• Almacena la J-lI que se está ejecutando actualmente .

• Ejemplo de formato doble para codificar las J-lI:

1. Para instrucciones de salto:

o El bit más significativo a cero.

o El campo condición indica la condición a verificar.

o El campo dirección de salto codifica la dirección de lasiguiente J-lI a ejecutar si la condición es cierta.

2. Para puntos de control:

o El bit más significativo a uno.

o Los puntos de control pueden estar codificados (micro­programación vertical) o no (microprogramación horizon­tal).

21

Page 23: Tema 9 ESPECIFICACIÓN ALGORÍTMICA DE SISTEMAS SECUENCIALESquegrande.org/apuntes/ETIX/1/TC/teoria/07-08/tema_9.pdf · CONCEPTOS BÁSICOS • La especificación algorítmica de sistemas

SECCiÓN DE CONTROL

• El funcionamiento o secuenciamiento puede realizarse de diferentesformas. Una de las más sencillas:

...~

la . b ~ d 1------~ •••• u ••• uuuu n·uu ••• uu .m.u.u •••. muuu ••• u. uuum~

ciclo ejecución pI

• a: generación de la dirección siguiente = el /1PC se incrementa(ejecución de la siguiente /11) o se carga una nueva dirección(salto).

• b: se direcciona la memoria de control = lectura de la /11 co­rrespondiente.

• e: carga de la /11 direccionada en el MIR.

• d: ejecución de la /11, dos posibilidades:

1. Activación de los puntos de control y desactivación del MUXde condiciones::::} El /1PC se incrementa.

2. Selección en el MUX de la condición a verificar. Si se cumplela salida del MUX = 1 ::::}el /1PC se carga con la direcciónespecificada en la p,1.

22

Page 24: Tema 9 ESPECIFICACIÓN ALGORÍTMICA DE SISTEMAS SECUENCIALESquegrande.org/apuntes/ETIX/1/TC/teoria/07-08/tema_9.pdf · CONCEPTOS BÁSICOS • La especificación algorítmica de sistemas

SECCiÓN DE CONTROL

• Ejemplo de sección de control microprogramada

Sffir~~

1 100 O OO O 1 O O O1 O 1 O O O100 1 O O1 O O O 1 O1 O O O O 1O 101 O OO O O O O O

CLK

23

Page 25: Tema 9 ESPECIFICACIÓN ALGORÍTMICA DE SISTEMAS SECUENCIALESquegrande.org/apuntes/ETIX/1/TC/teoria/07-08/tema_9.pdf · CONCEPTOS BÁSICOS • La especificación algorítmica de sistemas

SECCiÓN DE CONTROL

• Ejemplo de sección de control microprogramada (cont.)

CLK

~C

JlU. j, ',\ rL, .....

o: :: ¡ : 2 :3 :4 :5 : ; 6 : 7 ! o:, ": ': ': '. 1" "., . ,

, . ,, : ,

start

k~';:

'. ,L: ',: ,,: '': I,: ,, ,, ,

o

~4

S4

í:

1:0

:0,: '1

~~':ol: ;1: :!

Vil

\;rf'\j

~3

S3

:, ,

\o !

\:0;. ,

T

no

no

o

:\,j:~

2;

S2

\:0\:

, ,

: :0,

~;'o".i :\! :j. ,

¡!1\: l : I

:.f0l: ¡ 1

i :!: .:, : i

o

o

~I

s·1,

\:0¡,>1

101

LfUi:¡.;,: :.: :\

JUl.!:¡ \¡ j ¡! : i

" :;: I • I

i:o ;,! :

L~¡ l~11: I~~

,{o\\

1:0'

, ,

~o

So

enableMUX

loadflPC

24

Page 26: Tema 9 ESPECIFICACIÓN ALGORÍTMICA DE SISTEMAS SECUENCIALESquegrande.org/apuntes/ETIX/1/TC/teoria/07-08/tema_9.pdf · CONCEPTOS BÁSICOS • La especificación algorítmica de sistemas

SUMADOR SECUENCIAL

• Algoritmo O (alto nivel): realiza la operación pero no tie­ne en cuenta la sincronización con el exterior.

Cargar A

Cargar B

Borrar C

for 1=1 to n

{

Di +- Ai EB Bi EB ee +- Ai . Bi + CAi EB Bi) . e

}

25

Page 27: Tema 9 ESPECIFICACIÓN ALGORÍTMICA DE SISTEMAS SECUENCIALESquegrande.org/apuntes/ETIX/1/TC/teoria/07-08/tema_9.pdf · CONCEPTOS BÁSICOS • La especificación algorítmica de sistemas

SUMADOR SECUENCIAL

• Algoritmo 1: introduce la sincronización con el exterior mediantedos señales:

1. Control Input: start, indica cuando comenzar la operación.

2. ControlOutput: done, indica cuando ha finalizado. Mientras es­ta señal esté a cero no puede comenzarse una nueva opera­ción.

• También se identifican las entradas y salidas utilizadas:

1. Data Inputs: A, B

2. Data Outputs: D

WA1T: dodone +- 1

while (start)done +- O

Cargar ACargar BBorrar Cfor 1=1 to n{

Di +- Ai E9 Bi E9 ee +- Ai . Bi + (Ai E9 Bi) . e

}

gota WA1T

26

Page 28: Tema 9 ESPECIFICACIÓN ALGORÍTMICA DE SISTEMAS SECUENCIALESquegrande.org/apuntes/ETIX/1/TC/teoria/07-08/tema_9.pdf · CONCEPTOS BÁSICOS • La especificación algorítmica de sistemas

SUMADOR SECUENCIAL

• Una vez identificadas las líneas de conexión con el exte­rior empezaremos por diseñar un camino de datos capazde realizar el algoritmo:

1. Se identifican las unidades de almacenamiento y ope­radores necesarios:

• A, B Y o: registros de n bits.

• C, done: biestables (registros de 1 bit).

• 1 FA.

• 1 Contador + 1 Comparador.

2. Se establecen las conexiones entre los elementosdel camino de datos identificados y se determinanlos puntos de control necesarios (existen diferentesalternativas) .

27

Page 29: Tema 9 ESPECIFICACIÓN ALGORÍTMICA DE SISTEMAS SECUENCIALESquegrande.org/apuntes/ETIX/1/TC/teoria/07-08/tema_9.pdf · CONCEPTOS BÁSICOS • La especificación algorítmica de sistemas

enc:s:»eOJJenmOc:mzO-»r-

otu3:Joa.CD

a.tu...•.oen

-lo..........

.-tu;:::::¡:'

CD...,.:Jtu~.<tu-CLEARI

INCI

I<n

preset~Clear ~~

DATA INPUT

DATA OUTPUT

SHIFTo

--e LOADB

SHIFTB

n

DCK

CK

Cltl

Al BI

CI FA SI

-- LOADA

SHIFTA

CLEARc

LOADc

1\)(X)

Page 30: Tema 9 ESPECIFICACIÓN ALGORÍTMICA DE SISTEMAS SECUENCIALESquegrande.org/apuntes/ETIX/1/TC/teoria/07-08/tema_9.pdf · CONCEPTOS BÁSICOS • La especificación algorítmica de sistemas

SUMADOR SECUENCIAL

• Algoritmo 2: introduce los puntos de control (microoperaciones)

WA1T: doPreset--

while (start)Ciear

LOADALOADBCLEARcfor 1=1 to n

{

SHIFTDLOADcSHIFTASHIFTB

}

gota WA1T

• Existen microoperaciones que pueden realizarse simultaneamente(p.e. LOADA y CLEARc), por lo que ambos puntos de controlpueden activarse simultaneamente y formar una microinstrucción.

• Por el contrario hay puntos que no se pueden activar simultanea­mente (p.e. LOADA y LOADB), por lo que formaran microinstruc­ciones diferentes.

29

Page 31: Tema 9 ESPECIFICACIÓN ALGORÍTMICA DE SISTEMAS SECUENCIALESquegrande.org/apuntes/ETIX/1/TC/teoria/07-08/tema_9.pdf · CONCEPTOS BÁSICOS • La especificación algorítmica de sistemas

SUMADOR SECUENCIAL

• Algoritmo 3: se identifican las operaciones simultaneas(se reduce el número de microinstrucciones necesarias).

WA1T: doPreset--

while (start)Clear 11 LOADA 11 CLEARc

LOADBfor 1=1 to n

SHIFTD 11 LOADcl1 SHIFTAII SHIFTBgota WA1T

30

Page 32: Tema 9 ESPECIFICACIÓN ALGORÍTMICA DE SISTEMAS SECUENCIALESquegrande.org/apuntes/ETIX/1/TC/teoria/07-08/tema_9.pdf · CONCEPTOS BÁSICOS • La especificación algorítmica de sistemas

SUMADOR SECUENCIAL

• El último paso consiste en eliminar las estructuras de control com­plejas (bucles WHILE, FOR, etc.) remplazándolas por saltos condi­cionales (if) o incondicionales (gota).

do

operación

while (x)

pasaría a ser:

LOOP: operaciónif (x) then gota LOOP

for 1=1 to n

operación

pasaría a ser:

GLEAR¡

LOOP: operación I I 1NG¡if (1<n) then gota LOOP

31

Page 33: Tema 9 ESPECIFICACIÓN ALGORÍTMICA DE SISTEMAS SECUENCIALESquegrande.org/apuntes/ETIX/1/TC/teoria/07-08/tema_9.pdf · CONCEPTOS BÁSICOS • La especificación algorítmica de sistemas

SUMADOR SECUENCIAL

• Algoritmo 4: se substituyen las estructuras complejas por sus mi­croinstrucciones equivalentes activando en paralelo los puntos decontrol que lo permitan.

WAIT: 50: Presetif (start) then goto WAIT51: Clear 1 1 LOADA I 1 CLEARc I 1 CLEAR¡

52 : LOADB

LOOP: 53: 5HIFTD 11 LOADcl1 5HIFTAII 5HIFTBIIINC¡if (I<n) then goto LOOPgoto WAIT

32

Page 34: Tema 9 ESPECIFICACIÓN ALGORÍTMICA DE SISTEMAS SECUENCIALESquegrande.org/apuntes/ETIX/1/TC/teoria/07-08/tema_9.pdf · CONCEPTOS BÁSICOS • La especificación algorítmica de sistemas

SUMADOR SECUENCIAL

• El algoritmo puede expresarse también mediante un au­tómata o diagrama de flujo.

I~n

{Preset}

{Preset}

{Clear, LoadA' Clearc' Clear)

{LoadB}

{Loadc' ShiftA, ShiftB, ShiftD}

33

Page 35: Tema 9 ESPECIFICACIÓN ALGORÍTMICA DE SISTEMAS SECUENCIALESquegrande.org/apuntes/ETIX/1/TC/teoria/07-08/tema_9.pdf · CONCEPTOS BÁSICOS • La especificación algorítmica de sistemas

enc:s:»eOXIenmOc:mzO-»r-

CDmCf) -

(")e-m:::J. 3(") -.o :::J. oOa.~CDma.

"'O m0-­Cf)0-.Cf)o-- . ..0=:ea.CDm _.~3

"'OCD

3CD

:::J--me:::J

m(")o3

"'Oe--m(")o­:::J

:::Jo

CLEAR,

INC,

1<"

., ••.t::::::j f---CI." do",

DATA INPUT

DATA OUTPUT

LOADa

SHIFTo

"

DCK

n

TI

Cit.

CK

C FA SI I

LOADA

CLEAR

LOADcc

1

log2"

ú)~

Page 36: Tema 9 ESPECIFICACIÓN ALGORÍTMICA DE SISTEMAS SECUENCIALESquegrande.org/apuntes/ETIX/1/TC/teoria/07-08/tema_9.pdf · CONCEPTOS BÁSICOS • La especificación algorítmica de sistemas

SUMADOR SECUENCIAL

• Algoritmo 4 bis: sólo cambian los puntos de control que se activanen 83

WAIT: 80: Presetif (start) then goto WAIT81: Clear I I LOADA I I CLEARc I I CLEAR¡

82 : LOADB

LOOP: 83: 8HIFTD 11 LOADcl1 INC¡if (I<n) then goto LOOPgoto WAIT

35

Page 37: Tema 9 ESPECIFICACIÓN ALGORÍTMICA DE SISTEMAS SECUENCIALESquegrande.org/apuntes/ETIX/1/TC/teoria/07-08/tema_9.pdf · CONCEPTOS BÁSICOS • La especificación algorítmica de sistemas

SUMADOR SECUENCIAL

• Implementación de la sección de control: elementos deretardo.

CLKpreset

clear~;r-r-- Presetstart DEMUX

, n ClearLoad

A

~ ClearcClear,

Load

B

Shift

DLoad eIne 1

I«n-l)•• 1 ~n!Vlu~ II(Shift)

(ShiftB)

CLK

start

11I11I, ,

.I~: 1,' 11I11I ~_~~

11I11I

11I11I

111I11

11I11I

1II1111~ __ ~ __ -~--~-

1 ~ O O O 1 111I11 6 7 7 7

I«n-l) ~,

36

Page 38: Tema 9 ESPECIFICACIÓN ALGORÍTMICA DE SISTEMAS SECUENCIALESquegrande.org/apuntes/ETIX/1/TC/teoria/07-08/tema_9.pdf · CONCEPTOS BÁSICOS • La especificación algorítmica de sistemas

Elementos de Retardo

c.u-.......¡

~w

al So

LOAD.

SHIFI'o

LOADc

IN~

CLK iLJ'"S2J" ·-~I__

" "

" "

S3 __ S·~~:· ----+-., , , I ._

·I-~~~: : :1

INC! • ~: ••• "'. : ._

1]-0 X-OX-, X -2---r, .~-n-lX-nX=~I<n '" l~.~_

n veces ~

Por eso debemos cambiar la condición a: 1 < n-l

Page 39: Tema 9 ESPECIFICACIÓN ALGORÍTMICA DE SISTEMAS SECUENCIALESquegrande.org/apuntes/ETIX/1/TC/teoria/07-08/tema_9.pdf · CONCEPTOS BÁSICOS • La especificación algorítmica de sistemas

SUMADOR SECUENCIAL

• Implementación de la sección de control: microprogra­mación.

I<nMUX

401

2

STROBE

INCR

LOADCONTADOR MICROPROGRAMA

ROM

(8 x 10)

CLK

rlb'OOb'S'b''''_ Q .!J .Q }.. .~ n!..,$

I

000 I 1

1 o001 I o 1

o010 I 1 o

o011 I 1 o

o100 I 1 o

1101 I o o

o110 o o

o111 X X X X X X X X X X

38

Page 40: Tema 9 ESPECIFICACIÓN ALGORÍTMICA DE SISTEMAS SECUENCIALESquegrande.org/apuntes/ETIX/1/TC/teoria/07-08/tema_9.pdf · CONCEPTOS BÁSICOS • La especificación algorítmica de sistemas

Por eso la condición se mantiene como: 1 < n

c..v<O

Memor ia de Control

Oír

010

52 011~

53 100 1

101 O

110

CLK JlILJULILri i ¡ i ¡ ....:a b ;c: d ;

..

INC¡ : 1\\\. IU]~OXOX1Xlf2~

: ... '. 1 vez .

n veces

JLJU

~IUX~n-l X n ~

•3-~ 3o\J-.('1)§'3

('1)

::J ent"""t-

~ c:0. s:o'

::J »Q. e('1) O~ :cen en('1) ° m0. Oo'

::J c:Q.

m('1) z° Oo -::J »t"""t- ., r-o ..3°.,o\J.,occ.,~I

Page 41: Tema 9 ESPECIFICACIÓN ALGORÍTMICA DE SISTEMAS SECUENCIALESquegrande.org/apuntes/ETIX/1/TC/teoria/07-08/tema_9.pdf · CONCEPTOS BÁSICOS • La especificación algorítmica de sistemas

29

EJERCICIOS

9.1. Escribe el micra código de la memoria RO M de la sección de control de un sistema

que realiza el algoritmo que se expone a continuación, indicando los valores de lasentradas del multiplexor de selección de salto.

IN I C I O: activar PRESETif empieza gota IN I C I Oactivar LOADR y CLEAR

TEST: if ZlZ0 = 10 gota BUCLEelse if ZlZ0 = 01 gota CORRECCIONelse activar DESPLAZAR

BUCLE: activar INCREMENTAactivar RESTA y LOADnif I < n gota BUCLEgota INICIO

CORRECCION: activar SUMA y LOADRgota TEST

9.2. Dado el autómata de la figura diseña su correspondiente unidad de control micro­progamada completa.

{e; }

Page 42: Tema 9 ESPECIFICACIÓN ALGORÍTMICA DE SISTEMAS SECUENCIALESquegrande.org/apuntes/ETIX/1/TC/teoria/07-08/tema_9.pdf · CONCEPTOS BÁSICOS • La especificación algorítmica de sistemas

30 TEMA 9. ESPECIFICACIÓN ALGORÍTMICA DE SISTEMAS SECUENCIALES

9.3. La siguiente figura representa una unidad de control implementada con elementosde retardo. Extráe su autómata de control e impleméntalo mediante la técnica decontrol microprogramado.

co

CI

C3

C4.C6

Cl.CT

es

9.4. Diseña una unidad de control microprogramada completa correspondiente al algo­ritmo siguiente que realiza la multiplicación entre dos números naturales X e Y decuatro bits, teniendo en cuenta el camino de datos de la figura. Calcula tambiéncuál es la mejor señal de reloj para sincronizar el sistema, teniendo en cuenta lossiguientes datos: tiempo de estabilización de los registros y contadores 10ns, tiempode retardo en el sumador de 4 bits 30 ns, tiempo de retardo en el comparador y enlos multiplexores 20 ns, tiempo de acceso a la memoria 90 ns.

BUS DE ENfRADA

carga Xcarga yAC=Ofor i = 1 to Y

AC = AC plus Xend

REI.OXO

8USDE SAIDA

CONCC

Page 43: Tema 9 ESPECIFICACIÓN ALGORÍTMICA DE SISTEMAS SECUENCIALESquegrande.org/apuntes/ETIX/1/TC/teoria/07-08/tema_9.pdf · CONCEPTOS BÁSICOS • La especificación algorítmica de sistemas

9.5. Obter o autómata de control e deseñar a unidade de control microprogramada completa queimplemente o algoritmo seguinte:

INICIO:

BUCLE:

ESPERAR:

RECUPERAR:

activar READYIF start goto INICIO

activar OK, STARTINGIF end goto ESPERARELSE

activar OK, SELECTIF input = 00

activar PROCESSING

ELSE IF input = 01activar INITIATINGactivar PROCESSINGactivar DONE

ELSE goto RECUPERARENDIF

goto BUCLE

activarWAIT, CHECKIF ready goto ESPERARgoto INICIO

activar FAULTIF ready

activarWAIT, RESTORINGgoto ESPERAR

ENDIF

goto BUCLE

Page 44: Tema 9 ESPECIFICACIÓN ALGORÍTMICA DE SISTEMAS SECUENCIALESquegrande.org/apuntes/ETIX/1/TC/teoria/07-08/tema_9.pdf · CONCEPTOS BÁSICOS • La especificación algorítmica de sistemas

9.5. Autómata de Control:

{READY}

{OK, STARTING}

{OK, SELECT}

{PROCESSING}

{INITIATING}

{PROCESSING}

{DONE}

{WAIT, CHECK}

ready

i¡io=lOOR

i¡io=ll

(i¡=l)

INICIO:

ESPERAR:

BUCLE:

RECUPERAR: {FAULT}

{WAIT, RESTORING}

Ternos:

11 puntos de control10 microinstruccións de activación5 condicións no MUX12 instruccións de salto

Page 45: Tema 9 ESPECIFICACIÓN ALGORÍTMICA DE SISTEMAS SECUENCIALESquegrande.org/apuntes/ETIX/1/TC/teoria/07-08/tema_9.pdf · CONCEPTOS BÁSICOS • La especificación algorítmica de sistemas

9.5. Diagrama de Fluxo:

{READY}

no

end si

{OK, STARTING}

{FAULT}

{DONE}

{INITIATING}

{OK, SELECT}

{PROCESSING}

{PROCESSING}

{WAIT, CHECK}

{WAIT, RESTORING}

no

no

i¡io=Olsi

si

si

Page 46: Tema 9 ESPECIFICACIÓN ALGORÍTMICA DE SISTEMAS SECUENCIALESquegrande.org/apuntes/ETIX/1/TC/teoria/07-08/tema_9.pdf · CONCEPTOS BÁSICOS • La especificación algorítmica de sistemas

9.5. Implementación con Elementos de Retardo:

PRESET

CLOCK

START

CLEAR

END

hio = o

READY

----- READY

~:::::D- OK

FAULT

----- INITIATING

DONE

RESTORING

:::::D- WAIT

------------ CHECK

Page 47: Tema 9 ESPECIFICACIÓN ALGORÍTMICA DE SISTEMAS SECUENCIALESquegrande.org/apuntes/ETIX/1/TC/teoria/07-08/tema_9.pdf · CONCEPTOS BÁSICOS • La especificación algorítmica de sistemas

9.5. Unidade de Control Microprogramada:

Istanend

.. reaOy!I~=OO'1'0=01

MUX8 al

STROBE

INCR

LOADCONTADOR MICROPROGRAMA

ROM

(32 X 12)

CLK

INICIO: 0??oo I 1 Oactivar READY

??oo1

x XOIF start goto INICIOBUCLE: 00010

Oactivar OK, STARTING00011

x xOIF end goto ESPERAR00100

Oactivar OK, SELECT00101

OIF ilio = 00 goto 800110 I O

X X XOIF ilio = 01 goto 1000111

O X X x 1goto RECUPERAR01000

1 Oactivar PROCESSING01001

O x X OgotoBUCLE01010 1

O O1 Oactivar INITIA TING01011 I 1

O1O Oactivar PROCESSING01100 I 1

O O OOactivar DONE01101

O x X x OgotoBUCLEESPERAR: 01110 1

Oactivar WAIT, CHECK01111, O

OIF ready goto ESPERARx x

Ogoto INICIORECUPERAR:

Oactivar FAULTO

IF ready goto 20x x

Ogoto BUCLE10100

1activar WAIT, RESTORING

Ogoto ESPERAR

Page 48: Tema 9 ESPECIFICACIÓN ALGORÍTMICA DE SISTEMAS SECUENCIALESquegrande.org/apuntes/ETIX/1/TC/teoria/07-08/tema_9.pdf · CONCEPTOS BÁSICOS • La especificación algorítmica de sistemas

[Examen Te Septiembre'2005]

Deseñar a unidade de control microprogramada completa do seguiente algoritmo:

INICIO: activar PREPARADOIF empezar GOTa INICIO

activar INICIALIZANDOBUCLE TIEMPO: activar CALCULAR INSTANTE- -

activar INICIALIZARl, INICIALIZAR2, INICIALIZAR3

IFx1xo=11activar PROCESARl

ELSE IF x¡XO = 01activar PROCESAR2activar DONE

ELSEIFparar

activar FINALIZAR('-GTOINICIO

ENDIFENDIFGOTa TESTGOTa BUCLE TIEMPO

TEST:BUCLE TEST:

activar PONER A CEROactivar ACUMULARIF parar

activar FINALIZARGOTa INICIO

END IFactivar COMPARARIF converge GOTa BUCLE TESTGOTa BUCLE TIEMPO

Page 49: Tema 9 ESPECIFICACIÓN ALGORÍTMICA DE SISTEMAS SECUENCIALESquegrande.org/apuntes/ETIX/1/TC/teoria/07-08/tema_9.pdf · CONCEPTOS BÁSICOS • La especificación algorítmica de sistemas

[Examen TC Septiembre'2005]Autómata de Control:

INICIO:

BUCLE TIEMPO:

BUCLE TEST:

emos:

13 puntos de control12 microinstruccións de activación5 condicións no MUX7 instruccións de salto

{PREPARADO}

{INICIALIZANDO}

{CALCULAR_INSTANTE}

{lNICIALIZARl,INICIALIZAR2,INICIALIZAR3 }

{PROCESARl}

{PROCESAR2}

{DONE}

{FINALIZAR}

{ACUMULAR}

{FINALIZAR}

{COMPARAR}

Page 50: Tema 9 ESPECIFICACIÓN ALGORÍTMICA DE SISTEMAS SECUENCIALESquegrande.org/apuntes/ETIX/1/TC/teoria/07-08/tema_9.pdf · CONCEPTOS BÁSICOS • La especificación algorítmica de sistemas

[Examen Te Septiembre'2005]Unidade de control rnicropogramada:

1empezar

~converge)(1"0= 11x-1"0=01

MUX8 a 1

STROBE

INCR

LOADCONTADOR MlCROPROGRAMA

ROM

(32 x 14)

CLK

INICIO: 0??oo

00001

00010

BUCLE_TIEMPO: 00011

00100

00101

00110

00111

01000

01001

01010

01011

01100

01101

01110

01111

TEST: 1??oo

BUCLE_TEST: 10001

10010

10011

10100

10101

~~ •. » \:,';J>~~

&WJI "'S:l~ ..I:71 ~1

1OOOOOOOOOOOO

O

O O 1X X X X XO O OO O

1

O1OOOOOOOOOOO

1

OO1OOOOOOOOOO

1

OOO111OOOOOOO

O

100 X X X X XO 1 OO 1

O

101 X X X X XO 1 O1 1

O O 1 O

X X X X X0111 O, O

O O OX X X X X100O O

1'0 O O

OOO1OOOOOO, O

O O OX X X X X100O O

1

OOOOOOO1OOOOO

1

OOOOOOOO1OOOO

O O O O

X X X X X100O OI

011 01010-,1 O O OO O O O O

O

O O OX X X X XO O OO O

1

OOOOOOOOOO1OO

1

OOOOOOOOOOO1O

O

O 1 OX X X X X0111 O

1

OOOOOOOOOOOO •

O

011 X X X X X100O 1

O

O O OX X X X XO O O1 1I

I

activar PREPARADO

IF empezar goto INICIOactivar INICIALIZANDOactivar CALCULAR_INSTANTEactivar INIC1, INIC2, INIC3

IF xlxO= 11 goto 9

IF xlxO = 01 goto 11

IF parar goto 14goto TESTactivar PROCESAR1

goto TESTactivar PROCESAR2activar DONE

goto TESTactivar FINALIZAR

goto INICIOactivar PONER_A_CEROactivar ACUMULAR

IF parar goto 14activar COMPARAR

IF converge goto BUCLE_TESTgoto BUCLE_TIEMPO

Page 51: Tema 9 ESPECIFICACIÓN ALGORÍTMICA DE SISTEMAS SECUENCIALESquegrande.org/apuntes/ETIX/1/TC/teoria/07-08/tema_9.pdf · CONCEPTOS BÁSICOS • La especificación algorítmica de sistemas