Sei sulla pagina 1di 453

Índice

Organización y componentes del computador 10GIIN TCp Clase 1 y 2 - 2020 2


10GIIN TCp Clase 3 98
10GIIN TCp Clase 4 - 2020 132
10GIIN TCp Clase 5-2020 172
10GIIN TCp Clase 6-2020 198
10GIIN TCp Clase 7 2020 (1) 217
10GIIN TCp Clase 7 2020 246
10GIIN TCp Clase 8 275
Clase registros 2020(1) 299
Clase registros 2020_2 321
Clase registros cuarta parte 2020 343
Clase registros primera parte 2020 (1) 388
Clase registros primera parte 2020 (2) 410
Clase registros primera parte 2020 432
Organización del Computador

• Historia
Historia
Generación Años Características

0 hasta 1945 Sistemas mecánicos y electro-mecánicos

1 1945 – 1954 Tubos al vacío, tableros

2 1955 – 1965 Transistores y sistemas por lotes

3 1965 – 1980 Circuitos integrados

4 desde 1980 VLSI - Computadores personales y super


computadoras

2
Primeras “computadoras”

 Ábacos

 Calculadoras mecánicas

 Sistemas basados en relés

3
Maquinas diferenciales de Babbage
1822: Primera “computadora“ (mecánica)
 Usaba el método de las diferencias finitas
para el cálculo de polinomios de 2do
grado.
 Requería aprox. 25.000 partes.
 Fracaso en el intento

1847: Otra versión más “pequeña“


 No llego a construirse
 Fue reproducida por el Museo de Ciencia
en 1985

4
Maquina analítica (1834)
 Primera Computadora Digital
(mecánica)
 Calculaba cualquier función
algebraica y almacenaba
números.
 Se programaba con tarjetas.

 Charles Babbage y Ada Lovelace.


 Fracaso en el intento...

5
Harvard Mark I (1939-1944)
• IBM y la universidad de Harvard
• Electromecanico, 760.000 ruedas!
• 800km de cables!
• Basado en la maquina analitica
de Babagge
• Decimal
• 0.3 a 10 segundos por cálculo
• Programable mediante una cinta de papel
• Se uso hasta 1959

Grace Hooper: popularizo el nombre “Bug”


Escribió en su cuaderno de trabajo :"Relé #70 Panel F
insecto en Relé".

6
Primera Generación
1940-1955
 Utilizan tubos al vacío
 Enormes (20,000 tubos) y lentas (un ciclo  1 seg.)
 Un solo grupo diseñaba, construía, programaba, operaba
y mantenía cada máquina.
 Toda la programación se hacía en lenguaje máquina
(conectando cables en un tablero por ejemplo).
 No existían los sistemas operativos.
 En 1950 se introducen las tarjetas perforadas.

7
Atanasoff Berry Computer
(1939 - 1942)
Primera computadora digital
(binaria)
 No era de propósito general
Resolvía sistemas de ecuaciones
lineales.
John Atanasoff y Clifford Berry de
la Iowa State University.

8
Colossus (1943)
 Desarrollo Británico
 Diseñada para descrifar los
mensajes encriptados por los
alemanes
 Participo Turing
 No se conoció hasta los 80
(Top Secret)

Maquina Alemana “Enigma”


9 150,000,000,000,000,000,000 combinaciones
Pero los Aliados pudieron descifrar los mensajes
ENIAC (1946)
 Electronic Numerical Integrator and Computer
 John Mauchly and J. Presper Eckert (Pennsylvania)
 Primera computadora de propósito general
 Se programaba “cableando”
 Construida entre 1943-1946
para calcular trayectoria de
las armas
 Pero se terminó tarde…

 Von Newman participó de


las últimas etapas del
proyecto

 Se usó hasta 1955

10
ENIAC - Detalles
 Decimal (no binaria)
 20 acumuladores de 10 dígitos
 Programada manualmente usando switches
 18,000 válvulas
 30 toneladas !
 2.40 m ancho x 30 m largo !
 140 kW de consumo
 5,000 adiciones por segundo
 500 Flops

11
12
El modelo de von Neumann
 Antes: programar era
conectar cables…
 Hacer programas era mas
una cuestión de ingeniería
electrónica
 Cada vez que había que
calcular algo distinto
había que reconectar
todo.
 Mauchly and Eckert (ENIAC) documentaron la
idea de almacenar programas como base de la
EDVAC
 Pero no lo publicaron…

13
John Von Neumann
1903 (Hungría) – 1957
Dr. en matemática y química
Publicó y publicitó la idea de
programa almacenado en
memoria
No esta claro que se le haya
ocurrido a él…

14
Von Neumann/Turing

Los datos y programas se almacenan en una


misma memoria de lectura-escritura
Los contenidos de esta memoria se direccionan
indicando su posición sin importar su tipo
Ejecución en secuencia (salvo que se indique lo
contrario)

15
Manchester Mark I (1948)
Tambien llamada Baby
Usada para demostrar el
concepto de programa
almacenado

En 1948 se contrató a
Turing para el desarrolo
de un lenguaje de
programación para la
máquina

16
Primer programa de la HM1

000 CI = S
001 A=A-S
010 A=-S
011 If A < 0, CI = CI + 1
100 CI = CI + S
101 A=A-S
110 S=A
111 HALT

Obtenía el máximo factor propio de A

17
UNIVAC (1949)
 Primera computadora comercial
 Eckert-Mauchly Computer Corporation
 (Universal Automatic Computer)

 Incorpora el uso de cintas


magnéticas
 Cálculos para el
censo de USA
 Fin de los 50’
- UNIVAC II
 +rápida
 +memoria

18
19
Tarjetas perforadas

20
JOHNNIAC (1954)

Clone de la IAS
Máquina que funcionaba
con tarjetas.

21
IBM 650 (1955)
Primera computadora producida en masa
Fuera de circulación en 1969

22
IBM 704 (1955)

 Primera máquina
comercial con
hardware de punto
flotante
 5 KFLOPS.

23
Segunda generación
1955-1966
 Se introducen los transistores.
 Más baratos
 Mas Chicos
 Menos disipación de calor
 Silicio (arena)
 Distinción entre diseñadores, constructores, programadores,
operadores y personal de mantenimiento.
 Mainframes en salas acondicionadas.
 Se escribían los programas en papel, luego se perforaban las tarjetas
 Los operadores toman las tarjetas del programa y colocan también los
del compilador.
 Se crea el proceso por lotes que agrupa trabajos.
 Nace la microprogramación

24
Transistor (1947)

25
FORTRAN (1957)
 Primer compilador FORTRAN para
IBM 704
 (Formula Translator)

26
IBM 1401(1959)
 4KB de memoria expandible a 16KB.
 Buena para leer tarjetas, copiar cintas e imprimir resultados,
 Mala para cáclulos numéricos.
 Se utilizaba con fines comerciales (bancos, etc.)

27
IBM 7094 (1962)
• Buena para hacer cómputos
• Se utilizaba con fines científicos.

28
IBM 7094 (1962)

IBM 1401 – IBM 7094:


a) los programadores llevan tarjetas
b) La 1401 lee un lote de tarjetas y los graba en la cinta
c) Un operador lleva la cinta a la 7094
d) La 7094 realiza los cómputos
e) Un operador lleva la cinta a una 1401
29 f) La 1401 imprime las salidas
Trabajo en FORTRAN
Fortran Monitor System
Comienzo de los Sistemas Operativos

30
DEC PDP-1 (1961)
 4K de palabras de 18 bits.
 US$ 120,000
 < 5% del precio
de la IBM 7094

31
Primer video-juego.
Estudiantes de MIT (1962)

Implementado en una PDP-1


32
Invención del Mouse (1964)

33
Tercera Generación
1965-1980
Se introducen los circuitos integrados
Bajan los costos
Sube el desempeño
Se introduce la multiprogramación
tiempo compartido entre usuarios
 Se introducen los discos duros

34
Circuitos integrados
 Primer circuito integrado
 Jack Kilby (1958)
 1 transistor, un capacitor, y 3
resistencias
 10x15 mm
 Pentium 4
 55 millones de transistores
 Un pelo = 75 micrones
 Transistor actual = 0.3 micrones!

35
IBM 360 (1964)

 Multiprogramación
 Terminales bobas
 Software compatible con
IBM 7094, 1401 entre
otros.
 Aparece el byte de 8bits

36
DEC PDP-8 (1964)
 Primer minicomputador
 No necesita una habitación con
aire acondicionado
 Lo bastante pequeño para
colocarlo en una mesa de
laboratorio
 US$ 16,000

37
Fundación de Intel (1968)

Andy Grove, Robert Noyce y Gordon Moore

38
Lenguaje C (1972)

Laboratorio Bell desarrolla el lenguaje C

