LA COMPUTADORA BASADA EN UN PROCESADOR

La unidad de proceso se llama una unidad, ... I. Ir a la memoria y extraer el código de la siguiente ... Una microoperación es una operación elemental...

3 downloads 745 Views 2MB Size
LA COMPUTADORA BASADA EN UN PROCESADOR

DISEÑO LÓGICO DE PROCESADORES 

Una unidad procesadora es aquella parte de un sistema digital o un computadora digital que configura las operaciones en el sistema



Esta compuesta por un número de registros y de funciones digitales que conforman microoperaciones aritméticas, lógicas, de desplazamiento y trasferencia.



La unidad de proceso se llama una unidad, centrar de proceso o CPU, cuando se combina con una unidad de control que supervisa la secuencias de microoperacione



El número de registros de una unidad procesadora varia desde un registro procesador hasta 64 registros o más



Una operación puede ser configurada en una unidad de proceso con una microoperación sencilla o con una secuencia de microoperáciones



Por ejemplo la multiplicación de dos números binarios almacenados en dos registros puede ser configurada con un circuito combinacional que realiza la operación por medio de compuertas.



Tan pronto como las señales se propagan a través de las compuertas, el producto estará disponible y puede ser trasferido a un registro de destino con un pulso de relój sencillo



Todos los computadores, excepto los muy grandes y rápidos, configuran las operaciones, participantes por medio de una secuencia de macrooperaciones.



De esta manera, el procesador necesita tener solamente circuitos que configuren las microoperaciones básicas simples tales como sumar desplazar



Otras operaciones, tales como multiplicación, división y aritmética de punto flotante, se generan conjuntamente con la unidad de control.



La unidad procesadora en sí se diseña para configurar microoperaciones básicas.

UNIDAD DE CONTROL 

La función principal de la unidad de control del UCP es dirigir la secuencia de pasos de modo que la computadora lleve a cabo un ciclo completo de ejecución de una instrucción, y hacer esto con todas las instrucciones de que conste el programa.



Los pasos para ejecutar una instrucción cualquiera son los siguientes: 

I. Ir a la memoria y extraer el código de la siguiente instrucción (que estará en la siguiente celda de memoria por leer). Este paso se llama ciclo de fetch en la literatura computacional (to fetch significa traer, ir por).



II. Decodificar la instrucción recién leída (determinar de que instrucción se trata).



III. Ejecutar la instrucción.



IV. Prepararse para leer la siguiente casilla de memoria (que contendrá la siguiente instrucción), y volver al paso 1 para continuar.



La unidad de control ejecutara varias veces este ciclo de cuatro “instrucciones alambradas” a una enorme velocidad.



Se llama así a estas instrucciones porque no residen en memoria, ni fueron escritas por ningún programador, sino que la maquina las ejecuta directamente por medios electrónicos, y lo hará mientras este funcionando (mientras este encendida) en una computadora es a razón de cientos de miles (o incluso millones) de veces por segundo.

MICROOPERACIONES ARITMÉTICAS 

Una microoperación es una operación elemental efectuada con los datos almacenados en los registros.



Las microoperaciones que se encuentran con mayor frecuencia en las computadoras digitales se clasifican en cuatro categorías:   





1. Microoperaciones de transferencia de registros que transfieren información binaria de un registro a otro. 2. Microoperaciones aritméticas que ejecutan operaciones aritméticas sobre datos numéricos almacenados en los registros. 3. Microoperaciones lógicas que ejecutan operaciones de manipulación de bits sobre datos no numéricos almacenados en registros. 4. Microoperaciones de corrimiento que ejecutan operaciones de corrimiento sobre los datos almacenados en los registros.

Las microoperaciones aritméticas básicas son suma, resta, incremento, decremento y corrimiento.



La función digital que configura las microoperaciones con la información almacenada en los registros del procesador se llama comúnmente ALU.



Par realizar una microoperación, el control canaliza la fuente de información de los registros hasta las entradas del ALU.



El ALU recibe la información de los registros y realiza una operación dada de la manera especificada por el control.



El resultado de la operación se trasfiere al registro de destino.



Por definición, el ALU es un circuito combinacional; de manera que toda la operación de trasferencia entre registros pueden realizarse durante el intervalo de un pulso de reloj.



Todas las operaciones de trasferencias entre registros, incluyendo la trasferencia entre registros de una unidad procesadora típica, se realizan en un ALU común de lo contrario, sería necesario duplicar las funciones digitales para cada registro



