EC: Sistemas digitales a nivel RT
REALIZACIÓN DE SISTEMAS DIGITALES A NIVEL RT
Contenido:
D Diseño de sistemas digitales: organización Datos&Control; macro y micro-opera-
ciones; componentes; lenguaje RT; interconexión vía buses; realización de la unidad
de datos. Un ejemplo: calculadora; desarrollo de la calculadora a nivel RT.
Manuel Valencia
Descripción con cartas ASM: la construcción de cartas ASM; la carta de datos y la de control.
D Diseño de la unidad de control: mediante un biestable por estado. Control microprogramado.
D El uso de la calculadora.
Bibliografía básica
** C. Baena, I. Gómez, J.I. Escudero, M. Valencia: “Sistemas Digitales”. Servicio de publicaciones del Dpto.
Tecnología Electrónica, 1997. Cap. 1 y 2
** C. Baena, M.J. Bellido, A. J. Molina, M.P. Parra, M. Valencia: “Problemas de Circuitos y Sistemas Digi-
tales”. Ed. McGraw-Hill Interamericana, 1997. Caps 11 y 12.
Dpto. Tecnología Electrónica EC 10/March/09
NIVEL RT: DATOS Y CONTROL
CIRCUITOS VERSUS SISTEMAS
CIRCUITOS SISTEMAS
Información 0, 1 Palabras de datos
Nivel/Lenguaje De conmutación RT (Register Transfer)
Funcionalidad Máquina de estados finitos Instrucciones: Operaciones
Componentes Puertas y biestables MUX, ALU, ..., registros, ...
Conexión Líneas (cables) Buses
Organización Combinacional y Procesado de datos
almacenamiento (memoria) y control
x1 XIN
z1 Unidad de ZOUT
xn Circuito zk Control
Combinacional
reloj
X Z
y1
B1 Unidad de
Procesado
DIN DOUT
yr
Br
X : cualificadores o entradas de control
reloj Z : comandos o salidas de control
D: datos
Dpto. Tecnología Electrónica EC Nivel RT Datos y Control - 2
NIVEL RT: DATOS Y CONTROL
MACRO Y MICRO OPERACIONES
∗ Macro-operación: También llamada instrucción
• Es cada tarea que especifica previamente el usuario y que el sistema realiza
automáticamente
• En general el sistema tarda varios ciclos de reloj en su ejecución.
∗ Micro-operación o μop:
• Es cada tarea que el sistema realiza en un único ciclo de reloj
• En general consiste en una o varias transferencias entre registros (RT).
∗ Cuestiones de interés general:
••• La forma de diseñar los Sistemas Digitales
••• Las formas de describir los Sistemas Digitales
Dpto. Tecnología Electrónica EC Nivel RT Datos y Control - 3
NIVEL RT: DATOS Y CONTROL
METODOLOGÍA DE DISEÑO EN EL NIVEL RT (Top Down)
0/ Punto de partida: Descripción funcional a través del ISP
1/ Diseñar la Unidad/Ruta de Datos
Proceso en varios pasos: Se establece una arquitectura básica, se desarrollan las
operaciones/instrucciones a nivel de micropoeraciones y se modifica la arquitectura
básica de la unidad/ruta de datos
2/ Describir formalmente el comportamiento de datos y de control
mediante un algoritmo
(algoritmo del flujo de datos y de control)
3/ Diseñar la Unidad de Control
Dpto. Tecnología Electrónica EC Nivel RT Datos y Control - 4
NIVEL RT: DATOS Y CONTROL
FORMAS DE DESCRIPCIÓN
UTILIDAD:
Ä En el proceso de diseño Ä Como documentación
QUÉ DESCRIBIR
Ä Estructura de la Unidad de Datos
F Componentes secuenciales (registros), llamados también de memoria
F Componentes combinacionales, llamados también unidades funcionales o
recursos de cálculo
F Componentes de conexión (buses)
Ä Microprograma de control
Ä Estructura del controlador
FORMAS DE DESCRIPCIÓN:
Ä Gráficas
F Orientadas al nivel estructural: dibujos/diagramas de circuitos
F Orientadas al nivel funcional: cartas ASM (Algorithmic State Machine)
Ä HDL: Hardware Description Language
Dpto. Tecnología Electrónica EC Nivel RT Datos y Control - 5
NIVEL RT: DATOS Y CONTROL
EJEMPLO DE SISTEMA DIGITAL
• Especificación inicial:
CALCULADORA DE SUMAS Y RESTAS: Cualquier posibilidad de suma o resta
entre dos datos, A y B, y de almacenar el resultado en el registro que ocupaba uno de ellos
• Conjunto de instrucciones (ISP: Instruction Set Processor). Hay 8, que son:
•A← A+B •B← A+B •A← A-B •B← A-B
• A ← -A + B • B ← -A + B • A ← -A - B • B ← -A - B
• Organización del sistema
XS U. PROCESADO FIN
Z
CONTROL A
IR[3] B
Usuario Sistema
Dpto. Tecnología Electrónica EC Nivel RT Datos y Control - 6
NIVEL RT: DATOS Y CONTROL
• Modo de operación de calculadora
ÍÍÍ EL USUARIO:
Ä Especifica en IR (Instruction Register) una de las ocho instrucciones.
Ä Suministra la señal de comienzo XS.
ÁÁÁ EL SISTEMA:
Ä Ejecuta la instrucción especificada.
Ä Genera señal "FIN" y espera nueva XS.
Dpto. Tecnología Electrónica EC Nivel RT Datos y Control - 7
NIVEL RT: DATOS Y CONTROL
NOTACIÓN RT. TIPOS DE OPERACIÓN
De escritura Operación Notación RT
Carga en paralelo Α ← DIN
Desplazamiento a dcha. An-1 ← Dr , Ai ← Ai+1 ∀i≠n-1 ; A ← ShR(A,Dr)
Desplazamiento a izda. A0 ← Dl , Ai ← Ai-1 ∀i≠0 ; A ← ShL(A,Dl)
Incremento (Decremento) A ← A+1 (A ← A-1)
Puesta a 0 (ó a 1) A←0 (A ← 1...1)
Inhibición (NOP) A←A
De control De lectura
Incondicional: Condicional
Operación Señal de control
Dout = A R=1: Dout = A
Carga en paralelo W (T, L)
R=0: Dout = HI
Desplazamiento a dcha. / izda. SR / SL
Incrementa / Decrementa I/D
Las operaciones de lectura pueden afectar a:
Puesta a 0 / 1 CL (Z) / S
Inhibición Ninguna activa
Todo el dato: Dout = A
Lectura R
Parte del dato: Outa = A3
Una función del dato:
{
Cero = 0 si A≠0
1 si A=0
Dpto. Tecnología Electrónica EC Nivel RT Datos y Control - 8
NIVEL RT: DATOS Y CONTROL
IMPLICACIÓN DE DATOS EN TRANSFERENCIA ENTRE REGISTROS
f(x): A ← G(B, C, ...)
Condición de ejecución Operación RT
COMPONENTES DE MEMORIA:
UD: Registros A, B C
Funciones: Escritura en A y Lectura de B yC
COMPONENTES COMBINACIONALES:
Para implementar funciones:
En UD: el procesado de datos G(B, C, ...)
En UC: la condición de control, f(x)
COMPONENTES DE CONEXIÓN:
Caminos físicos y lógicos para el flujo de datos desde cada registro fuente al de destino:
• Líneas de conexión (buses)
• Circuitos combinacionales
ADEMÁS, LA UC:
Establece la secuencia de μOps
Genera las señales de control en UD
Dpto. Tecnología Electrónica EC Nivel RT Datos y Control - 9
NIVEL RT: DATOS Y CONTROL
Descripción estructural del Sistema digital
CONTROL DATOS
R B
• Evalúa f(x) Δ ∇
Circuito
RB Combinacional
x • Genera señales de
control que realiza
C G(B, C, ...)
• Establece secuencia Δ
de RT
WA •
•••
W A
Δ
CK
Dpto. Tecnología Electrónica EC Nivel RT Datos y Control - 10
NIVEL RT: DATOS Y CONTROL
Operación temporal 1
CONTROL DATOS
R B
Ciclo K • Evalúa f(x)
Δ ∇
Circuito
RB
A ← G(B, C, ...)
Combinacional
f(x): x • Genera señales que realiza
de control G(B, C, ...)
C
Δ
• Establece
WA •
Inicialmente los datos son: secuencia de RT
••• C0
A0, B0 y C0
W A
Suponemos f(x) = 1 Δ
CK
ciclo K-1 ciclo K ciclo K+1
Ck:
WA:
RB:
Sal B: HI B0 HI
Sal G: ??? G(B0, C0, ...) ???
A: A0 G(B0, C0, ...)
Dpto. Tecnología Electrónica EC Nivel RT Datos y Control - 11
NIVEL RT: DATOS Y CONTROL
Operación temporal 2
CONTROL DATOS
R B
Ciclo K • Evalúa f(x)
Δ ∇
Circuito
RB
A ← G(B, C, ...)
Combinacional
f(x): x • Genera señales que realiza
de control G(B, C, ...)
C
Δ
• Establece
WA •
Inicialmente los datos son: secuencia de RT
••• C0
A0, B0 y C0
W A
Suponemos f(x) cambia Δ
CK
f(x):
Ck:
WA:
RB:
Sal B: HI B0 HI
Sal G: ??? G(B0, C0, ...) ???
A: A0 G(B0, C0, ...)
Dpto. Tecnología Electrónica EC Nivel RT Datos y Control - 12
NIVEL RT: DATOS Y CONTROL
METODOLOGÍA DE DISEÑO EN EL NIVEL RT (Top Down)
Tras elegir el ISP del Sistema Digital:
1/ Diseñar la Unidad/Ruta de Datos (Data Path)
Proceso en varios pasos:
∗ Se establece una arquitec-
tura básica, Registros
∗ se desarrollan las opera-
Entradas Salidas
ciones/instrucciones a Bloque de
nivel de micropoera- Interconexión
ciones, y
∗ se modifica la arquitec- Unidades
tura básica de la unidad/ Funcionales
ruta de datos
Tratemos en primer lugar las interconexiones.
Dpto. Tecnología Electrónica EC Nivel RT Datos y Control - 13
NIVEL RT: DATOS Y CONTROL
INTERCONEXIÓN VÍA BUSES
• Bus: Conjunto de “n líneas”
B0 n B[n] = B0:n-1
conductoras con un protocolo
para su manejo BUS
{ B1
Bn-1 n B[n] = B0:n-1
• Tipos de Buses
Unidireccional Dedicados Estándar (0, 1)
Salida
Fuente Destino
estándar
Bidireccional Compartidos 3-state (0, 1, HI)
Fu / De De / Fu
Buffer
3-state
Dpto. Tecnología Electrónica EC Nivel RT Datos y Control - 14
NIVEL RT: DATOS Y CONTROL
LECTURA DE BUS (con Escritura en Registro)
A ← Bus = Dato
Único bus: Uno entre varios buses (p. ej. 4):
Conexión directa Conexión multiplexada
Bus Dato Bus 0
WA = 1
Bus 1
Bus 2 Dato
A Bus 3
S1 1
0
1 0 1 2 3
S0
Ej.: Dato = 1011 0
Bus
WA = 1
WA = 1
1 0
1 A
0 A
1
2
1 3
Dpto. Tecnología Electrónica EC Nivel RT Datos y Control - 15
NIVEL RT: DATOS Y CONTROL
ESCRITURA DE BUS (con Lectura en Registro)
Bus = [A]
Sólo hay un registro fuente: Hay varios registros fuente:
la salida del registro puede deben ser 3-state
ser estándar o 3-state
R3 A3 R2 A2 R1 A1
Bus único Varios Buses
0 1 0
Como máximo, una señal Rj activa
A P. ej. R1R2R3 = 0 1 0 para
Bus = [A2]
Recordad: las salidas bidireccionales
(in/out) conllevan el carácter 3-state
Dpto. Tecnología Electrónica EC Nivel RT Datos y Control - 16
NIVEL RT: DATOS Y CONTROL
EJEMPLO:
• Se dispone de 4 registros [n], A3, A2, A1, A0, con carga en paralelo (W3, W2, W1, W0)
• Hay que realizar la conexión para la trasnferencia AF → AD, con F, D ∈ {0, 1, 2, 3}
• La selección de Fuente está dada por F1F0 y la de Destino, por D1D0.
Solución del Destino: Ejemplo, AD = A1 (D=1)
D1D0 = 0 1
DEC
2:4 3 0
0 D1 1 0
2
1 1
1 D0 0 0
0 [AF]
W W W W
A0 A1 A2 A3
Hay que garantizar [AF] en las entradas paralelo de AD = A1
Dpto. Tecnología Electrónica EC Nivel RT Datos y Control - 17
NIVEL RT: DATOS Y CONTROL
CASO 1: Registros con entrada y salida separadas
1/ Con salida estándar D Solución Multiplexada
Ejemplo, A3 → A1
DEC
0 D1
2:4 3 AD = A1
1 2
1 D0
1 AF = A3; F1F0 = 1 1
0 0
0 W
1 W 0 W 0 W
A0 A1 A2 A3
n n n n
[A3]
1 F1 1 0 1 2 3
1 F0 0
n x MUX 4 : 1
Dpto. Tecnología Electrónica EC Nivel RT Datos y Control - 18
NIVEL RT: DATOS Y CONTROL
CASO 2: Registros con entrada y salida separadas
2/ Con salida 3-state D Solución Bus (HI)
DEC Ejemplo, A3 → A1
2:4 3
0 D1 1 2
1
1 D0 0 0
0 W
1 W 0 W 0 W
A0 A1 A2 A
R ∇ R ∇ R ∇ R ∇ 3
n n n n
[A3]
DEC
2:4 0
0
1 F1 1 0
1
2 0
1 F0 0 1
3
Dpto. Tecnología Electrónica EC Nivel RT Datos y Control - 19
NIVEL RT: DATOS Y CONTROL
CASO 3: Registros con terminales de entrada/salida
Terminal bidireccional D Solución Bus (HI)
DEC Ejemplo, A3 → A1
2:4 3
0 D1 1 2
1
1 D0 0 0
0 W
1 W 0 W 0 W
A0 A1 A2 A
R ∇ R ∇ R ∇ R ∇ 3
0 0 0 1
DEC
2:4 0
1 F1 1 1
1 F0 0
2
3
Dpto. Tecnología Electrónica EC Nivel RT Datos y Control - 20
NIVEL RT: DATOS Y CONTROL
DISEÑO DE Data Path
Reg Reg Reg Reg
Entradas Salidas
COMPONENTES
Bloque de
Interconexión
Unidad Unidad
Funcional Funcional
• El Data Path tiene que poder ejecutar todas las μops
• La organización del Data Path puede ser de propósito:
∗ Específico: Para una tarea concreta (p. ej. sumador serie de pág. siguiente)
∗ General: Para muchas tareas (p. ej. el computador simple que diseñaremos)
• Estructura: nos centramos en Data Path síncronos disparados por flanco.
Dpto. Tecnología Electrónica EC Nivel RT Datos y Control - 21
NIVEL RT: DATOS Y CONTROL
REGISTROS VISIBLES POR EL USUARIO
• Registros visibles por el usuario: Aquéllos que aparecen en la descripción de las
macrooperaciones (instrucciones)
• Los registros visibles son los únicos que el usuario necesita conocer.
• Registros visibles de la calculadora (pág. 6): A y B.
• Cuando se ejecuta una macrooperación no debe modificarse el contenido de ningún
registro visible, a no ser que dicho registro aparezca como destino en una transferencia
de la descripción de la macrooperación.
• Puede modificarse el contenido de cualquier registro no visible.
Dpto. Tecnología Electrónica EC Nivel RT Datos y Control - 22
NIVEL RT: DATOS Y CONTROL
DATA PATH ESPECÍFICO: EJ. SUMADOR SERIE
Din [n]
Data Path
WA xr Pin WB xr Pin CL Cy
UP CNT mod. n
SRA DA[n] 0 SRB DB[n] 0
CD ai bi
D in Ci+1
q FA Ci
W si
xr
SRS SUM[n]
Cy WA WB CL SRA SRB UP CD W SRS
Start Control Unit End
Dpto. Tecnología Electrónica EC Nivel RT Datos y Control - 23
NIVEL RT: DATOS Y CONTROL
ORGANIZACIONES GENÉRICAS BASADAS EN ALU:
1. BUS SIMPLE
Ck RT
Ck R1 Ck R2 Ck Rk
ALU
.
.
.
Ck ACC
Sumar R1 con R2 en Rk requiere varias μops:
1 RT ← R1
2 ACC ← RT + R2
3 Rk ← ACC
Dpto. Tecnología Electrónica EC Nivel RT Datos y Control - 24
NIVEL RT: DATOS Y CONTROL
2. DOBLE BUS
B1
Ck RT
.
.
.
Ck R1 Ck R2 Ck Rk
ALU
B2
Sumar R1 con R2 en Rk requiere varias μops, pero menos:
1 RT ← R1
2 Rk ← RT + R2
Dpto. Tecnología Electrónica EC Nivel RT Datos y Control - 25
NIVEL RT: DATOS Y CONTROL
3. TRIPLE BUS
ALU
Ck R1 Ck R2 Ck Rk
Sumar R1 con R2 en Rk requiere sólo 1 μop:
Rk ← R1 + R2
Dpto. Tecnología Electrónica EC Nivel RT Datos y Control - 26
NIVEL RT: DATOS Y CONTROL
METODOLOGÍA DE DISEÑO EN EL NIVEL RT (Top Down)
1/ Diseñar la Unidad/Ruta de Datos (Data Path)
∗ Elección de una arquitectura básica
∗ Desarrollo de cada macro-operación en una secuencia de micro-operaciones (μOp):
• Instrucción o macro-operación: Ejecución en varios ciclos de Clk
• Micro-operación: Una o más primitivas RT que se ejecutan en solo ciclo de Clk
Nivel ISP Nivel RT
μOp RT1
Cada macro-operación Secuencia de
Instrucción K μOp RT2 micro-operaciones
···
Este paso afecta y depende μOp RTN
de la Unidad de Datos
∗ Cambios en la arquitectura básica de la unidad de datos para que ejecute todas las
micro-operaciones.
Dpto. Tecnología Electrónica EC Nivel RT Datos y Control - 27
NIVEL RT: DATOS Y CONTROL
DISEÑO DE LA CALCULADORA
Descripción de componentes
DB
Todo de n bits
Ejemplo: Registro A (B)
T Estructural
WT
Δ RA V
A RA
WA Δ A
a b WA
s Funcional
a±b r
Δ RB
[AC] B
WB RA WA A← V=
RAC
AC WAC 0 0 A←A V = HI
Δ ZAC
0 1 A←V V = DIN
UNIDAD DE PROCESADO
1 0 A←A V = [A]
1 1 Prohibida
RA WA RB WB WT s r RAC WAC ZAC
(del controlador)
Dpto. Tecnología Electrónica EC Nivel RT Datos y Control - 28
NIVEL RT: DATOS Y CONTROL
INSTRUCCIONES → SECUENCIA DE MOPS
μOP Α←Α+Β Β←Α+Β Α←Α−Β Β←Α−Β
T0 ΑC←0, Τ←Α
T1 Τ←B , ΑC←AC+T
T2 ΑC←AC+T ΑC←AC-T
T3 Α←ΑC Β←ΑC Α←ΑC Β←ΑC
μOP Α←(−Α)+Β Β←(−Α)+Β Α←(−Α)−Β Β←(−Α)−Β
T0 ΑC←0, Τ←Α
T1 Τ←B , ΑC←AC-T
T2 ΑC←AC+T ΑC←AC-T
T3 Α←ΑC Β←ΑC Α←ΑC Β←ΑC
Dpto. Tecnología Electrónica EC Nivel RT Datos y Control - 29
NIVEL RT: DATOS Y CONTROL
TAREAS PENDIENTES
Realizar los siguientes pasos de la Metodología de diseño, que son:
2/ Describir formalmente el comportamiento de datos y de control
mediante un algoritmo
(algoritmo del flujo de datos y de control)
3/ Diseñar la Unidad de Control
Dpto. Tecnología Electrónica EC Nivel RT Datos y Control - 30