Un contador de anillo es un tipo de contador compuesto por flip-flops conectados a un registro de desplazamiento , con la salida del último flip-flop alimentado a la entrada del primero, formando una estructura "circular" o "en anillo".
Hay dos tipos de contadores de anillo:
- Un contador de anillo recta , también conocido como un uno en caliente contador , conecta la salida de la última registro de desplazamiento a la primera entrada de registro de desplazamiento y circula una sola (o cero) poco alrededor del anillo.
- Un contador en anillo trenzado , también llamado conmutador de cola de contador en anillo , caminar contador en anillo , contador Johnson , o de Möbius contador , conecta el complemento de la salida del último registro de desplazamiento a la entrada del primer registro y circula una corriente de unos seguida por una ceros alrededor del anillo.
Secuencias de contador de anillo de cuatro bits
Contador de anillo recto | Contador Johnson | |||||||||
---|---|---|---|---|---|---|---|---|---|---|
Expresar | Q0 | Q1 | Q2 | Tercer trimestre | Expresar | Q0 | Q1 | Q2 | Tercer trimestre | |
0 | 1 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | |
1 | 0 | 1 | 0 | 0 | 1 | 1 | 0 | 0 | 0 | |
2 | 0 | 0 | 1 | 0 | 2 | 1 | 1 | 0 | 0 | |
3 | 0 | 0 | 0 | 1 | 3 | 1 | 1 | 1 | 0 | |
0 | 1 | 0 | 0 | 0 | 4 | 1 | 1 | 1 | 1 | |
1 | 0 | 1 | 0 | 0 | 5 | 0 | 1 | 1 | 1 | |
2 | 0 | 0 | 1 | 0 | 6 | 0 | 0 | 1 | 1 | |
3 | 0 | 0 | 0 | 1 | 7 | 0 | 0 | 0 | 1 | |
0 | 1 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 |
Propiedades
Los contadores de anillo se utilizan a menudo en el diseño de hardware (por ejemplo, diseño ASIC y FPGA ) para crear máquinas de estado finito . Un contador binario requeriría un circuito sumador que es sustancialmente más complejo que un contador de anillo y tiene un mayor retardo de propagación a medida que aumenta el número de bits, mientras que el retardo de propagación de un contador de anillo será casi constante independientemente del número de bits en el código. .
Las formas rectas y retorcidas tienen propiedades diferentes y ventajas y desventajas relativas.
Una desventaja general de los contadores de anillo es que son códigos de menor densidad que las codificaciones binarias normales de números de estado. Un contador binario puede representar 2 ^ N estados, donde N es el número de bits en el código, mientras que un contador de anillo recto puede representar solo N estados y un contador Johnson puede representar solo 2N estados. Esta puede ser una consideración importante en implementaciones de hardware donde los registros son más costosos que la lógica combinacional.
Los contadores de Johnson a veces se ven favorecidos, porque ofrecen el doble de estados de conteo del mismo número de registros de desplazamiento y porque pueden autoinicializarse desde el estado de todos ceros, sin requerir que el primer bit de conteo se inyecte externamente al inicio. -arriba. El contador de Johnson genera un código en el que los estados adyacentes difieren solo en un bit (es decir, tienen una distancia de Hamming de 1), como en un código Gray , que puede ser útil si el patrón de bits se va a muestrear de forma asincrónica. [1]
Cuando se necesita una representación completamente decodificada o en caliente del estado del contador, como en algunos controladores de secuencia, se prefiere el contador de anillo directo. La propiedad one-hot significa que el conjunto de códigos está separado por una distancia mínima de Hamming de 2, [2], por lo que cualquier error de un solo bit es detectable (al igual que cualquier patrón de error que no sea encender un bit y apagar un bit) .
A veces, se utilizan registros de desplazamiento bidireccionales (utilizando multiplexores para tomar la entrada para cada flip-flop de su vecino izquierdo o derecho), de modo que se puedan realizar contadores de anillo bidireccionales o ascendentes y descendentes. [3]
Diagramas lógicos
El contador de anillo recto tiene la estructura lógica que se muestra aquí:
En lugar de que la línea de reinicio establezca el patrón de un solo caliente inicial , el anillo recto a veces se autoinicializa mediante el uso de una puerta de retroalimentación distribuida en todas las salidas, excepto la última, de modo que se presente un 1 en la entrada cuando no hay 1 en ninguna etapa excepto en la última. [4]
Un contador de Johnson, llamado así por Robert Royce Johnson , es un anillo con una inversión; aquí hay un contador Johnson de 4 bits:
Tenga en cuenta la pequeña burbuja que indica la inversión de la señal Q del último registro de desplazamiento antes de retroalimentar a la primera entrada D, lo que lo convierte en un contador de Johnson.
Historia
Antes de los días de la computación digital, los contadores digitales se usaban para medir tasas de eventos aleatorios, como desintegraciones radiactivas en partículas alfa y beta. Los contadores rápidos de "preescalado" redujeron la tasa de eventos aleatorios a tasas más manejables y regulares. Se utilizaron contadores de anillo de cinco estados junto con escaladores de división por dos para hacer escaladores de década (potencia de diez) antes de 1940, como los desarrollados por CE Wynn-Williams . [5]
Los primeros contadores de anillo usaban solo un elemento activo (tubo de vacío, válvula o transistor) por etapa, confiando en la retroalimentación global en lugar de flip-flops biestables locales, para suprimir estados distintos de los estados uno-caliente, por ejemplo en la presentación de patente de 1941 de Robert E. Mumma de la National Cash Registor Company . [6] Wilcox P. Overbeck inventó una versión que utiliza múltiples ánodos en un solo tubo de vacío, [7] [8] En reconocimiento a su trabajo, los contadores de anillo a veces se denominan "anillos Overbeck" [9] [10] (y después de 2006, a veces como "contadores Overbeck", ya que Wikipedia usó ese término de 2006 a 2018).
El ENIAC utilizó aritmética decimal basada en contadores de anillo único de 10 estados. Las obras de Mumma en NCR y Overbeck en MIT se encontraban entre las obras de la técnica anterior examinadas por la oficina de patentes para invalidar las patentes de J. Presper Eckert y John Mauchly para la tecnología ENIAC. [11]
En la década de 1950, aparecieron contadores de anillo con un flip-flop de dos tubos o triodos gemelos por etapa. [12]
Robert Royce Johnson desarrolló varios contadores basados en registros de desplazamiento diferentes con el objetivo de hacer diferentes números de estados con la lógica de retroalimentación más simple posible, y solicitó una patente en 1953. [13] El contador Johnson es el más simple de ellos.
Aplicaciones
Las primeras aplicaciones de los contadores de anillo fueron como preescaladores de frecuencia (por ejemplo, para el contador Geiger y otros instrumentos), [5] como contadores para contar las ocurrencias de patrones en el criptoanálisis (por ejemplo, en la máquina de descifrado de códigos Heath Robinson y la computadora Colossus ), [14] y como acumulador elementos de contador para aritmética decimal en computadoras y calculadoras, usando representaciones bi-quinarias (como en el Coloso) o de diez estados (como en ENIAC ).
Los contadores de anillo recto generan códigos one-hot completamente decodificados que se utilizan a menudo para permitir una acción específica en cada estado de un ciclo de control cíclico. Los códigos one-hot también se pueden decodificar desde un contador Johnson, usando una puerta para cada estado. [15] [nb 1]
Además de ser una forma alternativa eficiente de generar códigos one-hot y pre-escaladores de frecuencia, un contador Johnson también es una forma sencilla de codificar un ciclo de un número par de estados que se pueden muestrear de forma asincrónica sin fallas, ya que solo un bit cambia en una vez, como en un código Gray . [16] Los primeros ratones de computadora usaban codificaciones Johnson o Gray de 2 bits de arriba a abajo (bidireccionales) para indicar el movimiento en cada una de las dos dimensiones, aunque en los ratones esos códigos generalmente no se generaban mediante anillos de flip-flops (sino por electro -encoders de cuadratura mecánicos u ópticos ). [17] Un código Johnson de 2 bits y un código Gray de 2 bits son idénticos, mientras que para 3 o más bits los códigos Gray y Johnson son diferentes. En el caso de 5 bits, el código es el mismo que el código Libaw-Craig para dígitos decimales. [18] [19] [20] [21] [22] [23] [24] [25]
Un contador de anillo móvil, también llamado contador de Johnson, y algunas resistencias pueden producir una aproximación sin problemas de una onda sinusoidal. Cuando se combina con un preescalador ajustable , este es quizás el oscilador controlado numéricamente más simple . Dos de estos contadores de anillo móvil son quizás la forma más sencilla de generar la codificación por desplazamiento de frecuencia de fase continua utilizada en la señalización multifrecuencia de dos tonos y los primeros tonos de módem . [26]
|
|
|
|
|
|
|
|
Ver también
- Contador (digital)
- Oscilador de anillo
- Registro de desplazamiento de retroalimentación lineal
Notas
- ^ Los circuitos de contador Johnson con estados individuales decodificados de esta manera se pueden encontrar en losdiseños originales de adaptadores de pantalla de video IBM MDA y CGA , en la lógica del secuenciador de tiempo: uno o dos circuitos integrados flip-flop tipo D de 74x174 hexadecimales están conectados como un registro de desplazamiento , realimentados con inversión para formar un contador Johnson, y las puertas NAND de 2 entradas(en el MDA) o las puertas XOR (en el CGA) se utilizan para decodificar estados utilizados como señales como + RAS (Estroboscópico de dirección de fila [a DRAM ] ) y S / -L (Shift / NOT Load). Fuente: Referencia técnica de adaptadores y opciones de computadora personal de IBM, pantalla monocromática y adaptador de impresora, diagramas lógicos; Referencia técnica de adaptadores y opciones de computadora personal de IBM, adaptador de monitor de gráficos en color, diagramas lógicos.
Referencias
- ^ Pedroni, Volnei A. (2013). Máquinas de estados finitos en hardware: teoría y diseño . Prensa del MIT . pag. 50. ISBN 978-0-26201966-8.
- ^ Mengibar, Luis; Entrena, Luis; Lorenz, Michael G .; Sánchez-Reillo, Raúl (2003). "Codificación de estado para FSM de bajo consumo en FPGA" . Diseño de sistemas y circuitos integrados. Modelado, optimización y simulación de potencia y sincronización: Actas del 13º taller internacional, PATMOS 2003, Torino, Italia, 10-12 de septiembre de 2003 . 13 . Springer Science & Business Media . pag. 35. ISBN 9783540200741.
- ^ Stan, Mircea R. (1997). "Contador progresivo / regresivo síncrono con período de reloj independiente del tamaño del contador" (PDF) . Actas 13º Simposio de IEEE sobre aritmética informática : 274–281.
- ^ Holdsworth, Brian; Woods, Clive (2002). Diseño de lógica digital (4 ed.). Libros de Newnes / Ciencia de Elsevier . págs. 191-192. ISBN 0-7506-4588-2. Consultado el 19 de abril de 2020 .Mantenimiento de CS1: errores de ISBN ignorados ( enlace )(519 páginas) [1]
- ^ a b Lewis, Wilfrid Bennett (1942). Recuento eléctrico: con especial referencia al recuento de partículas alfa y beta . Prensa de la Universidad de Cambridge . pag. 90. ISBN 9781316611760.
- ^ "Acumulación electrónica", Patente de Estados Unidos No. 2405096 de Robert E. Mumma, presentada en 1941
- ^ "Dispositivo de conmutación electrónica", Patente de Estados Unidos de Wilcox P. Overbeck No. 2427533, presentada en 1943
- ^ Dayton Codebreakers: Informe de investigación de 1942, que menciona "Un nuevo contador de alta velocidad del Sr. Overbeck, 8 de enero de 1942"
- ^ RAMAC 305 - Manual de instrucciones de ingeniería del cliente de IBM (PDF) . IBM . 1959.
[…] El anillo Overbeck se utiliza para suministrar pulsos temporizados dentro de circuitos de computadora de la misma forma que los interruptores automáticos accionados por leva suministran pulsos temporizados en máquinas mecánicas. Consiste en un conjunto de disparadores con una entrada común de la línea de transmisión del anillo que transporta pulsos suministrados por el tambor de proceso. […] Inicialmente, los disparadores se restablecen en APAGADO con la excepción del disparador de inicio , que está ENCENDIDO. Cada pulso de entrada negativo apagará el gatillo que está encendido. La caída del voltaje en el pin 10 del gatillo que se apaga hará que el siguiente gatillo se encienda. Esto continúa a través de un anillo cerrado […]
- ^ Tecnología eléctrica: un plan de estudios postsecundario sugerido de 2 años . Serie de programas de educación técnica. Estados Unidos, División de Educación Técnica y Vocacional. 1960. p. 52.
- ^ Randall, Brian (2014). "Los orígenes de las computadoras digitales: bibliografía complementaria" . En Metropolis, Nicholas (ed.). Historia de la Computación en el Siglo XX . Elsevier. págs. 651–652. ISBN 9781483296685.
- ^ William Alfred Higinbotham , "Circuitos de impulso rápido" , Patente de Estados Unidos Nº 2536808, presentada en 1949
- ^ Robert Royce Johnson , "Contador electrónico" , Patente de Estados Unidos No. 3030581, presentada en 1953
- ^ Copeland, B. Jack (2010). Coloso: Los secretos de las computadoras para descifrar códigos de Bletchley Park . Prensa de la Universidad de Oxford . págs. 123-128. ISBN 978-0-19957814-6.
- ^ Langholz, Gideon; Kandel, Abraham; Mott, Joe L. (1998). Fundamentos del Diseño de Lógica Digital . World Scientific. págs. 525–526. ISBN 978-9-81023110-1.
- ^ van Holten, Cornelius (agosto de 1982). Escrito en la Universidad Técnica de Delft, Delft, Países Bajos. "Divisores digitales con salidas simétricas: el autor utiliza contadores Johnson con retroalimentación controlada para dar divisiones simétricas pares e impares de un pulso de reloj" (PDF) . Mundo inalámbrico . Vol. 88 no. 1559. Sutton, Surrey, Reino Unido: IPC Business Press Ltd. págs. 43–46. ISSN 0043-6062 . Archivado (PDF) desde el original el 21 de febrero de 2021 . Consultado el 20 de febrero de 2021 . [2] [3] (4 páginas)
- ^ Lyon, Richard F. (agosto de 1981), The Optical Mouse, and an Architectural Methodology for Smart Digital Sensors (PDF) (Informe), Palo Alto Research Center, Palo Alto, California, EE. UU .: Xerox Corporation , VLSI 81-1, archivado (PDF) del original el 2020-05-23 , recuperado el 2020-05-23 ,
Los contadores necesarios para X e Y simplemente cuentan a través de cuatro estados, en cualquier dirección (hacia arriba o hacia abajo), cambiando solo un bit a la vez ( es decir, 00, 01, 11, 10). Este es un caso simple de un contador de código Gray o un contador Johnson (contador Moebius).
(41 páginas) - ^ Libaw, William H .; Craig, Leonard J. (octubre de 1953) [septiembre de 1953]. "Un digitalizador de eje con codificación decimal fotoeléctrica" . Transacciones del Grupo Profesional IRE sobre Computadoras Electrónicas . EC-2 (3): 1–4. doi : 10.1109 / IREPGELC.1953.5407731 . eISSN 2168-1759 . ISSN 2168-1740 . Consultado el 26 de mayo de 2020 . (4 páginas)
- ^ Powell, E. Alexander (junio de 1968). "Códigos particularmente útiles para conversiones analógicas a digitales". Una breve nota sobre códigos útiles para circuitos de control de fluidos (PDF) . Cranfield, Reino Unido: Facultad de Aeronáutica , Departamento de Ingeniería de Producción. pag. 10. S2CID 215864694 . CoA Memo 156. Archivado (PDF) desde el original el 15 de diciembre de 2020 . Consultado el 15 de diciembre de 2020 .(18 páginas) (NB. El documento nombra el código de Glixon modificado código Gray y escribe mal el nombre de Richard W. Hamming ).
- ^ Dokter, Folkert; Steinhauer, Jürgen (18 de junio de 1973). Electrónica digital . Biblioteca técnica de Philips (PTL) / Macmillan Education (Reimpresión de la 1ª edición en inglés). Eindhoven, Países Bajos: The Macmillan Press Ltd. / NV Philips 'Gloeilampenfabrieken . pag. 43. doi : 10.1007 / 978-1-349-01417-0 . ISBN 978-1-349-01419-4. SBN 333-13360-9. Consultado el 11 de mayo de 2020 . (270 páginas)
- ^ Dokter, Folkert; Steinhauer, Jürgen (1975) [1969]. Digitale Elektronik in der Meßtechnik und Datenverarbeitung: Theoretische Grundlagen und Schaltungstechnik . Philips Fachbücher (en alemán). I (mejorada y ampliada 5ª ed.). Hamburgo, Alemania: Deutsche Philips GmbH . págs. 52, 58, 98. ISBN 3-87145-272-6. (xii + 327 + 3 páginas)
- ^ Dokter, Folkert; Steinhauer, Jürgen (1975) [1970]. Digitale Elektronik in der Meßtechnik und Datenverarbeitung: Anwendung der digitalen Grundschaltungen und Gerätetechnik . Philips Fachbücher (en alemán). II (4ª ed.). Hamburgo, Alemania: Deutsche Philips GmbH . pag. 169. ISBN 3-87145-273-4. (xi + 393 + 3 páginas)
- ^ Steinbuch, Karl W. , ed. (1962). Escrito en Karlsruhe, Alemania. Taschenbuch der Nachrichtenverarbeitung (en alemán) (1 ed.). Berlín / Göttingen / Nueva York: Springer-Verlag OHG . págs. 71-72, 74. LCCN 62-14511 .
- ^ Steinbuch, Karl W .; Wagner, Siegfried W., eds. (1967) [1962]. Taschenbuch der Nachrichtenverarbeitung (en alemán) (2 ed.). Berlín, Alemania: Springer-Verlag OHG . LCCN 67-21079 . Título No. 1036.
- ^ Steinbuch, Karl W .; Weber, Wolfgang; Heinemann, Traute, eds. (1974) [1967]. Taschenbuch der Informatik - Band II - Struktur und Programmierung von EDV-Systemen . Taschenbuch der Nachrichtenverarbeitung (en alemán). 2 (3 ed.). Berlín, Alemania: Springer Verlag . ISBN 3-540-06241-6. LCCN 73-80607 .
- ^ Don Lancaster. "Libro de cocina de la máquina de escribir de TV" . ( Máquina de escribir de TV ). 1976. p. 180-181.