Las microoperaciones de desplazamiento se realizan a menudo en una unidad separada.



Una unidad de desplazamiento se muestra por lo general separada, pero algunas veces está incluida como parte de la unidad enteramente aritmética y lógica



Una computadora CPU debe manipular no solamente datos sino también códigos de instrucción y direcciones que vienen de la memoria.



El registro que almacena y manipula el código de operación de instrucciones se consideran parte de la unidad de control.



Los registros que almacenan direcciones son incluidos algunas veces como parte de la unidad de proceso y la información de direcciones se procesa por un ALU común.



En algunos computadoras, los registros que almacenan direcciones son conectados a un bus separado y la información de dirección se manipula con funciones digitales separadas.

ORGANIZACIÓN DEL PROCESADO 

La parte procesadora de un computador CPU se trata algunas veces como eI cánal de datos del CPU porque el procesador formula los canales de trasferencia de datos entre los registros de la unidad



Los diferentes caminos son controlados supuestamente por medio de compuertas que abren los caminos necesarios y cierran otros.



Una unidad procesadora puede diseñarse para satisfacer un conjunto de canales de datos para una aplicación específica



Las compuertas de control que formulan los canales de datos son esencialmente multiplexores y decodificadores cuyas líneas de selección especifican el camino requerido.

ORGANIZACIÓN DEL BUS 

Cuando se incluye un gran número de registros en una unidad de proceso es más eficiente conectarlos por medio de buses comunes o arreglarlos como una memoria pequeña que tiene un tiempo de acceso muy rápido.



Los registros se comunican entre sí no solamente por la trasferencia directa de datos sino también cuando se realizan varias microoperaciones



En la Figura se muestra una organización con bus para circuito registros procesadores



Cada registro se conecta a dos multiplexores (MUX) para formar los buses de entrada A y B.



Las líneas de selección de cada multiplexor seleccionan un registro para el bus particular.



Los buses A y B se aplican a una unidad lógica aritmética común.



La función seleccionada en el ALU determina la operación particular que se va a realizar



Las microoperaciones de desplazamiento se configuran en el registro de desplazamiento.



El resultado de la microoperación pasa a través del bus de salida S hasta las entradas de todos los registros



El registro de destino que recibe la información del bus de salida se selecciona por medio de un decodificado



Cuando se habilita, este decodificador activa una de las entradas de carga del registro para suministrar un canal de trasferencia entre los datos del bus S y las entradas del registro de destino seleccionado



El bus de salida S alimenta los terminales para trasferir datos de un destino externo.



Una entrada del multiplexor A ó B puede recibir datos de los elementos que lo rodean cuando es necesario trasferir datos externos a la unidad de proceso.



La unidad de control que supervisa el sistema de bus procesador dirige el flujo de información a través del ALU seleccionando los diferentes componentes de la unidad

  

Por ejempro para realizar la microoperación: R1R2+R3 El control debe suministrar variables de selección binarias a las siguientes entradas de selección 1. Selector MUX A: coloca el contenido de R2 en el bus A. 2. Selector MUX B: coloca el contenido de R3 en el bus B. 3. Selector de función ALU: genera la operación aritmética A + B. 4 Selector de desplazamiento: para la trasferencia directa de la salida del ALU al bus de salida S (ningún desplazamiento) 5 Selector de destino del decodificador: trasfiere el contenido del bus S a R1.



Las cinco variables selectivas de control deben ser generadas simultáneamente y deben estar disponibles durante un intervalo de pulso de reloj común.



Para lograr una rápida respuesta de tiempo, se construye el ALU con circuitos generadores de arrastre posterior y el registro de desplazamiento se configura con compuertas combinacionales



Cuando se encapsula en un CI, la unidad procesadora se llama algunas veces registro y unidad lógica aritmética o RALU (register and arithmetic logic unit).



Algunos fabricantes lo llaman un microprocesador de un grupo de bits.



El prefijo micro se refiere a un tamaño físico pequeño del circuito integrado en el cual se incluye el procesador



El grupo de bits se refiere al hecho de que el procesador puede ser expandida a una unidad de proceso con un gran número de bits usando un grupo de CI.



Un microprocesador de un grupo de 4 bits contiene registros y ALU para manipular datos de 4 bits



Dos CI de éstos pueden ser combinados para construir una unidad procesadora de 8 bits.