#include
main()
{
for(;;)
printf("Hello world..."\n);

39
Cray 1 (1976)
 Seymour Cray
 Primera supercomputadora
 Procesamiento vectorial
 12 unidades procesando en
paralelo
 Aprox. 120 MFlops

40
MULTICS (1976)
 Impulso en el desarrollo de SO “timesharing”

41
Primer microprocesador en un chip Intel

Intel 4004 (1971)


 CPU de 4 bits
 2300 transistores
 Usado para
calculadoras
 Dispositivos de
control

Intel 8080 (1974)


 8 bits datos
 16 bits direcciones
42
ALTAIR 8800 (1975)
Primera computadora personal
Tenía un Intel 8080

43
Apple I (1976)

Steve Jobs & Steve Wosniak

44
Apple II (1978)
• Se podía aumentar la RAM
• Tenía 8 slots de expansión

45
Microsoft (1978)

1975 – Basic para


la Altair
1981 acuerdan
con IBM el
desarrollo de DOS

46
Cuarta generación
Desde 1980
 Usan VLSI (large scale integration).
 > 100,000 componentes por chip
 Facilita la creación de microprocesadores
 Intel 8080 (8 bits)
 IBM PC (1981) con DOS.
 Intel 80286, 80386 y 80486.
 Aparecen las terminales gráficas (GUI)
 Macintosh
 Microsoft “adopta” GUI y desarrolla Windows (sobre DOS)
 Aparecen la filosofía “RISC”

47
IBM PC (1981)
 Usa el Intel 8088
 Sistema DOS (Microsoft)
 1983: XT, con disco rígido

48
Commodore 64 (1982)

49
Sony introduce el CD (1984)

50
Macintosh (1984)

51
Linux (1991)

“Estoy construyendo un sistema operativo


gratuito (no es más que un hobby, no será
una cosa grande y profesional como GNU)
para clones AT (con un 386 o 486).”

Linus Torvalds, Helsinki, Oct. 91

52
Pentium (1993)

 Incorpora ideas de maquinas RISC

 1994: Pentium Bug


 5505001 / 294911 = 18.66600093
(Pentium)
 5505001 / 294911 = 18.666651973
(Powerpc)
 X = 5505001, Y = 294911
 Z = (X/Y)*Y - X (deberia dar 0)
 Pentium con Bug: -256.00000

53
Resumen
 Tubos de vacío - 1946-1957
 Transistores - 1958-1964
 Small scale integration (SSI) – hasta 1965
 Hasta 100 dispositivos en un chip
 Medium scale integration (MSI) - hasta 1971
 100-3,000 dispositivos en un chip
 Large scale integration (LSI) - 1971-1977
 3,000 - 100,000 dispositivos en un chip
 Very large scale integration (VSLI) - 1978 -1991
 100,000 - 100,000,000 dispositivos en un chip
 Ultra large scale integration (ULSI) – 1991 -
 Mas de 100,000,000 dispositivos en un chip
54
Desarrollo
 Moore’s Law (1965)
 Gordon Moore, fundador de Intel
 “La densidad de transistores en un circuito
integrado se duplicara cada año”
 Versión contemporania:
 “La densidad de chips de silicio se duplica cada 18
meses.”

Pero esta ley no puede durar por


siempre...

55
56
Desarrollo
 Rock’s Law
 Arthur Rock, ejecutivo de finanzas de Intel
 “El costo de equipamiento necesario para construir
semiconductores se duplicará cada cuatro años”
 En 1968, construir una planta para chips costaba alrededor
de US$ 12,000

Mas o menos lo que salía una casa linda en la


periferia de la ciudad
Un muy buen sueldo anual de un ejecutivo

57
Historical Development

 Rock’s Law
 En 2003, una fábrica de chips costaba aprox.
US$ 2,500 millones.

Esto es mas que el producto bruto de algunos paises


chicos como Belize y la República de Sierra Leona.

58
Intel (1)
 8080
 Primer microprocessor de uso general
 8 bit
 Usado en la primer PC – Altair
 8086
 Mucho más poderoso
 16 bit
 Cache de instruciones, prefetch de instrucciones
 8088 (bus externo de 8 bits) – Primera PC de IBM
 80286
 Direcciona 16 Mbytes de memoria

59
Intel (2)
 80386
 32 bit
 Soporte para multitarea
80486
 Cache y pipeline de instrucciones
 co-procesador matématico
 Pentium
 Superscalar
 Varias instrucciones ejecutando en paralelo
 Pentium Pro
 Predicción de saltos
 Ejecución especulativa
 Pentium II
 MMX, procesamiento de graficos, videos & audio
60
Intel (3)
 Pentium III
 Más instrucciones de punto flotante para gráficos
 Pentium 4
 Mejoras en punto flotante y multimedia
 Hiperthreading
 Itanium
 64 bit
 Itanium 2
 Mejoras en hardrware para aumentar la velocidad
 Mirar páginas de Intel!
61
Algunos Links

http://www.computerhistory.org/
http://www.intel.com/
Intel Museum
http://www.ibm.com/ibm/history
http://www.dec.com
Charles Babbage Institute

62
 Libros:
 Andrew S. Tanenbaum, Structured Computer Organization, Prentice
Hall, 4ta edición (en adelante).
 William Stallings, Computer Organization and Architecture, Prentice
Hall, 5ta edición (en adelante).
 Linda Null, Julia Lobur, The Essentials of Computer Organization and
Architecture, Jones and Bartlett, 2da edición.

 Otros recursos:
 www.dc.uba.ar/people/materias/oc1verano
 Internet!

63
10GIIN Tecnología y Organización
de Computadores

Organización y componentes del


computador
10GIIN - TCp

Conceptos básicos y organización


funcional del computador
1.1 Conceptos básicos
1.2 Estructura funcional de los computadores:
• El procesador
• La memoria
• Periféricos de E/S
• Estructuras básicas de interconexión
• Estructura de un computador sencillo a nivel de bloques.
• Parámetros que caracterizan las prestaciones de un computador (Bloques CS1)
1.3 Concepto de lenguaje máquina
1.4 Parámetros básicos para la caracterización de prestaciones de un computador
1.5 Niveles conceptuales de descripción de un computador

65
Conceptos básicos

¿Qué es una computadora?


Stallings:
“Máquina digital electrónica programable para el tratamiento
automático de la información, capaz de recibirla, operar sobre ella
mediante procesos determinados y suministrar los resultados de tales
operaciones.”

66
Introducción
Por qué estudiar organización y arquitectura
de computadoras?
Diseñar mejores programas de base:
• compiladores, sistemas operativos, y drivers
Optimizar programas
Construir computadoras
Evaluar su desempeño
Entender los “compromisos” entre poder de
computo, espacio y costos

67
Arquitectura vs Organización
 Arquitectura: atributos visibles al programador
 Set de instrucciones, bits utilizados para representar los
datos, mecanismos de direccionamiento, entrada y salida,
etc.
 Organización: cómo se implementan
 Señales de control, tecnología de la memoria
 Ejemplos:
• Las instrucciones las ejecuta directo el hardware o son
interpretadas por microprogramas?
• La multiplicación es realizadad directamente por un componente o
se realizan muchas sumas?

68
Arquitectura vs. Organización

Toda la familia x86 de Intel comparte la misma


arquitectura básica
Esto asegura la compatibilidad de código
-Al menos la de programas antiguos
La organización cambia entre diferentes
versiones de una misma familia

69
Componentes
No hay una clara distinción entre asuntos
relacionados con la organización y los
relevantes con la arquitectura
Principio de equivalencia Hardware-Software:
“Cualquier cosa que puede ser hecha por software
puede ser hecha en hardware y cualquier cosa
que puede ser hecha con hardware puede ser
hecha con software”

70
Estructura vs. Función
La Estructura es la forma en que los
componentes se relacionan entre sí.
La función es la operación que realizan los
componentes individuales como parte de una
estructura

71
Funciones

Las funciones básicas de una computadora


son:

Procesamiento de Datos
Almacenamiento de datos
Transferencia de Datos
Control

72
Visión Funcional

Transferencia
de datos

Control

Almacenamiento Procesamiento
de datos de datos

73
Operaciones (Transferencia de Datos)

Transferencia Ejemplo: Del Teclado a


de datos Monitor

Control

Almacenamiento Procesamiento
de datos de datos

74
Operaciones (Almacenamiento)

Transferencia
de datos

Ejemplo: Registrar (grabar)


un documento

Control

Almacenamiento Procesamiento
de datos de datos

75
Operaciones (procesamiento desde/hasta
almacenamiento)
Transferencia
de datos

Ejemplo: Modificar un
archivo

Control

Almacenamiento Procesamiento
de datos de datos

76
Operaciones (procesamiento desde
almacenamiento a E/S)
Transferencia
de datos Ejemplo: Imprimir un
archivo

Control

Almacenamiento Procesamiento
de datos de datos

77
Estructura (computadora)

Líneas de comunicación Computador Periféricos

Unidad Central de
Memoria
Procesamiento Entrada - Salida
principal
(CPU)
Sistema de Interconexión

78
Estructura (CPU)

Unidad Central de
Procesamiento
(CPU)

Unidad Lógica Unidad de


Registros
Aritmética Control

Sistema de Interconexión

79
Estructura (UC)
Unidad de
Control

Lógica Memoria de
control
Secuencial
Unidad de control de registros y decodificadores

80
Un ejemplo
Un aviso de segunda mano…

Que significa todo esto?


81
Algunas abreviaturas

Medidas de capacidad y velocidad:


• Kilo- (K) = mil = 103 y 210
• Mega- (M) = 1 millón = 106 y 220
• Giga- (G) = 100 millones = 109 y 230
• Tera- (T) = 1 billón = 1012 y 240
• Peta- (P) = 1000 millones = 1015 y 250

Que una medida corresponda a potencias de 10 ó 2


depende de la magnitud a medir.

82
Algunas abreviaturas
 Hertz = ciclos de reloj por segundo (frecuencia)
 1 MHz = 1,000,000 Hz
 1GHz = 1,000 MHz
 La velocidad del procesador se mide en MHz o GHz.
 Byte = unidad de almacenamiento
 1 KB = 210 = 1024 Bytes
 1 MB = 220 = 1,048,576 Bytes
 La memoria principal (RAM) se mide en MB
 El almacenamiento en disco se mide en GB para sistemas chicos, en TB
para sistemas mas grandes.
 Word (palabra) = unidad de transferencia: cantidad de bits
que pueden moverse simultáneamente dentro de la CPU
 8 bits, 16 bits, 32 bits, 64 bits

83
Algunas abreviaturas
Medidas de tiempo y espacio:
• Mili- (m) = milésima = 10 -3
• Micro- () = millonésima = 10 -6
• Nano- (n) = mil millonésima= 10 -9
• Pico- (p) = billonésima = 10 -12
• Femto- (f) = mil billonésima = 10 -15

84
Un ejemplo
 Milisegundo = milésima de segundo
 El tiempo de acceso de los HD suele ser de 10 a 20
milisegundos.
 Nanosegundo = mil millonésima de segundo
 El tiempo de acceso a RAM suele ser de 50 a 70
nanosegundos.
 Micron (micrómetro) = millonésima de un metro
 Los circuitos en los chips de una computadora suelen
medirse en micrones.

85
Un ejemplo
 Notar que el tiempo de un ciclo es inversamente
proporcional a la frecuencia del reloj.
 Un bus operando a 133 MHz tiene un tiempo de ciclo
de 7.52 nanosegundos (T = 1/F):

133,000,000 ciclos/segundo = 7.52 ns/ciclo

Volvamos al aviso...
86
Un ejemplo

El microprocesador es el “cerebro” del


sistema. Ejecuta las instrucciones de
los programas. Este es un Pentium III
(Intel) corriendo a 667MHz.

El bus del sistema mueve datos dentro de


la computadora. Cuando más rapido el
bus mejor la performance. Este corre a
133MHz.
87
Un ejemplo
 Las computadoras con mucha memoria principal
pueden correr programas más grandes con mayor
velocidad que las computadoras que tienen poca
memoria.
 RAM es la sigla para nombrar a memoria de acceso
aleatorio. Esto significa que los contenidos pueden
ser accedidos directamente si se conoce su locación.
 El cache es un tipo de memoria temporaria que
puede ser accedida más rapidamente que la RAM.

88
Un ejemplo

Este sistema tiene 64MB de una


memoria dinámica RAM
sincrónica (SDRAM) . . .

… y 2 niveles de cache de memoria, el cache de nivel 1


(L1) es más chica y (probablemente) más rapida que la
cache L2.

89
Un ejemplo
La capacidad de HD determina
la cantidad y el tamaño de los
datos que podemos almacenar.

Este es de 30GB. 7200 RPM es la velocidad de


rotación del disco. En general, cuanto más rápido gira
el disco más datos puede enviar a la RAM.

90
Un ejemplo

EIDE (enhanced integrated drive electronics): describe


cómo el HD debe comunicarse con otros componentes.

Un CD-ROM puede almacenar entre 640 y 700MB


de datos. 48x describe su velocidad.

91
Un ejemplo
Los puertos permiten el
movimiento de datos entre el
sistema y los dispositivos
externos.

Este sistema tiene


4 puertos.

92
Un ejemplo

 Los puertos serial envían datos como una serie


de pulsos sobre 1 o 2 líneas de datos, también
denominados puertos RS-232.
 Los puertos paralelos envían datos como un solo
pulso sobre varias líneas de datos.
 USB, universal serial bus, es una interface serie
inteligente que se “auto-configura” (plug and
play)

93
Un ejemplo
Los buses del sistema puede ser
ampliados con buses dedicados a la
E/S. El PCI, peripheral component
interface, es un ejemplo.

Este sistema tiene dos dispositivos


PCI: una tarjeta de sonido y un
modem.

94
Un ejemplo
El numero de veces por segundo que la imagen del
monitor se refresca se llama “tasa de refresco”. El
dot pitch se relaciona con cuan clara es la imagen.

Este monitor tiene un dot pitch de 0.28 mm


y una tasa de refresco de 85Hz.

La tarjeta de video contiene memoria y


programas para manejar el monitor.
95
GRACIAS
10GIIN Tecnología y Organización
de Computadores

Organización y componentes del


computador parte 2
10GIIN - TCp

Conceptos básicos y organización


funcional del computador
1.1 Conceptos básicos
1.2 Estructura funcional de los computadores:
• El procesador
• La memoria
• Periféricos de E/S
• Estructuras básicas de interconexión
1.3 Concepto de lenguaje máquina
1.4 Parámetros básicos para la caracterización de prestaciones de un computador

2
Estructura funcional de los computadores
• Estructuras básicas de interconexión
• El conjunto de caminos que conectan los diferentes módulos constituye la
estructura de interconexión.
• El diseño de esta estructura dependerá de los intercambios que se tengan que
hacer entre los módulos.
• Diferentes estructuras de interconexión para la arquitectura de un computador:
E/S a través de la CPU: La CPU y los módulos de E/S comparten la misma vía de
acceso a memoria, por lo que la CPU debe parar sus cálculos al tener que controlar
todos los intercambios. No es posible el acceso directo a memoria desde los módulos
de E/S. Es la forma más económica, pero reduce el rendimiento de la CPU.

E/S a través de memoria: El módulo de memoria contiene la lógica de control


necesaria para resolver los conflictos. Se puede realizar transferencias entre la
unidad de E/S y la memoria mientras la CPU realiza cálculos. Sus mecanismos de
control son complejos y poco flexibles, es difícil añadir módulos adicionales.

3
Estructura funcional de los computadores
• Estructuras básicas de interconexión

E/S mediante conmutador central: Existe un mecanismo de distribución centralizado al


cual se unen todos los componentes. El conmutador central controla el acceso a
memoria tanto de la UCP como de los módulos de E/S. La UCP queda libre para realizar
cálculos. Al mismo tiempo se puede informar a la UCP sobre las actividades que se
realizan y proporciona una conexión directa entre la UCP y la unidad de E/S. Se adopta
en grandes sistemas y su coste es elevado y el conmutador complejo.

Bus de E/S: Un conjunto de líneas que se comparten por todos los módulos. En un
instante sólo un módulo puede transmitir de forma satisfactoria, y una o más de las
unidades deben encargarse de controlar la utilización del bus. Es simple y flexible y se
ha convertido en estándar

4
• Estructuras básicas de interconexión
Conexión de memoria
• Recibe y envía datos
• Recibe direcciones (de ubicaciones)
• Recibe señales de control
– Lee
– Escribe
– Sincronización

5
Estructura funcional de los computadores
• Estructuras básicas de interconexión

Conexiones de entrada y salida

• Similar a la memoria desde el punto de vista de la computadora


• Salida
 Recibir datos de la computadora
 Enviar datos a periféricos
• Entrada
 Recibir datos de periféricos
 Enviar datos a la computadora

6
Estructura funcional de los computadores
• Estructuras básicas de interconexión

Conexiones de entrada y salida

• Recibe señales de control de la computadora


• Enviar señales de control a los periféricos
 Ej. disco de giro
• Recibir direcciones de la computadora
 Ej. número de puerto para identificar
periféricos
• Enviar señales de interrupción (control)

7
Estructura funcional de los computadores
• Estructuras básicas de interconexión

Conexiones de CPU

• Lee instrucciones y datos


• Escribe datos (después del procesamiento)
• Envía señales de control a otras unidades
• Recibe (y actúa en) interrupciones

8
Estructura funcional de los computadores
• Estructuras básicas de interconexión

Buses

• Hay un número de posibles sistemas de interconexión


• Las estructuras de BUS simples y múltiples son las más
comunes
 Ej. Control / dirección / bus de datos (PC)
 Ej. Unibus (DEC-PDP)

9
Estructura funcional de los computadores
• Estructuras básicas de interconexión
Que es un Bus?
• Una vía de comunicación que conecta dos o más dispositivos
• Usualmente transmitido
• Frecuentemente agrupados
 Una cantidad de canales en un bus
 Ej. Bus de datos de 32 bits es 32 canales separados de un
solo bit

10
Estructura funcional de los computadores
• Estructuras básicas de interconexión
Bus de datos

• Lleva datos
 Recuerde que no hay diferencia entre "datos" e
"instrucción" en este nivel
• El ancho es un factor determinante del rendimiento
 8, 16, 32, 64bit

11
Estructura funcional de los computadores
• Estructuras básicas de interconexión

Bus de direcciones

• Identificar la fuente o el destino de los datos


 Ej. La CPU necesita leer una instrucción (datos) desde una
ubicación determinada en la memoria
• El ancho del bus determina la capacidad de memoria máxima
del sistema
 Ej. 8080 tiene bus de direcciones de 16 bits que da espacio
de direcciones de 64k

12
13
Estructura funcional de los computadores
• Estructuras básicas de interconexión
Bus de Control

• Información de control y sincronización


 Señal de lectura / escritura de memoria
 Solicitud de interrupción
 Señales de reloj

14
Estructura funcional de los computadores
• Estructuras básicas de interconexión
Esquema de interconexión de los buses

15
Arquitectura de la Capa física de los buses

16
Estructura funcional de los computadores
• Estructuras básicas de interconexión

Tipos de Buses

• Dedicado
 Separar datos y direcciones
• Multiplexado
 Líneas compartidas
 Dirección válida o línea de control válida de datos
 Ventaja: menos líneas
 Desventajas
 Control más complejo
 Máximo rendimiento

17
Estructura funcional de los computadores

• Estructura de un computador sencillo a nivel de bloques.

Arquitectura de altas prestaciones

18
Estructura funcional de los computadores

• Stallings, chapter 3
• www.pcguide.com/ref/mbsys/buses/

19
Estructura funcional de los computadores
Concepto de lenguaje máquina

20
Estructura funcional de los computadores
Concepto de lenguaje máquina

Lenguaje máquina

•Lenguaje restringido y de bajo nivel que entiende el


computador.

•Expone las capacidades básicas del computador.

•Características más importantes de su arquitectura.

•Depende del computador, lo que crea incompatibilidades entre


distintos computadores

21
Estructura funcional de los computadores
Concepto de lenguaje máquina

Instrucciones máquina

•Se almacenan en la memoria de programa.

•Realizan una única y sencilla operación.

•Utilizan un número fijo de operandos, representados


de una determinada forma.

•Codificación sistemática. ⇒Decodificación sencilla.

•Son autocontenidas e independientes.

22
Estructura funcional de los computadores

23
Estructura funcional de los computadores

Formatos de Instrucción (1)

•Representación de la instrucción.
 Significado de cada uno de los bits.

•Información que debe contener:


 Operación a realizar.
 Dirección de los operandos y de los resultados.
 Dirección de la siguiente instrucción.
 Modo de representación de los operandos.

24
Estructura funcional de los computadores

Formatos de Instrucción (2)

Las instrucciones se dividen en campos de una longitud


determinada.
•Tipos básicos de campos:
Código de operación (COP).
Campo/s de dirección (CD).

25
Estructura funcional de los computadores

Características del Formato de Instrucción

•Pocos formatos y sistemáticos.


•Instrucciones cortas mejor que largas: menos memoria y mayor
rapidez de ejecución.
 No se suele especificar la representación.
 No se suele poner la dirección de la siguiente instrucción.
 El resultado suele coincidir con un operando.
•El tamaño de los formatos suelen encajar con el tamaño de palabra
de la máquina.

26
Estructura funcional de los computadores
• Parámetros que caracterizan las prestaciones de un computador
Se define rendimiento de un sistema como la capacidad que tiene dicho sistema para
realizar un trabajo en un determinado tiempo. Es inversamente proporcional al tiempo,
es decir, cuanto mayor sea el tiempo que necesite, menor será el rendimiento.

Los computadores ejecutan las instrucciones que componen los programas, por lo tanto
el rendimiento de un computador está relacionado con el tiempo que tarda en ejecutar
los programas. De esto se deduce que el tiempo es la medida del rendimiento de un
computador.

27
Estructura funcional de los computadores
• Parámetros que caracterizan las prestaciones de un computador
El rendimiento del procesador depende de los siguientes parámetros:

Frecuencia de la CPU (fCPU) : es el número de ciclos por segundo al que trabaja el


procesador o CPU. No confundir la frecuencia de la CPU con la frecuencia del sistema, el bus
del sistema trabaja a menor frecuencia que la CPU.

Periodo de la CPU (TCPU) : es el tiempo que dura un ciclo y es la inversa de la frecuencia


de la CPU.

28
Estructura funcional de los computadores
Ciclos por instrucción (CPI) : las instrucciones se descomponen en microinstrucciones,
que son operaciones básicas que se hacen en un ciclo de reloj. En un programa se llama CPI al
promedio de microinstrucciones que tienen las instrucciones del programa, es decir, los ciclos de
reloj que se tarda de media en ejecutar una instrucción.

Número de instrucciones del programa : cuantas más instrucciones haya en el


programa más tiempo se tarda en ejecutarlo luego baja el rendimiento. El que tengamos un número
reducido de instrucciones dependerá del programador y de que dispongamos de un buen
compilador.

Multitarea : hace referencia a la capacidad que tiene un computador de atender


simultáneamente varias tareas

29
Estructura funcional de los computadores
Rendimiento de un procesador para un programa concreto es un factor
inversamente proporcional al tiempo que tarda en ejecutar dicho programa.

El tiempo que tarda en ejecutarse cada instrucción depende del número de


microinstrucciones o ciclos en los que se descompone. Cada microinstrucción tarda distintos
ciclos de reloj en ejecutarse, por lo que se hace un promedio ponderado de ciclos de instrucción

30
Estructura funcional de los computadores

El rendimiento de un procesador para un determinado programa queda en función de tres


factores:

Frecuencia de la CPU la cual depende fundamentalmente de la tecnología de


fabricación del procesador. Cuanto mayor sea la frecuencia de la CPU, mejor será el
rendimiento.
Número de instrucciones del programa el cual depende del programador, del
lenguaje
de programación y del compilador. Cuanto mayor sea el número de instrucciones del
programa peor rendimiento tendrá.
CPI que depende de diseño interno o arquitectura del computador y del software o
instrucciones que se hayan elegido. Es importante optimizar el programa con instrucciones
que tengan pocos ciclos. Cuanto mayor sea el CPI, peor será el rendimiento.

31
Estructura funcional de los computadores

Ejemplo:
Dadas las características de un programa calcular el tiempo que tarda en ejecutarse el
programa y su rendimiento. Se sabe que la CPU trabaja a 1GHz. El programa se compone de
19 instrucciones de tres tipos: A, B y C y cada tipo de instrucción tiene un número de
microinstrucciones diferente según indica la tabla:

32
33
GRACIAS
10GIIN Tecnología y Organización
de Computadores

Niveles conceptuales de
descripción de un computador
Niveles conceptuales de descripción de un computador

• Concepto de lenguaje máquina y ensamblador


• Diferentes niveles en la arquitectura de un computador
 La jerarquía de niveles de una computadora
 Traductores
 Máquinas Virtuales
 Jerarquía de niveles

2
Diferentes niveles en la arquitectura de un
computador
• Un computador digital es una máquina que puede
resolver problemas ejecutando ciertas instrucciones.
• Un programa es una secuencia de instrucciones.
• Los circuitos electrónicos de cada computadora
reconocen un conjunto limitado de instrucciones
muy simples.
• Lenguaje máquina es el conjunto de instrucciones
básicas de una computadora.

3
Concepto de lenguaje máquina y ensamblador

• Es un lenguaje de programación de
bajo nivel para los computadores,
microprocesadores, microcontroladores
y otros circuitos integrados
programables.
• Implementa una representación
simbólica de los códigos de máquina
binarios y otras constantes necesarias
para programar una arquitectura dada
de CPU.
• Constituye la representación más
directa del código máquina específico
para cada arquitectura legible por un
programador

4
Concepto de lenguaje máquina y ensamblador
Cobol
Alto nivel Pascal
Basic
Java

C
Mediano BCPL
nivel

Bajo nivel Ensamblador

Maquina 001110011010100

5
Concepto de lenguaje máquina y ensamblador

• Los lenguajes de bajo nivel son mas fáciles de


utilizar que los lenguajes máquina, dependen
de la máquina en particular. El lenguaje de
bajo nivel por excelencia es el ensamblador.

• Las instrucciones en lenguaje ensamblador


son instrucciones conocidas como
nemotécnicos

6
Concepto de lenguaje máquina y ensamblador
•Por ejemplo, nemotécnicos típicos de operaciones aritméticas son: en inglés,
ADD, SUB, DIV, etc.; en español, SUM, RES, DIV,etc. Una instrucción típica de
suma sería:
ADD M, N, P
•Esta instrucción podría significar “sumar el número contenido en la posición
de memoria M al número almacenado en la posición de memoria N y situar el
resultado en la posición de memoria P”.

•Evidentemente es mucho más sencillo recordar la instrucción anterior con un


nemotécnico que su equivalente en código máquina”.
0110 1001 1010 1011

Un programa escrito en lenguaje ensamblador no puede ser ejecutado


directamente por la computadora en esto se diferencia esencialmente del
lenguaje máquina, sino que requiere una fase de traducción al lenguaje
máquina.

7
Concepto de lenguaje máquina y ensamblador

El programa original escrito en lenguaje ensamblador se denomina


programa fuente y el programa traducido en lenguaje máquina se
conoce como programa objeto, ya directamente entendible por la
computadora.

El traductor de programas fuente a objeto es un programa llamado


ensamblador, existente en casi todos los computadores.

8
Ventajas del lenguaje ensamblador
• Los lenguajes ensambladores presentan la ventaja frente a
los lenguajes máquina de su mayor facilidad de
codificación y, en general, su velocidad de cálculo.

• La segunda razón es el control total de la PC que se tiene


con el uso del mismo.

• El ensamblador permite una optimización ideal en los


programas tanto en su tamaño como en su ejecución.

9
Desventajas del lenguaje ensamblador

•Dependencia total de la máquina lo que impide la


transportabilidad de los programas. El lenguaje ensamblador
del PC es distinto del lenguaje ensamblador del Apple
Macintosh.

•La formación de los programadores es más compleja que la


correspondiente a los programadores de alto nivel, ya que no
sólo las técnicas de programación, sino también el
conocimiento del interior de la máquina.

10
• Diferentes niveles en la arquitectura de un
computador
La jerarquía de niveles de una computadora

• Una computadora es mucho más que chips.


• Para que la computadora haga “algo” necesita
software
• Para escribir programas complejos se suele
dividir el problema en módulos que resuelven
problemas mas simples
• En las computadoras
– Varios niveles de máquinas “virtuales”

12
TRADUCTORES

• Utilizar lenguaje máquina es difícil y tedioso.


• Solución:
• Sea L1 el lenguaje máquina
• y L2 un lenguaje más fácil de utilizar

programa en L2
compilación (compilador)
interpretación (intérprete)
programa en L1
13
Máquinas Virtuales

• Se puede imaginar la existencia de una


máquina virtual cuyo lenguaje máquina es L2.
• Se pueden crear L3, L4... cada uno más fácil de
utilizar.
Mn con Ln
nivel n
..
M3 con L3 nivel 3

M2 con L2 nivel 2

M1 con L1 nivel 1

14
Jerarquía de niveles

• Cada capa es una máquina virtual


que abstrae a las maquina del nivel
inferior.

• Las máquinas, en su nivel,


“interpretan” sus instrucciones
particulares, utilizando servicios de
su capa inferior para
implementarlas.

• En última instancia los circuitos


terminan haciendo el trabajo…

15
MÁQUINAS MULTINIVEL ACTUALES
nivel 6 user

• La mayoría de las
nivel 5 Lenguajes de alto nivel
máquinas actuales
Traducción (compilador)
constan de 6 niveles.
nivel 4 Lenguaje ensamblador • Los microprogramas son
Traducción(ensamblador)
directamente ejecutados
nivel 3 Sistema operativo por el hardware.
Interpretación (sistema operativo)

nivel 2 Máquina convencional

Interpretación (microprograma)

nivel 1 Microprogramación

Ejecutados directamente

nivel 0 Lógica digital

16
Nivel 0: nivel de lógica digital
• Es el hardware de la máquina.
• El nivel inferior sería el nivel de dispositivo.
• En este nivel:
• Puertas lógicas
• Circuitos integrados
• Circuitos combinacionales
• Circuitos aritméticos
• Relojes
• Memorias
• Microprocesadores
• Buses
17
Nivel 1: nivel de microprogramación

• Existe un programa llamado microprograma.


• La función del microprograma es interpretar
las instrucciones del nivel 2.
• En algunas máquinas no existe el nivel de
microprogramación.

18
Nivel 2: nivel de máquina convencional

• Cada fabricante publica el “Manual de referencia del


lenguaje máquina” para cada uno de los
computadores.
• Las instrucciones del nivel de máquina las interpreta
el microprograma.
• En las máquinas en las que no existe el nivel de
microprogramación, las instrucciones del nivel de
máquina son realizadas directamente por los
circuitos electrónicos.

19
Nivel 3: nivel del sistema operativo
• La mayoría de las instrucciones de este nivel están
también en el nivel 2 pero además tiene un nuevo
conjunto de instrucciones, una organización
diferente de la memoria, posibilidad de ejecutar 2 o
más programas
• Las nuevas instrucciones las interpreta el sistema
operativo.
• Las que son idénticas a las del nivel 2 las lleva a cabo
el microprograma.

20
Nivel 4: nivel del lenguaje ensamblador

• Los niveles 4 y superiores son utilizados por


los programadores de aplicaciones.
• Los niveles inferiores están diseñados para
ejecutar los intérpretes y traductores de los
niveles superiores y son escritos por los
programadores de sistemas.
• El ensamblador es el programa que lleva a
cabo la traducción de un programa del nivel 4.

21
Nivel 5: nivel de lenguajes de alto nivel

• Los lenguajes de alto nivel son más fáciles de utilizar


que los lenguajes de niveles inferiores.
• Son utilizados por los programadores de
aplicaciones.
• Los traductores de programas en lenguaje de alto
nivel pueden ser compiladores o intérpretes.
• El nivel donde interactuamos cuando escribimos
programas en Haskell, C, Java, etc.
• Pensamos el algoritmos, TADs, etc.

22
Level 6: Nivel Usuario

– Ejecución de programas e interfaces de usuario.


– Pensamos en términos de la aplicación que se
ejecuta.

23
10GIIN Tecnología y Organización
de Computadores

Circuitos combinacionales
Circuitos lógicos combinacionales

• Introducción a la electrónica digital


• Sistema de numeración:
 Decimal
 Binaria
 Hexadecimal

25
Introducción a la electrónica digital

26
Introducción a la electrónica digital

27
Introducción a la electrónica digital

28
Introducción a la electrónica digital
Sistema de numeración

29
Introducción a la electrónica digital
Sistema de numeración

30
Introducción a la electrónica digital
Sistema de numeración: Sistema binario

Conversión de un número decimal al Sistema binario

31
Introducción a la electrónica digital
Conversión de un número binario a decimal

Actividad:

32
Introducción a la electrónica digital
Sistema de numeración hexadecimal

33
Introducción a la electrónica digital

34
Introducción a la electrónica digital
Conversión de un número decimal al Sistema hexadecimal

Actividad:

35
Introducción a la electrónica digital
Conversión de un número hexadecimal a decimal

Actividad:

36
Introducción a la electrónica digital
Conversión de un número binario a hexadecimal
Actividad:

37
Introducción a la electrónica digital
Conversión de un número hexadecimal a binario
Actividad:

38
Actividades

39
GRACIAS
10GIIN Tecnología y Organización
de Computadores

Circuitos combinacionales II
Circuitos lógicos combinacionales

Expresiones Canónicas
Minterm y Maxterm
Implementación de funciones con minterm y maxterm
Circuitos lógicos combinacionales
Circuitos lógicos combinacionales
Implementación de funciones booleanas con AND/OR y OR/AND
Implementación con puertas NAND, NOR

2
Expresiones Canónicas

• Existen dos formas básicas de expresiones canónicas que


pueden ser implementadas en dos niveles de compuertas:
• Suma de productos o expansión de minterminos
• Producto de sumas o expansión de maxterminos
• Permiten asociar a una función una expresión algebraica
única
• La tabla de verdad también es una representación única
para una función booleana

3
Minterm y Maxterm
• Se llama término canónico a aquél que contiene a TODAS las variables de una
función dada.
– Minitérmino o minterm es un producto canónico
– Maxitérmino o maxterm es una suma canónica
• Ejemplo: Sea F(a,b,c,d). Entonces los términos a’· b’·c·d y a·b·c·d’ son
minterms y los términos a’+b+c’+d’ y a+b’+c+d’ son maxterms.
• Para n variables, se tienen 2n minterms y 2n maxterms
• Cualquier función booleana pueden expresarse en forma de:
– Suma de minterms : 1ª Forma canónica
– Producto de maxterms: 2ª Forma canónica
• Numeración:
– Minterm: variable  1, variable  0
Ejemplo: a · b · c · d es el minterm 3 (0011). Se representa como m3
– Maxterm: variable  0, variable  1
Ejemplo: a+b+c+d es el maxterm 9 (1001). Se representa como M9

4
Implementación de funciones con minterm y
maxterm
1ª Forma canónica: suma de minterms
F= mi ({i / F(i)=1})
2ª Forma canónica: producto de maxterms
F= Mi ({i / F(i)=0})

Notar que mi = Mi y que Mi = mi

Ejemplo:
F(A,B,C) =  m(2,3,4,6) toma los 1’s
F(A,B,C) =  M(0,1,5,7) toma los 0’s

Cálculo de la función negada:

F(A,B,C) =  M(0,1,5,7) = M0.M1.M5.M7 =


= m0+m1+m5+m7 =  m(0,1,5,7)

5
Circuitos lógicos combinacionales

6
Circuitos lógicos combinacionales
•Pin 1: la entrada A de la compuerta 1.
•Pin 2: la entrada B de la compuerta 1.
•Pin 3: aquí veremos el resultado de la operación de la primera compuerta.
14 •Pin 4: la entrada A de la compuerta 2.
•Pin 5: la entrada B de la compuerta 2.
•Pin 6: aquí veremos el resultado de la operación de la segunda compuerta.
•Pin 7: normalmente GND: Es el polo negativo de la alimentación,
generalmente tierra.
•Pin 8: aquí veremos el resultado de la operación de la cuarta compuerta.
8 •Pin 9: la entrada B de la compuerta 4.
•Pin 10: la entrada A de la compuerta 4.
1 •Pin 11: aquí veremos el resultado de la operación de la tercer compuerta.
•Pin 12: la entrada B de la compuerta 3.
7 •Pin 13: la entrada A de la compuerta 3.

7
Implementación de funciones booleanas con
AND/OR

8
9
Implementación de funciones booleanas con
AND/OR
• Funciones expresadas como suma de productos (AND/OR)

f(a,b,c) = ab'c + a'c' + a'b

Nivel 1 Nivel 2
10
Implementación de funciones booleanas con
OR/AND

• Funciones expresadas como producto de sumas (OR/AND)


g(a,b,c) = (a'+b+c) · (a'+b') · (b'+c)

11 Nivel 1 Nivel 2
12
Diseño de Circuitos Lógicos Combinacionales

Procedimiento:
1. Interprete el problema y establezca la tabla de verdad
para describir su operación.
2. Escriba el término AND (producto) para cada una de las
salidas que sean 1.
3. Escriba la expresión de suma de productos (SOP) para la
salida.
4. Simplifique la expresión de salida, si es posible.
5. Implemente el circuito para la expresión final
simplificada.
Diseño de Circuitos Lógicos Combinacionales

Diseñe un circuito lógico que tenga tres


entradas A, B y C y cuya salida sea alta solo
cuando la mayor parte de las entradas sean
altas.

14
Diseño de Circuitos Lógicos Combinacionales

 Diseñe un circuito lógico que tenga tres entradas A, B y C y cuya salida sea
alta solo cuando la mayor parte de las entradas sean altas.

Paso 1: Establecer la tabla de verdad. Paso 2: Escribir el termino AND para cada
salida que sea 1.

15
Diseño de Circuitos Lógicos Combinacionales

 Diseñe un circuito lógico que tenga tres entradas A, B y C y cuya salida sea
alta solo cuando la mayor parte de las entradas sean altas.

Paso 3: Escriba la expresión de suma de productos para la salida.


.

Paso 4: Simplifique la expresión de salida.


Paso 5: Implemente el circuito
para la expresión final.

16
Implementación de funciones booleanas con
AND/OR
yz
x 00 01 11 10
• Ejemplo:
f(x,y,z) =∑(1,3,6,7) 0 0 1 1 0
X Y Z F 1 0 0 1 1
Esta
0 0 0 0 notación
0 0 1 1 significa la Agrupar los 1’s de F
0 1 0 0 suma de los
minitérminos f(x,y,z) = x'z + xy
0 1 1 1 1, 3 6 y 7
1 0 0 0
1 0 1 0
1 1 0 1
1 1 1 1

17
Implementación de funciones booleanas con
OR/AND yz
x 00 01 11 10
 Ejemplo
0 0 1 1 0
f(x,y,z) =∑(1,3,6,7)
F
1 0 0 1 1
x y z F F yz
x 00 01 11 10
0 0 0 0 1
0 0 1 1 0 0 1 0 0 1
0 1 0 0 1
0 1 1 1 0 F 1 1 1 0 0
1 0 0 0 1
1 0 1 0 1
1 1 0 1 0 Agrupar los 1’s en F y …
1 1 1 1 0
F  x·z  x·y
18
Implementación de funciones booleanas
con OR/AND
… realizar la negación de la función negada

yz
F  x·z  x·y x 00 01 11 10

0 0 1 1 0

F  F  x·z  x·y 1 0 0 1 1

F  x·z·x·y
F  ( x  z )·(x  y)
19
Implementación de funciones booleanas
con OR/AND
Forma directa: yz
 También se habría llegado a esa expresión
x 00 01 11 10
agrupando directamente los 0`s de F pero:
0 0 1 1 0
o Cada agrupación de ceros es una suma de
variables donde
1 0 0 1 1
o las variables que siempre valen 1
aparecen NEGADAS
o las variables que siempre valen 0
aparecen AFIRMADAS
o F es el el producto de todas las sumas F  ( x  y )( x  z )·

20
Implementación con puertas NAND

• Las puertas NAND son universales

– NOT con NANDs

– AND con NANDs

– OR con NANDs

21
Implementación con puertas NAND en dos niveles

• Expresar la función como Suma de Productos, aplicar


doble negación y De Morgan

22
Implementación con puertas NOR

• Las puertas NOR son universales

– NOT con NORs

– AND con NORs

– OR con NORs

23
Implementación con puertas NOR en dos niveles

• Expresar la función como Producto de Sumas, aplicar


doble negación y De Morgan

24
Introducción a la electrónica digital

25
GRACIAS
10GIIN Tecnología y Organización
de Computadores

Circuitos combinacionales III


Método de Mapas de Karnaugh
Herramienta gráfica para simplificar una
ecuación lógica o convertir una tabla de verdad
en su correspondiente circuito lógico.

Su utilidad práctica está limitada a circuitos con


cinco o seis variables.

Es un medio para mostrar la relación entre las


entradas lógicas y las salidas deseadas.

2
Formato del Mapa de Karnaugh

 Cada caso en la tabla de verdad corresponde a un cuadro en el mapa.

3
Formato del Mapa de Karnaugh

 Los cuadros se marcan de forma tal que los cuadrados horizontales adyacentes solo
difieran en una variable.

Se consideran adyacentes

Se consideran adyacentes

4
Formato del Mapa de Karnaugh

 A fin de que los cuadros adyacentes (horizontales y verticales) difieran en una sola
variable, el orden es el siguiente:

De arriba a bajo: A B, A B, A B, A B

De izquierda a derecha: C D, C D, C D, C D

 La salida se puede obtener operando con OR aquellos términos que contienen 1.

X= A B C D + A B C D + A B C D + A B C D

5
Agrupamiento
Agrupamientos de grupos de dos

El agrupamiento de una par de unos adyacentes en un


mapa K elimina la variable que aparece en forma
complementaria y no complementaria

6
Agrupamiento

 Agrupamientos de grupos de dos

7
Agrupamiento
Agrupamientos de grupos de cuatro

El agrupamiento cuádruple de unos elimina las


dos variable que aparece en forma
complementada y no complementada

8
Agrupamiento

 Agrupamientos de grupos de cuatro

9
Agrupamiento

Agrupamientos de grupos en ocho

El agrupamiento en octetos de unos elimina las tres variable que aparece en forma
complementada y no complementada

10
Agrupamiento

 Agrupamientos de grupos de ocho

11
Método de Mapas de Karnaugh

Proceso completo de simplificación:

1. Construya el mapa K y coloque unos en aquellos cuadros correspondientes a los unos


en la tabla de verdad.
2. Examine el mapa en busca de 1s adyacentes y marque los que no sean adyacentes
con cualquier otro 1. A estos se les conoce como 1s aislados.
3. Busque los 1s que sean adyacentes solo con otro 1. Agrupe cualquier par que
contenga este tipo de 1s.
4. Agrupe cualquier octeto, aún cuando contenga algunos 1s que ya se hayan agrupado.
5. Agrupe cualquier cuádruple que contenga uno o más 1s que no se hayan agrupado ya,
asegurándose de utilizar el número mínimo de grupos.
6. Agrupe cualquier par necesario para incluir todos los 1 que no se hayan agrupado
todavía, asegurándose de utilizar el número mínimo de grupos.
7. Forme la suma OR de todos los términos generados, uno por cada grupo.

12
Condiciones “no importa”

 El diseñador del circuito tiene la libertad para hacer que la salida para cualquier
condición “no importa” se aun 0 o un 1 para producir la expresión de salida más
simple.

13
Diseño de Circuitos Lógicos Combinacionales

Procedimiento:
1. Interprete el problema y establezca la tabla de verdad
para describir su operación.
2. Escriba el término AND (producto) para cada una de las
salidas que sean 1.
3. Escriba la expresión de suma de productos (SOP) para la
salida.
4. Simplifique la expresión de salida, si es posible.
5. Implemente el circuito para la expresión final
simplificada.
Diseño de Circuitos Lógicos Combinacionales

Diseñe un circuito lógico que tenga tres


entradas A, B y C y cuya salida sea alta solo
cuando la mayor parte de las entradas sean
altas.

15
Diseño de Circuitos Lógicos Combinacionales

 Diseñe un circuito lógico que tenga tres entradas A, B y C y cuya salida sea
alta solo cuando la mayor parte de las entradas sean altas.

Paso 1: Establecer la tabla de verdad. Paso 2: Escribir el termino AND para cada
salida que sea 1.

16
Diseño de Circuitos Lógicos Combinacionales

 Diseñe un circuito lógico que tenga tres entradas A, B y C y cuya salida sea
alta solo cuando la mayor parte de las entradas sean altas.

Paso 3: Escriba la expresión de suma de productos para la salida.


.

Paso 4: Simplifique la expresión de salida.


Paso 5: Implemente el circuito
para la expresión final.

17
Introducción a la electrónica digital

18
GRACIAS
10GIIN Tecnología y Organización
de Computadores

Análisis e implementación de
sistemas combinacionales
Circuitos lógicos combinacionales

Circuitos lógicos combinacionales


Funcionamiento de los módulos combinacionales básicos:
Codificadores
Decodificadores
Multiplexores
Demultiplexores

2
Códigos BCD y GRAY

Código:

• Representación de números, letras o palabras mediante un grupo especial de símbolos (código).

Código BCD (Código Binario Directo):

• Representación de un número decimal


por su número binario equivalente.
• No son permitidos los códigos 1010,
1011, 1100, 1101, 1110 y 1111.

Código GRAY:

• Entre dos números sucesivos en la


secuencia solo un bit cambia.

3
Integración de los sistemas numéricos

4
Códigos alfanuméricos

Código ASCII:

• Código estándar estadounidense


para el intercambio de
información.
• 7 bits
• 27 = 128 códigos posibles

5
¿Qué es un Circuito Combinacional?

• Dos tipos de circuitos digitales


– Combinacionales: la salida depende sólo de las entradas
– Secuenciales: la salida depende de las entradas y del
estado actual del circuito (entrada + memoria)

6
Síntesis o Diseño de Circuitos Combinacionales

Síntesis
Especificación

F(A, B, C ) = ...
A B C F

0 0 0 1
0 0 1 0
0 1 0 1 Simplificación
0 1 1 0
1 0 0 1 e implementación
1 0 1 0
1 1 0 0
1 1 1 1

7
¿Qué es un Circuito Combinacional?

• Las salidas tienen que estar completamente


determinadas a partir de las entradas en cualquier
instante
• No puede haber bucles de realimentación

NO es combinacional

SÍ es combinacional

8
Análisis de circuitos combinacionales

• Consiste en determinar la expresión algebraica de


la función implementada por el circuito
Se evalúan las expresiones generadas por cada puerta desde
su entradas hasta su salida

9
Módulos combinacionales básicos
MSI (Medium Scale of Integration)
Módulos combinacionales básicos

 Bloques funcionales más complejos que las puertas lógicas


que realizan una función determinada
 Podemos obtenerlos a partir de puertas lógicas básicas
 Se pueden utilizar para la implementación de funciones
booleanas
 MSI, circuitos entre 10 y 100 puertas
 Pueden disponer de señales de control para controlar su
funcionamiento
 Tipos:
– codificador
– decodificador
– multiplexor
– demultiplexor

11
Codificador
ENTRADA DE ACTIVACION
(ENABLE)

 Codificador binario
– Dispone de 2n entradas y n salidas: COD

ENTRADAS

SALIDAS
2nxn
– La salida proporciona el código binario del
canal de entrada activado.

• Entrada activa a nivel alto: entra un 1 y el


resto son 0’s
• Salida activa a nivel alto: proporciona el
código binario de la entrada a 1.
• Entrada activa a nivel bajo: entra un 0 y el
resto son 1’s
• Salida activa a nivel bajo: proporciona el
código binario invertido de la entrada a 0

12
Codificador

 Implementación con puertas lógicas


Codificador con entrada y salida activa a nivel alto
D0 D1 D2 D3 D4 D5 D6 D7 X Y Z

1 0 0 0 0 0 0 0 0 0 0
0 1 0 0 0 0 0 0 0 0 1
0 0 1 0 0 0 0 0 0 1 0
0 0 0 1 0 0 0 0 0 1 1
0 0 0 0 1 0 0 0 1 0 0
0 0 0 0 0 1 0 0 1 0 1
0 0 0 0 0 0 1 0 1 1 0
0 0 0 0 0 0 0 1 1 1 1

X = D4 + D5 + D6 + D7
Y = D2 + D3 + D6 + D7
Z = D1 + D3 + D5 + D7
13
Codificador
 Problemas:
– ¿cuál sería la salida del codificador si se activan 2 entradas
simultáneamente?
 p. ej: COD(0,1,0,0,1,0,0,0) según las expresiones de X, Y, Z,
sería XYZ=101, pero D5=0
– ¿cuál sería la salida si no se activa ninguna entrada?
 COD(0,0,0,0,0,0,0,0) daría XYZ=000 , pero D0 = 0

0
0
0
1
0
0
1
0

14
Codificador
 Soluciones
– Se introduce una señal de activación (enable) que permite activar o
desactivar al codificador
– Se realiza una priorización de las entradas. En caso de activación
simultánea por dos o más canales de entrada se toma la más
prioritaria (normalmente la de mayor peso)
D0
D1 8
D2
D3
D4
D5
D6
D7

8
Circuito
de
Prioridad

15
Codificador

 Codificador BCD
– Ejemplo: TTL 74147 . Conversor 9 entradas a código BCD (binary
coded decimal)
– ¡¡OJO!! entradas y salidas activas a nivel bajo

16
Codificador

 Aplicación:
– Teclado simple

17
Decodificador

 Decodificador binario: DEC n x 2n


– Función inversa al codificador
– n entradas y 2n salidas
– Transforma el código binario de entrada en la activación
de la salida cuyo número de orden coincide con el
código
ENTRADA DE ACTIVACION
ENTRADAS

SALIDAS

18
Decodificador

 Implementación con puertas lógicas


DEC 2 x 4. Entradas activas a nivel alto y
salidas activas a nivel alto

A0
D0
A1

D1
E A1 A0 D0 D1 D2 D3
D2 1 0 0 1 0 0 0
1 0 1 0 1 0 0
1 1 0 0 0 1 0
1 1 1 0 0 0 1
E D3 0 X X 0 0 0 0

19
Decodificador

E
 Implementación con puertas lógicas
DEC 2 x 4. Entradas activas a nivel alto y
salidas activas a nivel bajo con Enable
invertido

E A1 A0 D0 D1 D2 D3

0 0 0 0 1 1 1
0 0 1 1 0 1 1
0 1 0 1 1 0 1
0 1 1 1 1 1 0
1 X X 1 1 1 1

20
Decodificador

 Ejemplo: TTL 74139


– 2 decodificadores en un integrado
– Entradas activas a nivel alto y salidas activas a nivel bajo
– Señal de activación “Enable”, activa a nivel bajo

1er. codificador

Enable

2do. codificador
21
Decodificador
 Display de 7 segmentos  BCD a 7 segmentos:

22
Multiplexor

 Dispone de 2n entradas, n señales de control y una


salida: MUX 2n x 1
 Su función es seleccionar la entrada indicada por
las señales de control
ENTRADA DE ACTIVACION

ENTRADA DE ACTIVACION

ENTRADAS
ENTRADAS

SALIDA

SALIDA
23 CONTROL CONTROL
Multiplexor

 Implementación con puertas lógicas

C1 C0 E3 E2 E1 E0 S

0 0 X X X F F
0 1 X X F X F
1 0 X F X X F
1 1 F X X X F

24
Multiplexor

 Ejemplo: TTL 74151

25
Demultiplexor
 Dispone de 1 una entrada, 2n salidas y n líneas de selección
 Su función es enviar el valor presente a la entrada a uno de
los canales de salida utilizando las líneas de selección. Por
lo tanto realiza la función inversa del multiplexor.
 En su implementación es muy parecido a un DEC nx2n

ENTRADA DE ACTIVACION
ENTRADA

SALIDAS

ENTRADAS

SALIDAS
26 CONTROL
Demultiplexor

 Implementación con puertas lógicas


Demultiplexor con salida activa a nivel alto

S1 S0 E D0 D1 D2 D3 S1 S0 E
0 0 K K 0 0 0
0 1 K 0 K 0 0
1 0 K 0 0 K 0
1 1 K 0 0 0 K

D0

D1
D2

D3
27
Demultiplexor

 Implementación con puertas lógicas


Demultiplexor con salida activa a nivel bajo y entrada activa a nivel bajo

S1 S0 E

S1 S0 E D0 D1 D2 D3
0 0 K K 1 1 1
0 1 K 1 K 1 1
D0
1 0 K 1 1 K 1
1 1 K 1 1 1 K D1
D2

D3
28
GRACIAS
10GIIN Tecnología y Organización
de Computadores

Análisis e implementación de
sistemas combinacionales
Circuitos lógicos combinacionales

Circuitos lógicos combinacionales


Funcionamiento de los módulos combinacionales básicos:
Codificadores
Decodificadores
Multiplexores
Demultiplexores

2
Códigos BCD y GRAY

Código:

• Representación de números, letras o palabras mediante un grupo especial de símbolos (código).

Código BCD (Código Binario Directo):

• Representación de un número decimal


por su número binario equivalente.
• No son permitidos los códigos 1010,
1011, 1100, 1101, 1110 y 1111.

Código GRAY:

• Entre dos números sucesivos en la


secuencia solo un bit cambia.

3
Integración de los sistemas numéricos

4
Códigos alfanuméricos

Código ASCII:

• Código estándar estadounidense


para el intercambio de
información.
• 7 bits
• 27 = 128 códigos posibles

5
¿Qué es un Circuito Combinacional?

• Dos tipos de circuitos digitales


– Combinacionales: la salida depende sólo de las entradas
– Secuenciales: la salida depende de las entradas y del
estado actual del circuito (entrada + memoria)

6
Síntesis o Diseño de Circuitos Combinacionales

Síntesis
Especificación

F(A, B, C ) = ...
A B C F

0 0 0 1
0 0 1 0
0 1 0 1 Simplificación
0 1 1 0
1 0 0 1 e implementación
1 0 1 0
1 1 0 0
1 1 1 1

7
¿Qué es un Circuito Combinacional?

• Las salidas tienen que estar completamente


determinadas a partir de las entradas en cualquier
instante
• No puede haber bucles de realimentación

NO es combinacional

SÍ es combinacional

8
Análisis de circuitos combinacionales

• Consiste en determinar la expresión algebraica de


la función implementada por el circuito
Se evalúan las expresiones generadas por cada puerta desde
su entradas hasta su salida

9
Módulos combinacionales básicos
MSI (Medium Scale of Integration)
Módulos combinacionales básicos

 Bloques funcionales más complejos que las puertas lógicas


que realizan una función determinada
 Podemos obtenerlos a partir de puertas lógicas básicas
 Se pueden utilizar para la implementación de funciones
booleanas
 MSI, circuitos entre 10 y 100 puertas
 Pueden disponer de señales de control para controlar su
funcionamiento
 Tipos:
– codificador
– decodificador
– multiplexor
– demultiplexor

11
Codificador
ENTRADA DE ACTIVACION
(ENABLE)

 Codificador binario
– Dispone de 2n entradas y n salidas: COD

ENTRADAS

SALIDAS
2nxn
– La salida proporciona el código binario del
canal de entrada activado.

• Entrada activa a nivel alto: entra un 1 y el


resto son 0’s
• Salida activa a nivel alto: proporciona el
código binario de la entrada a 1.
• Entrada activa a nivel bajo: entra un 0 y el
resto son 1’s
• Salida activa a nivel bajo: proporciona el
código binario invertido de la entrada a 0

12
Codificador

 Implementación con puertas lógicas


Codificador con entrada y salida activa a nivel alto
D0 D1 D2 D3 D4 D5 D6 D7 X Y Z

1 0 0 0 0 0 0 0 0 0 0
0 1 0 0 0 0 0 0 0 0 1
0 0 1 0 0 0 0 0 0 1 0
0 0 0 1 0 0 0 0 0 1 1
0 0 0 0 1 0 0 0 1 0 0
0 0 0 0 0 1 0 0 1 0 1
0 0 0 0 0 0 1 0 1 1 0
0 0 0 0 0 0 0 1 1 1 1

X = D4 + D5 + D6 + D7
Y = D2 + D3 + D6 + D7
Z = D1 + D3 + D5 + D7
13
Codificador
 Problemas:
– ¿cuál sería la salida del codificador si se activan 2 entradas
simultáneamente?
 p. ej: COD(0,1,0,0,1,0,0,0) según las expresiones de X, Y, Z,
sería XYZ=101, pero D5=0
– ¿cuál sería la salida si no se activa ninguna entrada?
 COD(0,0,0,0,0,0,0,0) daría XYZ=000 , pero D0 = 0

0
0
0
1
0
0
1
0

14
Codificador
 Soluciones
– Se introduce una señal de activación (enable) que permite activar o
desactivar al codificador
– Se realiza una priorización de las entradas. En caso de activación
simultánea por dos o más canales de entrada se toma la más
prioritaria (normalmente la de mayor peso)
D0
D1 8
D2
D3
D4
D5
D6
D7

8
Circuito
de
Prioridad

15
Codificador

 Codificador BCD
– Ejemplo: TTL 74147 . Conversor 9 entradas a código BCD (binary
coded decimal)
– ¡¡OJO!! entradas y salidas activas a nivel bajo

16
Codificador

 Aplicación:
– Teclado simple

17
Decodificador

 Decodificador binario: DEC n x 2n


– Función inversa al codificador
– n entradas y 2n salidas
– Transforma el código binario de entrada en la activación
de la salida cuyo número de orden coincide con el
código
ENTRADA DE ACTIVACION
ENTRADAS

SALIDAS

18
Decodificador

 Implementación con puertas lógicas


DEC 2 x 4. Entradas activas a nivel alto y
salidas activas a nivel alto

A0
D0
A1

D1
E A1 A0 D0 D1 D2 D3
D2 1 0 0 1 0 0 0
1 0 1 0 1 0 0
1 1 0 0 0 1 0
1 1 1 0 0 0 1
E D3 0 X X 0 0 0 0

19
Decodificador

E
 Implementación con puertas lógicas
DEC 2 x 4. Entradas activas a nivel alto y
salidas activas a nivel bajo con Enable
invertido

E A1 A0 D0 D1 D2 D3

0 0 0 0 1 1 1
0 0 1 1 0 1 1
0 1 0 1 1 0 1
0 1 1 1 1 1 0
1 X X 1 1 1 1

20
Decodificador

 Ejemplo: TTL 74139


– 2 decodificadores en un integrado
– Entradas activas a nivel alto y salidas activas a nivel bajo
– Señal de activación “Enable”, activa a nivel bajo

1er. codificador

Enable

2do. codificador
21
Decodificador
 Display de 7 segmentos  BCD a 7 segmentos:

22
Multiplexor

 Dispone de 2n entradas, n señales de control y una


salida: MUX 2n x 1
 Su función es seleccionar la entrada indicada por
las señales de control
ENTRADA DE ACTIVACION

ENTRADA DE ACTIVACION

ENTRADAS
ENTRADAS

SALIDA

SALIDA
23 CONTROL CONTROL
Multiplexor

 Implementación con puertas lógicas

C1 C0 E3 E2 E1 E0 S

0 0 X X X F F
0 1 X X F X F
1 0 X F X X F
1 1 F X X X F

24
Multiplexor

 Ejemplo: TTL 74151

25
Demultiplexor
 Dispone de 1 una entrada, 2n salidas y n líneas de selección
 Su función es enviar el valor presente a la entrada a uno de
los canales de salida utilizando las líneas de selección. Por
lo tanto realiza la función inversa del multiplexor.
 En su implementación es muy parecido a un DEC nx2n

ENTRADA DE ACTIVACION
ENTRADA

SALIDAS

ENTRADAS

SALIDAS
26 CONTROL
Demultiplexor

 Implementación con puertas lógicas


Demultiplexor con salida activa a nivel alto

S1 S0 E D0 D1 D2 D3 S1 S0 E
0 0 K K 0 0 0
0 1 K 0 K 0 0
1 0 K 0 0 K 0
1 1 K 0 0 0 K

D0

D1
D2

D3
27
Demultiplexor

 Implementación con puertas lógicas


Demultiplexor con salida activa a nivel bajo y entrada activa a nivel bajo

S1 S0 E

S1 S0 E D0 D1 D2 D3
0 0 K K 1 1 1
0 1 K 1 K 1 1
D0
1 0 K 1 1 K 1
1 1 K 1 1 1 K D1
D2

D3
28
GRACIAS
10GIIN Tecnología y Organización
de Computadores

Análisis e implementación de
sistemas secuenciales
Circuitos lógicos secuenciales

Circuitos lógicos secuenciales


Concepto de biestable, funcionalidad y
tipos
Biestables síncronos y asíncronos

2
Circuitos lógicos secuenciales
Como su nombre lo indica, los circuitos lógicos secuenciales requieren de un
medio por medio del cual los eventos pueden secuenciarse. La
denominación “secuencial” deriva justamente de la capacidad de
recordar la secuencia de valores que toman las señales.
• Los cambios de estado del circuito se controlan por medio de una señal de
reloj.
– Un reloj es un circuito especial que envía pulsos eléctricos a través del
circuito.
• Los relojes producen señales como la que se muestra
• Sincronización de los circuitos.

3
Presencia de Reloj

4
Concepto de biestable
• Es un circuito multivibrador (oscilador) que puede mantener
el valor de su salida indefinidamente, mientras no reciba
ordenes.
• Son células elementales de memoria, capaces de almacenar
un bit de información.
• Pueden adoptar dos estados estables: '0' y '1'.
• Clasificación:
– según utilicen o no una señal de reloj:
• Síncronos (con reloj) según se activen por flanco o nivel
– Latches (cerrojos), activos por flanco---> JK, T, D
– flip-flops, activos por nivel--->RS y D
• Asíncronos (sin reloj) --->RS

5
Latch R-S

• R (Reset): función de puesta a ‘0’


• S (Set): función de puesta a ‘1’
• Asíncrono

Tabla de verdad (Nivel Alto)


Activo Nivel Alto Activo Nivel Bajo

6
Tipos de biestables
Biestable D
Cronograma del Biestable D
(disparado con el flanco de bajada)

9
Biestable RS

10
Biestable RS (disparado con el flanco de
bajada)

11
Biestable JK

12
Biestable JK (disparado con el flanco de
bajada)

13
Biestable T

14
15

Biestable T (disparado con el flanco de


bajada)

15
Temporización en los flip-flops
• Tiempo de establecimiento (setup ts): tiempo mínimo que el
dato debe estar estable antes del flanco activo del reloj
• Tiempo de mantenimiento (hold th): tiempo mínimo que el
dato debe estar estable después del flanco activo del reloj

16
Temporización en los flip-flops (II)
• Tiempo de propagación (tpHL, tpLH)

17
Temporización en los flip-flops (II)
• El período mínimo de reloj depende de:
– el tiempo de propagación del biestable
– el tiempo de la lógica combinacional conectada al biestable
– el tiempo de setup
• fmax = 1 / ( tpbiestable + tpcomb + ts)

18
Aplicaciones

19
Aplicaciones

20
Aplicaciones

21
Aplicaciones

22
Conclusiones
• Biestables asíncronos
– las salidas responden inmediatamente a los valores de las
entradas
• Biestables síncronos:
– las salidas responden en función de la señal de reloj
• activos por nivel: cuando el reloj se encuentra en el nivel activo,
las salidas responden a todas las variaciones de las entradas.
• activos por flanco: cuando se produce el flanco, las salidas toman
el valor correspondiente a las entradas en dicho instante. Este
valor no se modificará hasta el siguiente flanco, aunque varíe el
valor de las entradas.
GRACIAS
Operación de transferencia
entre registros- Segunda parte
Suma binaria

Cuatro casos posibles:

Acarreo de 1 hacia la
siguiente posición

>
Suma binaria:
Representación de números con signo

Sistema de signo-magnitud:

Sistema simple; pero


su implementación
es más compleja que
otros sistemas.

>
Suma binaria:
Representación de números con signo

Sistema de complemento a 2:
Complemento a 1:
• Cambiar cada 0 por 1 y cada 1 por 0

El sistema
complemento a 2 es
el más común
Complemento a 2:
• Tomar el complemento a 1 del número y sumarle 1 a la porque facilita la
posición menos significativa suma y resta a
través de un mismo
hardware

>
Suma binaria:
Representación de números con signo

Sistema de complemento a 2:
Representación de números con signo:

>
Suma binaria:
Representación de números con signo
Extensión de signo:
• El tamaño del registro determina el número de dígitos binarios que se almacena para cada
número
• Generalmente se almacena con tamaños de múltiples pares: 4, 8, 16, 32 o 64 bits.

Representación de 9 en un registro de 8 bits

Representación de - 9 en un registro de 8 bits

>
Suma binaria:
Representación de números con signo
Negación:
• Operación de convertir un número positivo en su equivalente negativo.

El cambio de signo de un número binario positivo se desarrolla a


través de su complemento a 2

>
Suma binaria:
Representación de números con signo
Casos especiales en la representación de complemento a 2:
• Un numero con signo con valor de 1 en el bit de
signo y cero en todos los bits de magnitud, es
equivalente a -2N en decimal. Con N siendo el
número de bits de magnitud.

• El intervalo completo de valores es: -2N a (2N - 1)

>
Suma en el sistema de complemento a 2

Casos I: dos números Casos II: número positivo y número


positivos negativo más pequeño

Casos IV: dos números negativos


Casos III: número positivo y
número negativo más grande

>
Suma en el sistema de complemento a 2

Casos V: números iguales y opuestos

>
Suma de números binarios negativos
Suma binaria

Sume un número positivo y uno negativo (negativo mayor al positivo) ,


representados en 6 bits.

Binario
Complemento 1
28 0 011100 Complemento 2
-33 1 100001 1 011110 Le sumo 1

-5
1
?
1 011111
Se suma el binario de 28 0 011100
El resultado da negativo
1 111011
0 000100 Complemento 1
1 Complemento 2
> Equivale a -510 1 000101 Le sumo 1
Suma binaria

Sume un número positivo y uno negativo (negativo menor al positivo) ,


representados en 4 bits.

Binario
Complemento 1
12 0 1100 Complemento 2
-4 1 0100 1 1011 Le sumo 1

8
1
?
1 1100
Se suma el binario de 12
0 1100
El resultado da negativo
1 1000
0 0111 Complemento 1
1 Complemento 2
> Equivale a 810 0 1000 Le sumo 1
Sume dos números negativo representados en 4 bits.
Suma binaria

Complemento 1
1 0110 Complemento 2
Le sumo 1
Binario 1
-9 1 1001 1 0111 Complemento 1

-4 1 0100 1 1011
Complemento 2
-13 ? Le sumo 1 1
Se suma el binario de -9
(las dos cajitas rojas)
1 1100
1 0111
El resultado da negativo
Desbordamiento 1 1 0011
Complemento 1 0 1100
Complemento 2 1
Equivale a -1310 Le sumo 1
> 1 1101
Desbordamiento aritmético

Desbordamiento:

• Esta condición se da cuando el resultado de la suma o resta requiere de


mayor números de bits de los disponibles para el registro.

Una computadora debe tener un circuito especial para detectar cualquier


condición de desbordamiento al sumar o restar dos números.

>
Multiplicación de números binarios

• Sigue el mismo concepto que la multiplicación de números


decimales.

>
Multiplicación de números binarios

• En el sistema de complemento a 2:

1. Dos números positivos: Se multiplica en la forma igual al


modelo anterior.

2. Dos números negativos: Se convierte los números a


positivo (uso de complemento a 2). Luego se multiplica en el
formato anterior.

3. Un número positivo y otro negativo: Se convierte el


número negativo a positivo, luego se multiplica en el formato
anterior. El resultado se convierte a negativo usando el
complemento a 2 y asignando el bit de signo a 1.
>
División de números binarios

Escogemos un valor superior


1 10 11
Realizamos la resta - 11 10
000

Escogemos un valor superior


1 10 10
Realizamos la resta - 10 11
010
-0 1 0
00
>
Suma BCD

Casos I: Suma igual o menor a 9 Casos II: Suma mayor a 9

Recordar que BCD sólo representa del 0 al 9 y por


tanto con 4 bits tenemos 6 grupos de código no
> válidos. Con la suma del valor 6, solventamos este
problema
Aritmética hexadecimal:
suma

Pasos:
1. Se suma los dos dígitos hexadecimales en decimal, insertando mentalmente el
equivalente decimal para los dígitos mayores a 9.
2. Si la suma es de 15 o menor, puede expresar en forma directa como un dígito
hexadecimal.
3. Si la suma es mayor o igual a 16, se resta 16 y se acarrea un 1 hacia la posición
del siguiente dígito.

15
+ 12
27
- 16 Restamos
11 16

>
Aritmética hexadecimal:
resta

Pasos:
1. Se saca el complemento a 2 del sustraendo hexadecimal y luego se suma el minuendo.

¿Cómo se obtiene el complemento a 2 hexadecimal?

Dos formas:

1. Pasar a binario, hacer el complemento a 2, y pasar a hexadecimal

2. Se resta cada dígito hexadecimal de F, después se suma 1.

>
Aritmética hexadecimal:
resta

Pasos:
1. Se saca el complemento a 2 del sustraendo hexadecimal y luego se suma el minuendo.

Restar 3A516 de 59216

1. Necesitamos el complemento a 2 de 3A516

F F F
-3 -A -5
C 5 A
+1
C 5 B
2. Luego procedemos a sumar

>
Operación de transferencia
entre registros- Segunda parte
Suma binaria

Cuatro casos posibles:

Acarreo de 1 hacia la
siguiente posición

>
Suma binaria:
Representación de números con signo

Sistema de signo-magnitud:

Sistema simple; pero


su implementación
es más compleja que
otros sistemas.

>
Suma binaria:
Representación de números con signo

Sistema de complemento a 2:
Complemento a 1:
• Cambiar cada 0 por 1 y cada 1 por 0

El sistema
complemento a 2 es
el más común
Complemento a 2:
• Tomar el complemento a 1 del número y sumarle 1 a la porque facilita la
posición menos significativa suma y resta a
través de un mismo
hardware

>
Suma binaria:
Representación de números con signo

Sistema de complemento a 2:
Representación de números con signo:

>
Suma binaria:
Representación de números con signo
Extensión de signo:
• El tamaño del registro determina el número de dígitos binarios que se almacena para cada
número
• Generalmente se almacena con tamaños de múltiples pares: 4, 8, 16, 32 o 64 bits.

Representación de 9 en un registro de 8 bits

Representación de - 9 en un registro de 8 bits

>
Suma binaria:
Representación de números con signo
Negación:
• Operación de convertir un número positivo en su equivalente negativo.

El cambio de signo de un número binario positivo se desarrolla a


través de su complemento a 2

>
Suma binaria:
Representación de números con signo
Casos especiales en la representación de complemento a 2:
• Un numero con signo con valor de 1 en el bit de
signo y cero en todos los bits de magnitud, es
equivalente a -2N en decimal. Con N siendo el
número de bits de magnitud.

• El intervalo completo de valores es: -2N a (2N - 1)

>
Suma en el sistema de complemento a 2

Casos I: dos números Casos II: número positivo y número


positivos negativo más pequeño

Casos IV: dos números negativos


Casos III: número positivo y
número negativo más grande

>
Suma en el sistema de complemento a 2

Casos V: números iguales y opuestos

>
Suma de números binarios negativos
Suma binaria

Sume un número positivo y uno negativo (negativo mayor al positivo) ,


representados en 6 bits.

Binario
Complemento 1
28 0 011100 Complemento 2
-33 1 100001 1 011110 Le sumo 1

-5
1
?
1 011111
Se suma el binario de 28 0 011100
El resultado da negativo
1 111011
0 000100 Complemento 1
1 Complemento 2
> Equivale a -510 1 000101 Le sumo 1
Suma binaria

Sume un número positivo y uno negativo (negativo menor al positivo) ,


representados en 4 bits.

Binario
Complemento 1
12 0 1100 Complemento 2
-4 1 0100 1 1011 Le sumo 1

8
1
?
1 1100
Se suma el binario de 12
0 1100
El resultado da negativo
1 1000
0 0111 Complemento 1
1 Complemento 2
> Equivale a 810 0 1000 Le sumo 1
Sume dos números negativo representados en 4 bits.
Suma binaria

Complemento 1
1 0110 Complemento 2
Le sumo 1
Binario 1
-9 1 1001 1 0111 Complemento 1

-4 1 0100 1 1011
Complemento 2
-13 ? Le sumo 1 1
Se suma el binario de -9
(las dos cajitas rojas)
1 1100
1 0111
El resultado da negativo
Desbordamiento 1 1 0011
Complemento 1 0 1100
Complemento 2 1
Equivale a -1310 Le sumo 1
> 1 1101
Desbordamiento aritmético

Desbordamiento:

• Esta condición se da cuando el resultado de la suma o resta requiere de


mayor números de bits de los disponibles para el registro.

Una computadora debe tener un circuito especial para detectar cualquier


condición de desbordamiento al sumar o restar dos números.

>
Multiplicación de números binarios

• Sigue el mismo concepto que la multiplicación de números


decimales.

>
Multiplicación de números binarios

• En el sistema de complemento a 2:

1. Dos números positivos: Se multiplica en la forma igual al


modelo anterior.

2. Dos números negativos: Se convierte los números a


positivo (uso de complemento a 2). Luego se multiplica en el
formato anterior.

3. Un número positivo y otro negativo: Se convierte el


número negativo a positivo, luego se multiplica en el formato
anterior. El resultado se convierte a negativo usando el
complemento a 2 y asignando el bit de signo a 1.
>
División de números binarios

Escogemos un valor superior


1 10 11
Realizamos la resta - 11 10
000

Escogemos un valor superior


1 10 10
Realizamos la resta - 10 11
010
-0 1 0
00
>
Suma BCD

Casos I: Suma igual o menor a 9 Casos II: Suma mayor a 9

Recordar que BCD sólo representa del 0 al 9 y por


tanto con 4 bits tenemos 6 grupos de código no
> válidos. Con la suma del valor 6, solventamos este
problema
Aritmética hexadecimal:
suma

Pasos:
1. Se suma los dos dígitos hexadecimales en decimal, insertando mentalmente el
equivalente decimal para los dígitos mayores a 9.
2. Si la suma es de 15 o menor, puede expresar en forma directa como un dígito
hexadecimal.
3. Si la suma es mayor o igual a 16, se resta 16 y se acarrea un 1 hacia la posición
del siguiente dígito.

15
+ 12
27
- 16 Restamos
11 16

>
Aritmética hexadecimal:
resta

Pasos:
1. Se saca el complemento a 2 del sustraendo hexadecimal y luego se suma el minuendo.

¿Cómo se obtiene el complemento a 2 hexadecimal?

Dos formas:

1. Pasar a binario, hacer el complemento a 2, y pasar a hexadecimal

2. Se resta cada dígito hexadecimal de F, después se suma 1.

>
Aritmética hexadecimal:
resta

Pasos:
1. Se saca el complemento a 2 del sustraendo hexadecimal y luego se suma el minuendo.

Restar 3A516 de 59216

1. Necesitamos el complemento a 2 de 3A516

F F F
-3 -A -5
C 5 A
+1
C 5 B
2. Luego procedemos a sumar

>
Operación de transferencia
entre registros- cuarta parte
Contadores:
Síncronos
Asíncronos
Contadores asíncronos

>
Contadores asíncronos
1. Los pulsos de reloj se aplican sólo a la entrada CLK del flip-flop A. En consecuencia, el flip-flop A
conmutará (cambiará a su estado opuesto) cada vez que los pulsos de reloj hagan una transición
negativa (de ALTO a BAJO). Observe que J = K = 1 para todos los FFs.
2. la salida normal del flip-flop A actúa como la entrada CLK para el flip-flop B, por lo que el flip-flop B
conmutará cada vez que la salida de A cambie de 1 a O. De manera similar, el flip-flop C conmutará
cuando B cambie de 1 a O y el flip-flop D conmutará cuando C cambie de 1 a O.
3. las salidas de los FFs D, e, B y A representan un número binario de cuatro bits, en donde D es el
MSB. Vamos a suponer que todos los FFs se han borrado para quedar en el estado O (no se
muestran las entradas de LIMPIA). Las formas de onda en la figura de la lamina anterior muestran
que se sigue una secuencia de conteo binario de 0000 a 1111 a medida que se aplican pulsos de reloj
en forma continua.
4. Después de que ocurre la NGT (transición negativa) del quinceavo pulso de reloj, los FFs del
contador se encuentran en la condición 1111. En la dieciseisava NGT el flip-flop A cambia de 1 a O, lo
cual hace que el flip-flop B cambie de 1 a O y así en lo sucesivo, hasta que el contador queda en el
estado 0000. En otras palabras, el contador ha pasado por un ciclo completo (de 0000 a 1111) y ha ff
!Ciclado de vuelta a 0000. A partir de este punto empezará un nuevo ciclo de conteo, a medida que se
apliquen los subsiguientes pulsos de reloj.

>
Contadores asíncronos
Ejemplo: El contador de la figura de la lamina 3 empieza en el
estado 0000 y después se aplican pulsos de reloj. Cierto tiempo
después se quitan los pulsos de reloj y los FFs del contador
indican 0011. ¿Cuántos pulsos de reloj han transcurrido?
Solución
La respuesta aparente parece ser 3, ya que 0011 es el equivalente
binario de 3. Sin embargo, con la información que se proporciona no hay
manera de saber si el contador ha reciclado o no. Esto significa que
podrían haber transcurrido 19 pulsos de reloj; los primeros 16 regresan
el contador de vuelta a 0000 y los últimos 3 lo llevan hasta 0011. O
podrían haber transcurrido 35 pulsos (dos ciclos completos y después
tres conteos más), o 51 pulsos, etcétera.

>
Contadores asíncronos
Número MOD

Por lo general, el número MOD es igual al número de


estados por los que pasa el contador en cada ciclo
completo, antes de que recicle (o reinicie) a su estado
inicial. El número MOD puede aumentarse con sólo
agregar más FFs al contador.

Número MOD = 2N
El contador de la figura de la lamina 3, tiene 16 estados diferentes (de 0000 a
1111). Por ende, es un contador de rizo MOD 16
>
Contadores asíncronos
Ejemplo: Se necesita un contador que cuente el número de
elementos que pasan a través de una banda transportadora. Se
utiliza una combinación de fotocelda y fuente de luz para generar
un pulso individual cada vez que un elemento cruza su camino. El
contador debe ser capaz de contar hasta mil elementos. ¿Cuántos
FFs se requieren?
Solución
Es muy sencillo determinar qué valor de N se necesita para que 2N;;:,,
1000. Como 29 = 512, 9 FFs no serán suficientes. 210 = 1024, por lo
que 10 FFs producirían un contador que podría contar hasta
11111111112 = 102310. Por lo tanto, utilizaríamos 10 FF; podríamos
usar más de 10 pero sería un desperdicio, ya que cualquier FF más allá
>del diez no se necesitaría.
Contadores asíncronos
División de frecuencia

En cualquier contador., la señal en la salida del último FF (es


decir, el MSB) tendrá una frecuencia igual a la frecuencia del
reloj de entrada dividida entre el número MOD del contador

> Formas de onda del contador que muestran la división entre 2 para cada FF.
Contadores asíncronos
Ejemplo: El primer paso relacionado con la construcción de un reloj digital es tomar la señal
de 60 Hz y alimentarla a un circuito de conformación de pulsos tipo monoestable de Schmitt*
para producir una onda cuadrada, como se ilustra en la figura 7-3. La onda cuadrada de 60
Hz se aplica después a un contador MOD"60, el cual se utiliza para dividir la frecuencia de 60
Hz entre un valor exacto de 60 para producir una forma de onda de 1 Hz. Esta forma de onda
de 1 Hz se alimenta a una serie de contadores, los cuales a su vez se encargan de contar en
segundos, minutos, horas, etcétera. ¿Cuántos FFs se requieren para el contador MOD"60?

Solución
No hay una potencia entera de 2 que sea igual a 60. La más cercana es 26 = 64. Por lo tanto, un contador
que utilice seis FFs actuará como un contador MOD"64. Es obvio que esto no cumple con el
requerimiento. Parece que no hay solución si se utiliza un contador del tipo que se muestra.
Modificar los contadores binarios básicos para que pueda obtenerse casi cualquier número MOD y así no
estaremos limitados a los valores de 2N
>
Contadores asíncronos: retardos de propagación
Los contadores de rizo son el tipo más simple de contadores binarios, ya
que requieren la menor cantidad de componentes para producir una
operación de conteo dada.
No obstante tienen una gran desventaja debido a su principio básico de
operación: cada FF se dispara mediante la transición en la salida del FF
anterior.
Debido al tiempo de retraso de propagación inherente (tpd) de cada FF,
esto significa que el segundo FF no responderá sino hasta un tiempo tpc1
después de que el primer FF reciba una transición activa de reloj; el
tercer FF no responderá sino hasta un tiempo igual a 2* tpd después de
esa transición del reloj; y así en lo sucesivo

>
Contadores asíncronos: retardos de propagación

>
Contadores síncronos (en paralelo)
Los problemas que se encuentran en los contadores de rizo son ocasionados por los retrasos
de propagación acumulados en los FF; dicho de otra forma, los FFs no cambian de estado
todos al mismo tiempo, en sincronía con los pulsos de entrada. Estas limitaciones pueden
resolverse con el uso de los contadores en paralelo o síncronos,

Contador MOD-16 síncrono. Cada FF está sincronizado por la NGT de la señal de entrada de
> reloj, de manera que todas las transiciones de los FFs ocurran al mismo tiempo.
Contadores síncronos (en paralelo)

Principio básico para construir un contador:

Cada FF deberá tener sus entradas J y K


conectadas de manera que estén en ALTO sólo
cuando las salidas de todos los FFs de menor
orden se encuentren en el estado ALTO.

>
Contadores síncronos (en paralelo)
Ventajas frente a contadores asíncronos:

Los retrasos de propagación de los FFs no se acumulan


para producir el retraso total, sino que el tiempo total de
respuesta de un contador síncrono es el que requiere un
FF para conmutar, más el tiempo para que los nuevos
niveles lógicos se propaguen a través de una sola
compuerta AND para llegar a las entradas J, K.

>
Contadores síncronos (en paralelo)

CIs reales :

74ALS160/162, 74HC160/162: contadores


síncronos de décadas.

74ALS161/163, 74HC161/163: contadores


MOD-16 síncronos.

LS - Schottky de bajo consumo


HC - CMOS alta velocidad, rendimiento similar a LS
>
Contadores con Números MOD < 2N
•El contador síncrono básico (lamina 12) está
limitado a números MOD que sean iguales a 2N,
en donde N es el número de FFs. En realidad este
valor es el número MOD máximo que puede
obtenerse mediante el uso de N flip-flops.
•El contador básico puede modificarse para
producir números MOD menores que 2N si se
permite al contador omitir estados que, por lo
general, forman parte de la secuencia de conteo
>
Contadores con Números MOD < 2N

Diagrama de transición de estados para el contador MOD-6

>
Contadores con Números MOD < 2N

18
Contadores con Números MOD < 2N
Procedimiento general:

1. Busque el número más pequeño de FFs tal que 2N ≥ X, y


conéctelos para formar un contador. Si 2N = X, no realice los
pasos 2 y 3.

2. Conecte una compuerta NAND a las entradas LIMPIAR


asíncronas de todos los FFs.

3. Determine cuáles FFs estarán en el estado ALTO cuando el


conteo sea igual a X; después conecte las salidas normales de
estos FFs a las entradas de la compuerta NAND.

>
Contadores con Números MOD < 2N
Ejemplo:
(a) ¿Cuál será el estado de los LEDs cuando el contador tenga el conteo de cinco?
(b) ¿Qué mostrarán los LEDs cuando el contador esté sincronizado por una
entrada de 1 kHz?
(c) ¿Será visible el estado 110 en los LEDs?

Solución
(a) Como 510 = 1012, los LEDs 2° y 22 estarán encendidos y el LED 21 estará apagado.
(b) A 1 kHz, los LEDs estarán cambiando entre encendido y apagado tan rápido que
parecerá (al ojo humano) que están encendidos todo el tiempo, con un brillo
aproximado a la mitad del normal.
(c) No; el estado 110 persistirá durante sólo unos cuantos nanosegundos, hasta que el
contador se recicle a 000.
>
Contadores Síncronos Descendentes y Ascendentes/Descendentes

>
Contadores Síncronos Descendentes y Ascendentes/Descendentes
Contador ascendente/descendente MOD-8 síncrono. (b) El contador cuenta hacia arriba cuando la entrada de control
Arriba/Abajo = 1; cuenta hacia abajo cuando la entrada de control Arriba/Abajo = O.

>
Contadores Preajustables
•Muchos contadores síncronos (en paralelo) que
están disponibles como Cls están diseñados para
ser preajustables; pueden preajustarse a cualquier
conteo inicial deseado, ya sea en forma asíncrona
(independiente de la señal del reloj) o síncrona
(en la transición activa de la señal del reloj).
•A esta operación de preajuste se le conoce
también como carga en paralelo del contador

>
Contadores Preajustables

>
Contadores Síncronos de CI

La serie 74ALS160-163/74HC160-163

>
Contadores Síncronos de CI

La serie 74ALS190-191/74HC190-191

>
Arreglos de múltiples etapas

>
Diseño de un contador síncrono

El proceso de diseñar un contador síncrono se


convierte en el proceso de diseñar los circuitos
lógicos que decodifiquen los diversos estados del
contador para suministrar los niveles lógicos
apropiados a cada entrada J y K en el tiempo
correcto.

>
Diseño de un contador síncrono

Tabla de excitación J-K

>
Diseño de un contador síncrono
Procedimiento de diseño

1. Determine el número deseado de bits (FFs) y la secuencia de


conteo deseada.

>
Diseño de un contador síncrono
Procedimiento de diseño

2. Dibuje el diagrama de transición de estados que muestre


todos los estados posibles, incluyendo aquellos que no
forman parte de la secuencia de conteo deseada.

>
Diseño de un contador síncrono
Procedimiento de diseño

3. Utilice el diagrama de transición de estados para preparar una


tabla que liste todos los estados PRESENTES y sus estados
SIGUIENTES.

>
Diseño de un contador síncrono
Procedimiento de diseño

4. Añada una columna a esta tabla para cada entrada J y K. Para


cada estado PRESENTE, indique los niveles requeridos en cada
entrada J y K para poder producir la transición al estado
SIGUIENTE

>
Diseño de un contador síncrono

Procedimiento de diseño
5. Diseñe los circuitos lógicos necesarios para generar los
niveles requeridos en cada entrada J y K.

Para JA tenemos
Para KA tenemos:

Si observamos, tienen valores de 1


y condición no importa.

Por ello, podemos considerar KA =1

>
Diseño de un contador síncrono

Procedimiento de diseño

5. Diseñe los circuitos lógicos necesarios para generar los


niveles requeridos en cada entrada J y K.
Para las demás salidas

>
Diseño de un contador síncrono

Procedimiento de diseño

6. Implemente las expresiones finales.

>
Registros
Registros de CI

1. Entrada en paralelo/salida en paralelo (PIPO)


2. Entrada en serie/ salida en serie (SISO)
3. Entrada en paralelo/salida en serie (PISO)
4. Entrada en serie/salida en paralelo (SIPO)

>
Registros de CI

1. Entrada en paralelo/salida en paralelo (PIPO): 74ALS174/ 74HC174


El registro tipo entrada en
paralelo/salida en paralelo es un
grupo de flip-flops que puede
almacenar varios bits al mismo
tiempo; en este tipo de registros
todos los bits del valor binario
almacenado están disponibles de
manera directa
Por lo general, el 74ALS174 se utiliza
para la transferencia síncrona de datos
en paralelo, en donde los niveles l
lógicos presentes en las entradas D se
transfieren a las salidas Q
correspondientes cuando se produce
una PGT en la entrada de reloj
CP.
>
Ejemplo

Ejemplo: Muestre cómo conectar el 74ALS174 de manera que


opere como un registro de desplazamiento en serie, en donde los
datos se desplacen en cada PGT de CP como se indica a
continuación: Entrada en serie → Q5 → Q4 → Q3 → Q2 → Q1 → Q0
En otras palabras, los datos en serie entrarán en D5 y saldrán en Q0.

Solución: Si analizamos la figura de la lamina anterior podremos ver


que para conectar los seis FFs como un registro de desplazamiento
en serie, tenemos que conectar la salida Q de uno a la entrada D del
siguiente, de manera que los datos se transfieran de la forma
requerida. La figura muestra cómo se realiza esto. Observe que los
datos se desplazan de izquierda a derecha; los datos de entrada se
aplican en D5 y los datos
de salida aparecen en Q0

40
Registros de CI

2. Entrada en serie/salida en serie (SISO): 74ALS166/ 74HC166


Un registro de desplazamiento del tipo
entrada en serie/salida en serie cargará los
datos un bit a la vez. Los datos se
desplazarán bit por bit con cada pulso de
reloj, a través del conjunto de flip-flops y
hacia el otro extremo del registro. Con los
pulsos de reloj continuos, los datos saldrán
del registro uno por uno en el mismo orden
en el que se cargaron. El 74HC166 (y
también el 74ALS166) puede utilizarse
como un registro de entrada en serie/salida
en serie.

>
Registros de CI
3. Entrada en paralelo/salida en serie (PISO): 74ALS165/74HC165
Este CI es un registro de ocho bits, tipo entrada en
paralelo/salida en serie. En realidad tiene una entrada
de datos en serie a través de Ds y una entrada de datos
síncrona en paralelo a través de Po -P7. El registro contiene
ocho FFS (Qo a Q7) conectados en forma interna como un
registro de desplazamiento, pero las únicas salidas accesibles
de los FFs son Q7 y 𝑄7 . CP es la entrada de reloj que se utiliza
para la operación de desplazamiento. La entrada de inhibición
de reloj CP INH se utiliza para inhibir el efecto de
la entrada CP. La entrada de desplazamiento/carga, SH/𝐿𝐷,
controla qué operación
se está llevando a cabo: desplazamiento o carga en paralelo.

>
Registros de CI

4. Entrada en serie/salida en paralelo (SIPO): 74ALS164/ 74HC164

Es un registro de
desplazamiento de ocho bits
tipo entrada en serie/salida en
paralelo, en el cual la salida
de cada FF es accesible desde
el exterior. En vez de una sola
entrada en serie, una
compuerta AND combina las
entradas A y B para producir
la entrada serial para el
flip.flop Qo.

>
Contadores de registro de desplazamiento
Contador de anillo
El contador de registro de desplazamiento más
sencillo es un registro de desplazamiento
circular, éste es conectado de tal forma que el
último FF desplaza su valor hacia el primer FF.

Los FFs se conectan de tal forma que la


información se desplaza de izquierda a derecha
y de regreso desde Q0 hasta Q3. En la mayoría
de los casos sólo hay un 1 en el registro, el cual
se pone a circular alrededor del registro
mientras se aplican pulsos de reloj. Por esta
razón se le conoce como registro de anillo.
>
Contadores de registro de desplazamiento
Contador Johnson
El contador Johnson o de anillo torcido se construye en forma idéntica a
un contador de anillo normal, sólo que la salida invertida del último FF
se conecta a la entrada del primer FF.

En la figura se muestra un contador Johnson de tres bits. Observe que la


salida Q0 se conecta de regreso a la entrada D de Q2, lo cual significa que
el inverso del nivel almacenado en Q0 se transferirá a Q2 en el pulso de
reloj.
El análisis de las formas de onda y la tabla de secuencias nos revela los
siguientes puntos importantes:
l. Este contador tiene seis estados distintos (000, 100, 110, 111, 011 y 001)
antes de repetir la secuencia. Por ende, es un contador Johnson MOD-6.
Observe que no cuenta con una secuencia binaria normal.
2. La forma de onda de cada FF es una onda cuadrada (ciclo de trabajo del 50
%) que tiene una frecuencia igual a un sexto de la frecuencia del reloj.
Además, la forma de onda de cada FF se desplaza por un periodo de reloj,
con respecto a las demás.

>
Operación de transferencia
entre registros- Primera parte
 Puntos a abordar en la sesión de LBD:

 Descripción de las operaciones de un computador en el nivel de transferencia entre registros:


Definiciones generales.
 Un sistema digital es una conexión de módulos de hardware que una determinada tarea en el
procesamiento de la información.
 Estos módulos se construyen a partir de la unión de diferentes componentes digitales como lo son
los codificadores, decodificadores, registros, elementos aritméticos, etc. Los módulos son los
elementos definidos por los registros que lo conforman y las operaciones que deben realizar en
función de los datos que se almacenan.
 Las operaciones que se ejecutan sobre los datos que han sido almacenados en los registros se
llaman microoperaciones, la cual es una operación básica realizada sobre la información
almacenada en uno de los registros, ejemplos: borrar, desplazar, etc.

.
 Puntos a abordar en la sesión de LBD:

 La organización interna del hardware se puede especificar en función de las siguientes características:
 Conjunto de registro y sus funciones.
 La secuencia de microoperaciones que se realizan sobre la información binaria almacenada en los
registros.
 El control que inicia la secuencia de microoperaciones.
 La notación que se utiliza para las transferencias de microoperaciones entre registros se llama
lenguaje de transferencia de registros, el cual permite expresar de manera simbólica las secuencias
de las microoperaciones entre los registros de un módulo digital (Morris, 1992).
 Puntos a abordar en la sesión de LBD:

 Unidad de procesamiento o camino de datos.


La trasferencia de información de un registro a otro se designa en forma simbólica por
medio del operador de remplazo.

R1R2:
Denota la trasferencia del contenido del registro R2 al registro R1. Esta designa un
remplazo del contenido de R1 por lo contenido en R2. Por definición, lo contenido en el
registro fuente R2 no cambia después de la trasferencia
 Puntos a abordar en la sesión de LBD:

Símbolos básicos de la lógica de transferencia entre registros


Símbolo Descripción Ejemplo
letra y números Representa un registro MAR, R2
Paréntesis () Representa parte de un registro R2 (0-7), R2(l)

Flecha  Representa trasferencia de R2R1


información

Coma , Separa las microoperaciones R2R1, R1R2


Suscrito Denota un bit de un registro A2, B6
Llaves cuadradas [ ] Especifica una dirección para una MBRM [MAR]
transferencia de memoria
 Puntos a abordar en la sesión de LBD:

Unidad de control.

Microoperaciones lógicas

Las microoperaciones Iógicas especifican operaciones binarias para una cadena de bits
almacenados en los registros. Estas operaciones consideran cada bit en los registros
separadamente y lo tratan como una variable binaria. Como ilustración, Ia microoperación
del OR exclusivo se simboliza por medio de Ia proposición:

𝐹 ←𝐴⨁𝐵
 Puntos a abordar en la sesión de LBD:

Esta especifica una operación lógica que considera cada par de bits en los registros como
variables binarias. Si el contenido del registro A es 1010 y el del registro B es 1100, Ia
información trasferida al registro F es 0110:

1010 contenido de A
1100 contenido de B
------
0110 contenido de 𝐹 ← 𝐴 ⨁ 𝐵
 Puntos a abordar en la sesión de LBD:

Hay 16 operaciones lógicas diferentes posibles que pueden realizarse con dos variables
binarias.
Designación simbólica Descripción

𝐴 ← 𝐴ҧ Complementa todos los bits del registro A

𝐹 ←𝐴𝑉𝐵 Microoperación OR Lógica

𝐹 ←𝐴Ʌ𝐵 Microoperación AND Lógica

𝐹 ←𝐴⨁𝐵 Microoperación OR Exclusiva Lógica

𝐴 ← 𝑠ℎ𝑙 𝐴 Registro A de desplazamiento a la izquierda

𝐴 ← 𝑠ℎ𝑟 𝐴 Registro A de desplazamiento a la derecha


 Puntos a abordar en la sesión de LBD:

Microoperaciones de desplazamiento

Las microoperaciones de desplazamiento trasfieren la información binaria entre registros


en los computadores en serie. Se usan también en computadores en paralelo para
operaciones aritméticas, lógicas y de control. Los registros pueden transferirse a la
izquierda o a la derecha. No hay símbolos convencionales para las operaciones de
desplazamiento. Para efectos de este documento se adoptan los símbolos shl: operaciones
desplazamiento a la izquierda y, shr para operaciones desplazamiento a la derecha, Por
ejemplo:

A ← shl A, B ← shr .B
Suma binaria:
Representación de números con signo

Sistema de signo-magnitud:

Sistema simple; pero


su implementación es
más compleja que
otros sistemas.

>
 Puntos a abordar en la sesión de LBD:

Números binarios con signos


Cuando un número binario de punto fijo es positivo, el signo se representa como 0 y la
magnitud por un número binario positivo. cuando el número es negativo, el signo se
representa por un 1 y el resto del número puede ser representado por cualquiera de la
siguiente tres maneras:

Signo – magnitud.
Signo – Complemento de 1.
Signo – Complemento de 2.
 Puntos a abordar en la sesión de LBD:

En la representación de la magnitud del signo, ésta se representa por un número binario


positivo. En las otras dos representaciones, el número estará en complemento de 2 ó de 1. Si
el número es positivo, las tres representaciones son iguales.
Como ejemplo, el número binario 9 se escribe a continuación en tres modalidades. Se asume
que se dispone de un registro de 7 bits para almacenar el signo y la magnitud del número.

+9 -9

Signo-magnitud 0 001001 1 001001

Signo-complemento de 1 0 001001 1 110110

Signo-complemento de 2 0 001001 1 110111


 Puntos a abordar en la sesión de LBD:

Suma aritmética

La representación de signo-magnitud es la que más se usa en los cálculos cotidianos. Por


ejemplo, +23 y -35 son representados con un signo seguido por la magnitud del número.
Para sumar estas dos funciones, es necesario restar la magnitud menor de la magnitud
mayor y usar el signo del número mayor como el signo del resultado es decir (+23) + (-35)
= - (35 - 23) = - 12.

El proceso de sumar dos números con signo, cuando los números negativos están
representados en la forma de signo-magnitud, requiere que se comparen estos signos. Si
los dos signos no son iguales, se comparan las magnitudes relativas de los números y
luego se resta el menor del mayor.
 Puntos a abordar en la sesión de LBD:

Suma representada por signo-complemento de 2.


La suma de dos números binarios con signo y los números negativos representados por
sus complementos de 2 se obtienen de la suma de dos números con sus bits de signo
incluidos. Se descarta el arrastre en el bit más significativo (signo).

Suma representada por signo-complemento de 1.


La suma de dos números binarios con números negativos representados por sus
complementos de 1, se obtienen de la suma de dos números, con sus bits de signo
incluidos. si hay un arrastre del bit más significativo (signo), el resultado se incrementa en
1 y el arrastre se descarta.
 Puntos a abordar en la sesión de LBD:
Los ejemplos numéricos para la suma con números negativos, representados por su
complemento de 2, se muestran a continuación. Nótese que dos números negativos
deben estar inicialmente representados por su complemento de 2 y que la suma obtenida
después de la adición estará siempre con la representación adecuada.

+6 0 000110 -6 1 111010
+
+
+9 0 001001 +9 0 001001
------ -------------------- ------ ---------------------
+15 0 001111 +3 0 000011
Suma en el sistema de complemento a 2

Casos I: dos números positivos Casos II: número positivo y


número negativo más pequeño

Casos III: número positivo y Casos IV: dos números negativos


número negativo más grande

>
Suma en el sistema de complemento a 2

Casos V: números iguales y opuestos

>
 Puntos a abordar en la sesión de LBD:
Sustracción aritmética
La sustracción de dos números binarios con signo, cuando los números negativos están en
la forma de complemento de 2, es muy simple y puede exponerse como sigue: obténgase
el complemento de 2 del sustraendo (incluyendo el signo de bit) y súmese al minuendo
(incluyendo el bit de signo). Este procedimiento hace uso del hecho de que una operación
de resta puede cambiarse a una operación de suma si el signo del sustraendo se cambia.
Esto se demuestra por las siguientes relaciones (B es el sustraendo):

(± A) – (-B) = (±A) + (+B)

(± A) – (+B) = (±A) + (-B)


Tema 1: Fundamentos básicos sobre el uso y
programación de los ordenadores, sistemas
operativos, bases de datos y programas informáticos
con aplicación en ingeniería.
UC4 Tema 2: Fundamentos de la estructura, organización,
funcionamiento e interconexión de los sistemas
informáticos, los fundamentos de su programación, y
su aplicación para la resolución de problemas propios
de la ingeniería.

Tema 3: Estructura y arquitectura de los


computadores, así como los componentes básicos que
los conforman
Gracias
Operación de transferencia
entre registros- Primera parte
 Puntos a abordar en la sesión de LBD:

 Descripción de las operaciones de un computador en el nivel de transferencia entre registros:


Definiciones generales.
 Un sistema digital es una conexión de módulos de hardware que una determinada tarea en el
procesamiento de la información.
 Estos módulos se construyen a partir de la unión de diferentes componentes digitales como lo son
los codificadores, decodificadores, registros, elementos aritméticos, etc. Los módulos son los
elementos definidos por los registros que lo conforman y las operaciones que deben realizar en
función de los datos que se almacenan.
 Las operaciones que se ejecutan sobre los datos que han sido almacenados en los registros se
llaman microoperaciones, la cual es una operación básica realizada sobre la información
almacenada en uno de los registros, ejemplos: borrar, desplazar, etc.

.
 Puntos a abordar en la sesión de LBD:

 La organización interna del hardware se puede especificar en función de las siguientes características:
 Conjunto de registro y sus funciones.
 La secuencia de microoperaciones que se realizan sobre la información binaria almacenada en los
registros.
 El control que inicia la secuencia de microoperaciones.
 La notación que se utiliza para las transferencias de microoperaciones entre registros se llama
lenguaje de transferencia de registros, el cual permite expresar de manera simbólica las secuencias
de las microoperaciones entre los registros de un módulo digital (Morris, 1992).
 Puntos a abordar en la sesión de LBD:

 Unidad de procesamiento o camino de datos.


La trasferencia de información de un registro a otro se designa en forma simbólica por
medio del operador de remplazo.

R1R2:
Denota la trasferencia del contenido del registro R2 al registro R1. Esta designa un
remplazo del contenido de R1 por lo contenido en R2. Por definición, lo contenido en el
registro fuente R2 no cambia después de la trasferencia
 Puntos a abordar en la sesión de LBD:

Símbolos básicos de la lógica de transferencia entre registros


Símbolo Descripción Ejemplo
letra y números Representa un registro MAR, R2
Paréntesis () Representa parte de un registro R2 (0-7), R2(l)

Flecha  Representa trasferencia de R2R1


información

Coma , Separa las microoperaciones R2R1, R1R2


Suscrito Denota un bit de un registro A2, B6
Llaves cuadradas [ ] Especifica una dirección para una MBRM [MAR]
transferencia de memoria
 Puntos a abordar en la sesión de LBD:

Unidad de control.

Microoperaciones lógicas

Las microoperaciones Iógicas especifican operaciones binarias para una cadena de bits
almacenados en los registros. Estas operaciones consideran cada bit en los registros
separadamente y lo tratan como una variable binaria. Como ilustración, Ia microoperación
del OR exclusivo se simboliza por medio de Ia proposición:

𝐹 ←𝐴⨁𝐵
 Puntos a abordar en la sesión de LBD:

Esta especifica una operación lógica que considera cada par de bits en los registros como
variables binarias. Si el contenido del registro A es 1010 y el del registro B es 1100, Ia
información trasferida al registro F es 0110:

1010 contenido de A
1100 contenido de B
------
0110 contenido de 𝐹 ← 𝐴 ⨁ 𝐵
 Puntos a abordar en la sesión de LBD:

Hay 16 operaciones lógicas diferentes posibles que pueden realizarse con dos variables
binarias.
Designación simbólica Descripción

𝐴 ← 𝐴ҧ Complementa todos los bits del registro A

𝐹 ←𝐴𝑉𝐵 Microoperación OR Lógica

𝐹 ←𝐴Ʌ𝐵 Microoperación AND Lógica

𝐹 ←𝐴⨁𝐵 Microoperación OR Exclusiva Lógica

𝐴 ← 𝑠ℎ𝑙 𝐴 Registro A de desplazamiento a la izquierda

𝐴 ← 𝑠ℎ𝑟 𝐴 Registro A de desplazamiento a la derecha


 Puntos a abordar en la sesión de LBD:

Microoperaciones de desplazamiento

Las microoperaciones de desplazamiento trasfieren la información binaria entre registros


en los computadores en serie. Se usan también en computadores en paralelo para
operaciones aritméticas, lógicas y de control. Los registros pueden transferirse a la
izquierda o a la derecha. No hay símbolos convencionales para las operaciones de
desplazamiento. Para efectos de este documento se adoptan los símbolos shl: operaciones
desplazamiento a la izquierda y, shr para operaciones desplazamiento a la derecha, Por
ejemplo:

A ← shl A, B ← shr .B
Suma binaria:
Representación de números con signo

Sistema de signo-magnitud:

Sistema simple; pero


su implementación es
más compleja que
otros sistemas.

>
 Puntos a abordar en la sesión de LBD:

Números binarios con signos


Cuando un número binario de punto fijo es positivo, el signo se representa como 0 y la
magnitud por un número binario positivo. cuando el número es negativo, el signo se
representa por un 1 y el resto del número puede ser representado por cualquiera de la
siguiente tres maneras:

Signo – magnitud.
Signo – Complemento de 1.
Signo – Complemento de 2.
 Puntos a abordar en la sesión de LBD:

En la representación de la magnitud del signo, ésta se representa por un número binario


positivo. En las otras dos representaciones, el número estará en complemento de 2 ó de 1. Si
el número es positivo, las tres representaciones son iguales.
Como ejemplo, el número binario 9 se escribe a continuación en tres modalidades. Se asume
que se dispone de un registro de 7 bits para almacenar el signo y la magnitud del número.

+9 -9

Signo-magnitud 0 001001 1 001001

Signo-complemento de 1 0 001001 1 110110

Signo-complemento de 2 0 001001 1 110111


 Puntos a abordar en la sesión de LBD:

Suma aritmética

La representación de signo-magnitud es la que más se usa en los cálculos cotidianos. Por


ejemplo, +23 y -35 son representados con un signo seguido por la magnitud del número.
Para sumar estas dos funciones, es necesario restar la magnitud menor de la magnitud
mayor y usar el signo del número mayor como el signo del resultado es decir (+23) + (-35)
= - (35 - 23) = - 12.

El proceso de sumar dos números con signo, cuando los números negativos están
representados en la forma de signo-magnitud, requiere que se comparen estos signos. Si
los dos signos no son iguales, se comparan las magnitudes relativas de los números y
luego se resta el menor del mayor.
 Puntos a abordar en la sesión de LBD:

Suma representada por signo-complemento de 2.


La suma de dos números binarios con signo y los números negativos representados por
sus complementos de 2 se obtienen de la suma de dos números con sus bits de signo
incluidos. Se descarta el arrastre en el bit más significativo (signo).

Suma representada por signo-complemento de 1.


La suma de dos números binarios con números negativos representados por sus
complementos de 1, se obtienen de la suma de dos números, con sus bits de signo
incluidos. si hay un arrastre del bit más significativo (signo), el resultado se incrementa en
1 y el arrastre se descarta.
 Puntos a abordar en la sesión de LBD:
Los ejemplos numéricos para la suma con números negativos, representados por su
complemento de 2, se muestran a continuación. Nótese que dos números negativos
deben estar inicialmente representados por su complemento de 2 y que la suma obtenida
después de la adición estará siempre con la representación adecuada.

+6 0 000110 -6 1 111010
+
+
+9 0 001001 +9 0 001001
------ -------------------- ------ ---------------------
+15 0 001111 +3 0 000011
Suma en el sistema de complemento a 2

Casos I: dos números positivos Casos II: número positivo y


número negativo más pequeño

Casos III: número positivo y Casos IV: dos números negativos


número negativo más grande

>
Suma en el sistema de complemento a 2

Casos V: números iguales y opuestos

>
 Puntos a abordar en la sesión de LBD:
Sustracción aritmética
La sustracción de dos números binarios con signo, cuando los números negativos están en
la forma de complemento de 2, es muy simple y puede exponerse como sigue: obténgase
el complemento de 2 del sustraendo (incluyendo el signo de bit) y súmese al minuendo
(incluyendo el bit de signo). Este procedimiento hace uso del hecho de que una operación
de resta puede cambiarse a una operación de suma si el signo del sustraendo se cambia.
Esto se demuestra por las siguientes relaciones (B es el sustraendo):

(± A) – (-B) = (±A) + (+B)

(± A) – (+B) = (±A) + (-B)


Tema 1: Fundamentos básicos sobre el uso y
programación de los ordenadores, sistemas
operativos, bases de datos y programas informáticos
con aplicación en ingeniería.
UC4 Tema 2: Fundamentos de la estructura, organización,
funcionamiento e interconexión de los sistemas
informáticos, los fundamentos de su programación, y
su aplicación para la resolución de problemas propios
de la ingeniería.

Tema 3: Estructura y arquitectura de los


computadores, así como los componentes básicos que
los conforman
Gracias
Operación de transferencia
entre registros- Primera parte
 Puntos a abordar en la sesión de LBD:

 Descripción de las operaciones de un computador en el nivel de transferencia entre registros:


Definiciones generales.
 Un sistema digital es una conexión de módulos de hardware que una determinada tarea en el
procesamiento de la información.
 Estos módulos se construyen a partir de la unión de diferentes componentes digitales como lo son
los codificadores, decodificadores, registros, elementos aritméticos, etc. Los módulos son los
elementos definidos por los registros que lo conforman y las operaciones que deben realizar en
función de los datos que se almacenan.
 Las operaciones que se ejecutan sobre los datos que han sido almacenados en los registros se
llaman microoperaciones, la cual es una operación básica realizada sobre la información
almacenada en uno de los registros, ejemplos: borrar, desplazar, etc.

.
 Puntos a abordar en la sesión de LBD:

 La organización interna del hardware se puede especificar en función de las siguientes características:
 Conjunto de registro y sus funciones.
 La secuencia de microoperaciones que se realizan sobre la información binaria almacenada en los
registros.
 El control que inicia la secuencia de microoperaciones.
 La notación que se utiliza para las transferencias de microoperaciones entre registros se llama
lenguaje de transferencia de registros, el cual permite expresar de manera simbólica las secuencias
de las microoperaciones entre los registros de un módulo digital (Morris, 1992).
 Puntos a abordar en la sesión de LBD:

 Unidad de procesamiento o camino de datos.


La trasferencia de información de un registro a otro se designa en forma simbólica por
medio del operador de remplazo.

R1R2:
Denota la trasferencia del contenido del registro R2 al registro R1. Esta designa un
remplazo del contenido de R1 por lo contenido en R2. Por definición, lo contenido en el
registro fuente R2 no cambia después de la trasferencia
 Puntos a abordar en la sesión de LBD:

Símbolos básicos de la lógica de transferencia entre registros


Símbolo Descripción Ejemplo
letra y números Representa un registro MAR, R2
Paréntesis () Representa parte de un registro R2 (0-7), R2(l)

Flecha  Representa trasferencia de R2R1


información

Coma , Separa las microoperaciones R2R1, R1R2


Suscrito Denota un bit de un registro A2, B6
Llaves cuadradas [ ] Especifica una dirección para una MBRM [MAR]
transferencia de memoria
 Puntos a abordar en la sesión de LBD:

Unidad de control.

Microoperaciones lógicas

Las microoperaciones Iógicas especifican operaciones binarias para una cadena de bits
almacenados en los registros. Estas operaciones consideran cada bit en los registros
separadamente y lo tratan como una variable binaria. Como ilustración, Ia microoperación
del OR exclusivo se simboliza por medio de Ia proposición:

𝐹 ←𝐴⨁𝐵
 Puntos a abordar en la sesión de LBD:

Esta especifica una operación lógica que considera cada par de bits en los registros como
variables binarias. Si el contenido del registro A es 1010 y el del registro B es 1100, Ia
información trasferida al registro F es 0110:

1010 contenido de A
1100 contenido de B
------
0110 contenido de 𝐹 ← 𝐴 ⨁ 𝐵
 Puntos a abordar en la sesión de LBD:

Hay 16 operaciones lógicas diferentes posibles que pueden realizarse con dos variables
binarias.
Designación simbólica Descripción

𝐴 ← 𝐴ҧ Complementa todos los bits del registro A

𝐹 ←𝐴𝑉𝐵 Microoperación OR Lógica

𝐹 ←𝐴Ʌ𝐵 Microoperación AND Lógica

𝐹 ←𝐴⨁𝐵 Microoperación OR Exclusiva Lógica

𝐴 ← 𝑠ℎ𝑙 𝐴 Registro A de desplazamiento a la izquierda

𝐴 ← 𝑠ℎ𝑟 𝐴 Registro A de desplazamiento a la derecha


 Puntos a abordar en la sesión de LBD:

Microoperaciones de desplazamiento

Las microoperaciones de desplazamiento trasfieren la información binaria entre registros


en los computadores en serie. Se usan también en computadores en paralelo para
operaciones aritméticas, lógicas y de control. Los registros pueden transferirse a la
izquierda o a la derecha. No hay símbolos convencionales para las operaciones de
desplazamiento. Para efectos de este documento se adoptan los símbolos shl: operaciones
desplazamiento a la izquierda y, shr para operaciones desplazamiento a la derecha, Por
ejemplo:

A ← shl A, B ← shr .B
Suma binaria:
Representación de números con signo

Sistema de signo-magnitud:

Sistema simple; pero


su implementación es
más compleja que
otros sistemas.

>
 Puntos a abordar en la sesión de LBD:

Números binarios con signos


Cuando un número binario de punto fijo es positivo, el signo se representa como 0 y la
magnitud por un número binario positivo. cuando el número es negativo, el signo se
representa por un 1 y el resto del número puede ser representado por cualquiera de la
siguiente tres maneras:

Signo – magnitud.
Signo – Complemento de 1.
Signo – Complemento de 2.
 Puntos a abordar en la sesión de LBD:

En la representación de la magnitud del signo, ésta se representa por un número binario


positivo. En las otras dos representaciones, el número estará en complemento de 2 ó de 1. Si
el número es positivo, las tres representaciones son iguales.
Como ejemplo, el número binario 9 se escribe a continuación en tres modalidades. Se asume
que se dispone de un registro de 7 bits para almacenar el signo y la magnitud del número.

+9 -9

Signo-magnitud 0 001001 1 001001

Signo-complemento de 1 0 001001 1 110110

Signo-complemento de 2 0 001001 1 110111


 Puntos a abordar en la sesión de LBD:

Suma aritmética

La representación de signo-magnitud es la que más se usa en los cálculos cotidianos. Por


ejemplo, +23 y -35 son representados con un signo seguido por la magnitud del número.
Para sumar estas dos funciones, es necesario restar la magnitud menor de la magnitud
mayor y usar el signo del número mayor como el signo del resultado es decir (+23) + (-35)
= - (35 - 23) = - 12.

El proceso de sumar dos números con signo, cuando los números negativos están
representados en la forma de signo-magnitud, requiere que se comparen estos signos. Si
los dos signos no son iguales, se comparan las magnitudes relativas de los números y
luego se resta el menor del mayor.
 Puntos a abordar en la sesión de LBD:

Suma representada por signo-complemento de 2.


La suma de dos números binarios con signo y los números negativos representados por
sus complementos de 2 se obtienen de la suma de dos números con sus bits de signo
incluidos. Se descarta el arrastre en el bit más significativo (signo).

Suma representada por signo-complemento de 1.


La suma de dos números binarios con números negativos representados por sus
complementos de 1, se obtienen de la suma de dos números, con sus bits de signo
incluidos. si hay un arrastre del bit más significativo (signo), el resultado se incrementa en
1 y el arrastre se descarta.
 Puntos a abordar en la sesión de LBD:
Los ejemplos numéricos para la suma con números negativos, representados por su
complemento de 2, se muestran a continuación. Nótese que dos números negativos
deben estar inicialmente representados por su complemento de 2 y que la suma obtenida
después de la adición estará siempre con la representación adecuada.

+6 0 000110 -6 1 111010
+
+
+9 0 001001 +9 0 001001
------ -------------------- ------ ---------------------
+15 0 001111 +3 0 000011
Suma en el sistema de complemento a 2

Casos I: dos números positivos Casos II: número positivo y


número negativo más pequeño

Casos III: número positivo y Casos IV: dos números negativos


número negativo más grande

>
Suma en el sistema de complemento a 2

Casos V: números iguales y opuestos

>
 Puntos a abordar en la sesión de LBD:
Sustracción aritmética
La sustracción de dos números binarios con signo, cuando los números negativos están en
la forma de complemento de 2, es muy simple y puede exponerse como sigue: obténgase
el complemento de 2 del sustraendo (incluyendo el signo de bit) y súmese al minuendo
(incluyendo el bit de signo). Este procedimiento hace uso del hecho de que una operación
de resta puede cambiarse a una operación de suma si el signo del sustraendo se cambia.
Esto se demuestra por las siguientes relaciones (B es el sustraendo):

(± A) – (-B) = (±A) + (+B)

(± A) – (+B) = (±A) + (-B)


Tema 1: Fundamentos básicos sobre el uso y
programación de los ordenadores, sistemas
operativos, bases de datos y programas informáticos
con aplicación en ingeniería.
UC4 Tema 2: Fundamentos de la estructura, organización,
funcionamiento e interconexión de los sistemas
informáticos, los fundamentos de su programación, y
su aplicación para la resolución de problemas propios
de la ingeniería.

Tema 3: Estructura y arquitectura de los


computadores, así como los componentes básicos que
los conforman
Gracias

Potrebbero piacerti anche