Esta es una vista previa del archivo. Inicie sesión para ver el archivo original
T1_Introduccion_Ftos.pdf
Fundamentos de Tecnología de Computadores
Tema 1:
Introducción a los Computadores
Niveles de abstracción de un computador
Conceptos básicos
Evolución histórica de los computadores
Arquitectura Von Neumann
Fases de ejecución de una instrucción
Lenguajes de programación
Área de Arquitectura y Tecnología de Computadores
Departamento de Automática
Universidad de Alcalá 2
Fundamentos de Tecnología de Computadores
Niveles de abstracción de un computador
Plan de estudios: Grado en Ingeniería de Computadores
Materia Asignatura Cuat.
Estructura y tecnología
de computadores
Fundamentos de Tecnología de
Computadores
Estructura y Organización de
Computadores
Electrónica
1º
3º
5º
Sistemas Operativos Sistemas Operativos
Sistemas Operativos Avanzados
2º
3º
Programación Fundamentos de Programación
Programación Avanzada
Procesadores del Lenguaje
1º
4º
6º
Bases de Datos Bases de Datos 4º
Arquitectura de
Computadores
Arquitectura e Ingeniería de
Computadores
5º
Área de Arquitectura y Tecnología de Computadores
Departamento de Automática
Universidad de Alcalá 3
Fundamentos de Tecnología de Computadores
Conceptos básicos
Computador:
Máquina destinada a procesar información, entendiéndose por proceso las
sucesivas manipulaciones de la información para resolver un problema
Información del computador:
Bit Elemento básico de información (‘0’ ó ‘1’)
Byte u octeto Grupo de 8 bits (‘01101111’)
Palabra Grupo de bits con el que trabaja habitualmente el computador (8
bits, 16 bits, 32 bits ó 64 bits)
Unidades: 1 K 210 = 1024
1 M 210 · 210 = 1024 K
1 G 210 · (210 · 210) = 1024 M
Instrucción: Operación que realiza el computador
Dato: Operando o resultado de una instrucción
Programa: Conjunto ordenado de instrucciones
Área de Arquitectura y Tecnología de Computadores
Departamento de Automática
Universidad de Alcalá 4
Fundamentos de Tecnología de Computadores
Evolución histórica de los computadores (I)
Antecedentes de los computadores (I)
El ábaco como primer instrumento para
calcular.
Es un dispositivo consistente en un
conjunto de cuentas engarzadas en una
varilla cuyo origen se remonta a los siglos
III o IV a. De C.
No aportó nada al concepto de cálculo ni a
su automatización
Mecanismo de cálculo
Desarrollada por Blas Pascal (1642)
Constaba de un conjunto de ruedas
dentadas, cada una de ellas numerada del
0 al 9. Al pasar una rueda del 9 al 0
arrastraba un décimo de vuelta la
siguiente.
Además incluía un sistema de memoria
que almacenaba los resultados
Ábaco
Máquina
aritmética
Área de Arquitectura y Tecnología de Computadores
Departamento de Automática
Universidad de Alcalá 5
Fundamentos de Tecnología de Computadores
Evolución histórica de los computadores (II)
Antecedentes de los computadores (II)
La máquina de Leibnitz (1671)
Realizaba las cuatro
operaciones aritméticas.
Perfecciona la de Pascal que
solamente sumaba y restaba
Máquina de diferencias (abandonada) (1823) y la máquina analítica (1831) de
Babbage
Permite ejecutar cualquier operación si intervención humana en el proceso de
cálculo
Consta de una memoria, una unidad aritmética, sistema de engranajes para
transferir datos entre memoria y la unidad aritmética y un dispositivo para
introducir y sacar datos de la máquina
Empleaba tarjetas perforadas para programarse
Nunca llegó a construirse
Máquina de
diferencias
Área de Arquitectura y Tecnología de Computadores
Departamento de Automática
Universidad de Alcalá 6
Fundamentos de Tecnología de Computadores
Evolución histórica de los computadores (III)
1ª generación
Máquinas de carácter experimental
construidas con tubos de vacío
Calculadores de relés. H. Aiken construye
la serie de calculadoras MARK
1941: ENIAC - Electronic Numerical
Integrator and Calculator. Eckert y
Mauchly
Computador de propósito general con
programa cableado
(Cálculo de fuegos de artillería en la II
Guerra Mundial)
1945: First Draft of Report on the EDVAC
- Electronic Discrete Variable Automatic
Computer. Von Neumann
Computador de propósito general con
programa almacenado (1952)
ENIAC
MARK I
Área de Arquitectura y Tecnología de Computadores
Departamento de Automática
Universidad de Alcalá 7
Fundamentos de Tecnología de Computadores
Evolución histórica de los computadores (IV)
2ª generación
Computadores comerciales
Construidos con transistores Menor tamaño, menor disipación de calor, mayor
fiabilidad
Memorias de ferritas
Memoria de ferritas Mueble para
almacenar una
memoria de ferritas UNIVAC (2ª gen.)
Área de Arquitectura y Tecnología de Computadores
Departamento de Automática
Universidad de Alcalá 8
Fundamentos de Tecnología de Computadores
Evolución histórica de los computadores (V)
3ª generación
3ª generación:
Familias de computadores: Minicomputadores y supercomputadores
Construidos con circuitos integrados menor tamaño, más baratos, menor
consumo de energía
IBM serie 370 (3ª gen.)Circuito integrado
Área de Arquitectura y Tecnología de Computadores
Departamento de Automática
Universidad de Alcalá 9
Fundamentos de Tecnología de Computadores
Evolución histórica de los computadores (VI)
4ª generación
4ª generación:
Computadores personales y estaciones
de trabajo
Otras aplicaciones: electrodomésticos,
equipos de música y vídeo, etc.
Construidas con microprocesadores y
memorias de semiconductor
1971: 1er microprocesador, INTEL 4004
Década de los 80 ➩ procesamiento de
información
Década de los 90 ➩ comunicación de
información (Redes)
PC (4ª gen.)
Memoria de
semiconductores
Área de Arquitectura y Tecnología de Computadores
Departamento de Automática
Universidad de Alcalá 1
0
Fundamentos de Tecnología de Computadores
Evolución histórica de los computadores (VI)
5ª generación
5ª generación:
Proyecto ambicioso lanzado por Japón
El microprocesador como elemento básico
La computación masivamente paralela
La comunicación y las conexiones entre
computadores como algo generalizado.
Internet. Correo electrónico. WWW
¿6ª Generación?
Miniaturización
Paralelismo
Clusters
Smart phones Sistema de computadoras de quinta generación
Área de Arquitectura y Tecnología de Computadores
Departamento de Automática
Universidad de Alcalá 1
1
Fundamentos de Tecnología de Computadores
Evolución histórica de los computadores (VII)
Generación
1ª 2ª 3ª 4ª 5ª
Características
Duración 1950 - 1960 1960 - 1970 1970 - 1980 1980 - 1990 1990 -200?
Tecnología
Válvulas
electrónicas
Transistores
C.I.
(SSI-MMI)
C.I (LSI) C.I. (VLSI)
Máquinas IBM 701 CDC 6600
PDP-8,
PDP-11
Fujitsu M382
Cray X-MP
Alpha 21164
Pentium
Tipo de
memoria
Tubos de
Williams
Tambores y
cintas
magnéticas
Núcleos de
ferrita
Memorias en
C.I. y memorias
caché
Memorias
virtuales
Memorias
caché de
varios niveles
Lenguajes Máquina
FORTRAM,
COBOL,
ALGOL, PL1
BASIC,
PASCAL
Alto nivel
Lenguaje
natural, C
Válvula, transistor,
circuito integrado
Área de Arquitectura y Tecnología de Computadores
Departamento de Automática
Universidad de Alcalá 1
2
Fundamentos de Tecnología de Computadores
Arquitectura Von Neumann
Fue establecida en 1945 por John von Neumann
Su característica principal es que ejecuta instrucciones de máquina de un
programa almacenado en memoria
Bloques:
Memoria principal
Unidad aritmética y
banco de registros
Unidad de control (UC)
Unidad de entrada/salida
Los buses son los elementos que interconectan los diferentes elementos de la
arquitectura: bus de datos, bus de direcciones y bus de control
REGISTROS
UNIDAD
ARITMÉTICA
MEMORIA
PRINCIPAL
UNIDAD DE CONTROL
PC
PERIFÉRICO
UNIDAD
DE E/S
UCP
PERIFÉRICO
PERIFÉRICO
Área de Arquitectura y Tecnología de Computadores
Departamento de Automática
Universidad de Alcalá 1
3
Fundamentos de Tecnología de Computadores
Fases de ejecución de una instrucción
1. Fase de búsqueda de la instrucción:
La UC activa las señales de control necesarias para leer de memoria la
instrucción a la que apunta el contador de programa (CP)
2. Fase de decodificación:
La UC recibe la instrucción (RI) y la decodifica
3. Búsqueda de operandos:
La UC, en caso necesario, lee los operandos de memoria o de los registros
4. Ejecución y almacenamiento del resultado:
La UC genera las señales necesarias para realizar la operación, y en caso
necesario, guarda el resultado en memoria principal o en un registro
5. La UC actualiza el CP, para pasar a ejecutar la siguiente instrucción
Funcionamiento secuencial
Modificación de secuencia ➪ modificar CP ➪ bifurcación o salto
Área de Arquitectura y Tecnología de Computadores
Departamento de Automática
Universidad de Alcalá 1
4
Fundamentos de Tecnología de Computadores
Lenguajes de programación (I)
Tipos de lenguajes:
Lenguaje de alto nivel:
Posee instrucciones y sintaxis
propia (Ej. PASCAL, C)
Lenguaje de alto nivel ➪
portabilidad (se compila el
mismo código en diferentes
máquinas)
Lenguajes de bajo nivelLenguajes de bajo nivel
Lenguaje máquina:
Las instrucciones de un programa
se escriben en binario
Incomodo y produce errores ➪
Solución: usar otros lenguajes
de programación
Lenguaje ensamblador:
Las instrucciones se representan
con nombres simbólicos o
mnemónicos
Cada instrucción en lenguaje
ensamblador se corresponde
con una instrucción máquina
Área de Arquitectura y Tecnología de Computadores
Departamento de Automática
Universidad de Alcalá 1
5
Fundamentos de Tecnología de Computadores
Lenguajes de programación (II)
Lenguaje de alto nivel (Ejemplo: PASCAL)
BEGIN
Resta:= Minuendo - Sustraendo
END.
Lenguaje máquina y lenguaje ensamblador (Ejemplo: Ensamblador i80x86)
A10000 MOV AX, Minuendo
2B060200 SUB AX, Sustrayendo
A30400 MOV Resta, AX
La traducción de un programa a lenguaje máquina lo llevan a cabo los
intérpretes y compiladores
Compilador Ensamblador
Lenguaje
ensamblador
Lenguaje
máquina
Lenguaje de
alto nivel
Compilador
T2_Ejercicios.pdf
PROBLEMAS DE FUNDAMENTOS DE
TECNOLOGÍA DE COMPUTADORES
2. SISTEMAS DE NUMERACIÓN Y OPERACIONES
EJERCICIO 1:
Se tiene un ordenador que representa los números enteros con 16 bits en signo-magnitud: 1 bit
para el signo y 15 para la magnitud.
a) Calcular el rango de representación para ese formato.
b) Representar en dicho formato los números 24 y -24
EJERCICIO 2:
Se tiene un ordenador que representa los números enteros con 24 bits, representados en
complemento a 1.
a) Calcular el rango de representación para ese formato.
b) Representar en dicho formato los números 37 y -214
EJERCICIO 3:
Se tiene un ordenador con los siguientes formatos de representación:
Números enteros con 8 bits, representados en complemento a 2.
a) Calcular el rango de representación para los números enteros.
c) Representar en dicho formato los números 235 y -144
FUNDAMENTOS DE TECNOLOGÍA DE COMPUTADORES 2. SISTEMAS DE REPRESENTACIÓN
EJERCICIO 4:
Dado el número de 8 bits 1010 1011
a) Calcular el valor de dicho nº suponiendo que esta representado en Binario puro.
b) Calcular el valor de dicho nº suponiendo que esta representado en Signo Magnitud.
c) Calcular el valor de dicho nº suponiendo que esta representado en Complemento a 1.
d) Calcular el valor de dicho nº suponiendo que esta representado en Complemento a 2.
EJERCICIO 5:
Sean los números representados en C1 siguientes. A = 0100 0110 B = 1111 1000.
a) Calcular A + B
b) Calcular A – B
c) Calcular B –A
d) ¿Se produce desbordamiento en algún caso?
EJERCICIO 6:
Sean los números representados en C2 siguientes. A = 0100 0110 B = 1111 1000.
a) Calcular A + B
b) Calcular A – B
c) Calcular B –A
d) ¿Se produce desbordamiento en algún caso?
EJERCICIO 7:
Sea A = 0110 1001. Se pide cambiar de signo el número suponiendo que:
a) El número está representado en binario puro
b) El número está representado en signo-magnitud
c) El número está representado en C1
d) El número está representado en C2
EJERCICIO 8:
Sean A = 1AF7h y B = FA59h. Realizar la suma de A + Bc)
T2_SistemasNumeracion_Ftos.pdf
Fundamentos de Tecnología de Computadores
Tema 2:
Sistemas de numeración
Definiciones
Bases de numeración
Modos de representación
Representaciones numéricas
Coma fija (números enteros)
Suma-resta en base dos
Representaciones alfanuméricas
22
Área de Arquitectura y Tecnología de Computadores
Departamento de Automática
Universidad de Alcalá
Tema 2: Sistemas de numeración y operaciones
Fundamentos de Tecnología de Computadores
Definiciones
Espacio material: número de bits que se tienen para almacenar el dato (número
o carácter)
Byte (8 bits)
Palabra (n bits)
Rango de representación: valores máximo y mínimo que se pueden representar
en un determinado sistema
Resolución de la representación: diferencia entre un número y el siguiente
inmediato
Longitud del código: cuántos elementos diferentes se pueden obtener para una
representación con n bits de espacio material. La longitud del código para n bits
es 2n
33
Área de Arquitectura y Tecnología de Computadores
Departamento de Automática
Universidad de Alcalá
Tema 2: Sistemas de numeración y operaciones
Fundamentos de Tecnología de Computadores
Bases de numeración (I)
Bases 2, 8, 10 y 16
Binario Octal Decimal Hexadecimal
(base 2) (base 8) (base 10) (base 16)
0 0 (000) 0 (0000) 0 (0000) A (1010)
1 1 (001) 1 (0001) 1 (0001) B (1011)
2 (010) 2 (0010) 2 (0010) C (1100)
3 (011) 3 (0011) 3 (0011) D (1101)
4 (100) 4 (0100) 4 (0100) E (1110)
5 (101) 5 (0101) 5 (0101) F (1111)
6 (110) 6 (0110) 6 (0110)
7 (111) 7 (0111) 7 (0111)
8 (1000) 8 (1000)
9 (1001) 9 (1001)
Cambio entre bases. Regla de Horner
44
Área de Arquitectura y Tecnología de Computadores
Departamento de Automática
Universidad de Alcalá
Tema 2: Sistemas de numeración y operaciones
Fundamentos de Tecnología de Computadores
Bases de numeración (II)
Ejemplos:
Consideremos el número binario 10101.
Este representa el valor decimal:
1. 2 4 + 0.2 3 + 1.2 2 + 0.2 1 + 1.2 0 = 21
El número 78A en base hexadecimal
pasado a decimal:
7.16 2 + 8.16 1 + 10.16 0 = 1930
Unidades
Decenas
Centenas
Unidades de millar
Decenas de millar
P7 P6 P5 P4 P3 P2 P1 P0
A cada posición le corresponde un peso
Valor=∑
i=0
n−1
x i⋅base
i
55
Área de Arquitectura y Tecnología de Computadores
Departamento de Automática
Universidad de Alcalá
Tema 2: Sistemas de numeración y operaciones
Fundamentos de Tecnología de Computadores
Representaciones numéricas en coma fija
Coma fija:
Sin signo :
binario puro
Con signo:
Signo-magnitud
Complemento a la base, C2
C1
Exceso a M
BCD
P7 P6 P5 P4 P3 P2 P1 P0
A cada posición le corresponde un peso
66
Área de Arquitectura y Tecnología de Computadores
Departamento de Automática
Universidad de Alcalá
Tema 2: Sistemas de numeración y operaciones
Fundamentos de Tecnología de Computadores
Representaciones numéricas en coma fija
Binario Puro
Sistema posicional de base 2 para números enteros
Donde los pesos son:
Con palabra de longitud n:
Rango: [0, 2n - 1]
Resolución = 1
Extensión de signo, añadiendo 0s por la izquierda del MSB (bit más significativo)
El computador debe detectar cuándo ocurre desbordamiento (overflow):
En suma y multiplicación
En la resta si el resultado es negativo
Pi=2
i
Valor=∑
i=0
n−1
2i⋅x i
x7 x6 x5 x4 x3 x2 x1 x0
n=8 bits
n-1 0
77
Área de Arquitectura
y Tecnología de Computadores
Departamento de Automática
Universidad de Alcalá
Tema 2: Sistemas de numeración y operaciones
Fundamentos de Tecnología de Computadores
Números positivos : comienzan por 0, representados en binario puro
Números negativos : comienzan por 1, representados en C2
El MSB indica el signo, pero se opera con los n bits como un conjunto indivisible
-A = Complemento a dos de A, n=número de bits de la representación
2n - A
+1
Con palabra de longitud n:
Rango: [-2n-1, -1, 0, (2n-1 - 1)]
Resolución = 1
Extensión de signo, se realiza copiando el MSB en los bits de la izquierda
A
¿
Representaciones numéricas en coma fija
Complemento a la base, Complemento a 2
+∑
i=0
n−1
2i⋅x i si xn-1=0
−Valor (C2(número )) si xn-1=1
¿
Valor=¿ {¿ ¿¿
¿
88
Área de Arquitectura y Tecnología de Computadores
Departamento de Automática
Universidad de Alcalá
Tema 2: Sistemas de numeración y operaciones
Fundamentos de Tecnología de Computadores
Representaciones numéricas en coma fija
BCD
Se convierten, uno a uno, los dígitos decimales a binario
Dos clases:
BCD empaquetado
BCD desempaquetado
Representación de BCD desempaquetado
(alfanumérico)
Representación de BCD empaquetado
Valor BCD Valor BCD
0 0000 5 0101
1 0001 6 0110
2 0010 7 0111
3 0011 8 1000
4 0100 9 1001
byte
Dígito BCDDígito BCD
byte
Dígito BCD0000
99
Área de Arquitectura y Tecnología de Computadores
Departamento de Automática
Universidad de Alcalá
Tema 2: Sistemas de numeración y operaciones
Fundamentos de Tecnología de Computadores
Suma-resta en Complemento a 2
Se simplifican las operaciones de suma y resta, se hacen sin tener en cuenta los
signos de los operandos y el acarreo final se ignora
La resta se reduce a sumar el número complementado A – B = A + Ca2(B)
En la suma, el desbordamiento (overflow) se produce si:
A>=0 y B>=0 y A + B < 0
A < 0 y B < 0 y A + B>=0
Ejemplo: A= 0111 y B=0101 : -A= 1001 y -B= 1011
A + B = 0111 + 0101 = 1100 y Cf = 0 : Desbordamiento
A - B = A + (-B) = 0111 + 1011 = 0010 y Cf = 1
-A + B = 1001 + 0101 = 1110 y Cf = 0
-A - B = (-A) + (-B) = 1001 + 1011 = 0100 y Cf = 1 : Desbordamiento
1010
Área de Arquitectura y Tecnología de Computadores
Departamento de Automática
Universidad de Alcalá
Tema 2: Sistemas de numeración y operaciones
Fundamentos de Tecnología de Computadores
Suma-resta en BCD (I)
Suma
1111
Área de Arquitectura y Tecnología de Computadores
Departamento de Automática
Universidad de Alcalá
Tema 2: Sistemas de numeración y operaciones
Fundamentos de Tecnología de Computadores
Suma-resta en BCD (II)
Resta
1212
Área de Arquitectura y Tecnología de Computadores
Departamento de Automática
Universidad de Alcalá
Tema 2: Sistemas de numeración y operaciones
Fundamentos de Tecnología de Computadores
Suma en hexadecimal
1313
Área de Arquitectura y Tecnología de Computadores
Departamento de Automática
Universidad de Alcalá
Tema 2: Sistemas de numeración y operaciones
Fundamentos de Tecnología de Computadores
Modos de representación alfanumérica (I)
Representaciones alfanuméricas:
Codifican mediante un grupo de bits (6, 7, 8, 16) cada uno de los caracteres a
representar.
Ejemplos de códigos alfanuméricos:
6 bits (64 caracteres posibles) Fieldata y BCDIC
7 bits (128 caracteres posibles) ASCII
8 bits (256 caracteres posibles) ASCII extendido y EBCDIC
16 bits (65536 caracteres posibles) UNICODE
1414
Área de Arquitectura y Tecnología de Computadores
Departamento de Automática
Universidad de Alcalá
Tema 2: Sistemas de numeración y operaciones
Fundamentos de Tecnología de Computadores
Las frases se forman agrupando caracteres. Existen varias alternativas:
Cadenas de longitud fija:
Se define una longitud máxima para todas las cadenas.
Cadenas de longitud variable:
Con carácter separador
Con longitud explícita
Modos de representación alfanumérica (II)
1515
Área de Arquitectura y Tecnología de Computadores
Departamento de Automática
Universidad de Alcalá
Tema 2: Sistemas de numeración y operaciones
Fundamentos de Tecnología de Computadores
Modos de representación alfanumérica (III)
Código ASCII
T3.1_Circuitos_Combinacionales.pdf
Fundamentos de Tecnología de Computadores Departamento de Automática
Universidad de Alcalá
Tema 3.1
Introducción a los circuitos combinacionales.
Algebra de Boole
Índice
� Algebra de Boole. Definición.
� Operaciones lógicas: OR,
AND, XOR y NOT
� Puertas lógicas
� Algebra de Boole
� Postulados
� Teoremas
� Funciones lógicas: formas
canónicas.
� Tablas de verdad
� Realización de funciones en
puertas NAND y NOR
Bibliografía
• Fundamentos de sistemas
digitales.
Thomas Floyd.
Prentice-Hall.
• Fundamentos de diseño lógico
y computadoras.
M. Morris Mano.
Prentice-Hall
2
T3 Circuitos Combinacionales
Fundamentos de Tecnología de Computadores
Área de Arquitectura y Tecnología de Computadores
Departamento de Automática
Universidad de Alcalá
Algebra de Boole.
Definición
� Algebra de Boole es todo conjunto de elementos
capaz de adoptar dos valores (0 y 1).
� Cada uno de dichos elementos recibe el nombre
de Variable lógica
� Están definidas dos operaciones: suma lógica y
producto lógico (+ y *).
3
T3 Circuitos Combinacionales
Fundamentos de Tecnología de Computadores
Área de Arquitectura y Tecnología de Computadores
Departamento de Automática
Universidad de Alcalá
Operaciones lógicas
� OR
� AND
a b a OR b
0 0 0
0 1 1
1 0 1
1 1 1
� NOT
� XOR
a b a AND b
0 0 0
0 1 0
1 0 0
1 1 1
a NOT a
0 1
1 0
a b a XOR b
0 0 0
0 1 1
1 0 1
1 1 0
4
T3 Circuitos Combinacionales
Fundamentos de Tecnología de Computadores
Área de Arquitectura y Tecnología de Computadores
Departamento de Automática
Universidad de Alcalá
Puertas lógicas (I)
a b a OR b
0 0 0
0 1 1
1 0 1
1 1 1
a b a AND b
0 0 0
0 1 0
1 0 0
1 1 1
Se representa como: a + b Se representa como: a · b
5
T3 Circuitos Combinacionales
Fundamentos de Tecnología de Computadores
Área de Arquitectura y Tecnología de Computadores
Departamento de Automática
Universidad de Alcalá
Puertas lógicas (II)
a NOT a
0 1
1 0
a b a XOR b
0 0 0
0 1 1
1 0 1
1 1 0
Se representa como: a Se representa como: a + b
6
T3 Circuitos Combinacionales
Fundamentos de Tecnología de Computadores
Área de Arquitectura y Tecnología de Computadores
Departamento de Automática
Universidad de Alcalá
Algebra de Boole.
Postulados
� El Algebra de Boole cumple los siguientes
postulados:
� 1. Propiedad conmutativa.
� a + b = b + a a * b = b * a
� 2. Propiedad distributiva
� a*(b+c) = a*b + a*c
� a+(b*c) = (a+b) * (a+c)
� 3. Elemento neutro
� a + 0 = a a * 1 = a
� 4. Elemento Simétrico (complementario):
� a + a =1 a * a = 0
7
T3 Circuitos Combinacionales
Fundamentos de Tecnología de Computadores
Área de Arquitectura y Tecnología de Computadores
Departamento de Automática
Universidad de Alcalá
� Se demuestran a partir de los 4 postulados anteriores.
� 1. Ley de idempotencia:
� a+a = a a*a = a
� 2. Ley de complemento:
� a + a =1 a * a = 0
� 3. Ley conmutativa:
� a + b = b + a a * b = b * a
� 4. Ley asociativa:
� a+(b+c) = (a+)b+c a*(b*c) = (a*b)*c
� 5. Ley distributiva:
� a*(b+c) = a*b + a*c a+(b*c) = (a+b) * (a+c)
Algebra de Boole.
Teoremas
8
T3 Circuitos Combinacionales
Fundamentos de Tecnología de Computadores
Área de Arquitectura y Tecnología de Computadores
Departamento de Automática
Universidad de Alcalá
� 6. Ley de cancelación:
� (a*b)+a = a (a+b)*a = a
� 7. Ley de identidad:
� a+0 = a a*1 = a
� 8. Ley de dominación:
� a+1 = 1 a*0 = 0
� 9. Ley de doble complemento
� a = a
� 10. Leyes de Morgan:
� a+b = a * b a*b = a + b
� Las leyes de morgan junto con la
doble negación nos permiten pasar de
expresiones en sumas lógicas a expresiones equivalentes en productos
lógicos y viceversa
Algebra de Boole.
Teoremas
9
T3 Circuitos Combinacionales
Fundamentos de Tecnología de Computadores
Área de Arquitectura y Tecnología de Computadores
Departamento de Automática
Universidad de Alcalá
Algebra de Boole.
Funciones Lógicas. Formas Canónicas
� Función lógica: Expresión de variables booleanas o binarias unidas por las
operaciones lógicas suma, producto y complementación. Ejemplo:
f1(c,b,a) = a + c·b + c·b·a
� Término canónico: Producto o suma en el que aparecen todas las
variables (o sus complementos) de que depende una función.
� Función canónica: formada exclusivamente por términos canónicos
� Minterm: término canónico en forma de producto de variables (ej.: c·b·a).
� Conversión: Multiplicar cada término no canónico por la suma de las
variables que le falten, en su forma normal y complementada.
� Maxterm: término canónico en forma de suma de variables (ej.: c+b+a).
� Conversión: Sumar a cada término no canónico productos formados
por cada variable que falte y su complementada.
10
T3 Circuitos Combinacionales
Fundamentos de Tecnología de Computadores
Área de Arquitectura y Tecnología de Computadores
Departamento de Automática
Universidad de Alcalá
Tablas de verdad
� Es otra forma de representar un función lógica y sirve para obtener el
desarrollo en forma canónica de la misma.
� Ejemplo:
f (c,b,a) = c·b + c·a Tabla de verdad:
c b a f
1
0 0 0 0 0
1 0 0 1 1
2 0 1 0 0
3 0 1 1 1
4 1 0 0 0
5 1 0 1 0
6 1 1 0 1
7 1 1 1
11
T3 Circuitos Combinacionales
Fundamentos de Tecnología de Computadores
Área de Arquitectura y Tecnología de Computadores
Departamento de Automática
Universidad de Alcalá
Realización de funciones en puertas
NAND y NOR (I)
� Las puertas NAND y NOR son puertas Universales, es decir, cualquier
función lógica se puede expresar utilizando solo puertas NAND o solo
puertas NOR.
� Además son las mas fáciles de construir.
Con NAND Con NOR
12
T3 Circuitos Combinacionales
Fundamentos de Tecnología de Computadores
Área de Arquitectura y Tecnología de Computadores
Departamento de Automática
Universidad de Alcalá
Realización de funciones en puertas
NAND y NOR (II)
� Para pasar cualquier circuito a puertas NAND o NOR se emplean la
ley de la doble negación y las leyes de Morgan.
� Ejemplo: Sea la función
� A NAND
� Pasamos sumas a productos
� A NOR
� Pasamos productos a sumas
f1
f1
T3.2_Circuitos_Combinacionales.pdf
Fundamentos de Tecnología de Computadores Departamento de Automática
Universidad de Alcalá
Tema 3. 2
Sistemas Combinacionales
Índice
� Circuitos combinacionales:
concepto, análisis y síntesis.
� Métodos de simplificación de
funciones lógicas.
� Estructuras combinacionales
básicas
Multiplexores
Demultiplexores
Decodificadores
Codificadores
Comparadores
Bibliografía
• Fundamentos de sistemas
digitales.
Thomas Floyd.
Prentice-Hall.
• Fundamentos de diseño lógico
y computadoras.
M. Morris Mano.
Prentice-Hall
2
T3 Circuitos Combinacionales
Fundamentos de Tecnología de Computadores
Área de Arquitectura y Tecnología de Computadores
Departamento de Automática
Universidad de Alcalá
Circuitos combinacionales (I)
� Concepto: son aquellos circuitos cuyas salidas, en un determinado instante,
son función exclusivamente del valor de las entradas en ese instante.
� Análisis: Obtención de la función de salida de un circuito, para cada una de
las posibles combinaciones de las “n” variables de entrada.
� Síntesis : Obtención del circuito que realiza la función especifícada.
Funciones
Tablas de verdad
Circuito
Lógico
Combinacional
Análisis
Síntesis
3
T3 Circuitos Combinacionales
Fundamentos de Tecnología de Computadores
Área de Arquitectura y Tecnología de Computadores
Departamento de Automática
Universidad de Alcalá
Los circuitos combinacionales pueden ser:
� Sistemas unifuncionales: tienen una sola función de salida
� Sistemas multifuncionales: tienen varias funciones de salida
Una función puede ser:
� Completa. Su valor está determinado para todas las posibles
combinaciones de las variables de entrada.
� Incompleta. Existen algunas combinaciones de entrada para las cuales el
valor de la función es indeterminado.
Causas:
� Existencia de combinaciones de las variables que nunca se presentan.
� Existencia de combinaciones de las variables para las que el valor que
tome la función sea indiferente.
Circuitos combinacionales (II)
4
T3 Circuitos Combinacionales
Fundamentos de Tecnología de Computadores
Área de Arquitectura y Tecnología de Computadores
Departamento de Automática
Universidad de Alcalá
Síntesis de circuitos
combinacionales
Proceso a seguir para obtener un circuito combinaci onal óptimo:
� Establecer la tabla de verdad, desde el enunciado del problema.
� Obtener la función canónica expresada en minterms o en
maxterms, a partir de la tabla de verdad.
� Simplificar la función canónica, bien en forma algebraica
(aplicando teoremas y postulados del Álgebra de Boole), bien
mediante la aplicación de métodos gráficos sencillos (Karnaugh) o
con el método tabular numérico de Quine-McCluskey.
� Realizar la función simplificada, mediante las oportunas puertas
lógicas.
5
T3 Circuitos Combinacionales
Fundamentos de Tecnología de Computadores
Área de Arquitectura y Tecnología de Computadores
Departamento de Automática
Universidad de Alcalá
Método algebraico
� Es el método básico de simplificación de funciones y consiste en aplicar
directamente la propiedad distributiva a los términos de la función,
eliminando variables. Por ejemplo:
f1(d,c,b,a) = d·c·b·a + d·c·b·a = d·c·b·(a+a) = d·c·b·1 = d·c·b
f2 (d,c,b,a) = (d+c+b+a)·(d+c+b+a) = (d+c+b·b+a) = (d+c+a)
� Sin embargo, pocas veces viene expresada la función de forma que sea
fácilmente aplicable este método.
Métodos de simplificación de
funciones lógicas (I)
6
T3 Circuitos Combinacionales
Fundamentos de Tecnología de Computadores
Área de Arquitectura y Tecnología de Computadores
Departamento de Automática
Universidad de Alcalá
Método de Karnaugh
� Método tabular gráfico que se basa en los llamados “mapas de
Karnaugh”, consistentes en una tabla de cuadros, cada uno de los
cuales representa un término canónico.
Estos cuadros están distribuidos de tal modo que dos cualesquiera de
ellos, contiguos físicamente, corresponden a términos canónicos
adyacentes.
� Términos canónicos adyacentes : son aquellos para los que sus
respectivas configuraciones binarias difieren entre sí en un único bit.
Se pueden definir también como aquellos términos a los que se les
puede aplicar la propiedad distributiva para simplificar una variable.
Métodos de simplificación de
funciones lógicas (II)
7
T3 Circuitos Combinacionales
Fundamentos de Tecnología de Computadores
Área de Arquitectura y Tecnología de Computadores
Departamento de Automática
Universidad de Alcalá
� Mapa de Karnaugh para funciones de dos variables
Tres variables Cuatro variables
Métodos de simplificación de
funciones lógicas (III)
b a 00 01 11 10
0 21 3
a
b
0
1
2 3
0 1
0 1
b a
c
0
1
4 65 7
00 01 11 10
0 21 3
b a
d c
00
01
11
4 65 7
10
00 01 11 10
12 1413 15
0 21 3
8 109 11
8
T3 Circuitos Combinacionales
Fundamentos de Tecnología de Computadores
Área de Arquitectura y Tecnología de Computadores
Departamento de Automática
Universidad de Alcalá
Procedimiento de simplificación mediante los mapas de Karnaugh
1.- Dibujar el mapa adecuado para la función a simplificar (2, 3 ó 4
variables).
2.- Marcar los cuadros correspondientes a los minterms o maxterms (“1”).
3.- Agrupar, mediante una curva cerrada, el máximo número posible de
elementos
adyacentes (potencia de 2 �2, 4, 8, 16). A continuación lo
mismo con los que queden y asi, sucesivamente, hasta que no reste
ningún elemento marcado (con adyacente también marcado) sin agrupar.
4.- Escribir la función mediante los términos simplificados obtenidos.
Criterio: en cada grupo desaparece la variable o variables cuyo valor es
“0” en la mitad de los cuadros del grupo, y “1” en la otra mitad. Las
variables que permanecen son tomadas como “no negadas” si su valor
es 1 en todo el grupo de cuadros, y como “negadas” si su valor es 0.
Si algún bit no tiene ningúno adyacente seguirá como término canónico
Métodos de simplificación de
funciones lógicas (IV)
9
T3 Circuitos Combinacionales
Fundamentos de Tecnología de Computadores
Área de Arquitectura y Tecnología de Computadores
Departamento de Automática
Universidad de Alcalá
Estructuras Combinacionales básicas (I)
Multiplexores
� Un multiplexor es un circuito que tiene 2n entradas de información
(canales), una sola salida y un mecanismo de selección que determina
cuál de las entradas es la que se transfiere su información a la única
salida. Se comporta como un conmutador de entrada múltiple y salida
única, pero cuyo control no es mecánico, sino electrónico.
C1
C0
S
M
ul
tip
le
xo
r
4
a
1E3
E2
E1
E0
Salida de
datos
{Selección de datos
Entrada de
datos
Multiplexor
S
E7
E6
E4
E3
E2
E1
E5
E0
10
T3 Circuitos Combinacionales
Fundamentos de Tecnología de Computadores
Área de Arquitectura y Tecnología de Computadores
Departamento de Automática
Universidad de Alcalá
� Realizan la función inversa de un multiplexor, es decir, se comportan como
conmutadores de entrada única y salida múltiple, existiendo un mecanismo
de control que selecciona la salida hacia la que se envía la información de
entrada.
� En general un demultiplexor tiene una única entrada de información, 2n
salidas y “n” entradas de control en las que se introduce el número binario
correspondiente a la salida seleccionada.
Estructuras Combinacionales básicas (II)
Demultiplexores
C1
C0
S3
S2
S1
S0D
e
m
ul
tip
le
xo
r
1
a
4
E
E
11
T3 Circuitos Combinacionales
Fundamentos de Tecnología de Computadores
Área de Arquitectura y Tecnología de Computadores
Departamento de Automática
Universidad de Alcalá
Aplicaciones básicas
Multiplexor Demultiplexor
Esta entrada
controla la secuencia
de conmutación
Esta entrada
controla la secuencia
de conmutación
Estructuras Combinacionales básicas (III)
Multiplexores /Demultiplexores
12
T3 Circuitos Combinacionales
Fundamentos de Tecnología de Computadores
Área de Arquitectura y Tecnología de Computadores
Departamento de Automática
Universidad de Alcalá
� Son circuitos digitales que tienen como entrada (n bits) la información
codificada en binario, y tantas salidas como posibles configuraciones
binarias distintas de entrada (2 n), activándose en cada momento una sola
de ellas, la correspondiente a la combinación binaria aplicada a la entrada.
Decodificador 2 a 4
I E1 E0 S3 S2 S1 S0
0 0 0 0 0 0 1
0 0 1 0 0 1 0
0 1 0 0 1 0 0
0 1 1 1 0 0 0
1 X X 0 0 0 0
E1
E0
I
S3
S2
S1
S0D
e
c
o
d
ifi
c
a
d
o
r
2
a
4
Estructuras Combinacionales básicas (IV)
Decodificadores (1)
13
T3 Circuitos Combinacionales
Fundamentos de Tecnología de Computadores
Área de Arquitectura y Tecnología de Computadores
Departamento de Automática
Universidad de Alcalá
Decodificador 3 a 8
I E2 E1 E0 S7 S6 S5 S4 S3 S2 S1 S0
0 0 0 0 1 1 1 1 1 1 1 0
0 0 0 1 1 1 1 1 1 1 0 1
0 0 1 0 1 1 1 1 1 0 1 1
0 0 1 1 1 1 1 1 0 1 1 1
0 1 0 0 1 1 1 0 1 1 1 1
0 1 0 1 1 1 0 1 1 1 1 1
0 1 1 0 1 0 1 1 1 1 1 1
0 1 1 1 0 1 1 1 1 1 1 1
1 X X X 1 1 1 1 1 1 1 1
E2
E0
I
S7
S6
S5
S4
D
e
c
o
d
ifi
c
a
d
o
r
3
a
8
S3
S2
S1
S0
E1
Estructuras Combinacionales básicas (V)
Decodificadores (2)
14
T3 Circuitos Combinacionales
Fundamentos de Tecnología de Computadores
Área de Arquitectura y Tecnología de Computadores
Departamento de Automática
Universidad de Alcalá
� Realizan la función inversa de los decodificadores, es decir, poseen en
general N entradas y “n” salidas de código en las que aparece codificado
en binario el valor de la entrada que ha sido activada (N≤2 n).
� Codificadores sin prioridad.
� Codificadores con prioridad.
C
od
if
ic
ad
or
0
1
4
7 8
5
.
2
9
6
3
+/-
9
8
7
6
5
4
3
2
1
0
Salida
Binaria
Codificada
Estructuras Combinacionales básicas (VI)
Codificadores (1)
15
T3 Circuitos Combinacionales
Fundamentos de Tecnología de Computadores
Área de Arquitectura y Tecnología de Computadores
Departamento de Automática
Universidad de Alcalá
� Codificador 8 a 3 con prioridad
S2
S0
E7
E6
E5
E4
C
o
d
ifi
c
a
d
o
r
8
a
3
c
o
n
p
rio
rid
a
d
E3
E2
E1
E0
S1
I
P1 P0
Estructuras Combinacionales básicas (VII)
Codificadores (2)
I E7 E6 E5 E4 E3 E2 E1 E0 S2 S1 S0 P1 P0
1 X X X X X X X X 0 0 0 1 1
0 1 1 1 1 1 1 1 1 0 0 0 1 0
0 X X X X X X X 0 0 0 0 0 1
0 X X X X X X 0 1 0 0 1 0 1
0 X X X X X 0 1 1 0 1 0 0 1
0 X X X X 0 1 1 1 0 1 1 0 1
0 X X X 0 1 1 1 1 1 0 0 0 1
0 X X 0 1 1 1 1 1 1 0 1 0 1
0 X 0 1 1 1 1 1 1 1 1 0 0 1
0 0 1 1 1 1 1 1 1 1 1 1 0 1
16
T3 Circuitos Combinacionales
Fundamentos de Tecnología de Computadores
Área de Arquitectura y Tecnología de Computadores
Departamento de Automática
Universidad de Alcalá
� Un comparador de “n” bits es un circuito combinacional que tiene por
entradas dos números binarios de “n” bits cada uno (A,B), determinando a
su salida si uno es mayor, menor o igual que el otro. Normalmente dispone
de tres salidas: A>B, A=B y A<B
A > B
A3
A2
A1
A0
B3
B2
B1
B0
0
1
0
A = B
A < B
Comparador
de 4 bits
C>
C=
C<
7485
Ay B C> C= C< A>B A=B A<B
A >B X X X 1 0 0
A <B X X X 0 0 1
A = B 0 0 1 0 0 1
A = B 0 1 0 0 1 0
A = B 1 0 0 1 0 0
Estructuras Combinacionales básicas (VIII)
Comparadores
17
T3 Circuitos Combinacionales
Fundamentos de Tecnología de Computadores
Área de Arquitectura y Tecnología de Computadores
Departamento de Automática
Universidad de Alcalá
Circuitos sumadores binarios (I)
Semisumador
Suma de dos únicos bits. Proporciona como salidas la suma y el acarreo.
a
b
S = a b
C = a·b
salida
Entradas Salidas
Sumando Sumando Suma Acarreo
a b S Csalida
0 0 0 0
0 1 1 0
1 0 1 0
1 1 0 1
18
T3 Circuitos Combinacionales
Fundamentos de Tecnología de Computadores
Área de Arquitectura y Tecnología de Computadores
Departamento de Automática
Universidad de Alcalá
Sumador completo
Suma de tres bits: 2 bits i-ésimos más el acarrreo
Circuitos sumadores binarios (II)
Entradas Salidas
Sumando Sumando Acarreo Suma Acarreo
a b Centrada S Csalida
0 0 0 0 0
0 0 1 1 0
0 1 0 1 0
0 1 1 0 1
1 0 0 1 0
1 0 1 0 1
1 1 0 0 1
1 1 1 1 1
a
b
Centrada
a b
S= (a b) C
entrada
19
T3 Circuitos Combinacionales
Fundamentos de Tecnología de Computadores
Área de Arquitectura y Tecnología de Computadores
Departamento de Automática
Universidad de Alcalá
Sumador completo
Circuitos sumadores binarios (III)
Circuito en función de semisumadores
a
b
C
entrada
a b
S= (a b) C
entrada
(a b)·C
entrada
a·b
C = a·b + (a b)·C
entradasalida
20
T3 Circuitos Combinacionales
Fundamentos de Tecnología de Computadores
Área de Arquitectura y Tecnología de Computadores
Departamento de Automática
Universidad de Alcalá
El acarreo en los circuitos sumadores
• Sumador paralelo con acarreo serie
•Sumador paralelo con acarreo paralelo (acarreo anticipado)
C i = A i B i + (A i ⊕ B i) C i-1= G i + P i C i-1
• Generación de acarreo de la propia etapa G i = A i B i
• Propagación del acarreo de la etapa anterior P i = A i ⊕ B i
• Sumador en paralelo
con acarreo mixto
Circuitos sumadores binarios (IV)
B A C
0 0 -1
C
0
1 1
B A
n-2 n-2
B A
n-1 n-1
B A
S
0
S
1
S
n-2
C
1
C
n-2
S
n-1
C
n-1
Sumador
completo
Sumador
completo
Sumador
completo
Sumador
completo
21
T3 Circuitos Combinacionales
Fundamentos de Tecnología de Computadores
Área de Arquitectura y Tecnología de Computadores
Departamento de Automática
Universidad de Alcalá
Circuitos sumadores/restadores
Operaciones con signo (Circuito Sumador/Restador)
• En complemento a uno
• En complemento a dos
Circuito
complementador
Sumador completo de n bits
Suma/resta
n-1 n-2 1 0
a a ... a a
n-1 n-2 1 0
b b ... b b
Operando a Operando b
Resultado
n-1 n-2 1 0
S S ... S S
Cn-1
M
C
-1
T3_Ejercicios.pdf
Ejercicios T3: Sistemas Combinacionales Fundamentos de Tecnología de Computadores
Tema 3: Sistemas Combinacionales
1. Analizar el siguiente circuito indicando la expresión algebraica que
implementa, la tabla de verdad correspondiente y la función lógica en sus
dos formas canónicas
2. Expresar en forma de minterms las siguientes funciones:
a)- F(c,b,a)= cb ⋅cbac⋅b
b)- F(d,c,b,a)= db⋅cba
3. Convertir la siguiente función a su primera forma normal
– F(a,b,c)= a⋅bca⋅ca⋅b⋅c
4. Simplificar por el método de Karnaugh las siguientes funciones:
a)- F(d,c,b,a) = ∑ 0,1,4,5,6,8,9,13,14
b)- F(d,c,b,a) = ∑ 0,1,2,4,5,8,10
c)- F(d,c,b,a) = ∑ 0,1,3,4,5,7,8,9,14,15
d)- F(d,c,b,a) = ∑ 1,2,3,5,6,7,8,9,10,11,14
5. Simplificar la siguiente función por los métodos conocidos:
F(d,c,b,a)= ∑ 0,2,5,7,8,10,13,15
6. Diseñar un circuito compuesto por puertas lógicas AND y OR de cuatro
entradas y dos salidas definido por las funciones siguientes:
Departamento de Automática. Universidad de Alcalá Página 1 de 6
Ejercicios T3: Sistemas Combinacionales Fundamentos de Tecnología de Computadores
a)- F1(d,c,b,a)= ∑ 0,1,4,5,6,8,9,13,14 (misma que 4.a)
b)- F2(d,c,b,a)= ∑ 0,1,2,4,5,8,10,13,14
c)- Rediseñarlos con puertas NAND exclusivamente
7. Dado el siguiente diagrama de tiempos para las señales de entrada a,b y c,
y la de salida F, Obtener la expresión lógica más simple de F utilizando los
diferentes métodos de simplificación conocidos.
a
b
c
F
8. Diseñar un decodificador de tres entradas que permita representar en un
display de 7 segmentos el valor en binario puro de dichas entradas. (Hacer
la tabla de verdad, obtener la expresión en minterms/maxterms para cada
segmento – Fa, Fb..Fg-, simplificarlas y hacer los circuitos).
9. Diseñar un circuito que discrimine si una entrada de 4 bits representa o no
un dígito BCD válido
10.Diseñar un circuito que sume dos números BCD natural y nos dé el
resultado en código binario de 5 bits. Se pueden usar sumadores BCD,
sumadores binarios de 4 bits y las puertas necesarias.
11.Dados dos números naturales de dos bits cada uno A (a2 a1) y B (b2 b1)
diseñar un sistema combinacional que obtenga el valor absoluto de la
diferencia entre ellos |A-B|.
12.Diseñar un circuito que sume dos números naturales de dos bits A (a2 a1)
y B (b2 b1) proporcionando la salida en tres bits.
13.Diseñar un circuito que compare dos números naturales de dos bits A (a2
a1) y B (b2 b1) y proporcione las siguientes salidas:
a)- En función de las entradas A y B:
Departamento de Automática. Universidad de Alcalá Página 2 de 6
Ejercicios T3: Sistemas Combinacionales Fundamentos de Tecnología de Computadores
– S1 = 1 si A > B y 0 en cualquier otro caso
– S2 = 1 si A = B y 0 en cualquier otro caso
– S3 = 1 si A < B y 0 en cualquier otro caso
b)- Como una variante al diseño anterior, obtener S2 a partir de S1 y S3
14.Utilizando multiplexores y las puertas lógicas necesarias integrar los
circuitos diseñados anteriormente en un único circuito combinacional: este
ha de tener igualmente dos entradas A (a2 a1) y B (b2 b1), y 3 salidas (S3,
S2 y S1) de datos pero además tendrá dos entradas de control C2 C1 que
deberán seleccionar el tipo de funcionamiento del circuito:
– si C2 =0 y C1 = 0 --> las salidas S = 111
– si C2 =1 y C1 = 0 --> las salidas mostrarán la suma de A y B
(circuito ya diseñado en un problema anterior)
– si C2 =0 y C1 = 1 --> las salidas mostrarán la comparación de A y B
(circuito ya diseñado en un problema anterior)
– si C2 =1 y C1 = 1 --> las salidas S = 000
15.Diseñar mediante puertas lógicas un circuito que tenga por entrada un
número binario de 4 bits X (d,c,b,a) que realice las siguientes operaciones
de salida:
– si X>9, se activa una línea de salida S1 que enciende una luz roja
– si X<9, se activa una línea de salida S2 que enciende una luz verde
– si X=9, se activa una línea de salida S3 que enciende una luz ámbar
16.Realizar un circuito que ante una entrada de 8 bits indique si esta
información tiene paridad par o impar.
Departamento de Automática. Universidad de Alcalá Página 3 de 6
Ejercicios T3: Sistemas Combinacionales Fundamentos de Tecnología de Computadores
17.A partir de comparadores 7485 de números de 4 bits, realizar un
comprador de magnitudes de 32 bits.
18.Dados dos decodificadores 3 a 8 como el de la figura, constrúyase un
decodificador de 4 a 16.
19.Realizar un convertidor de código BCD natural a un código BCD con
exceso a tres.
a)- con puertas lógicas
b)- con circuitos multiplexores
20.Construir un decodificador para visualizar números binarios de 3 bits con
un display 7 segmentos.
21.El bloque codificador de la figura es un circuito combinacional que realiza
una codificación de las señales de entrada (a,b,c) según las ecuaciones
siguientes:
– x = b xor a
Departamento de Automática. Universidad de Alcalá Página 4 de 6
Codificador
x = b xor a
y = c xor b
z = c
Decodificador
?
c
b
a
c
b
a
z
y
x
– z = c siendo c y z los bits más significativos
Se pide:
a)- Obtener la salida del codificador
b)- Diseñar el circuito decodificador de modo que permita obtener de
nuevo el código original
Ejercicios T3: Sistemas Combinacionales Fundamentos de Tecnología de Computadores
22. Un banco desea instalar un sistema de alarma dotado de sensores de
proximidad por rayos infrarrojos. Existen dos zonas de seguridad X e Y y la
alarma de seguridad debe dispararse cuando se active cualquiera de ellas.
La zona X tiene 3 sensores. A, B y C, mientras que la zona Y tiene 4
sensores: D,E,F y G. Para evitar falsas alarmas producidas por el disparo
aleatorio de algunaos sensores, el sistema activará cuando bien en la zona
X o bien en la zona Y se activen al menos 2 sensores simuñtáneamente.
Diseñar el circuito de control con la función más sencilla obtenida.
rediseñar con puertas NOR únicamente.
Departamento de Automática. Universida de Alcalá
Departamento de Automática. Universidad de Alcalá Página 5 de 6
Ejercicios T3: Sistemas Combinacionales Fundamentos de Tecnología de Computadores
Ejercicios Leyes de de-Morgan.
Transformar mientras sea posible.
1- ABC DEF 2- ABC D
3- ABCDFE 4- ABCD EF
5- ABCDE 6- ABC
7- ABCD 8- ABCD EF
9- AB CDE
Ejercicios Álgebra de Boole:
Reducir algebraicamente
Expresión Solución
1- ABABCBBC BAC
2- AB ABCBBC AB
3- AB CBD AB C BC
4- CD [AB CBDAB ] CD
5- ABC ABC ABC ABC ABC BCABCB
6- ABC ABC ABC ABC ABC ACAB
7- ABAC ABC ABC
8- ABACABC ABC
Departamento de Automática. Universidad de Alcalá Página 6 de 6
Slide 1
Slide 2
Slide 3
Slide 4
Slide 5
Slide 6
T4.2_Diseno_SistSeq.pdf
Departamento de Automática
Universidad de Alcalá
Fundamentals of Computer Technology
Contenidos
Introducción
Máquinas de Moore
Máquinas de Mealy
Ejemplos
Tema 4.2
Diseño
de Sistemas Secuenciales
Bibliografía
• Diseño Digital.
M. Morris Mano. Prentice-Hall
Introduccion al Diseño Lógico Digital
John P. Hayes. Addison-Wesley
Departamento de Automática
Universidad de Alcalá 2
Fundamentals of Computer Technology
Introducción
- Manera sistemática de diseñar circuitos digitales que pasan por
diferentes estados.
Ejemplos: Contadores, semáforos, máquinas expendedoras...
- Generalmente se llaman Máquinas o Autómatas finitos
- Dos tipos:
Máquinas de Mealy
Máquinas de Moore
Departamento de Automática
Universidad de Alcalá 3
Fundamentals of Computer Technology
Máquina de Mealy
La salida es una función tanto de la entrada como del estado actual
Lógica
de
entrada
Lógica
de
salida
Memoria
CLK
Excitación
Estado
actual
Salida
Entradas
Departamento de Automática
Universidad de Alcalá 4
Fundamentals of Computer Technology
Máquina de Moore
La salida es una función solo del estado actual
Lógica
de
entrada
Lógica
de
salida
Memoria
CLK
Excitación
Estado
actual
Salida
Entradas
Departamento de Automática
Universidad de Alcalá 5
Fundamentals of Computer Technology
Secuencia de diseño
1- Entender las especificaciones del problema
2- Elegir Mealy/Moore basándose en la simplicidad
3- Dibujar el diagrama de estado
4- Codificar los estados y elegir los biestables
5- Obtener la función de salida
6- Escribir la tabla de transición y excitación
7- Obtener y simplificar las funciones de excitación
8- Diseñar el circuito
Departamento de Automática
Universidad de Alcalá 6
Fundamentals of Computer Technology
Ejemplo 1: Moore (I)
Diseñe un autómata de Moore que detecte una secuencia
de tres o más “1” en la entrada: ...111...
Diagrama de estados:
0
E0/0 → Estado/Salida
Estado
Transición
→ Entrada
E0/0
E1/0 E2/0 E3/1
1
0
0
0
1 1
1
1
0
Departamento de Automática
Universidad de Alcalá 7
Fundamentals of Computer Technology
Ejemplo 1: Moore (II)
Codificar estados y salida:
- Hay 4 estados luego necesitamos 2 bits para codificarlos
- Usamos dos biestables JK
- Codificación:
Estados JKs Salida
Q1 Q0 Z
E0 0 0 0
E1 0 1 0
E2 1 0 0
E3 1 1 1
Obtener la función de salida:
Z = Q1 Q0
Departamento de Automática
Universidad de Alcalá 8
Fundamentals of Computer Technology
Ejemplo 1: Moore (III)
Escribir la tabla de transición y excitación:
Estado actual Entrada Estado sgte. Excitación JK
Q1t Q0t Y Q1t+1Q0t+1 J1 K1 J0 K0
E0: 0 0 0 0 0 0 X 0 X
E0: 0 0 1 0 1 0 X 1 X
E1: 0 1 0 0 0 0 X X 1
E1: 0 1 1 1 0 1 X X 1
E2: 1 0 0 0 0 X 1 0 X
E2: 1 0 1 1 1 X 0 1 X
E3: 1 1 0 0 0 X 1 X 1
E3: 1 1 1 1 1 X 0 X 0
Qt Qt+1 J K
0 0 0 X
0 1 1 X
1 0 X 1
1 1 X 0
Tabla excitación JK
Departamento de Automática
Universidad de Alcalá 9
Fundamentals of Computer Technology
Example 1: Moore (IV)
Obtener y simplificar las funciones de excitación:
-Obtener J1, K1, J0 y K0 en función de Q1t+1, Q0t+1 e Y con Karnaugh
-Ejemplo
J1 = Q0 Y
Haciendo el resto de mapas de Karnaugh:
K1 = Y!
J0 = Y
K0 = Q1! + Y!
Q1 \ Q0Y 00 01 11 10
0 1
1 X X X X
Departamento de Automática
Universidad de Alcalá 10
Fundamentals of Computer Technology
Example 1: Moore (V)
Implement the circuit:
Departamento de Automática
Universidad de Alcalá 11
Fundamentals of Computer Technology
Ejemplo 2: Mealy (I)
Diseñe un autómata de Mealy que detecte una secuencia de tres
o más “1” en la entrada: ...111...
Diagrama de estados:
E0
E1 E2
1
0/0
0/0
1/0
1/0
0/0
1/1
0/0
0/0
E0
Estado
Transicion
→ Entrada/Salida
Departamento de Automática
Universidad de Alcalá 12
Fundamentals of Computer Technology
Codificar estados y salida:
- Hay 3 estados luego necesitamos 2 bits para codificarlos
- Usamos dos biestables JK
- Codificación:
Estados JKs Entrada Salida
Q1 Q0 Y Z
E0 0 0 0 0
E0 0 0 1 0
E1 0 1 0 0
E1 0 1 1 0
E2 1 0 0 0
E2 1 0 1 1
E3 1 1 0 X
E3 1 1 1 X
Obtener la función de salida:
Ejemplo 2: Mealy (II)
Q1 \ Q0X 00 01 11 10
0
1 1 X X
Z = Y Q1
Departamento de Automática
Universidad de Alcalá 13
Fundamentals of Computer Technology
Escribir la tabla de transición y excitación:
Estado actual Entrada Estado sgte. Excitación JK
Q1t Q0t Y Q1t+1Q0t+1 J1 K1 J0 K0
E0: 0 0 0 0 0 0 X 0 X
E0: 0 0 1 0 1 0 X 1 X
E1: 0 1 0 0 0 0 X X 1
E1: 0 1 1 1 0 1 X X 1
E2: 1 0 0 0 0 X 1 0 X
E2: 1 0 1 1 0 X 0 0 X
E3: 1 1 0 X X X X X X
E3: 1 1 1 X X X X X X
Qt Qt+1 J K
0 0 0 X
0 1 1 X
1 0 X 1
1 1 X 0
Ejemplo 2: Mealy (III)
Tabla excitación JK
Departamento de Automática
Universidad de Alcalá 14
Fundamentals of Computer Technology
Ejemplo 2: Mealy (IV)
Obtener y simplificar las funciones de excitación:
-Obtener J1, K1, J0 y K0 en función de Q1t+1, Q0t+1 e Y con Karnaugh
-Ejemplo
J1 = Q0 Y
Haciendo el resto de mapas de Karnaugh:
K1 = Y!
J0 = Y Q1!
K0 = 1
Q1 \ Q0Y 00 01 11 10
0 1
1 X X X X
Departamento de Automática
Universidad de Alcalá 15
Fundamentals of Computer Technology
Ejemplo 2: Mealy (V)
Diseñar el circuito:
Unit4.2_example_Moore.pdf
T4_Ejercicios.pdf
Ejercicios Tema 4: Sistemas secuenciales Fundamentos de Tecnología de Computadores
Sistemas Digitales Secuenciales
Ejercicio 1:
Siendo X un número binario de tres bits, diseñar la entrada lógica necesaria para poner a '1' un biestable J-K si
X tiene un número impar de unos y ponerle a '0' en caso contrario.
Ejercicio 2:
Se dispone del siguiente cronograma. Identifíquese que tipo de biestable se ha empleado y explique por qué.
C l k
Q
t
t
Ejercicio 3:
Se desea un circuito secuencial que tenga como señal de salida la representada en la figura. Diséñese dicho
circuito digital a base de biestables y puertas lógicas, sabiendo que se trata de un divisor por 4.
S a l i d a
t
Eercicio 4:
Obtener los estados del registro de 5 bits mostrado (inicialmente 0000), para las señales de reloj (CLK) y
entrada de datos (IN) indicadas
CLK
IN
Q0
Q1
Q2
Q3
Q4
DEPARTAMENTO DE AUTOMÁTICA. UNIVERSIDAD DE ALCALÁ
D
clk
Q
Q
0
D
clk
Q
Q
4
D
clk
Q
Q
3
D
clk
Q
Q
2
D
clk
Q
Q
1
CLK
IN
Ejercicios Tema 4: Sistemas secuenciales Fundamentos de Tecnología de Computadores
Ejercicio 5:
Hacer un diagrama de tiempos de un registro de desplazamiento con entrada serie y 4 salidas paralelas (A-B-C-
D), suponiendo que está compuesto de biestables tipo D con entrada de reloj activa en flanco de bajada y que la
entrada serie aplicada es la mostrada a continuación. ¿Qué dato se obtendría tras 6 ciclos de reloj?
CLK
IN
A
B
C
D
Ejercicio 6:
Determinar la forma de onda de la salida de datos de un registro entrada paralela / salida serie para las señales
de entrada mostradas en la figura y suponiendo que las entradas D3-D0 tienen los datos 1010.
CLK
Shift/Load#
S
Ejercicio 7:
Determinar el estado en cada pulso de reloj de un registro de desplazamiento bidireccional de 4 bits en el que la
entrada de datos está en nivel BAJO, si se aplica la señal de control RIGHT/LEFT# indicada. Suponer que el
estado inicial del registro es Q0-Q3 = 1101 y que la sincronización es con el flanco de subida del reloj.
R/L#
CLK
Q0
Q1
Q2
Q3
DEPARTAMENTO DE AUTOMÁTICA. UNIVERSIDAD DE ALCALÁ
D3D0
Shift/Load#
CLK
S
Ejercicios Tema 4: Sistemas secuenciales Fundamentos de Tecnología de Computadores
Ejercicio 8:
Determinar el estado en cada pulso de reloj de un registro de desplazamiento universal bidireccional de 4 bits en
el que se aplican las señales de entrada y de control mostradas (sincronización con flanco de subida del reloj).
Suponer que solo CLR es asíncrona y que las señales de control S0-S1 codifican el siguiente comportamiento:
S0=S1=1 : Carga paralela (D0-D3); S0=S1=0 no hay cambios; S0=0 y S1=1 desplazamiento a la izquierda y
S0=1 y S1=0 desplazamiento a la derecha. SR-ser y SL-ser son las entradas de datos serie derecha e izquierda
respectivamente.
CLK
S0
S1
CLR
SR-ser
SL-ser
D0
D1
D2
D3
Q0
Q1
Q2
Q3
Ejercicio 9:
Diseñe un contador asíncrono ascendente de 2 a 12 con biestables JK.
Ejercicio 10:
Diseñe un contador asíncrono descendente de 15 a 3 con biestables JK.
Ejercicio 11:
Diseñe un contador síncrono ascendente módulo 4 (de 0 a 3) con biestables D
Ejercicio 12:
Diseñe un contador síncrono ascendente/descendente de 0 a 7 con biestables J-K.
Ejercicio 13:
Diseñe un contador síncrono con biestables D que cuente de 5 a 0 (descendente). También se requiere que si el
contador está en algún estado distinto del 0 al 5, vuelva a 0 en el siguiente pulso de reloj.
DEPARTAMENTO DE AUTOMÁTICA. UNIVERSIDAD DE ALCALÁ
Ejercicios Tema 4: Sistemas secuenciales Fundamentos de Tecnología de Computadores
Ejercicio 14:
Diseñe un contador síncrono con biestables JK que siga la secuencia 1,4,2,7
Ejercicio 15:
Diseñe un contador síncrono con biestables JK y con biestables D que siga la secuencia 0,1,3,2,6,7,5,4
Ejercicio 16:
Diseñe un circuito con biestables JK que detecte en la entrada X la secuencia “101” poniendo la salida Z a 1.
Ejercicio 17:
Diseñe un circuito con biestables D que detecte en la entrada X cuatro “1” seguidos poniendo la salida Z a 1.
Ejercicio 18
Diseñe un circuito con una entrada X y una salida Y que se deberá poner a “1” si los dos últimos bits de la
entrada fueron iguales, o a “0” si fueron diferentes.
DEPARTAMENTO DE AUTOMÁTICA. UNIVERSIDAD DE ALCALÁ
T4_Sistemas_Secuenciales.pdf
Departamento de Automática
Universidad de Alcalá
Fundamentos de Tecnología de Computadores
Índice
� Conceptos básicos
� Biestables: concepto y tipos
� Registros
� Almacenamiento
� Desplazamiento
� Serie-Serie / Serie-Paralelo
� Paralelo-Serie / Paralelo-Paralelo
� Universales
� Contadores
� Asíncronos y síncronos
� Ascendentes y descendentes
� Módulo N
Bibliografía
•Fundamentos de sistemas
digitales
Thomas Floyd.
Prentice-Hall
• Fundamentos de diseño lógico
y computadoras.
M. Morris Mano.
Prentice-Hall
Tema 4.
Sistemas Secuenciales
Departamento de Automática
Universidad de Alcalá2
T4: Sistemas Secuenciales
Fundamentos de Tecnología de Computadores
Conceptos Básicos (I)
Circuitos secuenciales. Son aquellos en los que el valor actual de las
salidas depende no sólo del valor actual de las entradas sino también
de las situaciones por las que pasó el circuito anteriormente (valor
anterior de las propias salidas).
� Un sistema secuencial consta de dos bloques diferenciados: un
sistema de memoria y un sistema combinacional asociado a él.
Generalmente, un sistema secuencial será un sistema realimentado.
Sistema de
memoria
(biestables)
Sistema
combinacional
ENTRADAS SALIDAS
Departamento de Automática
Universidad de Alcalá3
T4: Sistemas Secuenciales
Fundamentos de Tecnología de Computadores
Biestables (I)
� El circuito de memoria almacena la información en binario, por lo que ha
de utilizar elementos capaces de retener dicho tipo de información. El
elemento básico de almacenamiento es el biestable .
� Los biestables son circuitos lógicos elementales capaces de permanecer
en uno de los dos posibles estados estables (Q=0 o Q=1), aún después
de desaparecer la señal de entrada (entrada de disparo) que lo provocó.
Almacenan la información binaria de un bit y permiten mantenerla como
salida estable, en ausencia de las entradas.
� Los hay de muchos tipos, pero su esquema general es el siguiente:
Estado
Q
Entradas
de disparo Salidas
Q
Q
Departamento de Automática
Universidad de Alcalá4
T4: Sistemas Secuenciales
Fundamentos de Tecnología de Computadores
Clasificación:
Según la lógica de disparo
R-S J-K D T
Según el sincronismo en el disparo
� Síncronos. La transición sólo está permitida coincidiendo con una
señal de reloj o sincronismo. El impulso de reloj no contiene
información en el sentido de que cambio va a ocurrir, simplemente
sincroniza el cambio.
� Asíncronos. La transición puede producirse en cualquier instante,
sólo depende de las entradas de disparo.
Según el tipo de señal de disparo
� Por Nivel. La activación del biestable se realiza en función del nivel
Alto o Bajo de las variables de entrada.
� Por Pulso. La activación del biestable se realiza en función del cambio
de nivel (flanco de subida o flanco de bajada) de las variables de
entrada.
Biestables (II)
Departamento de Automática
Universidad de Alcalá5
T4: Sistemas Secuenciales
Fundamentos de Tecnología de Computadores
R-S NOR
Biestables (III)
Tabla de excitación
Rt St Qt+1
0 0 Qt
0 1 1
1 0 0
1 1 I
Estado transitorio
indeterminado, debido
al retardo de las puertas
R
S Q
Q
R
S
Q
Q
Departamento de Automática
Universidad de Alcalá6
T4: Sistemas Secuenciales
Fundamentos de Tecnología de Computadores
RS-NAND
Estado transitorio
indeterminado, debido
al retardo de las puertas
Biestables (IV)
Tabla de excitación
Rt St Qt+1
0 0 I
0 1 0
1 0 1
1 1 Qt
S
Q
Q
R
S
R Q
Q
Departamento de Automática
Universidad de Alcalá7
T4: Sistemas Secuenciales
Fundamentos de Tecnología de Computadores
R-S síncrono
� Activo por nivel
Biestables (V)
S
R Q
Q
S
R
Clk
Q
Q S
R Q
Q
Q
Q
Clk
S
R Q
Q
S
R
Clk
Q
Q S
R Q
Q
Q
Q
Clk
Departamento de Automática
Universidad de Alcalá8
T4: Sistemas Secuenciales
Fundamentos de Tecnología de Computadores
Biestable R-S síncrono con entradas asíncronas
Tabla de excitación
Pr Cl S R Clk Qt+1
0 1 X X X 1
1 0 X X X 0
0 0 X X X X
1 1 0 0 Qt
1 1 1 0 1
1 1 0 1 0
1 1 1 1 X
Sólo tiene en cuenta las entradas de excitación R-S, cuando las
asíncronas Preset y Clear no están activas.
Biestables (VI)
S
R Q
Q
Q
Q
Clk
CL
PR
Departamento de Automática
Universidad de Alcalá9
T4: Sistemas Secuenciales
Fundamentos de Tecnología de Computadores
R-S Master-Slave
La estructura “Master-Slave” se introduce para resolver los “problemas
de tiempos”, que conducen a salidas incorrectas
� Activo por flanco (de bajada )
Biestables (VII)
S
R Q
Q
S
R
Clk
S
R Q
Q
Q
Q
MAESTRO
Clk'
ESCLAVO
S
R Q
Q
Q
Q
> Clk
S
R
Departamento de Automática
Universidad de Alcalá10
T4: Sistemas Secuenciales
Fundamentos de Tecnología de Computadores
Biestable J-K asíncrono
Es como el R-S, eliminando las situaciones de indeterminación.
J ~ S y K ~ R.
Biestables (VIII)
J
K Q
Q
Q
Q
S
R Q
Q
Q
QJ
K Q
Q
J
K
Tabla de excitación
Jt Kt Qt+1
0 0 Qt
0 1 0
1 0 1
1 1 tQ
Departamento de Automática
Universidad de Alcalá11
T4: Sistemas Secuenciales
Fundamentos de Tecnología de Computadores
Biestable J-K síncrono
� Activo por nivel
� Activo por flanco (M-S)
Biestables (IX)
Q
Q
J
K
Clk
J
K Q
Q
Q
Q
Clk
S
R Q
Q
J
K
Clk
S
R Q
Q
Q
Q
MAESTRO
Clk'
ESCLAVO
J
K Q
Q
Q
Q
> Clk
J
K
Departamento de Automática
Universidad de Alcalá12
T4: Sistemas Secuenciales
Fundamentos de Tecnología de Computadores
Biestable Tipo T
Biestables (X)
J
K Q
Q
Q
Q
> Clk
T
Clk
Tabla de excitación
Tt Clk Qt+1
0 Q
t
1 tQ
T
Q
Q
Q
Q
> Clk
Departamento de Automática
Universidad de Alcalá13
T4: Sistemas Secuenciales
Fundamentos de Tecnología de Computadores
Biestable tipo D
� D latch (activo por nivel)
Biestables (XI)
D
Q
Q
Q
Q
Clk
S
R Q
Q
Q
Q
Clk
D
Clk
Tabla de excitación
Dt Clk Qt+1
X 0 Qt
D 1 D
� D flip-flop (activo por flanco)
D
Q
Q
Q
Q
> Clk
S
R Q
Q
Q
QD
Clk
> Clk
Tabla de excitación
Dt Clk Qt+1
D D
Departamento de Automática
Universidad de Alcalá14
T4: Sistemas Secuenciales
Fundamentos de Tecnología de Computadores
Registros (I)
Concepto de registro. Circuito capaz de almacenar una cantidad limitada
de información binaria durante un determinado tiempo (mientras se
mantenga su alimentación).
En el computador: dispositivo activo de memoria, para almacenar una
palabra (n bits).
� Está compuesto, normalmente, por un conjunto de biestables.
Tipos básicos:
� De almacenamiento
� De desplazamiento
� Contadores
Departamento de Automática
Universidad de Alcalá15
T4: Sistemas Secuenciales
Fundamentos de Tecnología de Computadores
De almacenamiento. Su única función es actuar de memoria, es decir
almacenar información. Las operaciones permitidas son las de lectura y
escritura (almacenamiento).
Los registros de almacenamiento pueden ser:
De tipo latch
De tipo Master Slave
Registros (II)
D Q
> CLK
CLR
D Q
> CLK
CLR
D Q
> CLK
CLR
D Q
> CLK
CLR
CLK
CLR
E
3
E
2
E
1
E
0
S
3
S
2
S
1
S
0
MSB ............................................ LSB
Departamento de Automática
Universidad de Alcalá16
T4: Sistemas Secuenciales
Fundamentos de Tecnología de Computadores
De desplazamiento. Además de almacenar la información, es capaz de
desplazarla bit a bit.
Tipos (en función de cómo son las entradas y las salidas):
� Entrada Serie - Salida Serie
� Entrada Serie - Salida Paralelo
� Entrada Paralelo- Salida Serie
� Entrada Paralelo- Salida Paralelo
Registros (III)
ENTRADA
DE DATOS
SERIE
SALIDA
DE DATOS
SERIE
S/S
n bits
ENTRADA
DE DATOS
SERIE
S/P
n bits
SALIDA
DE DATOS
PARALELO
SALIDA
DE DATOS
SERIE
ENTRADA
DE DATOS
PARALELO
P/S
n bits
SALIDA
DE DATOS
PARALELO
ENTRADA
DE DATOS
PARALELO
P/P
n bits
Departamento de Automática
Universidad de Alcalá17
T4: Sistemas Secuenciales
Fundamentos de Tecnología de Computadores
Tipos (en función del sentido del desplazamiento):
� Abiertos (desplazamientos)
� Hacia la derecha
� Hacia la izquierda
� Circulares o en anillo (rotación)
� Hacia la derecha
� Hacia la izquierda
Registros (IV)
E S
ES
SE
ES
Departamento de Automática
Universidad de Alcalá18
T4: Sistemas Secuenciales
Fundamentos de Tecnología de Computadores
Registro de desplazamiento con Entrada Serie - Salida Serie
Registros (V)
CLK
E
S
CLR
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15
D Q
> CLK
D Q D Q D Q
CLK
E S
CLR CLR CLR CLR
CLR
> CLK > CLK > CLK
Departamento de Automática
Universidad de Alcalá19
T4: Sistemas Secuenciales
Fundamentos de Tecnología de Computadores
Registros (VI)
Registro de desplazamiento con Entrada Serie - Salida Paralelo
CLK
CLR
E
1 2 3 4 5 6 7 8 9 10 11 12 13 14
S
0
S
1
S
2
S
3
D Q
> CLK
D Q D Q D Q
CLK
E
CLR CLR CLR CLR
CLR
S
0
S
1
S
2
S
3
ENTRADA
SERIE
SALIDA PARALELO
> CLK > CLK > CLK
Departamento de Automática
Universidad de Alcalá20
T4: Sistemas Secuenciales
Fundamentos de Tecnología de Computadores
Registro de desplazamiento con Entrada Paralelo- Sali da Serie
Registros (VII)
D
Q
Q
> CLK
CLR
PRS
E0
D
Q
Q
E1
D
Q
Q
E2
D
Q
Q
E3
CLK
SALIDA
SERIE
Control (S/L)
CLR
PRS PRS
CLR CLR
PRS
ENTRADA PARALELO
> CLK > CLK > CLK
Departamento de Automática
Universidad de Alcalá21
T4: Sistemas Secuenciales
Fundamentos de Tecnología de Computadores
Registro de desplazamiento con Entrada Paralelo- Sali da Paralelo
Registros (VIII)
D
Q
Q
> CLK
ENTRADA
SERIE
D
Q
Q
E0
CONTROL
CLK
D
Q
Q D
Q
Q
E1 E2 E3
S0 S1 S2 S3
> CLK > CLK > CLK
Departamento de Automática
Universidad de Alcalá22
T4: Sistemas Secuenciales
Fundamentos de Tecnología de Computadores
Registro de desplazamiento universal
Registros (IX)
C1 C0 Operación
0 0
0 1 Desplazamiento derecha
1 0 Desplazamiento izquierda
1 1 Carga
D Q
> CLK
CLR
D Q
> CLK
CLR
D Q
> CLK
CLR
D Q
> CLK
CLR
A B C D
C1
C0
SRI
CLK
CLR
SLI
QA QB QC QD
Mantiene el estado
Departamento de Automática
Universidad de Alcalá23
T4: Sistemas Secuenciales
Fundamentos de Tecnología de Computadores
� Un contador es un circuito que “cuenta” y “recuerda” el número de
impulsos que se le aplican a través de una entrada externa de “reloj”.
� Consta normalmente de una cadena de biestables Master-Slave en
cuyas “n” salidas se lee un número binario puro que indica la cuenta
realizada hasta el momento.
� Clasificaciones elementales:
� Forma de activación:
� Asíncronos y síncronos
� Forma de contar:
� Ascendentes y descendentes
� Tipo de cuenta:
� Binarios y módulo N (módulo 10)
Contadores (I)
Departamento de Automática
Universidad de Alcalá24
T4: Sistemas Secuenciales
Fundamentos de Tecnología de Computadores
Contadores (II)
Contador asíncrono (ascendente y binario)
J
Q
Q
> CLK
K
CLK
'1'
CLR
J
Q
Q
> CLK
K
'1'
CLR
QA
J
Q
Q
K
'1'
CLR
QB
J
Q
Q
K
'1'
CLR
QC QD
CLR
> CLK > CLK
Q A
CLK
Q B
Q C
Q D
0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 0 1
f
f/2
f/4
f/8
f/16
0000 0001 0010 0011 0100 0101 0110 0111 1000 1001 1010 1011 1100 1101 1110 1111 0000 0001
Departamento de Automática
Universidad de Alcalá25
T4: Sistemas Secuenciales
Fundamentos de Tecnología de Computadores
Contadores (III)
Contador asíncrono (descendente y binario)
Q A
CLK
Q B
Q C
Q D
123456789101112131415 0 15
f
f/2
f/4
f/8
f/16
0000 1111 1110 1101 1100 1011 1010 1001 1000 0111 0110 0101 0100 0011 0010 0001 0000 1111
0
J
Q
Q
> CLK
K
CLK
CLR
J
Q
Q
> CLK
K
'1'
CLR
Q A
J
Q
Q
K CLR
QB
J
Q
Q
K CLR
QC QD
CLR
> CLK > CLK
'1' '1' '1'
Departamento de Automática
Universidad de Alcalá26
T4: Sistemas Secuenciales
Fundamentos de Tecnología de Computadores
Contador síncrono (ascendente y binario)
Contadores (IV)
J
Q
Q
K
CLK
'1'
CLR
J
Q
Q
K
QA
J
Q
Q
K
J
Q
Q
K
QC QD
QB
> CLK > CLK
CLR
> CLK
CLR
> CLK
CLR
CLR
Departamento de Automática
Universidad de Alcalá27
T4: Sistemas Secuenciales
Fundamentos de Tecnología de Computadores
Contador módulo N
Módulo: es el número de cuentas diferentes que realiza un contador.
� Para realizar un contador de módulo N se tiene que partir de un contador
de n bits, tal que 2n-1 < N < 2n y se eliminan las cuentas sobrantes,
mediante la lógica combinacional necesaria.
Ejemplo: contador BCD, de décadas o módulo
10.
� Para contar los diez dígitos decimales se necesita un contador de
4 bits, ya que 24-1 < 10 < 24
� La combinación que hay que detectar para eliminar las seis
combinaciones binarias que sobran con 4 bits es la 1010.
(Como es un contador basta con detectar QDQB = 11)
� Cuando se detecte 1010 hay que “resetear” el contador y volver a
empezar la cuenta.
Contadores (V)
Departamento de Automática
Universidad de Alcalá28
T4: Sistemas Secuenciales
Fundamentos de Tecnología de Computadores
Contador módulo N (de décadas, asíncrono y ascenden te)
Contadores (VI)
J
Q
Q
> CLK
K
CLK
'1'
CLR
J
Q
Q
> CLK
K'1' CLR
QA
J
Q
Q
K'1' CLR
QB
J
Q
Q
K'1' CLR
QC QD
> CLK > CLK
QD QC QB QA
0 0 0 0
0 0 0 1
0 0 1 0
0 0 1 1
0 1 0 0
0 1 0 1
0 1 1 0
0 1 1 1
1 0 0 0
1 0 0 1
1 0 1 0
1 0 1 1
1 1 0 0
1 1 0 1
1 1 1 0
1 1 1 1
Puesta a cero del
contador
Detección del 10
T5_Ejercicios.pdf
PROBLEMAS DE
FUNDAMENTOS DE TECNOLOGÍA DE
COMPUTADORES
T5. MEMORIAS
Fundamentos de Tecnología de Computadores
Departamento de automática
Área de Arquitectura y T ecnología de Computadores ����
Tema 5 Memorias Ho ja: 2 / 7
Base teórica
La memoria es el lugar en el que se almacenan las instrucciones y los datos para que se
puedan ejecutar los programas. Sin embargo, el sistema de memoria del computador está
formado por varios tipos de memorias con diferentes capacidades y tiempos de acceso. La
idea es que parezca que las referencias a memoria se sirven a velocidades cercanas a las
de los registros del procesador, y que además se tiene un espacio de memoria casi ilimitado
para los programas y los datos. La memoria caché es la responsable de la rapidez de los
accesos y la memoria virtual la de la gran capacidad del sistema de memoria.
Para que todo el sistema funcione, se diseña de manera jerárquica, por el que los diferentes
bloques de información se van moviendo
Figura 1: Jerarquía de memoria
Memoria principal
Centrándose en la memoria principal, se distinguen dos grupos de memorias:
• Memorias de las que solamente se puede leer (ROM)
• Memorias en las que se puede leer y escribir (RAM)
La capacidad de la memoria principal se mide en cuantos bytes o palabras es capaz de
almacenar. La manera habitual es indicar nn x mm en el que nn son el número de
direcciones que tiene la memoria con capacidad para poder almacenar mm bits en cada una.
La capacidad de memoria viene dada por el bus de direcciones que establece el máximo
número de posiciones direccionables por el computador. Si se tienen n bits para el bus de
direcciones, se podrá acceder hasta un máximo de 2n posiciones.
CPU
CACHE
E
MEMORIA PRINCIPAL
DISCOS / CDs / DVDs
UNIDADES DE CINTA
Capacidad
Tiempo de
acceso
Precio
por bit
nivel 1
nivel 2
nivel 3
nivel 4
Fundamentos de Tecnología de Computadores
Departamento de automática
Área de Arquitectura y T ecnología de Computadores ����
Tema 5 Memorias Ho ja: 3 / 7
Independientemente de cuanta memoria sea capaz de direccionar, los computadores no los
entregan con el máximo de memoria disponible, por lo que habrá que definir como se
accede a las posiciones ocupadas y a las que no están disponibles. Esa información se
encuentra en el mapa de memoria del computador.
Figura 2: esquema de memoria de un computador.
Las medidas más empleadas para la capacidad de memoria son:
• Kilobyte (KB) = 210 bytes
• Megabyte (MB) = 220 bytes
• Gigabyte (GB) = 230 bytes
• Terabyte (TB) = 240 bytes
Aumento de la memoria en número de direcciones
Se desea una memoria de 16Kx8 a partir de módulos de memoria de 8Kx8 para un
procesador con un bus de direcciones de 14 bits.
Lo primero es ver si podemos direccionar 16K con 14 bits. Para ello, se sabe que 16K = 214
con lo que si se pueden direccionar los 16K.
Para calcular cuántos módulos hacen falta: 16K/8K * 8/8 = 2 * 1 � 2 chips de 8Kx8
Ahora se tiene que ver cuando se accede a un módulo o al otro. Ya que los dos módulos son
de 8K, se necesitarán 13 bits del bus de direcciones para poder direccionar en cada módulo
esos 8K (=213). Queda el bit más significativo para determinar a qué modulo se accede.
La información de cómo acceder a los módulos se da en el mapa de memoria:
Dirección
m bits
0 m-1
Memoria
Disponible
0
2k-1
2m-1
Mapa
usado
Mapa
total
Fundamentos de Tecnología de Computadores
Departamento de automática
Área de Arquitectura y T ecnología de Computadores ����
Tema 5 Memorias Ho ja: 4 / 7
El esquema de memoria quedaría:
Aumento de la memoria en el ancho de palabra
Si se desea una memoria de 16Kx16 a partir de módulos de memoria de 16Kx8 para un
procesador con un bus de direcciones de 14 bits, se tendrá que definir cuando se accede a
un módulo o al otro y cuantos módulos harán falta
16K/16K * 16/8 = 1 * 2 � 2 chips de 16Kx8
En este caso, se deberá acceder a los dos módulos a la vez, dado que en un módulo se
almacenarán los 8 bits superiores y en el otro los 8 bits de menor peso. El esquema
quedaría de la forma:
1.
2.
3.
También es posible aumentar el tamaño de palabra y el número de posiciones de la
memoria combinando los dos esquemas anteriores (ver los ejercicios siguientes)
Fundamentos de Tecnología de Computadores
Departamento de automática
Área de Arquitectura y T ecnología de Computadores ����
Tema 5 Memorias Ho ja: 5 / 7
EJERCICIOS T5
1. Se desea instalar dos módulos de memoria M1 y M2 de 256x8 de capacidad en un
procesador con un bus de direcciones de 10 líneas y un bus de datos de ocho. M1 hay
que situarlo al principio del mapa (en las 256 primeras posiciones) y M2 al final. Diseñe el
sistema de memoria
2. Se desea situar el bloque de memoria de 8Kx8 mostrado en la figura al principio del
mapa de memoria del procesador. Diseñar la lógica auxiliar que controle la señal CS
mediante las líneas de mayor peso del bus de direcciones.
PROCESADOR
MEMORIA
8Kx8
R/ W R/ W
DIRECCIÓN
CS
BUS DE DIRECCIONES
BUS DE DATOS
16
13
A12-A0
8
A15-A0
3. Se dispone de un subsistema de memoria como el mostrado en la figura. Averiguar el
rango de direcciones a los que corresponden los módulos M1 y M2.
PROCESADOR
MEMORIA
16Kx8
R/ W
R/ W
DIRECCIÓN
CS
BUS DE DIRECCIONES
BUS DE DATOS
16
14A13-A0
8
A15-A0
MEMORIA
16Kx8
R/ W
DIRECCIÓN
CS
A14
A15
A14
A15
A13-A0 14
M1 M2
Fundamentos de Tecnología de Computadores
Departamento de automática
Área de Arquitectura y T ecnología de Computadores ����
Tema 5 Memorias Ho ja: 6 / 7
4. Una CPU cuenta con un ancho de palabra de 16 bits y un bus de direcciones de 20 bits.
Se quiere dotar a esa CPU de una memoria con las siguientes características:
• 256 Kpalabras (256 K x 16) de memoria ROM.
• 512 Kpalabras (512 K x 16) de memoria RAM.
Diseñar la memoria con el menor número de pastillas, sabiendo que disponemos de las
siguientes y que deseamos que la RAM ocupe las posiciones más bajas del mapa de
memoria, seguida de la ROM:
Pastillas de memoria ROM Pastillas de memoria RAM
64 K x 8 128 K x 1
128 K x 1 256 K x 8
128 K x 8
5. En una CPU con un bus de datos de 16 bits y un bus de direcciones de 20 bits se desea
instalar una sistema de memoria con las siguientestes características:
• 256 Kpalabras (256 K x 16) de memoria ROM.
• 512 Kpalabras (512 K x 16) de memoria RAM.
Diseñe el sistema
de memoria utilizando las pastillas que necesite de la tabla siguiente,
de tal forma que la memoria ROM contenga las posiciones más altas del mapa de
memoria y la memoria RAM las posiciones más bajas:
Pastillas de memoria ROM Pastillas de memoria RAM
64 K x 8 128 K x 1
128 K x 1 256 K x 8
128 K x 16 256 K x 16
6. A la CPU de la figura se le quiere instalar una memoria con las siguientes características:
• 128 Kpalabras (128K x 16) de memoria ROM.
• 640 Kpalabras (640K x 16) de memoria RAM.
Diseñe el sistema de memoria utilizando las pastillas que necesite de la tabla siguiente,
de tal forma que la memoria ROM contenga las posiciones más altas del mapa de
memoria y la memoria RAM las posiciones más bajas:
A19-A0
D15-D0
CPU
Fundamentos de Tecnología de Computadores
Departamento de automática
Área de Arquitectura y T ecnología de Computadores ����
Tema 5 Memorias Ho ja: 7 / 7
Pastillas de memoria ROM Pastillas de memoria RAM
64 k x 8 128 k x 1
128 k x 1 256 k x 8
128 k x 16 256 k x 16
7. Se desea dotar una CPU con 16 bits en el bus de datos y 16 bits en el de direcciones de
un banco de memoria RAM de 16 kpalabras y uno de EPROM de 8 kpalabras. Para ello
se dispone de circuitos integrados como los mostrados en las figuras
A0
A12
D0
D7
CS
WE
OE
RAM 8Kx8
A0
A12
D0
D7
CS
OE
EPROM 8Kx8
Los rangos de direcciones que se desean para ambos bancos son los siguientes:
Dirección inicio Dirección fin
RAM 2000h 5FFFh
EPROM 8000h 9FFFh
a) Diseñe el sistema de memoria que se pide empleando puertas lógicas.
b) Diseñe el sistema de memoria utilizando el decodificador 3 a 8 74138 .
A
B
C
G1
G2A
G2B
Y0
Y1
Y3
Y2
Y4
Y5
Y7
Y6
74LS138
1
2
3
6
4
5 7
9
10
11
12
13
14
15
Nota 1: G2 = G2A + G2B
T5_Memorias.pdf
Fundamentos de Tecnología de Computadores Departamento de Automática
Universidad de Alcalá
Tema 5: Memorias
Índice
Conceptos básicos
Parámetros característicos
Jerarquía de memoria
Memoria principal
� Tecnologías
� Estructura
� Mapa de memoria
Bibliografía
� Fundamentos de sistemas
digitales
Thomas Floyd
Prentice-Hall
� Estructura de Computadores
José M. Angulo
Ed. Paraninfo
� Fundamentos de los
Computadores
Pedro de Miguel Anasagasti
Ed. Paraninfo
Departamento de Automática
Universidad de Alcalá2
T5 Memorias
Fundamentos de Tecnología de Computadores
Conceptos básicos
�Memoria : parte del computador que
almacena la información: instrucciones y
datos. Conjunto de posiciones de
memoria con:
� Dirección: identificación de la
posición de memoria
� Contenido: información almacenada
�Celda de memoria: elemento que
almacena un bit
�Palabra: número de bits implicados en
cada operación con la memoria (8, 16,
32, 64, ... bits).
Tamaño del bus de datos
�Operaciones básicas:
� Lectura (R)
� Escritura o almacenamiento (W)
Esquema básico de memoria
direcciones
datos
lectura
escritura
selección
MEMORIA
Departamento de Automática
Universidad de Alcalá3
T5 Memorias
Fundamentos de Tecnología de Computadores
Parámetros característicos (I)
�Capacidad : cantidad de información que puede almacenar un dispositivo
� Medidas más usuales:
Kilobyte (Kb) = 210 bytes
Megabyte (Mb) = 210 Kb = 220 bytes
Gigabyte (Gb) = 210 Mb = 230 bytes
Terabyte (Tb) = 210 Gb = 240 bytes
�Velocidad o tiempo de acceso: tiempo que transcurre desde que se
proporciona la dirección a la memoria y el dato está disponible
�Ciclo de memoria: tiempo que transcurre entre dos accesos consecutivos
a memoria. Puede ser superior al tiempo de acceso
�Coste por bit: precio por cada bit de información
Departamento de Automática
Universidad de Alcalá4
T5 Memorias
Fundamentos de Tecnología de Computadores
Parámetros característicos (II)
Comparativa
velocidad/capacidad
1s 10 ms 100 sµ 1 sµ 10 ns
Tiempo de acceso
C
ap
ac
id
ad
(
by
te
s)
Comparativa
velocidad/coste
1s 10 ms 100 sµ 1 sµ 10 ns
Tiempo de acceso
C
os
te
(
pt
s/
bi
t)
Departamento de Automática
Universidad de Alcalá5
T5 Memorias
Fundamentos de Tecnología de Computadores
Jerarquía de memoria
CPU
Reg/Caché
CACHÉ
MEMORIA PRINCIPAL
DISCOS / CDs / DVDs
UNIDADES DE CINTA
capacidad
tiempo de
acceso
precio
por bit
nivel 1
nivel 2
nivel 3
nivel 4
Jerarquía:
�Registros CPU
�Caché interna
�Caché externa
�Memoria principal
�Dispositivos de almacenamiento
auxiliar/secundario
Departamento de Automática
Universidad de Alcalá6
T5 Memorias
Fundamentos de Tecnología de Computadores
Memoria principal: Tecnologías
RAM (volátil, lectura/escritura)
Random Access Memory - Memoria de acceso aleatorio
� SRAM - RAM estática
� DRAM - RAM dinámica
� SDRAM - Synchronous Dynamic RAM - (RAM síncrona y dinámica)
ROM (no volátil, sólo lectura)
Read Only Memory - Memoria de sólo lectura
� PROM - Programmable ROM - ROM programable
� EPROM - Erasable PROM - PROM que se puede borrar (luz ultravioleta)
� EEPROM - Electrically EPROM - PROM que se puede borrar (señal eléctrica)
� Flash – Tiempos pequeños de borrado (ms) y escritura
Departamento de Automática
Universidad de Alcalá7
T5 Memorias
Fundamentos de Tecnología de Computadores
Memoria principal: estructura (I)
1F20h
SELECCIÓN
LECTURA
ESCRITURA
D
E
C
O
D
IF
IC
A
D
O
R
D
E
D
IR
E
C
C
IO
N
E
S
20
E
nt
ra
da
s
2
S
al
id
as
⇒
7C2Ah
047Fh
B123h
5A93h
34E1h
1111h
AA55h
00002h
BUS DE DIRECCIONES
BUS DE DATOS
00000h
00001h
00002h
00003h
FFFFEh
FFFFCh
FFFFDh
FFFFFh
047Fh
20 bits
16 bits
20
Departamento de Automática
Universidad de Alcalá8
T5 Memorias
Fundamentos de Tecnología de Computadores
Memoria principal: estructura (II)
Ejemplo práctico: RAM estática de 8kx8
SR
AM
626
4
A12-A0
WE
CS1
CS2
D7-D0
SRAM
6264
8Kx8
OE
BUS
DIRECCIONES
BUS
DATOSCONTROL
D0
D2
D1
D3
D4
D5
D6
D7
Departamento de Automática
Universidad de Alcalá9
T5 Memorias
Fundamentos de Tecnología de Computadores
Mapa de memoria
� El mapa de memoria es el
espacio direccionable de un
computador
� El mapa de memoria viene
determinado por el tamaño
de las direcciones (y del bus
de datos). Así, un tamaño de
direcciones de "m" bits
permite direccionar 2m
direcciones
� "m" es el ancho del bus de
direcciones
Ampliación del
mapa de memoria
� Normalmente no se suele
equipar el computador con
toda la memoria que es
capaz de direccionar
Dirección
m bits
0m-1
Memoria
Disponible
0
2k-1
2m-1
Mapa
usado
Mapa
total
RAM
ROM
00000h
0FFFFFh
0FFFF0h
� Ejemplo práctico:
mapa de memoria
simplificado del
µP 8086
Memoria principal: mapa de memoria (I)
Ubicación de la RAM y la ROM
Departamento de Automática
Universidad de Alcalá10
T5 Memorias
Fundamentos de Tecnología de Computadores
Memoria principal: mapa de memoria (II)
M1
8Kx8
M2
8Kx8
R/ W
A12-A0
A13
R/ W
R/ W
CS
CS
8 bits
Ejemplo de expansión de la capacidad (nº de palabra s):
Uso de más de un chip para incrementar el rango de direcciones
Se desea una memoria de 16 K-bytes con chips de 8Kx8
R/ W
BUS DE
DIRECCIONES
BUS DE
DATOS
8Kx8
13 bits
8 bits
CS
Departamento de Automática
Universidad de Alcalá11
T5 Memorias
Fundamentos de Tecnología de Computadores
Memoria principal: mapa de memoria (III)
Ejemplo de expansión del tamaño de palabra:
Uso de más de un chip para incrementar el tamaño de los datos
Se desea una memoria de 8 K-palabras (16 bits) con chips de 8Kx8
13 bits 13 bits
BUS DE
DIRECCIONES
R/ W R/ W
8Kx8 8Kx8
BUS DE
DATOS
8 bits
8 bits
16 bits
CS CSR/ W
BUS DE
DIRECCIONES
BUS DE
DATOS
8Kx8
13 bits
8 bits
CS