Para un procesador de 16 bits , es necesario usar cuatro circuitos integrados y conectarlo en cascada



El arrastre de salida de un ALU se conecta al arrastre de entrada del siguiente ALU de mayor orden y la salida en serie y líneas de entrada de los registros de desplazamiento se conectan también en cascada



Un microprocesador de un grupo de bits debe distinguirse de otro tipo de CI llamado mícroprocesador.



El primero es una unidad procesadora mientras que el microprocesador se refiere a un computadora CPU completo encapsulado en una pastilla de CI.



Algunas unidades procesadoras separan un registro de otros y se le llama registro acumulador, abreviado AC o registro A.



El nombre dé este registro se deriva del proceso de adición aritmética que se encuentra en los computadoras digitales.



Algunas unidades procesadoras separan un registro de otros y se le llama registro multiproposito acumulador, abreviado AC o registro A. El nombre dé este registro se deriva del proceso de adición aritmética que se encuentra en los proccesadores digitales.

Unidad aritmético-lógica

ALU

DEFINICIÓN 

La ALU (unidad aritmético-lógica) es el dispositivo que se encarga de realizar: a) b)

Operaciones aritméticas (suma, resta, etc.). Operaciones lógicas (and, or, xor, etc.).

CIRCUITOS COMBINATORIOS 

Su salida depende exclusivamente de sus entradas.

COMPUERTAS BÁSICAS

COMPUERTAS BÁSICAS AND

OR

A

B

A·B

A

B

A+B

0

0

0

0

0

0

0

1

0

0

1

1

1

0

0

1

0

1

1

1

1

1

1

1

NOT A

Ā

0

1

1

0 30

OTRAS COMPUERTAS XOR (or exclusiv0).  EQV (equivalence).  NAND (not AND).  NOR (not OR). 

MULTIPLEXOR El multiplexor (mux) tiene 2n entradas de datos, n bits de selección y una salida.  Los bits de selección se usan para decidir cuál entrada pasa a la salida.  Mux 2 a 1 

MULTIPLEXOR 

Mux 4 a 1



Mux 8 a 1

SUMADOR COMPLETO 

Sumador completo (full adder) de 1 bit:  Entradas:

dos números de 1 bit y un bit de carry de entrada.  Salidas: la suma de 1 bit y un bit de carry de salida.

SUMADOR COMPLETO

SUMADOR COMPLETO Suma = a  b  CarryIn  CarryOut = (a · CarryIn) + (b · CarryIn) + (a · b) = (a + b) · CarryIn + (a · b) 

SUMADOR COMPLETO 

Diagrama a bloque.

ALU DE 1 BIT Dos operaciones: AND y OR.  Un bit para seleccionar la operación. 

Operación

Salida

0

a·b

1

a+b

AGREGANDO OPERACIONES El siguiente paso es agregar la suma.  Se agrega un sumador completo al diseño anterior. 

ALU DE 1 BIT 3 operaciones: AND, OR y suma.  2 bits para seleccionar la operación. 

Operación Resultado

CarryOut

00

a·b

X

01

a+b

X

10

ab CarryIn

(a + b) · CarryIn + (a · b)

11

X

X

AGREGANDO OPERACIONES Agregar la resta a – b.  a – b  a + b si b está en complemento a 2.  El complemento a dos de b se encuentra sumando 1 al complemento a uno de b.  El complemento a uno de b se encuentra negando a b.  a – b = a + (–b) = a + (¬b + 1) = a + ¬b + 1  El 1 de la suma viene en CarryIn. 

ALU DE 1 BIT 4 operaciones: AND, OR, suma y resta.  2 bits para seleccionar la operación.  Un bit extra para diferenciar entre la suma y la resta.  En la resta, CarryIn es 1. 

ALU DE 1 BIT

ALU DE 1 BIT Operación Binver CarryIn t

Resultado

CarryOut

00

X

X

a·b

X

01

0

X

a+b

X

10

0

X

10

1

0

X

X

10

1

1

ab

a + ¬b

11

X

X

X

X

a  b  CarryIn (a + b) · CarryIn + (a · b)

AGREGANDO OPERACIONES 

Agregar la operación NOR:  ¬(a



+ b)

Ley de DeMorgan:  ¬(a

+ b) = ¬a · ¬b

La ALU ya puede calcular a · b y ¬b.  Hace falta poder calcular ¬a. 

