SlideShare una empresa de Scribd logo
1 de 51
Descargar para leer sin conexión
Tema 9
ESPECIFICACIÓN
ALGORÍTMICA DE SISTEMAS
SECUENCIALES
1
INTRODUCCiÓN
• Existen sistemas secuenciales demasiado complejos pa-
ra poder implementarlos con las técnicas vistas· hasta
ahora, 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 de
datos (vectores de n bits). En general constan de ope-
raciones combinacionales más sencillas que se realizan
secuencialmente.
Ejemplos de dichos algoritmos son un sumador secuen-
cial con un único FA o un multiplicador a partir de un
sumador 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, sobre
todo en campos tales como el tratamiento de señales,
procesamiento de imágenes, etc.
1
CONCEPTOS BÁSICOS
• La especificación algorítmica de sistemas secuenciales implementa
eficientemente 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 que
consiste en la transferencia de vectores entre registros. Durante las
transferencias se realizan las operaciones de suma, desplazamien-
to, comparación, etc.
• Esta nueva metodología divide la implementación en dos bloques
básicos:
• Camino de datos, el conjunto de elementos que implementa
el almacenamiento de datos y las funciones de transformación
de los mismos .
• Sección de control, el sistema secuencial o autómata que
controla 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
sigl
Control
subsystem
Data inputs .1 Udld 1 • Data outputs
Control inputs -~---.¡ _
~~"~
~I __ I • Control outputs
2
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 del
exterior ("Control Input", por ejemplo, reset, begin, stop,
modo de operación ...) y envía información u órdenes al
exterior ("Control Output", por ejemplo, end, done, over-
f1ow ... ).
• Las condiciones son generadas por el camino de datos
y 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, el
acarreo en una operación, un desbordamiento, el valor
de un bit o una comparación, etc.
• Los puntos de control son las señales necesarias para
realizar 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 sus
elementos.
Ejemplos de puntos de control son la carga de un regis-
tro, los bits de control de un MUX o de DEMUX, el tipo
de 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
CONCEPTOS BÁSICOS
• El resultado de aplicar o activar cada uno de los puntos
de 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 que
activar 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 microinstrucciones
constituye un microprograma y su objetivo es imple-
mentar el algoritmo o computación requerido.
4
.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+-x
if CLEAR then y+-O
5
CAMINO DE DATOS
• RAM = conjunto de 2k registros de N bits que sólo pue-
den accederse de uno en uno.
X Yn
A
k MEMORIA 1'"
•
(2K x n)
n
y
• READ
• WRITE
Operación: if READ then y~M[~(A)] el se y~O
if WRITE then M[~(A)]~x
() ,",k-l .
s iendo ~ A = Úi=O Ai . 2~
• Fichero de registros.
RA
WA
p
,L
p
R 1•••
(2P x n) ,~
• READ
• WRITE
y
n
Operación: if READ then y~R,¡[~(A)] else y~O
if WRITE then RJ~(A)]~X
6
·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
in
in
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
CAMINO DE DATOS
• Buses: son las conexiones, junto con los switches necesarios, que
comunican los distintos elementos del camino de datos (registros y
operadores) .
• 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
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
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
-CAMINO DE DATOS
• Ejemplos de buses:
• Crossbar
n n n
• Bus compartido
o Usando un selector.
n
n
LOAD1 LOAD2
n
LOADm
n
S
1092 m
o Usando registros con salida triestado.
LOAD1
ENABLE1
n
11
SECCiÓN DE CONTROL
• Es el sistema secuencial o autómata que al activar los puntos de
control en el orden adecuado controla las transferencias y transfor-
maciones de los datos que tienen lugar en el camino de datos y que
implementan 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 es
el estado o microinstrucción siguiente.
• La sección de control también se puede representar mediante un
diagrama 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 es
dificil realizar modificaciones (no hai una relación evidente entre
la implementación y el algoritmo).
• Su uso es poco frecuente.
• Se denomina "Lógica Aleatoria".
12
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 y
la implementación mediante elementos de retardo.
u
y
x
CK
CK
13
SECCiÓN DE CONTROL
• Los puntos de control que se activan en cada estado se sacan de la
salida del biestable correspondiente.
CK s·1
c·
J
• Para activar un punto de control en dos o más estados:
s·
1
CK
, • •
• Cl
S~
~C2
C3
14
SECCiÓN DE CONTROL
• Ejemplo: implementación con elementos de retardo
Autómata Diagrama de Flujo
K
15
SECCiÓN DE CONTROL
• Ejemplo (cont.): implem. con elementos de retardo
CLK
preset
c1ear
start
k
16
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 i
i 
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'li11liO
1, ;: i i 1; i i
h;
i--i--+, ------;------+----
Oi 0, iOi 1!lio:I11 I
/ . / ' ,!  1,1; : )' f ,--~-----
01 01 01 1/ Io! '11 l'
) ) j J' j ) ¡--------
fll4 fll3 fll4
17
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 a
los accesos a la memoria de control.
• Apta para sistemas grandes y/o complejos.
18
SECCiÓN DE CONTROL
• Microprogramación
• Una de las implementaciones más sencillas:
DIRECCIÓN DE SALTO
MUX
2P a 1
p
MEMORIA
DE
CONTROL
(2k x m)
~CLK
ID
I TIPO IlINSTRUCCIÓN
CONDICIÓN DE SALTO
REGISTRO DE
MICROINSTRUCCIÓN
PUNTOS DE CONTROL
k
19
SECCiÓN DE CONTROL
• Memoria de control
• Almacena la información de control necesaria para
ejecutar el algoritmo.
• Su tamaño viene dado por el número de microins-
trucciones (2k) del microprograma por el número de
bits 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 la
siguiente microinstrucción (J.LI).
20
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 la
siguiente 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
SECCiÓN DE CONTROL
• El funcionamiento o secuenciamiento puede realizarse de diferentes
formas. 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 MUX
de condiciones::::} El /1PC se incrementa.
2. Selección en el MUX de la condición a verificar. Si se cumple
la salida del MUX = 1 ::::}el /1PC se carga con la dirección
especificada en la p,1.
22
SECCiÓN DE CONTROL
• Ejemplo de sección de control microprogramada
Sffir~~
1 100 O O
O O 1 O O O
1 O 1 O O O
100 1 O O
1 O O O 1 O
1 O O O O 1
O 101 O O
O O O O O O
CLK
23
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
J¡
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
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 e
e +- Ai . Bi + CAi EB Bi) . e
}
25
SUMADOR SECUENCIAL
• Algoritmo 1: introduce la sincronización con el exterior mediante
dos 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: do
done +- 1
while (start)
done +- O
Cargar A
Cargar B
Borrar C
for 1=1 to n
{
Di +- Ai E9 Bi E9 e
e +- Ai . Bi +(Ai E9 Bi) . e
}
gota WA1T
26
SUMADOR SECUENCIAL
• Una vez identificadas las líneas de conexión con el exte-
rior empezaremos por diseñar un camino de datos capaz
de 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 elementos
del camino de datos identificados y se determinan
los puntos de control necesarios (existen diferentes
alternativas) .
27
•
en
c:
s:
»
e
O
JJ
en
m
O
c:
m
z
O
-
»
r-
o
tu
3
:J
o
a.
CD
a.
tu
...•.
o
en
-lo.
.........
.-
tu
;:::::¡:'
CD
...,.
:J
tu
~.
<
tu
-CLEARI
INCI
I<n
preset~
Clear ~~
DATA INPUT
DATA OUTPUT
SHIFTo
--e LOADB
SHIFTB
n
D
CK
CK
Cltl
Al BI
CI FA SI
-- LOADA
SHIFTA
CLEARc
LOADc
1)
(X)
SUMADOR SECUENCIAL
• Algoritmo 2: introduce los puntos de control (microoperaciones)
WA1T: do
Preset
--
while (start)
Ciear
LOADA
LOADB
CLEARc
for 1=1 to n
{
SHIFTD
LOADc
SHIFTA
SHIFTB
}
gota WA1T
• Existen microoperaciones que pueden realizarse simultaneamente
(p.e. LOADA y CLEARc), por lo que ambos puntos de control
pueden 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
SUMADOR SECUENCIAL
• Algoritmo 3: se identifican las operaciones simultaneas
(se reduce el número de microinstrucciones necesarias).
WA1T: do
Preset
--
while (start)
Clear 11 LOADA 11 CLEARc
LOADB
for 1=1 to n
SHIFTD 11 LOADcl1 SHIFTAII SHIFTB
gota WA1T
30
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ón
if (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
SUMADOR SECUENCIAL
• Algoritmo 4: se substituyen las estructuras complejas por sus mi-
croinstrucciones equivalentes activando en paralelo los puntos de
control que lo permitan.
WAIT: 50: Preset
if (start) then goto WAIT
51: Clear 1 1 LOADA I 1 CLEARc I 1 CLEAR¡
52 : LOADB
LOOP: 53: 5HIFTD 11 LOADcl1 5HIFTAII 5HIFTBIIINC¡
if (I<n) then goto LOOP
goto WAIT
32
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
•
en
c:
s:
»
e
O
XI
en
m
O
c:
m
z
O
-
»
r-
CDm
Cf) -
(")
e-m
:::J. 3
(") -.
o :::J
. o
Oa.
~CD
ma.
"'O m
0--
Cf)0
-.Cf)
o-
- . ..0
=:e
a.CD
m _.
~3
"'O
CD
3
CD
:::J
--
m
e
:::J
m
(")
o
3
"'O
e
--
m
(")
o-
:::J
:::J
o
CLEAR,
INC,
1<"
.,••.t::::::j f---
CI." do",
DATA INPUT
DATA OUTPUT
LOADa
SHIFTo
"
D
CK
n
TI
Cit.
CK
C FA S
I I
LOADA
CLEAR
LOADcc
1
log2"
ú)
~
SUMADOR SECUENCIAL
• Algoritmo 4 bis: sólo cambian los puntos de control que se activan
en 83
WAIT: 80: Preset
if (start) then goto WAIT
81: Clear I I LOADA I I CLEARc I I CLEAR¡
82 : LOADB
LOOP: 83: 8HIFTD 11 LOADcl1 INC¡
if (I<n) then goto LOOP
goto WAIT
35
SUMADOR SECUENCIAL
• Implementación de la sección de control: elementos de
retardo.
CLK
preset
clear~
;r-r--Preset
start DEMUX
, n Clear
Load
A
~ Clearc
Clear,
Load
B
Shift
D
Load e
Ine 1 •• 1 ~n!Vlu~ I
I
(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
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
SUMADOR SECUENCIAL
• Implementación de la sección de control: microprogra-
mación.
I<n
MUX
401
2
STROBE
INCR
LOAD
CONTADOR MICROPROGRAMA
ROM
(8 x 10)
CLK
rlb'OOb'S'b''''
_ Q .!J .Q }.. .~ n!..,$
I
000 I 1
1 o
001 I o 1
o
010 I 1 o
o
011 I 1 o
o
100 I 1 o
1
101 I o o
o
110 o o
o
111 X X X X X X X X X X
38
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 JlILJULILr
i i ¡ i ¡ ....
:a b ;c: d ;
..
INC¡ : 1. IU
]~OXOX1Xlf2~
: ... '
. 1 vez .
n veces
JLJU
~IU
X~n-l X n ~
•
3-
~ 3
oJ
-.('1)
§'3
('1)
::J en
t"""t-
~ c:
0.
s:
o' ::J »
Q. e
('1)
O
~ :c
en en
('1)
° m
0. O
o' ::J c:
Q.
m
('1) z
° O
o -
::J
»
t"""t- ., r-
o ..
3
°
.,
o
J
.,
o
cc
.,
~I
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 las
entradas del multiplexor de selección de salto.
IN I C I O: activar PRESET
if empieza gota IN I C I O
activar LOADR y CLEAR
TEST: if ZlZ0 = 10 gota BUCLE
else if ZlZ0 = 01 gota CORRECCION
else activar DESPLAZAR
BUCLE: activar INCREMENTA
activar RESTA y LOADn
if I < n gota BUCLE
gota INICIO
CORRECCION: activar SUMA y LOADR
gota TEST
9.2. Dado el autómata de la figura diseña su correspondiente unidad de control micro-
progamada completa.
{e;}
30 TEMA 9. ESPECIFICACIÓN ALGORÍTMICA DE SISTEMAS SECUENCIALES
9.3. La siguiente figura representa una unidad de control implementada con elementos
de retardo. Extráe su autómata de control e impleméntalo mediante la técnica de
control 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 de
cuatro bits, teniendo en cuenta el camino de datos de la figura. Calcula también
cuál es la mejor señal de reloj para sincronizar el sistema, teniendo en cuenta los
siguientes datos: tiempo de estabilización de los registros y contadores 10ns, tiempo
de retardo en el sumador de 4 bits 30 ns, tiempo de retardo en el comparador y en
los multiplexores 20 ns, tiempo de acceso a la memoria 90 ns.
BUS DE ENfRADA
carga X
carga y
AC=O
for i= 1 to Y
AC = AC plus X
end
REI.OXO
8USDE SAIDA
CON
CC
9.5. Obter o autómata de control e deseñar a unidade de control microprogramada completa que
implemente o algoritmo seguinte:
INICIO:
BUCLE:
ESPERAR:
RECUPERAR:
activar READY
IF start goto INICIO
activar OK, STARTING
IF end goto ESPERAR
ELSE
activar OK, SELECT
IF input = 00
activar PROCESSING
ELSE IF input = 01
activar INITIATING
activar PROCESSING
activar DONE
ELSE goto RECUPERAR
ENDIF
goto BUCLE
activarWAIT, CHECK
IF ready goto ESPERAR
goto INICIO
activar FAULT
IF ready
activarWAIT, RESTORING
goto ESPERAR
ENDIF
goto BUCLE
9.5. Autómata de Control:
{READY}
{OK, STARTING}
{OK, SELECT}
{PROCESSING}
{INITIATING}
{PROCESSING}
{DONE}
{WAIT, CHECK}
ready
i¡io=lO
OR
i¡io=ll
(i¡=l)
INICIO:
ESPERAR:
BUCLE:
RECUPERAR:
{FAULT}
{WAIT, RESTORING}
Ternos:
11 puntos de control
10 microinstruccións de activación
5 condicións no MUX
12 instruccións de salto
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=Ol
si
si
si
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
9.5. Unidade de Control Microprogramada:
I
stan
end
.. reaOy
!I~=OO
'1'0=01
MUX
8 al
STROBE
INCR
LOAD
CONTADOR MICROPROGRAMA
ROM
(32 X 12)
CLK
INICIO: 0??oo I 1 O
activar READY
x XO
IF start goto INICIO O
activar OK, STARTING
x xO
IF end goto ESPERAR O
activar OK, SELECT O
IF ilio = 00 goto 8
X X X
O
IF ilio = 01 goto 10
O X X x 1
goto RECUPERAR
1 O
activar PROCESSING
O x X O
gotoBUCLE O O
1 O
activar INITIA TING
O
1
O O
activar PROCESSING
O O O
O
activar DONE
O x X x O
gotoBUCLE O
activar WAIT, CHECK O
IF ready goto ESPERAR
O
goto INICIO O
activar FAULT
O
IF ready goto 20
O
goto BUCLE
1
activar WAIT, RESTORING
O
goto ESPERAR
[Examen Te Septiembre'2005]
Deseñar a unidade de control microprogramada completa do seguiente algoritmo:
INICIO: activar PREPARADO
IF empezar GOTa INICIO
activar INICIALIZANDO
BUCLE TIEMPO: activar CALCULAR INSTANTE
- -
activar INICIALIZARl, INICIALIZAR2, INICIALIZAR3
IFx1xo=11
activar PROCESARl
ELSE IF x¡XO = 01
activar PROCESAR2
activar DONE
ELSE
IFparar
activar FINALIZAR
('-GTOINICIO
ENDIF
ENDIF
GOTa TEST
GOTa BUCLE TIEMPO
TEST:
BUCLE TEST:
activar PONER A CERO
activar ACUMULAR
IF parar
activar FINALIZAR
GOTa INICIO
END IF
activar COMPARAR
IF converge GOTa BUCLE TEST
GOTa BUCLE TIEMPO
[Examen TC Septiembre'2005]
Autómata de Control:
INICIO:
BUCLE TIEMPO:
BUCLE TEST:
emos:
13 puntos de control
12 microinstruccións de activación
5 condicións no MUX
7 instruccións de salto
{PREPARADO}
{INICIALIZANDO}
{CALCULAR_INSTANTE}
{lNICIALIZARl,
INICIALIZAR2,
INICIALIZAR3 }
{PROCESARl}
{PROCESAR2}
{DONE}
{FINALIZAR}
{ACUMULAR}
{FINALIZAR}
{COMPARAR}
[Examen Te Septiembre'2005]
Unidade de control rnicropogramada:
1
empezar
~
converge
)(1"0= 11
x-1"0=01
MUX
8 a 1
STROBE
INCR
LOAD
CONTADOR 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
1
O
O
O
O
O
O
O
O
O
O
O
O
O O 1
X X X X X
O O O
O O
O
1
O
O
O
O
O
O
O
O
O
O
O
O
O
1
O
O
O
O
O
O
O
O
O
O
O
O
O
1
1
1
O
O
O
O
O
O
O
100 X X X X X
O 1 O
O 1
101 X X X X X
O 1 O
1 1
X X X X X
011
1 O
O
O O O
X X X X X
100
O O
O
O
O
1
O
O
O
O
O
O
O
O O O
X X X X X
100
O O
O
O
O
O
O
O
O
1
O
O
O
O
O
O
O
O
O
O
O
O
O
1
O
O
O
O X X X X X
100
O O
011 01010-
O O
O O O O O
O
O O O
X X X X X
O O O
O O
O
O
O
O
O
O
O
O
O
O
1
O
O
O
O
O
O
O
O
O
O
O
O
O
1
O
O 1 O
X X X X X
011
1 O
O
O
O
O
O
O
O
O
O
O
O
O •
011 X X X X X
100
O 1
O O O
X X X X X
O O O
1 1
I
I
activar PREPARADO
IF empezar goto INICIO
activar INICIALIZANDO
activar CALCULAR_INSTANTE
activar INIC1, INIC2, INIC3
IF xlxO= 11 goto 9
IF xlxO= 01 goto 11
IF parar goto 14
goto TEST
activar PROCESAR1
goto TEST
activar PROCESAR2
activar DONE
goto TEST
activar FINALIZAR
goto INICIO
activar PONER_A_CERO
activar ACUMULAR
IF parar goto 14
activar COMPARAR
IF converge goto BUCLE_TEST
goto BUCLE_TIEMPO
Algoritmos secuenciales

Más contenido relacionado

La actualidad más candente

Unidad de control s.o
Unidad de control s.oUnidad de control s.o
Unidad de control s.oyulianixita
 
Conceptos y componentes de un plc
Conceptos y componentes de un plcConceptos y componentes de un plc
Conceptos y componentes de un plcPaola Morales
 
Funcionamiento básico de una computadora
Funcionamiento básico de una computadoraFuncionamiento básico de una computadora
Funcionamiento básico de una computadoramariajosepachecoe
 
Arquitectura de computadores y redes
Arquitectura de computadores y redesArquitectura de computadores y redes
Arquitectura de computadores y redesYeison Montaña
 
Plc arquitectura y funciones de memoria
Plc  arquitectura y funciones de memoriaPlc  arquitectura y funciones de memoria
Plc arquitectura y funciones de memoriaArturo Tapia
 
Funcionamiento de los PLC
Funcionamiento de los PLCFuncionamiento de los PLC
Funcionamiento de los PLCJjs07
 
Controlador lógico programable
Controlador lógico programableControlador lógico programable
Controlador lógico programablefcanarte
 
Estructura básica de un ordenador
Estructura básica de un ordenadorEstructura básica de un ordenador
Estructura básica de un ordenadorsalcedogustavo
 
Definicion de plc historia y tipos
Definicion de plc historia y tiposDefinicion de plc historia y tipos
Definicion de plc historia y tiposDocumentosAreas4
 

La actualidad más candente (20)

Unidad de control s.o
Unidad de control s.oUnidad de control s.o
Unidad de control s.o
 
Conceptos y componentes de un plc
Conceptos y componentes de un plcConceptos y componentes de un plc
Conceptos y componentes de un plc
 
Componentes de la cpu
Componentes de la cpuComponentes de la cpu
Componentes de la cpu
 
Tema6 gestion e s
Tema6 gestion e sTema6 gestion e s
Tema6 gestion e s
 
Vonnewman
VonnewmanVonnewman
Vonnewman
 
Funcionamiento básico de una computadora
Funcionamiento básico de una computadoraFuncionamiento básico de una computadora
Funcionamiento básico de una computadora
 
tarea 3
tarea 3tarea 3
tarea 3
 
Arquitectura de computadores y redes
Arquitectura de computadores y redesArquitectura de computadores y redes
Arquitectura de computadores y redes
 
Microprocesadores
MicroprocesadoresMicroprocesadores
Microprocesadores
 
Procesador intel
Procesador intelProcesador intel
Procesador intel
 
Arquitectura Computacional - Intel Galileo
Arquitectura Computacional - Intel GalileoArquitectura Computacional - Intel Galileo
Arquitectura Computacional - Intel Galileo
 
Plc arquitectura y funciones de memoria
Plc  arquitectura y funciones de memoriaPlc  arquitectura y funciones de memoria
Plc arquitectura y funciones de memoria
 
Funcionamiento de los PLC
Funcionamiento de los PLCFuncionamiento de los PLC
Funcionamiento de los PLC
 
Controlador lógico programable
Controlador lógico programableControlador lógico programable
Controlador lógico programable
 
Capitulo3
Capitulo3Capitulo3
Capitulo3
 
Seminario2
Seminario2Seminario2
Seminario2
 
Estructura básica de un ordenador
Estructura básica de un ordenadorEstructura básica de un ordenador
Estructura básica de un ordenador
 
Uc
UcUc
Uc
 
Definicion de plc historia y tipos
Definicion de plc historia y tiposDefinicion de plc historia y tipos
Definicion de plc historia y tipos
 
plc y funciones de memoria
plc y funciones de memoriaplc y funciones de memoria
plc y funciones de memoria
 

Similar a Algoritmos secuenciales

Sistemas de control distribuido (dcs)
Sistemas de control distribuido (dcs)Sistemas de control distribuido (dcs)
Sistemas de control distribuido (dcs)alleonchile
 
caractermaterial_2019F1_COM212_02_132253.pptx
caractermaterial_2019F1_COM212_02_132253.pptxcaractermaterial_2019F1_COM212_02_132253.pptx
caractermaterial_2019F1_COM212_02_132253.pptxruben2003ss
 
Arquitectura de Von Neumann
Arquitectura de Von NeumannArquitectura de Von Neumann
Arquitectura de Von Neumannjaguilar69
 
sistema operativo.pdf
sistema operativo.pdfsistema operativo.pdf
sistema operativo.pdfAminah Sivira
 
Manual de prácticas arquitectura de computadoras
Manual de prácticas arquitectura de computadorasManual de prácticas arquitectura de computadoras
Manual de prácticas arquitectura de computadorasDianichiiz VaLdiivia
 
Plc basico 1
Plc basico 1Plc basico 1
Plc basico 1aucega
 
Tecnología de construcción de sistemas
Tecnología de construcción de sistemasTecnología de construcción de sistemas
Tecnología de construcción de sistemasMariannN1
 
INDTRODUCCION BASICA DE PLC Y AUTOMATIZACION
INDTRODUCCION BASICA DE PLC Y AUTOMATIZACIONINDTRODUCCION BASICA DE PLC Y AUTOMATIZACION
INDTRODUCCION BASICA DE PLC Y AUTOMATIZACIONjchavez13
 
47835801 curso-plc-omron
47835801 curso-plc-omron47835801 curso-plc-omron
47835801 curso-plc-omronMoi Torres
 
Red telematica-etapa 3
Red telematica-etapa 3Red telematica-etapa 3
Red telematica-etapa 3john bustos
 
Trabajo de informatica
Trabajo de informaticaTrabajo de informatica
Trabajo de informaticayessica seijas
 

Similar a Algoritmos secuenciales (20)

Sistemas de control distribuido (dcs)
Sistemas de control distribuido (dcs)Sistemas de control distribuido (dcs)
Sistemas de control distribuido (dcs)
 
caractermaterial_2019F1_COM212_02_132253.pptx
caractermaterial_2019F1_COM212_02_132253.pptxcaractermaterial_2019F1_COM212_02_132253.pptx
caractermaterial_2019F1_COM212_02_132253.pptx
 
Arquitectura de Von Neumann
Arquitectura de Von NeumannArquitectura de Von Neumann
Arquitectura de Von Neumann
 
sistema operativo.pdf
sistema operativo.pdfsistema operativo.pdf
sistema operativo.pdf
 
SISTEMAS OPERATIVOS
SISTEMAS OPERATIVOSSISTEMAS OPERATIVOS
SISTEMAS OPERATIVOS
 
Plc ppt1
Plc ppt1Plc ppt1
Plc ppt1
 
Manual de prácticas arquitectura de computadoras
Manual de prácticas arquitectura de computadorasManual de prácticas arquitectura de computadoras
Manual de prácticas arquitectura de computadoras
 
Pfc
PfcPfc
Pfc
 
Plc basico 1
Plc basico 1Plc basico 1
Plc basico 1
 
Tecnología de construcción de sistemas
Tecnología de construcción de sistemasTecnología de construcción de sistemas
Tecnología de construcción de sistemas
 
Presentación Pasantía
Presentación PasantíaPresentación Pasantía
Presentación Pasantía
 
Arquitectura de la computadora
Arquitectura de la computadoraArquitectura de la computadora
Arquitectura de la computadora
 
PLC BASICO.ppt
PLC BASICO.pptPLC BASICO.ppt
PLC BASICO.ppt
 
INDTRODUCCION BASICA DE PLC Y AUTOMATIZACION
INDTRODUCCION BASICA DE PLC Y AUTOMATIZACIONINDTRODUCCION BASICA DE PLC Y AUTOMATIZACION
INDTRODUCCION BASICA DE PLC Y AUTOMATIZACION
 
47835801 curso-plc-omron
47835801 curso-plc-omron47835801 curso-plc-omron
47835801 curso-plc-omron
 
Arquitectura del cpu
Arquitectura del cpuArquitectura del cpu
Arquitectura del cpu
 
Programacion
Programacion Programacion
Programacion
 
Red telematica-etapa 3
Red telematica-etapa 3Red telematica-etapa 3
Red telematica-etapa 3
 
Trabajo de informatica
Trabajo de informaticaTrabajo de informatica
Trabajo de informatica
 
1 intro automatas
1 intro automatas1 intro automatas
1 intro automatas
 

Más de SANTIAGO PABLO ALBERTO

Manual de teoría y practica electroneumática avanzada
Manual de teoría y practica electroneumática avanzadaManual de teoría y practica electroneumática avanzada
Manual de teoría y practica electroneumática avanzadaSANTIAGO PABLO ALBERTO
 
Programacion de PLC basado en Rslogix 500 por Roni Domínguez
Programacion de PLC basado en Rslogix 500 por Roni Domínguez Programacion de PLC basado en Rslogix 500 por Roni Domínguez
Programacion de PLC basado en Rslogix 500 por Roni Domínguez SANTIAGO PABLO ALBERTO
 
Programación de microcontroladores PIC en C con Fabio Pereira
Programación de microcontroladores PIC en  C con Fabio PereiraProgramación de microcontroladores PIC en  C con Fabio Pereira
Programación de microcontroladores PIC en C con Fabio PereiraSANTIAGO PABLO ALBERTO
 
Análisis y Diseño de Sistemas de Control Digital por Ricardo Fernandez del Bu...
Análisis y Diseño de Sistemas de Control Digital por Ricardo Fernandez del Bu...Análisis y Diseño de Sistemas de Control Digital por Ricardo Fernandez del Bu...
Análisis y Diseño de Sistemas de Control Digital por Ricardo Fernandez del Bu...SANTIAGO PABLO ALBERTO
 
Programación de autómatas PLC OMRON CJ/CP1
Programación de  autómatas PLC OMRON CJ/CP1Programación de  autómatas PLC OMRON CJ/CP1
Programación de autómatas PLC OMRON CJ/CP1SANTIAGO PABLO ALBERTO
 
Manual del sistema del controlador programable S7-200 SMART
Manual del sistema del controlador programable S7-200 SMARTManual del sistema del controlador programable S7-200 SMART
Manual del sistema del controlador programable S7-200 SMARTSANTIAGO PABLO ALBERTO
 
PLC: Buses industriales y de campo practicas de laboratorio por Jose Miguel R...
PLC: Buses industriales y de campo practicas de laboratorio por Jose Miguel R...PLC: Buses industriales y de campo practicas de laboratorio por Jose Miguel R...
PLC: Buses industriales y de campo practicas de laboratorio por Jose Miguel R...SANTIAGO PABLO ALBERTO
 
PLC y Electroneumática: Electricidad y Automatismo eléctrico por Luis Miguel...
PLC y Electroneumática: Electricidad y Automatismo eléctrico por  Luis Miguel...PLC y Electroneumática: Electricidad y Automatismo eléctrico por  Luis Miguel...
PLC y Electroneumática: Electricidad y Automatismo eléctrico por Luis Miguel...SANTIAGO PABLO ALBERTO
 
Electrónica: Diseño y desarrollo de circuitos impresos con Kicad por Miguel P...
Electrónica: Diseño y desarrollo de circuitos impresos con Kicad por Miguel P...Electrónica: Diseño y desarrollo de circuitos impresos con Kicad por Miguel P...
Electrónica: Diseño y desarrollo de circuitos impresos con Kicad por Miguel P...SANTIAGO PABLO ALBERTO
 
PLC: Diseño, construcción y control de un motor doble Dahlander(cuatro veloci...
PLC: Diseño, construcción y control de un motor doble Dahlander(cuatro veloci...PLC: Diseño, construcción y control de un motor doble Dahlander(cuatro veloci...
PLC: Diseño, construcción y control de un motor doble Dahlander(cuatro veloci...SANTIAGO PABLO ALBERTO
 
Electrónica digital: Introducción a la Lógica Digital - Teoría, Problemas y ...
Electrónica digital:  Introducción a la Lógica Digital - Teoría, Problemas y ...Electrónica digital:  Introducción a la Lógica Digital - Teoría, Problemas y ...
Electrónica digital: Introducción a la Lógica Digital - Teoría, Problemas y ...SANTIAGO PABLO ALBERTO
 

Más de SANTIAGO PABLO ALBERTO (20)

secuencia electroneumática parte 1
secuencia electroneumática parte 1secuencia electroneumática parte 1
secuencia electroneumática parte 1
 
secuencia electroneumática parte 2
secuencia electroneumática parte 2secuencia electroneumática parte 2
secuencia electroneumática parte 2
 
Manual de teoría y practica electroneumática avanzada
Manual de teoría y practica electroneumática avanzadaManual de teoría y practica electroneumática avanzada
Manual de teoría y practica electroneumática avanzada
 
Programacion de PLC basado en Rslogix 500 por Roni Domínguez
Programacion de PLC basado en Rslogix 500 por Roni Domínguez Programacion de PLC basado en Rslogix 500 por Roni Domínguez
Programacion de PLC basado en Rslogix 500 por Roni Domínguez
 
Programación de microcontroladores PIC en C con Fabio Pereira
Programación de microcontroladores PIC en  C con Fabio PereiraProgramación de microcontroladores PIC en  C con Fabio Pereira
Programación de microcontroladores PIC en C con Fabio Pereira
 
Análisis y Diseño de Sistemas de Control Digital por Ricardo Fernandez del Bu...
Análisis y Diseño de Sistemas de Control Digital por Ricardo Fernandez del Bu...Análisis y Diseño de Sistemas de Control Digital por Ricardo Fernandez del Bu...
Análisis y Diseño de Sistemas de Control Digital por Ricardo Fernandez del Bu...
 
Arduino: Arduino de cero a experto
Arduino: Arduino de cero a expertoArduino: Arduino de cero a experto
Arduino: Arduino de cero a experto
 
Fisica I
Fisica IFisica I
Fisica I
 
Quimica.pdf
Quimica.pdfQuimica.pdf
Quimica.pdf
 
Manual básico PLC OMRON
Manual básico PLC OMRON Manual básico PLC OMRON
Manual básico PLC OMRON
 
Programación de autómatas PLC OMRON CJ/CP1
Programación de  autómatas PLC OMRON CJ/CP1Programación de  autómatas PLC OMRON CJ/CP1
Programación de autómatas PLC OMRON CJ/CP1
 
Manual del sistema del controlador programable S7-200 SMART
Manual del sistema del controlador programable S7-200 SMARTManual del sistema del controlador programable S7-200 SMART
Manual del sistema del controlador programable S7-200 SMART
 
Catálogo de PLC S7-200 SMART
Catálogo de PLC S7-200 SMART Catálogo de PLC S7-200 SMART
Catálogo de PLC S7-200 SMART
 
PLC: Automatismos industriales
PLC: Automatismos industrialesPLC: Automatismos industriales
PLC: Automatismos industriales
 
PLC: Buses industriales y de campo practicas de laboratorio por Jose Miguel R...
PLC: Buses industriales y de campo practicas de laboratorio por Jose Miguel R...PLC: Buses industriales y de campo practicas de laboratorio por Jose Miguel R...
PLC: Buses industriales y de campo practicas de laboratorio por Jose Miguel R...
 
PLC y Electroneumática: Electricidad y Automatismo eléctrico por Luis Miguel...
PLC y Electroneumática: Electricidad y Automatismo eléctrico por  Luis Miguel...PLC y Electroneumática: Electricidad y Automatismo eléctrico por  Luis Miguel...
PLC y Electroneumática: Electricidad y Automatismo eléctrico por Luis Miguel...
 
Electrónica: Diseño y desarrollo de circuitos impresos con Kicad por Miguel P...
Electrónica: Diseño y desarrollo de circuitos impresos con Kicad por Miguel P...Electrónica: Diseño y desarrollo de circuitos impresos con Kicad por Miguel P...
Electrónica: Diseño y desarrollo de circuitos impresos con Kicad por Miguel P...
 
PLC: Diseño, construcción y control de un motor doble Dahlander(cuatro veloci...
PLC: Diseño, construcción y control de un motor doble Dahlander(cuatro veloci...PLC: Diseño, construcción y control de un motor doble Dahlander(cuatro veloci...
PLC: Diseño, construcción y control de un motor doble Dahlander(cuatro veloci...
 
PLC: Motor Dahlander
PLC: Motor DahlanderPLC: Motor Dahlander
PLC: Motor Dahlander
 
Electrónica digital: Introducción a la Lógica Digital - Teoría, Problemas y ...
Electrónica digital:  Introducción a la Lógica Digital - Teoría, Problemas y ...Electrónica digital:  Introducción a la Lógica Digital - Teoría, Problemas y ...
Electrónica digital: Introducción a la Lógica Digital - Teoría, Problemas y ...
 

Último

NOM-002-STPS-2010, combate contra incendio.pptx
NOM-002-STPS-2010, combate contra incendio.pptxNOM-002-STPS-2010, combate contra incendio.pptx
NOM-002-STPS-2010, combate contra incendio.pptxJairReyna1
 
Peligros de Excavaciones y Zanjas presentacion
Peligros de Excavaciones y Zanjas presentacionPeligros de Excavaciones y Zanjas presentacion
Peligros de Excavaciones y Zanjas presentacionOsdelTacusiPancorbo
 
MEC. FLUIDOS - Análisis Diferencial del Movimiento de un Fluido -GRUPO5 sergi...
MEC. FLUIDOS - Análisis Diferencial del Movimiento de un Fluido -GRUPO5 sergi...MEC. FLUIDOS - Análisis Diferencial del Movimiento de un Fluido -GRUPO5 sergi...
MEC. FLUIDOS - Análisis Diferencial del Movimiento de un Fluido -GRUPO5 sergi...Arquitecto Alejandro Gomez cornejo muñoz
 
CLASE 2 MUROS CARAVISTA EN CONCRETO Y UNIDAD DE ALBAÑILERIA
CLASE 2 MUROS CARAVISTA EN CONCRETO  Y UNIDAD DE ALBAÑILERIACLASE 2 MUROS CARAVISTA EN CONCRETO  Y UNIDAD DE ALBAÑILERIA
CLASE 2 MUROS CARAVISTA EN CONCRETO Y UNIDAD DE ALBAÑILERIAMayraOchoa35
 
SEMANA 6 MEDIDAS DE TENDENCIA CENTRAL.pdf
SEMANA  6 MEDIDAS DE TENDENCIA CENTRAL.pdfSEMANA  6 MEDIDAS DE TENDENCIA CENTRAL.pdf
SEMANA 6 MEDIDAS DE TENDENCIA CENTRAL.pdffredyflores58
 
CONSTRUCCIONES II - SEMANA 01 - REGLAMENTO NACIONAL DE EDIFICACIONES.pdf
CONSTRUCCIONES II - SEMANA 01 - REGLAMENTO NACIONAL DE EDIFICACIONES.pdfCONSTRUCCIONES II - SEMANA 01 - REGLAMENTO NACIONAL DE EDIFICACIONES.pdf
CONSTRUCCIONES II - SEMANA 01 - REGLAMENTO NACIONAL DE EDIFICACIONES.pdfErikNivor
 
Estacionamientos, Existen 3 tipos, y tienen diferentes ángulos de inclinación
Estacionamientos, Existen 3 tipos, y tienen diferentes ángulos de inclinaciónEstacionamientos, Existen 3 tipos, y tienen diferentes ángulos de inclinación
Estacionamientos, Existen 3 tipos, y tienen diferentes ángulos de inclinaciónAlexisHernandez885688
 
Físicas 1: Ecuaciones Dimensionales y Vectores
Físicas 1: Ecuaciones Dimensionales y VectoresFísicas 1: Ecuaciones Dimensionales y Vectores
Físicas 1: Ecuaciones Dimensionales y VectoresSegundo Silva Maguiña
 
SOLIDOS DE REVOLUCION, aplicaciones de integrales definidas
SOLIDOS DE REVOLUCION, aplicaciones de integrales definidasSOLIDOS DE REVOLUCION, aplicaciones de integrales definidas
SOLIDOS DE REVOLUCION, aplicaciones de integrales definidasLeonardoMendozaDvila
 
Flujo potencial, conceptos básicos y ejemplos resueltos.
Flujo potencial, conceptos básicos y ejemplos resueltos.Flujo potencial, conceptos básicos y ejemplos resueltos.
Flujo potencial, conceptos básicos y ejemplos resueltos.ALEJANDROLEONGALICIA
 
5.1 MATERIAL COMPLEMENTARIO Sesión 02.pptx
5.1 MATERIAL COMPLEMENTARIO Sesión 02.pptx5.1 MATERIAL COMPLEMENTARIO Sesión 02.pptx
5.1 MATERIAL COMPLEMENTARIO Sesión 02.pptxNayeliZarzosa1
 
trabajos en altura 2024, sistemas de contencion anticaidas
trabajos en altura 2024, sistemas de contencion anticaidastrabajos en altura 2024, sistemas de contencion anticaidas
trabajos en altura 2024, sistemas de contencion anticaidasNelsonQuispeQuispitu
 
Conservatorio de danza Kina Jiménez de Almería
Conservatorio de danza Kina Jiménez de AlmeríaConservatorio de danza Kina Jiménez de Almería
Conservatorio de danza Kina Jiménez de AlmeríaANDECE
 
Trabajo en altura de acuerdo a la normativa peruana
Trabajo en altura de acuerdo a la normativa peruanaTrabajo en altura de acuerdo a la normativa peruana
Trabajo en altura de acuerdo a la normativa peruana5extraviado
 
Parámetros de Perforación y Voladura. para Plataformas
Parámetros de  Perforación y Voladura. para PlataformasParámetros de  Perforación y Voladura. para Plataformas
Parámetros de Perforación y Voladura. para PlataformasSegundo Silva Maguiña
 
Espontaneidad de las reacciones y procesos espontáneos
Espontaneidad de las reacciones y procesos espontáneosEspontaneidad de las reacciones y procesos espontáneos
Espontaneidad de las reacciones y procesos espontáneosOscarGonzalez231938
 
3.3 Tipos de conexiones en los transformadores trifasicos.pdf
3.3 Tipos de conexiones en los transformadores trifasicos.pdf3.3 Tipos de conexiones en los transformadores trifasicos.pdf
3.3 Tipos de conexiones en los transformadores trifasicos.pdfRicardoRomeroUrbano
 
Centro Integral del Transporte de Metro de Madrid (CIT). Premio COAM 2023
Centro Integral del Transporte de Metro de Madrid (CIT). Premio COAM 2023Centro Integral del Transporte de Metro de Madrid (CIT). Premio COAM 2023
Centro Integral del Transporte de Metro de Madrid (CIT). Premio COAM 2023ANDECE
 
produccion de cerdos. 2024 abril 20..pptx
produccion de cerdos. 2024 abril 20..pptxproduccion de cerdos. 2024 abril 20..pptx
produccion de cerdos. 2024 abril 20..pptxEtse9
 

Último (20)

NOM-002-STPS-2010, combate contra incendio.pptx
NOM-002-STPS-2010, combate contra incendio.pptxNOM-002-STPS-2010, combate contra incendio.pptx
NOM-002-STPS-2010, combate contra incendio.pptx
 
Peligros de Excavaciones y Zanjas presentacion
Peligros de Excavaciones y Zanjas presentacionPeligros de Excavaciones y Zanjas presentacion
Peligros de Excavaciones y Zanjas presentacion
 
MEC. FLUIDOS - Análisis Diferencial del Movimiento de un Fluido -GRUPO5 sergi...
MEC. FLUIDOS - Análisis Diferencial del Movimiento de un Fluido -GRUPO5 sergi...MEC. FLUIDOS - Análisis Diferencial del Movimiento de un Fluido -GRUPO5 sergi...
MEC. FLUIDOS - Análisis Diferencial del Movimiento de un Fluido -GRUPO5 sergi...
 
CLASE 2 MUROS CARAVISTA EN CONCRETO Y UNIDAD DE ALBAÑILERIA
CLASE 2 MUROS CARAVISTA EN CONCRETO  Y UNIDAD DE ALBAÑILERIACLASE 2 MUROS CARAVISTA EN CONCRETO  Y UNIDAD DE ALBAÑILERIA
CLASE 2 MUROS CARAVISTA EN CONCRETO Y UNIDAD DE ALBAÑILERIA
 
SEMANA 6 MEDIDAS DE TENDENCIA CENTRAL.pdf
SEMANA  6 MEDIDAS DE TENDENCIA CENTRAL.pdfSEMANA  6 MEDIDAS DE TENDENCIA CENTRAL.pdf
SEMANA 6 MEDIDAS DE TENDENCIA CENTRAL.pdf
 
CONSTRUCCIONES II - SEMANA 01 - REGLAMENTO NACIONAL DE EDIFICACIONES.pdf
CONSTRUCCIONES II - SEMANA 01 - REGLAMENTO NACIONAL DE EDIFICACIONES.pdfCONSTRUCCIONES II - SEMANA 01 - REGLAMENTO NACIONAL DE EDIFICACIONES.pdf
CONSTRUCCIONES II - SEMANA 01 - REGLAMENTO NACIONAL DE EDIFICACIONES.pdf
 
Estacionamientos, Existen 3 tipos, y tienen diferentes ángulos de inclinación
Estacionamientos, Existen 3 tipos, y tienen diferentes ángulos de inclinaciónEstacionamientos, Existen 3 tipos, y tienen diferentes ángulos de inclinación
Estacionamientos, Existen 3 tipos, y tienen diferentes ángulos de inclinación
 
Físicas 1: Ecuaciones Dimensionales y Vectores
Físicas 1: Ecuaciones Dimensionales y VectoresFísicas 1: Ecuaciones Dimensionales y Vectores
Físicas 1: Ecuaciones Dimensionales y Vectores
 
SOLIDOS DE REVOLUCION, aplicaciones de integrales definidas
SOLIDOS DE REVOLUCION, aplicaciones de integrales definidasSOLIDOS DE REVOLUCION, aplicaciones de integrales definidas
SOLIDOS DE REVOLUCION, aplicaciones de integrales definidas
 
Flujo potencial, conceptos básicos y ejemplos resueltos.
Flujo potencial, conceptos básicos y ejemplos resueltos.Flujo potencial, conceptos básicos y ejemplos resueltos.
Flujo potencial, conceptos básicos y ejemplos resueltos.
 
5.1 MATERIAL COMPLEMENTARIO Sesión 02.pptx
5.1 MATERIAL COMPLEMENTARIO Sesión 02.pptx5.1 MATERIAL COMPLEMENTARIO Sesión 02.pptx
5.1 MATERIAL COMPLEMENTARIO Sesión 02.pptx
 
MATPEL COMPLETO DESDE NIVEL I AL III.pdf
MATPEL COMPLETO DESDE NIVEL I AL III.pdfMATPEL COMPLETO DESDE NIVEL I AL III.pdf
MATPEL COMPLETO DESDE NIVEL I AL III.pdf
 
trabajos en altura 2024, sistemas de contencion anticaidas
trabajos en altura 2024, sistemas de contencion anticaidastrabajos en altura 2024, sistemas de contencion anticaidas
trabajos en altura 2024, sistemas de contencion anticaidas
 
Conservatorio de danza Kina Jiménez de Almería
Conservatorio de danza Kina Jiménez de AlmeríaConservatorio de danza Kina Jiménez de Almería
Conservatorio de danza Kina Jiménez de Almería
 
Trabajo en altura de acuerdo a la normativa peruana
Trabajo en altura de acuerdo a la normativa peruanaTrabajo en altura de acuerdo a la normativa peruana
Trabajo en altura de acuerdo a la normativa peruana
 
Parámetros de Perforación y Voladura. para Plataformas
Parámetros de  Perforación y Voladura. para PlataformasParámetros de  Perforación y Voladura. para Plataformas
Parámetros de Perforación y Voladura. para Plataformas
 
Espontaneidad de las reacciones y procesos espontáneos
Espontaneidad de las reacciones y procesos espontáneosEspontaneidad de las reacciones y procesos espontáneos
Espontaneidad de las reacciones y procesos espontáneos
 
3.3 Tipos de conexiones en los transformadores trifasicos.pdf
3.3 Tipos de conexiones en los transformadores trifasicos.pdf3.3 Tipos de conexiones en los transformadores trifasicos.pdf
3.3 Tipos de conexiones en los transformadores trifasicos.pdf
 
Centro Integral del Transporte de Metro de Madrid (CIT). Premio COAM 2023
Centro Integral del Transporte de Metro de Madrid (CIT). Premio COAM 2023Centro Integral del Transporte de Metro de Madrid (CIT). Premio COAM 2023
Centro Integral del Transporte de Metro de Madrid (CIT). Premio COAM 2023
 
produccion de cerdos. 2024 abril 20..pptx
produccion de cerdos. 2024 abril 20..pptxproduccion de cerdos. 2024 abril 20..pptx
produccion de cerdos. 2024 abril 20..pptx
 

Algoritmos secuenciales

  • 1. Tema 9 ESPECIFICACIÓN ALGORÍTMICA DE SISTEMAS SECUENCIALES 1
  • 2. INTRODUCCiÓN • Existen sistemas secuenciales demasiado complejos pa- ra poder implementarlos con las técnicas vistas· hasta ahora, 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 de datos (vectores de n bits). En general constan de ope- raciones combinacionales más sencillas que se realizan secuencialmente. Ejemplos de dichos algoritmos son un sumador secuen- cial con un único FA o un multiplicador a partir de un sumador 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, sobre todo en campos tales como el tratamiento de señales, procesamiento de imágenes, etc. 1
  • 3. CONCEPTOS BÁSICOS • La especificación algorítmica de sistemas secuenciales implementa eficientemente 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 que consiste en la transferencia de vectores entre registros. Durante las transferencias se realizan las operaciones de suma, desplazamien- to, comparación, etc. • Esta nueva metodología divide la implementación en dos bloques básicos: • Camino de datos, el conjunto de elementos que implementa el almacenamiento de datos y las funciones de transformación de los mismos . • Sección de control, el sistema secuencial o autómata que controla 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 sigl Control subsystem Data inputs .1 Udld 1 • Data outputs Control inputs -~---.¡ _ ~~"~ ~I __ I • Control outputs 2
  • 4. 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 del exterior ("Control Input", por ejemplo, reset, begin, stop, modo de operación ...) y envía información u órdenes al exterior ("Control Output", por ejemplo, end, done, over- f1ow ... ). • Las condiciones son generadas por el camino de datos y 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, el acarreo en una operación, un desbordamiento, el valor de un bit o una comparación, etc. • Los puntos de control son las señales necesarias para realizar 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 sus elementos. Ejemplos de puntos de control son la carga de un regis- tro, los bits de control de un MUX o de DEMUX, el tipo de 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
  • 5. CONCEPTOS BÁSICOS • El resultado de aplicar o activar cada uno de los puntos de 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 que activar 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 microinstrucciones constituye un microprograma y su objetivo es imple- mentar el algoritmo o computación requerido. 4
  • 6. .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+-x if CLEAR then y+-O 5
  • 7. CAMINO DE DATOS • RAM = conjunto de 2k registros de N bits que sólo pue- den accederse de uno en uno. X Yn A k MEMORIA 1'" • (2K x n) n y • READ • WRITE Operación: if READ then y~M[~(A)] el se y~O if WRITE then M[~(A)]~x () ,",k-l . s iendo ~ A = Úi=O Ai . 2~ • Fichero de registros. RA WA p ,L p R 1••• (2P x n) ,~ • READ • WRITE y n Operación: if READ then y~R,¡[~(A)] else y~O if WRITE then RJ~(A)]~X 6
  • 8. ·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 in in 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
  • 9. CAMINO DE DATOS • Buses: son las conexiones, junto con los switches necesarios, que comunican los distintos elementos del camino de datos (registros y operadores) . • 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
  • 10. 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
  • 11. 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
  • 12. -CAMINO DE DATOS • Ejemplos de buses: • Crossbar n n n • Bus compartido o Usando un selector. n n LOAD1 LOAD2 n LOADm n S 1092 m o Usando registros con salida triestado. LOAD1 ENABLE1 n 11
  • 13. SECCiÓN DE CONTROL • Es el sistema secuencial o autómata que al activar los puntos de control en el orden adecuado controla las transferencias y transfor- maciones de los datos que tienen lugar en el camino de datos y que implementan 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 es el estado o microinstrucción siguiente. • La sección de control también se puede representar mediante un diagrama 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 es dificil realizar modificaciones (no hai una relación evidente entre la implementación y el algoritmo). • Su uso es poco frecuente. • Se denomina "Lógica Aleatoria". 12
  • 14. 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 y la implementación mediante elementos de retardo. u y x CK CK 13
  • 15. SECCiÓN DE CONTROL • Los puntos de control que se activan en cada estado se sacan de la salida del biestable correspondiente. CK s·1 c· J • Para activar un punto de control en dos o más estados: s· 1 CK , • • • Cl S~ ~C2 C3 14
  • 16. SECCiÓN DE CONTROL • Ejemplo: implementación con elementos de retardo Autómata Diagrama de Flujo K 15
  • 17. SECCiÓN DE CONTROL • Ejemplo (cont.): implem. con elementos de retardo CLK preset c1ear start k 16
  • 18. 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 i i 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'li11liO 1, ;: i i 1; i i h; i--i--+, ------;------+---- Oi 0, iOi 1!lio:I11 I / . / ' ,! 1,1; : )' f ,--~----- 01 01 01 1/ Io! '11 l' ) ) j J' j ) ¡-------- fll4 fll3 fll4 17
  • 19. 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 a los accesos a la memoria de control. • Apta para sistemas grandes y/o complejos. 18
  • 20. SECCiÓN DE CONTROL • Microprogramación • Una de las implementaciones más sencillas: DIRECCIÓN DE SALTO MUX 2P a 1 p MEMORIA DE CONTROL (2k x m) ~CLK ID I TIPO IlINSTRUCCIÓN CONDICIÓN DE SALTO REGISTRO DE MICROINSTRUCCIÓN PUNTOS DE CONTROL k 19
  • 21. SECCiÓN DE CONTROL • Memoria de control • Almacena la información de control necesaria para ejecutar el algoritmo. • Su tamaño viene dado por el número de microins- trucciones (2k) del microprograma por el número de bits 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 la siguiente microinstrucción (J.LI). 20
  • 22. 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 la siguiente 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
  • 23. SECCiÓN DE CONTROL • El funcionamiento o secuenciamiento puede realizarse de diferentes formas. 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 MUX de condiciones::::} El /1PC se incrementa. 2. Selección en el MUX de la condición a verificar. Si se cumple la salida del MUX = 1 ::::}el /1PC se carga con la dirección especificada en la p,1. 22
  • 24. SECCiÓN DE CONTROL • Ejemplo de sección de control microprogramada Sffir~~ 1 100 O O O O 1 O O O 1 O 1 O O O 100 1 O O 1 O O O 1 O 1 O O O O 1 O 101 O O O O O O O O CLK 23
  • 25. 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 J¡ 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
  • 26. 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 e e +- Ai . Bi + CAi EB Bi) . e } 25
  • 27. SUMADOR SECUENCIAL • Algoritmo 1: introduce la sincronización con el exterior mediante dos 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: do done +- 1 while (start) done +- O Cargar A Cargar B Borrar C for 1=1 to n { Di +- Ai E9 Bi E9 e e +- Ai . Bi +(Ai E9 Bi) . e } gota WA1T 26
  • 28. SUMADOR SECUENCIAL • Una vez identificadas las líneas de conexión con el exte- rior empezaremos por diseñar un camino de datos capaz de 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 elementos del camino de datos identificados y se determinan los puntos de control necesarios (existen diferentes alternativas) . 27
  • 30. SUMADOR SECUENCIAL • Algoritmo 2: introduce los puntos de control (microoperaciones) WA1T: do Preset -- while (start) Ciear LOADA LOADB CLEARc for 1=1 to n { SHIFTD LOADc SHIFTA SHIFTB } gota WA1T • Existen microoperaciones que pueden realizarse simultaneamente (p.e. LOADA y CLEARc), por lo que ambos puntos de control pueden 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
  • 31. SUMADOR SECUENCIAL • Algoritmo 3: se identifican las operaciones simultaneas (se reduce el número de microinstrucciones necesarias). WA1T: do Preset -- while (start) Clear 11 LOADA 11 CLEARc LOADB for 1=1 to n SHIFTD 11 LOADcl1 SHIFTAII SHIFTB gota WA1T 30
  • 32. 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ón if (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
  • 33. SUMADOR SECUENCIAL • Algoritmo 4: se substituyen las estructuras complejas por sus mi- croinstrucciones equivalentes activando en paralelo los puntos de control que lo permitan. WAIT: 50: Preset if (start) then goto WAIT 51: Clear 1 1 LOADA I 1 CLEARc I 1 CLEAR¡ 52 : LOADB LOOP: 53: 5HIFTD 11 LOADcl1 5HIFTAII 5HIFTBIIINC¡ if (I<n) then goto LOOP goto WAIT 32
  • 34. 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
  • 35. • en c: s: » e O XI en m O c: m z O - » r- CDm Cf) - (") e-m :::J. 3 (") -. o :::J . o Oa. ~CD ma. "'O m 0-- Cf)0 -.Cf) o- - . ..0 =:e a.CD m _. ~3 "'O CD 3 CD :::J -- m e :::J m (") o 3 "'O e -- m (") o- :::J :::J o CLEAR, INC, 1<" .,••.t::::::j f--- CI." do", DATA INPUT DATA OUTPUT LOADa SHIFTo " D CK n TI Cit. CK C FA S I I LOADA CLEAR LOADcc 1 log2" ú) ~
  • 36. SUMADOR SECUENCIAL • Algoritmo 4 bis: sólo cambian los puntos de control que se activan en 83 WAIT: 80: Preset if (start) then goto WAIT 81: Clear I I LOADA I I CLEARc I I CLEAR¡ 82 : LOADB LOOP: 83: 8HIFTD 11 LOADcl1 INC¡ if (I<n) then goto LOOP goto WAIT 35
  • 37. SUMADOR SECUENCIAL • Implementación de la sección de control: elementos de retardo. CLK preset clear~ ;r-r--Preset start DEMUX , n Clear Load A ~ Clearc Clear, Load B Shift D Load e Ine 1 •• 1 ~n!Vlu~ I I (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
  • 38. 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
  • 39. SUMADOR SECUENCIAL • Implementación de la sección de control: microprogra- mación. I<n MUX 401 2 STROBE INCR LOAD CONTADOR MICROPROGRAMA ROM (8 x 10) CLK rlb'OOb'S'b'''' _ Q .!J .Q }.. .~ n!..,$ I 000 I 1 1 o 001 I o 1 o 010 I 1 o o 011 I 1 o o 100 I 1 o 1 101 I o o o 110 o o o 111 X X X X X X X X X X 38
  • 40. 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 JlILJULILr i i ¡ i ¡ .... :a b ;c: d ; .. INC¡ : 1. IU ]~OXOX1Xlf2~ : ... ' . 1 vez . n veces JLJU ~IU X~n-l X n ~ • 3- ~ 3 oJ -.('1) §'3 ('1) ::J en t"""t- ~ c: 0. s: o' ::J » Q. e ('1) O ~ :c en en ('1) ° m 0. O o' ::J c: Q. m ('1) z ° O o - ::J » t"""t- ., r- o .. 3 ° ., o J ., o cc ., ~I
  • 41. 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 las entradas del multiplexor de selección de salto. IN I C I O: activar PRESET if empieza gota IN I C I O activar LOADR y CLEAR TEST: if ZlZ0 = 10 gota BUCLE else if ZlZ0 = 01 gota CORRECCION else activar DESPLAZAR BUCLE: activar INCREMENTA activar RESTA y LOADn if I < n gota BUCLE gota INICIO CORRECCION: activar SUMA y LOADR gota TEST 9.2. Dado el autómata de la figura diseña su correspondiente unidad de control micro- progamada completa. {e;}
  • 42. 30 TEMA 9. ESPECIFICACIÓN ALGORÍTMICA DE SISTEMAS SECUENCIALES 9.3. La siguiente figura representa una unidad de control implementada con elementos de retardo. Extráe su autómata de control e impleméntalo mediante la técnica de control 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 de cuatro bits, teniendo en cuenta el camino de datos de la figura. Calcula también cuál es la mejor señal de reloj para sincronizar el sistema, teniendo en cuenta los siguientes datos: tiempo de estabilización de los registros y contadores 10ns, tiempo de retardo en el sumador de 4 bits 30 ns, tiempo de retardo en el comparador y en los multiplexores 20 ns, tiempo de acceso a la memoria 90 ns. BUS DE ENfRADA carga X carga y AC=O for i= 1 to Y AC = AC plus X end REI.OXO 8USDE SAIDA CON CC
  • 43. 9.5. Obter o autómata de control e deseñar a unidade de control microprogramada completa que implemente o algoritmo seguinte: INICIO: BUCLE: ESPERAR: RECUPERAR: activar READY IF start goto INICIO activar OK, STARTING IF end goto ESPERAR ELSE activar OK, SELECT IF input = 00 activar PROCESSING ELSE IF input = 01 activar INITIATING activar PROCESSING activar DONE ELSE goto RECUPERAR ENDIF goto BUCLE activarWAIT, CHECK IF ready goto ESPERAR goto INICIO activar FAULT IF ready activarWAIT, RESTORING goto ESPERAR ENDIF goto BUCLE
  • 44. 9.5. Autómata de Control: {READY} {OK, STARTING} {OK, SELECT} {PROCESSING} {INITIATING} {PROCESSING} {DONE} {WAIT, CHECK} ready i¡io=lO OR i¡io=ll (i¡=l) INICIO: ESPERAR: BUCLE: RECUPERAR: {FAULT} {WAIT, RESTORING} Ternos: 11 puntos de control 10 microinstruccións de activación 5 condicións no MUX 12 instruccións de salto
  • 45. 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=Ol si si si
  • 46. 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
  • 47. 9.5. Unidade de Control Microprogramada: I stan end .. reaOy !I~=OO '1'0=01 MUX 8 al STROBE INCR LOAD CONTADOR MICROPROGRAMA ROM (32 X 12) CLK INICIO: 0??oo I 1 O activar READY x XO IF start goto INICIO O activar OK, STARTING x xO IF end goto ESPERAR O activar OK, SELECT O IF ilio = 00 goto 8 X X X O IF ilio = 01 goto 10 O X X x 1 goto RECUPERAR 1 O activar PROCESSING O x X O gotoBUCLE O O 1 O activar INITIA TING O 1 O O activar PROCESSING O O O O activar DONE O x X x O gotoBUCLE O activar WAIT, CHECK O IF ready goto ESPERAR O goto INICIO O activar FAULT O IF ready goto 20 O goto BUCLE 1 activar WAIT, RESTORING O goto ESPERAR
  • 48. [Examen Te Septiembre'2005] Deseñar a unidade de control microprogramada completa do seguiente algoritmo: INICIO: activar PREPARADO IF empezar GOTa INICIO activar INICIALIZANDO BUCLE TIEMPO: activar CALCULAR INSTANTE - - activar INICIALIZARl, INICIALIZAR2, INICIALIZAR3 IFx1xo=11 activar PROCESARl ELSE IF x¡XO = 01 activar PROCESAR2 activar DONE ELSE IFparar activar FINALIZAR ('-GTOINICIO ENDIF ENDIF GOTa TEST GOTa BUCLE TIEMPO TEST: BUCLE TEST: activar PONER A CERO activar ACUMULAR IF parar activar FINALIZAR GOTa INICIO END IF activar COMPARAR IF converge GOTa BUCLE TEST GOTa BUCLE TIEMPO
  • 49. [Examen TC Septiembre'2005] Autómata de Control: INICIO: BUCLE TIEMPO: BUCLE TEST: emos: 13 puntos de control 12 microinstruccións de activación 5 condicións no MUX 7 instruccións de salto {PREPARADO} {INICIALIZANDO} {CALCULAR_INSTANTE} {lNICIALIZARl, INICIALIZAR2, INICIALIZAR3 } {PROCESARl} {PROCESAR2} {DONE} {FINALIZAR} {ACUMULAR} {FINALIZAR} {COMPARAR}
  • 50. [Examen Te Septiembre'2005] Unidade de control rnicropogramada: 1 empezar ~ converge )(1"0= 11 x-1"0=01 MUX 8 a 1 STROBE INCR LOAD CONTADOR 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 1 O O O O O O O O O O O O O O 1 X X X X X O O O O O O 1 O O O O O O O O O O O O O 1 O O O O O O O O O O O O O 1 1 1 O O O O O O O 100 X X X X X O 1 O O 1 101 X X X X X O 1 O 1 1 X X X X X 011 1 O O O O O X X X X X 100 O O O O O 1 O O O O O O O O O O X X X X X 100 O O O O O O O O O 1 O O O O O O O O O O O O O 1 O O O O X X X X X 100 O O 011 01010- O O O O O O O O O O O X X X X X O O O O O O O O O O O O O O O 1 O O O O O O O O O O O O O 1 O O 1 O X X X X X 011 1 O O O O O O O O O O O O O • 011 X X X X X 100 O 1 O O O X X X X X O O O 1 1 I I activar PREPARADO IF empezar goto INICIO activar INICIALIZANDO activar CALCULAR_INSTANTE activar INIC1, INIC2, INIC3 IF xlxO= 11 goto 9 IF xlxO= 01 goto 11 IF parar goto 14 goto TEST activar PROCESAR1 goto TEST activar PROCESAR2 activar DONE goto TEST activar FINALIZAR goto INICIO activar PONER_A_CERO activar ACUMULAR IF parar goto 14 activar COMPARAR IF converge goto BUCLE_TEST goto BUCLE_TIEMPO