ALU DE 1 BIT 5 operaciones: AND, OR, NOR, suma y resta.  2 bits para seleccionar la operación.  Binvert diferencia entre la suma y la resta.  En la resta, CarryIn es 1.  Ainvert y Binvert diferencian entre AND y NOR. 

ALU DE 1 BIT

ALU DE 1 BIT Operación Ainvert

Binvert

CarryIn

Resultado

CarryOut

00

0

0

X

a·b

X

00

1

1

X

¬a · ¬b

X

01

0

0

X

a+b

X

10

0

0

X

ab CarryIn

(a + b) · CarryIn + (a · b)

10

0

1

0

X

X

10

0

1

1

ab

a + ¬b

11

X

X

X

X

X

AGREGANDO OPERACIONES 

Variando Ainvert y Binvert permite generar: 8

operaciones lógicas.  5 operaciones aritméticas.

AGREGANDO OPERACIONES Operación

Ainvert

Binvert

CarryIn

Resultado

CarryOut

00

0

0

X

a·b

X

00

0

1

X

a · ¬b

X

00

1

0

X

¬a · b

X

00

1

1

X

¬a · ¬b

X

01

0

0

X

a+b

X

01

0

1

X

a + ¬b

X

01

1

0

X

¬a + b

X

01

1

1

X

¬a + ¬b

X

AGREGANDO OPERACIONES Operación

Ainvert

Binvert

CarryIn

Función aritmética

10

0

0

0

a+b

10

0

0

1

a+b+1

10

0

1

1

a-b

10

1

0

1

b-a

10

1

1

1

-a - b

ALU DE 32 BITS ¿Cómo se genera una ALU de 32 bits?  Con 32 ALUs de 1 bit.  CarryOut de la ALUi se conecta a CarryIn de la ALUi+1.  En la resta CarryIn ALU0 se conecta a 1. 

ALU DE 32 BITS

ALU PARA MIPS El diseño de la ALU está incompleto.  La mayoría de las instrucciones de MIPS pueden ser realizadas con las operaciones AND, OR, suma y resta.  Se necesita soportar la instrucción slt (set on less than).  slt $x, $y, $z guarda 1 en $x si $y < $z y 0 en otro caso. 

SOPORTANDO SLT slt $x, $y, $z pone a ceros los bits 1 a 31 de $x.  El bit 0 de $x tiene el resultado de la comparación de $y y $z. 

$x

0

0



31

30



0 1

$y < $z 0

SOPORTANDO SLT Se calcula t = $y - $z.  Si t es negativo $y < $z.  Si t es positivo o cero $y  $z.  En MIPS los números negativos tienen 1 en el bit 31.  El bit 31 de t tiene el resultado de la comparación. 

SOPORTANDO SLT Para hacer una ALU de 32 bits se consideran dos tipos de ALU distintos.  Una para los bits del 0 al 30. 

 Parecida

al diseño anterior, tiene una entrada extra llamada Less.



Otra para el bit 31.  Además

de la entrada Less, tiene una salida Set con el signo de la resta y un detector de overflow.

ALU PARA LOS BITS 0 AL 30

ALU PARA EL BIT 31

ALU DE 32 BITS Se conectan las 32 ALUs.  CarryOut de la ALUi se conecta a CarryIn de la ALUi+1.  Las entradas Less de la ALU1 a la ALU31 se ponen a 0.  La entrada Less de la ALU0 se conecta a la salida Set de la ALU31.  En la resta CarryIn de la ALU0 se conecta a 1. 

ALU DE 32 BITS

DISEÑO DE CIRCUITOS LÓGICOS SECUENCIALES

CIRCUITOS COMBINATORIOS Y SECUENCIALES Los circuitos lógicos se clasifican en dos tipos: combinacional o secuencial.  Un circuito lógico combinacional, es aquel cuyas salidas dependen sólo de las entradas actuales.  



Ni la secuencia de entrada ni el tiempo en que se realice, alteran la salida del circuito. Son circuitos sin memoria. Una característica de estos circuitos es que ninguno de ellos maneja líneas de retroalimentación en su estructura.

En un circuito lógico secuencial, la salida del dispositivo depende del estado en el cual se encontraba el mismo y de la secuencia de entrada.

CIRCUITOS COMBINATORIOS Y SECUENCIALES 



En los circuitos combinacionales, la salida es siempre una función de la entrada (zi=F(xi)). En un circuito secuencial, como el del ejemplo: inputs



output

la salida entonces, es una función de las entradas y de todas las salidas que hayan ocurrido en el circuito.

CIRCUITOS COMBINATORIOS Y SECUENCIALES 



Ahora, en lugar de usar todas las salidas pasadas, representamos el pasado del circuito como su estado. zi=f(xi, si) si+1=g(xi, si) Esto es, simplemente, la manera como funciona el cerebro; su respuesta a sucesos nuevos depende de la entrada y de su historia.

x

combinational

F(x)

f ( xi ) t t0  f ( xi ) t 0

x

sequential

F(x)

f ( x i ) t  t 0  f ( xi ) t  0

FUNDAMENTOS DE LA MEMORIA 

Considere el siguiente circuito: PI

0 1

PI 

El anterior, es un circuito secuencial muy simple, que puede diferenciar entre dos estados ya que tiene solo una línea de retroalimentación que puede mantener uno de dos valores, 0 o 1.

FUNDAMENTOS DE LA MEMORIA 

Esto significa que un circuito con n líneas de retroalimentación tendrá 2n, estados potenciales y , que la memoria de nuestro circuito depende del número de líneas de retroalimentación.

n

FUNDAMENTOS DE LA MEMORIA 

Reacomodando el circuito secuencial anterior de dos estados, obtenemos: S

R



x

y

Este circuito, a pesar de que no es muy obvio, solo tiene una línea de retroalimentación, y es llamado la estructura de compuerta de acoplamiento cruzado NOR (cross coupled nor).

FUNDAMENTOS DE LA MEMORIA 

Debemos hacer notar que cualquiera de las líneas 1 o 2 del siguiente circuito pueden ser consideradas como la línea de retroalimentación; sin embargo, lo más relevante es el hecho de que el circuito tiene sólo una línea de retroalimentación.

PI

PI

1

2



Fundamentos de la Memoria Mostramos a continuación el diagrama de tiempo para el circuito “cross coupled nor”, con un estado particular de inicio: ‘x=0, y=1, S=0, R=0’ que mantendrá al circuito en estado estable hasta que la entrada cambie.

S

0

0

R

0

0

set

0

0

0

reset

0

1

x

0

0

0

y

1

1

1 0

FUNDAMENTOS DE LA MEMORIA 



Note que un estado estable es un estado que permanecerá sin cambios sin importar cuanto esperemos hasta que la entrada sea modificada. Como podemos observar en el diagrama de tiempo mostrado, en ambos tiempos, 1 y 2 , las entradas del circuito permanecen las mismas pero la salida difiere. Esto muestra que el estado del circuito esta siendo influenciado por la salida.

FUNDAMENTOS DE LA MEMORIA 

Algunas de notas deben hacerse con respecto al circuito secuencial mostrado: 





Un conjunto de entradas puede provocar en el circuito una oscilación. Algunas condiciones son ilegales, por ejemplo: en el circuito “cross coupled nor”, ‘S=1, R=1’, no está permitido. Un conjunto de entradas al circuito hacen que pierda su memoria, lo que significa que no sabrá que estado anterior tenía y por lo tanto se consideran ilegales.

FUNDAMENTOS DE LA MEMORIA 

Cuando una entrada al circuito secuencial cambia, se repite el ciclo las veces que sea necesario hasta que el circuito encuentra un estado estable. Algunos circuitos pueden nunca encontrar ese estado, por ejemplo:



Nota: un circuito con retroalimentación no necesariamente tiene memoria, aunque para tener memoria un circuito necesita forzosamente de retroalimentación.

FUNDAMENTOS DE LA MEMORIA 

Podemos considerar el circuito “cross coupled NOR” como un elemento llamado “set-reset latch”, en donde la salida va a 1 cuando un pulso se recibe en la línea S (set), y la salida va a cero cuando un pulso ocurre en la línea R (reset).

FUNDAMENTOS DE LA MEMORIA 

NOTA: En este circuito una pérdida de memoria ocurre cuando ambos x y y van a 0 o 1 al mismo tiempo. Esto ocurre si le damos la entrada S=1 y R=1. Esta entrada es considerada como un estado de entrada ilegal. En algunos circuitos, la entrada ilegal es la que puede poner el circuito en oscilación. S 0

R Q+ 0 Q

0 1 1

1 1 0 0 1 _

Transition table

FUNDAMENTOS DE LA MEMORIA 

En otras palabras, podemos decir que nuestro circuito trabajará correctamente mientras x y y sean complementos el uno del otro. Graphical notation Q

S

R Q

0 0 0 0 1 1 1 1

S

R

Q+

0 0 1

0 1 0

0

1 0 0 1

1 0 1 0

1

1

0 1 _ 1 0 1 _

Q SR 00

01

S R

0

1

0

0

3 10

Q   S  QR

5 _

11

Characteristic equation

4

1

Q _ Q

1

0 0

_ 7

1 2

Transition table

_ Q

1 6 Q+

FUNDAMENTOS DE LA MEMORIA 

De la misma manera que un “cross coupled NOR”, un “Cross coupled NAND” forma una “S-R Latch”, una entrada ilegal es cuando ambas entradas están en cero.

S

R

Q

Q

FUNDAMENTOS DE LA MEMORIA 

A pesar de que estas estructuras se consideran elementos de memoria, lo que requerimos en un elemento de memoria es que cambie su contenido cuando se desee y en cualquier momento. Esto se puede lograr agregando un reloj de entrada a nuestra estructura. Entonces las entradas S y R solamente cambiarán nuestro contenido de memoria cuando un pulso ocurra en su entrada. S s Q

R

r

c(clock)

Q

FUNDAMENTOS DE LA MEMORIA 

Para mejorar esta estructura podemos salvar datos cuando se le asignen y reescribirlo cuando nuevos datos sean enviados:

D

1

0

1

0 1

0

c

1

0

Q

FUNDAMENTOS DE LA MEMORIA 

Esta estructura llamada “D latch” almacena datos recibidos a través de la línea de datos hasta que nuevos datos lleguen. 1D C1



Esta representación puede tener una tabla de excitación como la siguiente:

c D Q+ 0 0 1 1

Q  D

Q _ Q

FUNDAMENTOS DE LA MEMORIA 

Ahora expandamos el tamaño de nuestra memoria agregando líneas de retroalimentación o simplemente combinando varios elementos de memoria con un reloj. 1D C1

Q3

1D C1

Q2

1D C1

Q1

1D C1

clock

Q0

FUNDAMENTOS DE LA MEMORIA 



Esta estructura puede ahora generar 16 estados diferentes. Se llama vector de memoria y almacena los datos suministrados a través de un pulso de reloj hasta que nuevos datos sean enviados. Se puede expandir la memoria utilizando un arreglo de elementos: 8 16

…...

…...

decoder

64k

FUNDAMENTOS DE LA MEMORIA 

En la última transparencia, podemos encontrar 16 líneas de dirección y 8 líneas de I/O a través de las cuales podemos escribir y leer de la memoria. Esta estructura es RAM (Random Access Memory) o memoria de lectura-escritura.

DISEÑO DE UN CONTADOR 

Ahora que hemos visto como construir un elemento de memoria simple. Formemos el contador:

1 3

1

C1

0 2 0 1

1

1 13

0 1

1D C1

4-bit Adder 1

0

0

1D

1D

0

C1 0

ci

1D C1

co

clock

1

14

DISEÑO DE UN CONTADOR 



En este circuito tenemos un reloj de entrada a la memoria del multivibrador (latch) que es utilizado para controlar el flujo de datos que entra. La idea es utilizar el sumador para contar cada uno de los pulsos de reloj enviados a los elementos de memoria. El problema es que esta estructura nunca funcionará de la manera correcta!!! Esto debido a: considere el LSB de esta estructura, observando los números de una secuencia binaria. Podemos ver que el único hardware utilizado para este bit es un inversor: 0000  0001 , 0001  0010 , 0010  0011

DISEÑO DE UN CONTADOR 

Entonces nuestro hardware para el LSB es:

0

Q 10

C=0

DISEÑO DE UN CONTADOR 

El 0 en la entrada del latch entrará al mismo tan pronto como el reloj envíe el primer pulso. El tiempo que le toma al bit alcanzar la entrada – teniendo el 1 este tiempo – no será demasiado. Esto significa que la longitud del pulso de reloj no debe ser demasiado largo y corresponder al tiempo mencionado. Nosotros podemos aplicar esta técnica de prueba y error pero haciendo eso habremos fijado tan solo un bit, y ser capaces de tomar medidas de tiempo para todos los bits sería prácticamente imposible.