Documente Academic
Documente Profesional
Documente Cultură
CTEDRA:
ARQUITECTURA DE LAS COMPUTADORAS
CARRERA:
INGENIERIA EN SISTEMAS DE INFORMACIN
AO 2014
PRCTICO 1
PAG. 3 - 5
PAG. 5 - 6
PAG. 6 - 7
PRCTICO 2
CDIGOS
PAG. 8 - 12
PRCTICO 3
PAG. 13 - 15
PAG. 15 - 16
PRCTICO 4
SISTEMAS COMBINACIONALES
PAG. 17 - 24
PRCTICO 5
SISTEMAS SECUENCIALES
PAG. 25 - 28
PRCTICO 6
PARTE A: M EMORIAS
PAG. 28 - 30
PAG. 30 - 32
PRCTICO 7
PRCTICO 8
PAG. 33 - 39
PRCTICO 9
PAG. 40 - 42
PAG. 42 - 44
BIOS.
PAG. 45 - 45
PARTE B: PERIFRICOS
USANDO PLACA PUERTO PARALELO
PRCTICO 10
PAG. 45 - 49
Y PERIFRICOS
TRABAJO PRCTICO NO 1
PARTE A: SISTEMAS DE N UMERACIN
EJERCICIOS A RESOLVER EN CLASE
EJERCICIO 1:
Convertir a decimal los siguientes nmeros.
a) 11010100112
b)1BF16
c) 111101,101012
d) 2328
e) 575,548
f) 2CD,516
b) 7523,23610
c) 111010012
d) 1011011,10112
e) 45BA16
f) DCBA,2F16
EJERCICIO 3:
Convertir a hexadecimal los siguientes nmeros.
a) 1001101,100112
b) 6748
c) 5272,328
d) 832410
e) 454510
f) 896310
EJERCICIO 4:
Convertir a binario los siguientes nmeros.
a) 157810
b) 359,7510
c) 544,248
d) 637,438
e) DAB,B216
f) EC,9B16
Resolucin parte c)
Cuando quiero convertir un n de cualquier otra base a decimal el mtodo ms conveniente
es el de las divisiones sucesivas para la parte entera y multiplicaciones sucesivas para la
parte fraccionaria porque todas las operaciones se hacen en decimal.
359/2=179 y el resto es 1
179/2=89 R=1
89/2=44 R=1
44/2=22 R=0
22/2=11 R=0
11/2=5 R=1
5/2=2 R=1
2/2=1
El n se forma a partir del ltimo cociente y todos los restos hacia arriba: 11100111 2
Para la parte fraccionaria se hace lo siguiente:
0,75x2=1,5
(se saca la parte entera y se vuelve a multiplicar por dos hasta que la parte
fraccionaria tome el valor cero)
0,5x2=1,0
la parte fraccionaria es 11
la conversin completa es: 11100111,112
EJERCICIO 5:
Convertir a base dos el nmero 78,3 en base diez, y volverlo a base diez
apreciando seis bits fraccionarios. Qu conclusiones resultan?.
EJERCICIO 6:
Cul es el mayor nmero decimal que puede ser representado por 3 y 6
dgitos hexadecimales ?.
b)
c)
(BA3)16
(11001011)2
(8342)10
(E4A)16
(6895)8
(11101101111)2
(1011101)2
(5DFC)16
(7835)10
(BC57)16
(57771)10
(110110111)2
(100)16
(110001011)2
(3761)10
(5075)8
(3D8)16
(907)10
EJERCICIO 2:
Dado el nmero 10, convertirlo a base diez, suponiendo que est:
a) en base dos; b) en base seis; c) en base ocho; d) en base quince.
EJERCICIO 3:
Cuntos smbolos tendr un sistema de numeracin con base 14?. Indicar
los posibles individuos del mismo.
PARTE B: COMPLEMENTACIN BINARIA
EJERCICIOS PARA RESOLVER EN CLASE
EJERCICIO 1:
Efecte las siguientes operaciones utilizando palabras de 8 bits,
1) Representando los nmeros negativos mediante el convenio de complemento a dos,
2) Representando los nmeros negativos mediante el convenio de complemento a uno.
a) 35 - 21
b)
-48 + 21
c) -25 - (-39)
d)
-63 18
Resolucin punto a)
1) Transformamos una resta en una suma : 35+(-21)
2) Representamos en binario los dos nmeros positivos rellenando con ceros a la
izquierda hasta completar los 8 bits.
3) Complementamos el negativo cambiando ceros por unos y unos por ceros en complemento a uno y adems sumandole 1 en complemento a dos.
4) Hacemos la suma.
35 = 00100011
21 = 00010101
-21= 11101010 (complemento a uno)
-21= 11101011 (complemento a dos)
00100011
11101011
100001110 (en C-2 el uno excedente no
se toma en cuenta) (1410 )
00100011
11101010
100001101
1 (se suma el 1excedente en C-1)
00001110 (1410 )
EJERCICIO 2:
Indique cul es el mximo nmero decimal positivo y negativo representado en el convenio de complemento a dos, si se utilizan palabras de 16 bits y 32 bits.
b) 478 124
c) 75-458
b) 52,73
c) 0,125
d) 0,011
EJERCICIO 2:
Efecte las siguientes operaciones de acuerdo a la representacin en punto
flotante indicada en el ejercicio anterior, y en base 2.
a) 110011 + 11100,110110 + 101,11
b) 1110100,0111 + 10110,0011
c) 1010010,00101 + 0,000010011001
EJERCICIO 3:
Obtenga los nmeros decimales de la siguiente representacin en punto flotante de base 2.
a) 0 10001101 1110010010100001...
b) 1 01010001 1111010001100001...
EJERCICIO 4:
Indique cules son los mximos y mnimos nmeros positivos decimales
que pueden representarse en el formato de punto flotante indicado en simple y doble precisin, y base 2.
EJERCICIOS PARA SER RESUELTOS POR EL ALUMNO
EJERCICIO 1:
Disponiendo de una palabra de 36 bits, de los cules 1 se destina para el bit
de signo del nmero, 8 para el exponente y 27 para la mantisa, representar en punto flotante y en base 2, 8 y 16 los siguientes nmeros decimales.
a) 25,49
b) 0,66
c) 0,00000073
d) 96,2587
EJERCICIO 2:
Efecte las siguientes operaciones de acuerdo a la representacin en punto
flotante indicada en el ejercicio anterior, y en base 2.
a) 0,00000010111101 + 10011110,001
b) 0,11111010 + 0,000000110
c) 1101001010,0001 + 0,000001100001011
EJERCICIO 3:
Obtenga los nmeros decimales de la siguiente representacin en punto flotante de base 2.
a) 0 00111110 100011110101...
d) 0 10110100 110010011101...
EJERCICIO 4:
Indique cules son los mximos y mnimos nmeros positivos decimales
que pueden representarse en el formato de punto flotante indicado en simple y doble precisin, y base 2. Con un exponente de 7 bits.
7
TRABAJO PRCTICO N O 2
CDIGOS
EJERCICIOS A RESOLVER EN CLASE
EJERCICIO 1:
Realizar la tabla de un cdigo Gray de 5 bits.
EJERCICIO 2:
Realizar la tabla de un cdigo Jhonson de 6 bits.
este cdigo.
EJERCICIO 3:
Completar el cuadro, segn los cdigos indicados para la codificacin de los nmeros
decimales enunciados. Cules de los cdigos son auto complementarios?.
---------------------------------------------------------------------------------------------------------------------------Decimal
BCD 2421
BCD EXC3
BCD 3421
BCD 5421
---------------------------------------------------------------------------------------------------------------------------7
23
67,5
81
95,8
104
237
982,99
---------------------------------------------------------------------------------------------------------------------------EJERCICIO 4:
Indicar cual es la distancia mnima del cdigo BCD Aiken. Obtener a partir de l un
cdigo de paridad impar con la incorporacin de un bit de paridad. Cul es la distancia mnima del
cdigo resultante ?.
EJERCICIO 5:
Realizar la tabla de los cdigos 2 entre 5, y biquinario. Indicar la distancia mnima de
ellos, y la denominacin que reciben estos tipos de cdigos.
EJERCICIO 6:
Realice la tabla del cdigo Hamming para la deteccin y correccin de un bit, tomando
como cdigo base de informacin el BCD 3421.
2p n p 1
342 1
000 0
000 1
001 0
000
8
001 1
010 0
010 1
011 0
011 1
110 1
b1
b2
b3
b4
b5
b6
001
010
011
100
101
110
111 0
b7 1 1 1
c3 b4 b5 b6 b7
ahora considerando que no hay error al recibir el cdigo nuevo podemos decir que c 1,, c2 y
c3 valen cero y as debido a una propiedad de la or exclusiva podemos extrapolar b 1 , b2 y b4
b1 b3 b5 b7
b2 b3 b6 b7
b4 b5 b6 b7
donde ya tenemos calculados los 3 bits que agregamos al nuevo cdigo; ahora confeccionamos el cdigo de Hamming completo
b7 b6 b5 b4 b3 b2 b1
0 0 0 0 0 0 0
0 0 0 0 1 1 1
0 0 1 1 0 0 1
0 0 1 1 1 1 0
0 1 0 1 0 1 0
0 1 0 1 1 0 1
0 1 1 0 0 1 1
0 1 1 0 1 0 0
1 1 0 0 1 1 0
1 1 1 1 0 0 0
EJERCICIO 7:
Indicar las distintas combinaciones binarias asignadas a cada uno de los siguientes nmeros, caracteres smbolos especiales, en el cdigo ASCII de 7 bits.
0; % ; , ; G; ); 3; +; & ; . ; T; ;
EJERCICIO 8:
Indicar a que nmeros, caracteres smbolos especiales pertenecen las combinaciones
del cdigo ASCII de 7 bits si las mismas se representan con los siguientes nmeros en octal.
75 ; 12 ; 105 ; 62 ; 52 ; 13 ; 74 ; 132 ; 55 ; 27
CIFRADO DE DATOS O ENCRIPTACIN
EJERCICIO 9:
Dado el siguiente texto somtalo a un algoritmo de cifrado
UNIVERSIDAD TECNOLOGICA NACIONAL
9
Suponemos por simplicidad que los nicos caracteres de datos que tenemos que manejar son las letras
maysculas y los espacios en blanco.
Suponemos como clave de cifrado la cadena de caracteres:
ESTUDIAR
1).- Dividimos el texto plano en bloques de longitud igual a la clave de cifrado (en este caso 8 letras)
UNIVERSI DAD+TECN OLGICA+ NACIONAL (Los espacios en blanco son ahora mostrados en forma explcita como +)
2).- Reemplazamos cada carcter del texto plano por un entero que est en el rango de 00 a 26, usando:
+ A B C D E F G H I J K L M N O P Q R S T U V X Y Z
00 01 02 03 04 05 06 07 08 09 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26
22 15 09 23 05 19 20 09 04 01 04 00 21 05 03 14 16 12 16 07 09 03 01 00 15 01 03 09 16 15 01 12
4).- Para cada bloque de texto plano reemplazamos cada carcter por la suma mdulo 27 de su codificacin de enteros ms la codificacin de enteros del carcter correspondiente de la clave de cifrado.
22 15 09 23 05 19 20 09 04 01 04 00 21 05 03 14 16 12 16 07 09 03 01 00 15 01 03 09 16 15 01 12
05 20 21 22 04 09 01 16 05 20 21 22 04 09 01 16 05 20 21 22 04 09 01 16 05 20 21 22 04 09 01 16
00 08 03 18 09 01 21 25 09 21 25 22 25 14 04 03
21 05 10 02 13 12 02 06
20 21 24 04 20 24 02 11
5).- Reemplazamos cada codificacin de enteros del resultado del paso 4) por su equivalente en caracteres:
00 08 03 18 09 01 21 25 09 21 25 22 25 14 04 03 21 05 10 02 13 12 02 06 20 21 24 04 20 24 02 11
+ H C Q I A T Y I T Y U Y N D C T E J B M L B F S T X D S X B K
El procedimiento de descifrado para este ejemplo es directo, siempre y cuando se tenga la clave.
10
decimal
1
3
4
7
c)
decimal
1
3
5
7
P3
0
0
0
1
P2 Pl PO
0 0 1
0 1 1
1 0 0
1 0 0
P3
0
0
0
1
P2 Pl PO
0 0 1
0 1 1
1 0 0
1 0 0
b)
decimal
3
5
7
9
d)
decimal
0
1
2
3
P3
0
0
1
1
P2 Pl PO
0 1 1
1 0 1
1 0 1
1 1 1
P3
0
0
0
0
P2 Pl PO
0 0 0
0 0 1
0 1 1
0 1 0
EJERCICIO 3:
Representar el nmero 927 en binario natural y en BCD EXS 3. Comentar el resultado
luego de efectuar un anlisis comparativo sobre la facilidad para obtener las representaciones y la longitud de bits necesarios para cada caso.
EJERCICIO 4:
Cuntos bits tendr el cdigo Hamming para poder detectar y corregir un error si los
datos originalmente se codifican con combinaciones de:
a) 5 bits
b) 8 bits
c) 12 bits?
EJERCICIO 5:
Dado el siguiente texto somtalo a un algoritmo de cifrado:
ARQUITECTURA DE COMPUTADORAS
Utilice la palabra clave: NAND
11
EJERCICIO 6:
Dado el siguiente texto que se encuentra codificado con la palabra clave: AVANTI
Descfrelo utilizando el esquema anterior.
LTNNSANCNIFJAZUIDQNOMN
EJERCICIO 7:
dem al anterior utilizando la palabra clave MATERIA
NSL+ACFOUOXSIEQAXTEZVGBYTKJT
12
TRABAJO PRTICO N 0 3
PARTE A: ALGEBRA DE BOOLE
EJERCICIOS A RESOLVER EN CLASES
EJERCICIO 1:
Hallar las expresiones cannicas de las siguientes funciones.
Representar la tabla de verdad correspondiente a cada una de ellas.
f a, b, c ac bc ab c
f a, b, c, d , e ab ce a de
f a, b, c, d a b c c
RESOLUCIN:
f (a, b, c) ac bc ab c
ac (b b ) bc(a a ) ab c
abc ab c abc a bc ab c
expresin cannica
EJERCICIO 2:
Simplificar las siguientes expresiones aplicando los teoremas del lgebra de Boole.
RESOLUCIN
f ( p, q, r ) pqr pq pq r pqr pqr agrupando y sacando factor comn
pq(r r ) pq pq r pqr
r r 1
p(q q ) pq r pqr
EJERCICIO 3:
Dadas las siguientes funciones, representadas mediante la expresin cannica por comprensin de suma de productos y producto de sumas, obtener las representaciones de las mismas en la
forma de producto de sumas y suma de productos respectivamente.
a)
f a, b, c 2,5,7
3
b)
f a, b, c, d 1,3,4,8,12,14
4
13
EJERCICIO 4:
Obtener la tabla de verdad y la funcin cannica por comprensin en la forma de producto de sumas de una funcin de 4 variables que toma el valor 1 cuando 3 ms variables toman el
valor 0.
EJERCICIO 5:
Obtener la tabla de verdad y la funcin cannica por comprensin y extensin en la
forma de suma de productos y producto de sumas de una funcin de 4 variables que toma el valor 0
cuando la variable de menor peso vale 0, y la de mayor peso vale 1.
EJERCICIO 6:
Demostrar las siguientes igualdades.
p a d ec
pa d e c
aba b
aa c ab ac
EJERCICIOS PARA RESOLVER POR EL ALUMNO
EJERCICIO 1:
Obtener las 16 tablas de verdad, y por lo tanto, las 16 funciones diferentes a que dan
lugar las 4 combinaciones de dos variables de entrada. Posteriormente,
simplificar aplicando los
teoremas del lgebra de Boole, e indicar las expresiones duales de los resultados.
EJERCICIO 2:
Indicar cual de las siguientes igualdades es correcta, haciendo uso de las leyes de De
Morgan.
ab a c c b a b a c c b
a b ca b c ab abc abca b
EJERCICIO 3:
Dadas las siguientes funciones, representadas mediante la expresin cannica por comprensin de suma de productos y producto de sumas, obtener las representaciones de las mismas en la
forma de producto de sumas y suma de productos respectivamente.
f a, b, c, d 4,6,8,9,14,15
4
f a, b, c 1,2,5,6
3
14
EJERCICIO 4:
Obtener la tabla de verdad y la funcin cannica por extensin en la forma de suma de
productos de una funcin de 4 variables que toma el valor 0 cuando 2 variables toman el valor 0.
PARTE B: SIMPLIFICACIN DE FUNCIONES
EJERCICIOS PARA R ESOLVER EN CLASES
EJERCICIO 1:
Minimizar por el mtodo de karnaugh las funciones expresadas en la forma cannica
por extensin del Ejercicio N 0 2 del prctico anterior.
EJERCICIO 2:
Minimizar por el mtodo de Karnaugh las siguientes funciones expresadas en la forma
cannica por comprensin.
a)
f a, b, c 2,4,5,7
3
b)
f a, b, c, d 1,4,5,7,8,10,11,14,15
4
RESOLUCIN
f (a, b, c, d ) (1,4,5,7,8,10,11,14,15)
4
ba
dc
00
00
0
01
11
10
01
11
10
EJERCICIO 3:
Las siguientes expresiones corresponden a funciones minimizadas expresadas en la
forma de suma de productos. Obtener las funciones minimizadas expresadas en la forma de producto
de sumas correspondientes.
f a, b, c, d bcd b c d a c a bd
f a, b, c, d a bc bd acd
f a, b, c, d a b bd b c
15
EJERCICIO 4:
En un sistema digital que opera con el cdigo BCD EXS 3 se desea implementar un
generador de paridad impar. Indicar la funcin ms simple, ya sea en la forma de producto de sumas o
suma de productos que satisface el requisito.
EJERCICIOS A RESOLVER POR EL ALUMNO
EJERCICIO 1:
Minimizar por el mtodo de Karnaugh las siguientes funciones expresadas en la forma
cannica por comprensin.
a)
f a, b, c, d 1,2,4,6,7,8,12,13,15
4
b)
f a, b, c, d 2,4,5,6,9,10,11,14,15
4
EJERCICIO 2:
Minimizar las siguientes funciones y determinar si son ms simples sus expresiones de
producto de sumas suma de productos.
a)
f a, b, c, d 2,3,4,6,9,10,11,12,14,15
4
b)
f a, b, c, d 1,5,6,7,8,11,14,15
4
c)
f a, b, c, d 1,2,8,9
4
d)
f a, b, c, d 2,5,6,8,9,10,13
4
EJERCICIO 3:
Minimizar por Karnaugh las siguientes funciones y dar el resultado en la forma de producto de sumas.
f a, b, c, d a bc ab cd
f a, b, c, d abc ab acbd a c d
EJERCICIO 4:
En un registro de 4 bits, cuyas salidas estn disponibles al exterior, se almacena informacin numrica decimal en el cdigo BCD Natural. Se desea implementar un sistema digital que
detecte cuando el nmero contenido en el registro es superior a 6 e inferior a 3. Indicar la funcin ms
simple, ya sea en la forma de producto de sumas suma de productos que satisface el requisito.
16
TRABAJO PRCTICO N O 4
SISTEMAS COMBINACIONALES
EJERCICIOS A RESOLVER EN CLASE
EJERCICIO 1:
Disee un sistema combinacional que accione el motor de un limpiaparabrisas sabiendo
que ste funciona cuando la llave general del auto est en contacto, y adems, se activa el control del
limpiaparabrisas, pero si desactiva este ltimo, el motor sigue funcionando hasta que las escobillas
lleguen al costado izquierdo.
Obtener la solucin ms simple, e implementarla con las compuertas correspondientes.
RESOLUCIN:
Vamos a llamar C a la variable de la llave de contacto del auto.
Vamos a llamar M a la variable que acciona el motor del limpiaparabrisas.
Vamos a llamar L a la posicin de la escobilla, vale 1 cuando est a la derecha.
C M L F
0
0
0
0
1
1
1
1
0
0
1
1
0
0
1
1
0
1
0
1
0
1
0
1
0
0
0
0
0
1
1
1
ML
00
01
11
10
C
0
1
F MC LC C (M L)
M
M
C
C
L
F
F
EJERCICIO 2:
Realizar el diseo e implementacin de dos llaves de luz colocadas al pie y cima de una
escalera; de tal manera que pueda prender la luz de la llave de abajo y apagarla con la llave de arriba y
viceversa.
EJERCICIO 3:
Utilizar decodificadores para implementar las siguientes funciones:
17
1.
f a, b, c, d 0,6,8,10
4
2.
f a, b, c, d 1,5,7,8,13
4
EJERCICIO 4:
Realizar el diseo de un comparador de dos nmeros de dos bits c/u. Este sistema tiene
que tener 3 salidas la de mayor, menor e igual. Realizar el diseo con compuertas nand.
EJERCICIO 3:
Un registro de salida en paralelo A0 a A3 contiene un carcter codificado en BCD 5421.
Realizar un generador de paridad para agregar el correspondiente bit Ap que permita elegir paridad par
o impar, con una llave selectora. Utilizar decodificadores y multiplexores
18
EJERCICIO 4:
El diagrama de la figura indica el sistema de arranque de un motor elctrico. Existen cuatro variables binarias de control las cuales permitirn el arranque del motor slo cuando existe paridad
impar entre ellas. Hay dos casos especiales, llamados de emergencia que permitirn arranque, y ocurren cuando todas las variables estn en uno cero simultneamente.
Realizar con compuertas.
Siasdfgfstem
V
V1
V2
V3
V4
Sistema
de
AaArranquefd
Sistemadfffsd
sdvcsdffsdfsdf
zxvcfdsfsdfsdf
Sistrema
Arranquede
arranqueSis
Motor
EJERCICIO N 5
ESPECIFICACIONES
o
Objetivo: Disear un circuito digital, capaz gobernar un robot, haciendo que ste siga una lnea negra pintada sobre un fondo blanco.
o Censores: El robot est dotado de dos sensores digitales capaces de diferenciar el color
negro del blanco. La salida de estos sensores es 0 cuando leen blanco y 1 cuando leen negro. Denominaremos a este bit como C:
Sensor
Color Blanco
Color Negro
o
C
0
1
Motores: Dos motores de corriente continua que son controlados cada uno mediante dos bits, denominados
S y P, descritos mediante la siguiente tabla de verdad:
P
0
0
1
1
S
0
1
0
1
Motor
Parado
Parado
Giro derecha
Giro izquierda
El bit P es el bit de Power. Indica si el motor est conectado o no. El bit S es el del
19
sentido de giro. Segn su valor el motor girar a la derecha o a la izquierda (siempre que
el motor est activado, con P=1).
o
Algoritmo: El algoritmo para seguir la lnea negra es muy sencillo. Mientras los dos censores detecten negro, el robot deber avanzar. Cuando el censor de la derecha detecte blanco y el de la izquierda negro, el robot girar a la izquierda y cuando ocurra el caso contrario girar a la derecha. Si ambos censores leen blanco
permanecer parado. Esto se esquematiza en la siguiente figura:
DIAGRAMA DE BLOQUES
Como primera fase del diseo tenemos que entender qu es lo que se nos est pidiendo y
determinar el aspecto que tiene el circuito que hay que realizar. El circuito tendr dos entradas provenientes de los censores, C1 y C2, y cuatro salidas, dos para cada motor: S1, P1 S2 y P2.
20
TABLA DE VERDAD
Ahora hay que definir el comportamiento del circuito, utilizando una tabla de verdad. Este comportamiento nos lo da el algoritmo de seguir la lnea. La tabla de verdad es la siguiente:
Con una x se han marcado las casillas de la tabla de verdad que es indiferente su valor.
Si lo construimos utilizando puertas TTL, necesitamos dos integrados, uno para los inversores y otro para la puerta OR. Si en vez de ello lo implementamos slo con puertas NAND, el circuito es el siguiente:
21
EJERCICIO N 6
Construir un multiplexor de 8 canales a partir de multiplexores de 2 canales.
La solucin es conectarlos en cascada:
Primero colocamos una columna de 4 multiplexores de dos entradas, para tener en total 8 entradas. Todas las entradas de seleccin de esta primera columna se unen. Por comodidad en el dibujo, esto se representa
mediante una lnea vertical que une la salida S de un multiplexor con el de abajo.
A continuacin colocamos una segunda columna de 2 multiplexores de 2 entradas, tambin con
sus entradas de seleccin unidas. Finalmente colocamos una ltima columna con un nico multiplexor de
2 entradas.
Colocados de esta manera, conseguimos tener
un multiplexor de 8 entradas y tres entradas de seleccin. La nica consideracin que hay que tener en
cuenta es que la entrada de seleccin de los multiplexores de la primera columna tiene peso 0, la segunda
peso 1 y la ltima peso 2:
Vamos a comprobar qu ocurre si seleccionamos el canal 6. Introducimos en binario el nmero 6
por las entradas de seleccin S2, S1, S0.
Por la entrada S de los multiplexores de la
primera columna se introduce un 0, por lo que estos
multiplexores sacan por sus salidas lo que hay en sus
entradas I0. Por la entrada de seleccin de los multiplexores de la segunda columna se introduce un 1
por lo que estn seleccionando su canal I1. A la salida
de estos multiplexores se tendr I2 e I6. Finalmente, el multiplexor de la ltima columna est seleccionando su
entrada I1, por lo que la salida final es I6.
22
EJERCICIO N 7
Realizar un detector de desbordamiento aritmtico. El intervalo de valores que podemos representar mediante nmeros de n bits en el sistema numrico de complemento a dos es:
-2n-1 <=N<= 2n-1 - 1
Cualquier operacin aritmtica que intente generar un valor fuera de este intervalo producir
una condicin de desbordamiento. En estos casos el nmero resultante de n bits no es una representacin vlida
del resultado; por tanto hay que detectar todas las condiciones de desbordamiento, de modo que no se utilicen
estos resultados nos vlidos.
En complemento a dos, se tienen condiciones de desbordamiento cuando se suman dos valores positivos
cuya suma es mayor que 2n-1 1 o dos valores negativos cuya suma es menor que -2n-1 1. En ambos casos el
resultado tiene el bit de signo incorrecto. Por lo tanto, detectamos el desbordamiento observando los bits de
signo de los operandos y del resultado.
En la siguiente tabla se observan las situaciones que pueden ocurrir en la etapa ms significativa de un
sumador de n bits. Los bits a n-1 y bn-1 representan los bits de signo de los nmeros a sumar, as que son las entradas de esta etapa, junto con el bit de acarreo c n-2 . Las salidas de esta etapa son C n-1 y Sn-1 .
Ocurre desbordamiento en dos casos: la suma de dos valores positivos que producen un bit de signo S n1 =1, lo que indica resultado negativo, y la suma de dos nmeros negativos que produce un bit de signo Sn-1 =0, lo
que indica un resultado positivo. La expresin lgica de desbordamiento V es:
23
24
TRABAJO PRCTICO NO 5
SISTEMAS SECUENCIALES
EJERCICIOS PARA RESOLVER EN CLASE
EJERCICIO 1:
Realizar la tabla de verdad de este biestable
S
Q
R
RESOLUCIN:
R S Q(t) Q(t+1)
0 0 0
0
0 0 1
1
0 1 0
1
0 1 1
1
1 0 0
0
1 0 1
0
1 1 0
X
1 1 1
X
EJERCICIO 2:
Explicar el significado del siguiente cuadro que con brevedad sintetiza la
utilizacin del biestable J-K como R-S, T D.
J=K=T
J=R=D
J=K=T
JK
Q*
00 Q J=S;
K=R
01
10
11
1
1
Q
J=S;
K=R
EJERCICIO 3:
Deducir si el siguiente flip-flop es sncrono o asncrono, y cul es su funcionamiento.
25
CK
CK
Contadores Sncronos.
EJERCICIO 4:
Determinar en que cdigo se lleva el contaje en el siguiente registro de desplazamiento realizado con biestables J-K. Suponer que inicialmente QO=Ql=Q2=Q3=0.
J
T
K
Q0
Q1
Q0
T
K
Q1
J
T
K
Q2
Q2
J
T
K
Q3
Q3
IMPULSOS
Contadores asncronos.
EJERCICIO 5:
1. Contador binario ascendente.
La figura presenta un contador binario de cuatro bits conectado para que funcione de
modo asncrono (la entrada de reloj slo est conectada al primer flip-flop). El segundo
flipflop se dispara mediante la seal Q0 (salida del primer flip-flop), el tercer flip-flop mediante la seal Q1 (salida del anterior) y as sucesivamente. Cada flip-flop cambia durante
el flanco descendente de la seal que se aplica a su entrada de reloj.
El contador de cuatro bits dispone de diecisis estados diferentes (24 =16).Hay que tener en cuenta que Q0 representa el bit menos significativo (LSB) y Q3 el bit ms significativo (MSB).
Realizar la secuencia de estados del contador en una tabla, para Q3, Q2, Q1 y Q0 y el
diagrama de tiempos del contador.
26
RESOLUCIN:
Realizar la secuencia de estados del contador en una tabla, para Q3, Q2, Q1 y Q0 y el
respectivo diagrama de tiempos.
EJERCICIO 2:
Realizar los diagramas en bloque de los cuatro registros de desplazamiento:
entrada serie salida serie, entrada serie salida paralelo, entrada paralelo salida serie y entrada paralelo salida paralelo.
EJERCICIO 3:
a) A partir de un biestable SR, obtener un JK.
b) A partir de un biestable JK, obtener un biestable T.
c) A partir de un biestable SR, obtener un biestable D.
27
EJERCICIO 4:
Determinar el Sistema combinacional necesario para indicar que los contadores binarios han alcanzado el valor equivalente decimal 66, e inicie el conteo nuevamente desde 0.
Impulsos
Contador
Binario Natural
Contador
Binario Natural
Sistema
Combinacional
28
TRABAJO PRCTICO N 6
M EMORIAS
PARTE A: M EMORIAS
EJERCICIOS PARA REALIZAR EN CLASES
EJERCICIO 1:
Determinar cual es el valor de n1 y n2, si la memoria es de: 4 Kbytes, 64
Kbytes, 1Mbytes, 4096 palabras de 32 bits, 65536 palabras de 16 bits o 524288 palabras
de 64 bits.
n2
Bus de
Direcciones
Memoria de Acceso
Aleatorio
[RAM]
n1
Bus de Datos
EJERCICIO 2:
Cuantos bits de direccionamiento son necesarios para la localizacin de una
palabra en una memoria de 256 posiciones y de una de 1024 .
EJERCICIO 3:
Cuantos bits posee una memoria de 32Kx8, siendo 32K la cantidad de posiciones a direccionar y 8 la cantidad de bits de cada posicin o palabra? Cuantos bits de
direccionamiento son necesarios?
EJERCICIO 4:
Se tienen dos memorias RAM de 256 posiciones cada una. Cuantos bits se
necesitarn para direccionar a ambas de manera de obtener una memoria de 512 posiciones? Realizar una posible conexin.
EJERCICIO 5:
Realizar una memoria de 2K X 8, partiendo de pastillas de 1K X 4.
29
EJERCICIO 5:
Los interruptores T1, T2, ....., T7 deben permanecer siempre abiertos, salvo en
el caso del
proceso de escritura, para lo cual se debe cerrar el interruptor
donde se desee escribir un uno. Una vez escrito el mismo (luego de pulsar
P2 ), los interruptores T cerrados debern abrirse nuevamente.
NOTA 2: Es necesario recordar que en este tipo de memoria, si se corta la alimentacin
de 5V, se pierde la informacin registrada en la misma.
NOTA 3: Debido a que en el circuito se utiliza una sola memoria, las entradas de control
chip select han sido habilitadas en forma permanente: CS1, CS2, CS4, CS5
con estado 0 y CS0, CS3 con un 1.
31
32
TRABAJO PRCTICO N O 7
PROGRAMACIN DE UNA COMPUTADORA ELEMENTAL DIDCTICA
SIMULADOR PARA COMPUTADORA ELEMENTAL DIDCTICA
Previo a la resolucin de los ejercicios que a continuacin se indican, se
efectuar una descripcin de un simulador didctico de la computadora elemental didctica
BLUE, de los procedimientos para la utilizacin del mismo, y de igual forma, un anlisis
de una computadora personal, sus perifricos y el sistema operativo para el acceso a dicho
programa.
Verificar los programas de los Ejercicios N O 3 al N O 12 del TRABAJO
PRACTICO, utilizando el simulador para la ejecucin del programa, ya sea paso a paso, o
de una sola vez. Genere un informe por cada verificacin imprimiendo pantalla para cada
ejercicio, explicando los procedimientos seguidos y los comentarios del caso.
EJERCICIOS PARA RESOLVER EN CLASE
EJERCICIO 1:
Cul es el efecto de las siguientes instrucciones en octal?. Indique el mnemnico correspondiente.
177777
140277
042322
075303
063501
137701
013150
125000
104210
EJERCICIO 2:
Complete el siguiente cuadro con las restantes formas de representacin.
------------------------------------------------------------------------------------------------------------mnemnico
octal
binario
------------------------------------------------------------------------------------------------------------ADD 50
---150510
---1111000001001000
NOT 33
---
--110350
-0011000001010110
--
XOR 276
---------------------------------------------------------------------------------------------------------------
EJERCICIO 3:
Escriba un programa comenzando en la ubicacin 400 que intercambie los
contenidos de las ubicaciones 550 y 551. Expresarlo en representacin octal y mnemnica.
33
RESOLUCIN:
o400
o401
o402
o403
o404
o405
o406
LDA 550
STA 552
LDA 551
STA 550
LDA 552
STA 551
HLT 0000
EJERCICIO 4:
Escriba un programa que comience en la ubicacin 550 que efecte la operacin lgica AND entre el contenido de la ubicacin 560 y 563. Depositar el resultado en
560 e indicar el valor resultante en octal a partir de los siguientes datos en decimal:
(560) = +1307
(563) = +2431
EJERCICIO 5:
Proyecte una secuencia de instrucciones que efecte un salto a la ubicacin
255 si el contenido de la direccin 300 es cero, y a la ubicacin 333 si el contenido es distinto de cero.
EJERCICIO 6:
Escriba un programa que efecte el cuadrado de un nmero por sumas sucesivas de valores impares. Suponga que dicho nmero puede ser positivo o negativo.
EJERCICIO 7:
Escriba un programa que efecta la raz cuadrada de un nmero por restas
sucesivas de valores impares. Suponga que dicho nmero es siempre positivo.
EJERCICIO 8:
Suponga que la Blue debe ser dotada del doble de instrucciones. Cmo
modificara la estructura de la palabra, manteniendo su longitud con dicho objeto?. Cuntas palabras pueden direccionarse directamente segn su propuesta?.
EJERCICIO 9:
Suponga que la Blue debe ser dotada de direccionamiento directo e indirecto, usando las mismas instrucciones de referencia a memoria. Cmo modificara la estructura de la palabra, manteniendo su longitud con dicho objeto?. Cuntas palabras pueden
direccionarse directamente e indirectamente segn su propuesta?.
34
EJERCICIO 10:
Escriba un programa que efecte una multiplicacin entre dos nmeros
usando el mtodo de las sumas sucesivas.
o100
o101
o102
o103
o104
o105
o106
o107
o110
o111
o112
o113
o114
o115
o116
o117
o120
o121
o122
o123
o000005
o000004
o000001
o177777
o060100
o070102
o060101
o010105
o050000
o070104
o060102
o010100
o070102
o060104
o010103
o070104
o110114
o000000
;multiplicando
;multiplicador
;resultado
;k=1
;contador= -multiplicador
;j=-1
;lda 0100
;sta 0102
;lda 0101
;add 0105
;not 0000
;sta 0104
;lda 0102
;add 0100
;sta 0102
;lda 0104
;add 0103
;sta 0104
;jma 0114
;hlt
EJERCICIO 11:
Escriba en instrucciones de la blue el siguiente cdigo, parte de un programa
de lenguaje de alto nivel tipo C++, considerando que todas las variables son enteras, y proponiendo posiciones de memoria para el almacenamiento de los datos y el programa.
FOR (I = 0; I <= 10; I = I + 1)
A[I] = B[I] + C;
Resolucin:
PROGRAMA PARA EL SIMULADOR
Nemnico
144 LDA 327
145 ADD 323
146 JMA 150
147 JMP 165
150 LDA 310
151 ADD 326
152 STA 400
153 LDA 323
154 ADD 325
Codificacin
o0144 o060327
o0145 o010323
o0146 o110150
o0147 o120165
o0150 o060310
o0151 o010326
o0152 o070400
o0153 o060323
o0154 o010325
35
Datos
310 10
311 5
312 15
313 12
314 6
315 7
316 18
317 13
320 25
B[0]
B[1]
B[2]
B[3]
B[4]
B[5]
B[6]
B[7]
B[10]
155
156
157
160
161
162
163
164
165
STA 323
LDA 150
ADD 325
STA 150
LDA 152
ADD 325
STA 152
JMP 144
HLT
o0155
o0156
o0157
o0160
o0161
o0162
o0163
o0164
o0165
o0310
o0311
o0312
o0313
o0314
o0315
o0316
o0317
o0320
o0323
o0324
o0325
o0326
o0327
o070323
o060150
o010325
o070150
o060152
o010325
o070152
o120144
o000000
o000010
o000011
o000012
o000024
o000024
o000017
o000016
o000021
o000014
o000000
o177777
o000001
o000007
o177767
400
....
410
323
324
325
326
327
A[0]
0
0
-1
1
7
-11
A[10]
I
k
J
C
EJERCICIO 12:
Con instrucciones de la Mquina Elemental realizar lo siguiente:
I=o10
While I<0 do
A[I]= B[I]
I=I+1
Break A[I]= o17
done
Resolucin:
o0000
o0001
o0002
o0003
o0004
o0005
o0006
o0007
o0010
o0011
o0012
o0013
o0014
o0015
o0016
LDA o0060
STA o0054
STA o0070
LDA o0000
ADD o0051
STA o0000
LDA o0002
ADD o0051
STA o0002
SRJ O0100
JMA o0017
LDA o0050
ADD o0051
STA o0050
JMA O0000
36
o0017
o0050
o0051
o0052
o0053
o0055
o0060
o0061
o0062
o0063
o0064
o0065
o0066
o0067
o0100
o0101
o0102
o0103
o0104
o0105
o0106
o0107
o0110
HLT O0000
NOP o7770 ;-8 o -o10
HLT o0001
NOP o7777
NOP o7761
JMP o0000
HLT o0012
HLT o0024
HLT o0024
HLT o0015
HLT o0016
HLT o0017
HLT o0014
HLT O0013
IOR O0055
STA O0110
LDA O0054
ADD O0053
JMA O0107
ADD O0052
JMA O0110
LDA O0051
EJERCICIO 13:
Implemente el BUS comn de la Mquina Elemental sin utilizar elementos de Tercer Estado, dibuje el Diagrama de Tiempo de las seales de control necesarias. Considere slo los
Registros: MBR y ACC.
EJERCICIO 14:
Implemente el BUS comn de la Mquina Elemental utilizando elementos de Tercer Estado, dibuje el Diagrama de Tiempo de las seales de control necesarias. Considere slo los
Registros: MBR y ACC.
EJERCICIO 15:
Se desea cambiar la instruccin XOR XXXX de la Mquina Elemental por la instruccin SUB XXXX. Esta instruccin debe realizar la resta en C2 entre el contenido del registro
ACC y el contenido de la posicin de memoria XXXX, el resultado se ubica en el ACC.
ACC (XXXX) CC
Detalle el (o los) ciclos de ejecucin necesarios para esta instruccin.
EJERCICIO 16:
Realice el circuito de la Unidad de Control Cableada usando un contador y un decodificador para generar los 8 pulsos (CP1 a CP8) del Ciclo de Mquina de la Mquina Elemental.
EJERCICIO 17:
Se desea cambiar la instruccin XOR XXXX de la Mquina Elemental por la instruccin DEC XXXX. Esta instruccin debe realizar el decremento en 1 del ACC, dejando el resultado en el registro.
ACC 1 CC
Detalle el (o los) ciclos de ejecucin necesarios para esta instruccin.
37
EJERCICIO 18:
Se desea agregar al repertorio de instrucciones de la Mquina Elemental la instruccin RET, cuya accin es retornar correctamente desde una subrutina llamada por la instruccin
JSR XXXX. Detalle el ciclo de ejecucin de la nueva instruccin. Indique tambin como debe modificar el ciclo de ejecucin de la instruccin JSR XXXX.
EJERCICIO 2:
Escriba un programa en representacin octal y mnemnica que comience en
la ubicacin 200, sume 3 nmeros ubicados en las direcciones 733, 1055 y 3511, y deposite el resultado en la direccin 55. Indique el contenido final en binario y octal del acumulador y de las direcciones de memoria involucradas a partir de los siguientes datos en decimal:
(733) = + 88
(1055) = - 73
(3511) = - 176
(55)
= + 13
EJERCICIO 3:
Escriba la representacin octal del siguiente programa. Cul es el contenido del acumulador y de las ubicaciones 3007, 3010, 3011 3012 despus de la ejecucin del
programa?.
3001
3002
3003
3004
3005
3006
3007
3010
3011
3012
LDA 3007
IOR 3010
AND 3011
STA 3012
OUT
01
HLT
110771
145735
074000
77177
EJERCICIO 4:
Escriba una subrutina que ejecute la OR de 2 datos ubicados en las direcciones 300 y 301. Tenga en cuenta que dicha subrutina puede necesitarse en distintos tramos
del programa principal, y que ella comienza en la direccin 1100. Indicar expresamente el
paso y retomo de la subrutina al programa principal.
38
EJERCICIO 5:
Escriba en instrucciones de la blue la siguiente expresin algebraica, parte
de un programa de lenguaje de alto nivel tipo C++, considerando que todas las variables
son enteras, y proponiendo posiciones de memoria para el almacenamiento de los datos y
el programa. Realizarlo como subrutina; indicar expresamente el paso y retomo de la subrutina al programa principal.
F = (G + H) - (I + J)
39
TRABAJO PRCTICO N O 8
PROGRAMACIN DE CPU 8088/8086 USO DEL EMULADOR EMU8088/86
PARTE A:
RECONOCIMIENTO DE INSTRUCCIONES , M ODOS DE DIRECCIONAMIENTO Y REGISTROS
INTERNOS PROGRAMAS ELEMENTALES
La resolucin de los ejercicios de programacin se realizarn utilizando el
Emulador EMU8088/8086, y se imprimirn las pantallas para cada uno de ellos.
EJERCICIOS PARA RESOLVER EN CLASE
EJERCICIO 1:
Represente la estructura de la CPU 8088, indicando la composicin interna
de las subunidades BIU y EU, y la conexin con la memoria principal de 1 Mbytes con los
buses correspondientes.
EJERCICIO 2:
Cul es el efecto de las siguientes instrucciones en hexadecimal?. Indique
el mnemnico correspondiente.
F4
BF028B
01D8
35AF00
E900FF
3400
BE503A
B80100
F7D2
F7D9
E822FF
A21300
EJERCICIO 3:
Complete el siguiente cuadro con las restantes formas de representacin.
------------------------------------------------------------------------------------------------------------mnemnico
hexadecimal
binario
------------------------------------------------------------------------------------------------------------MOV CX,DX
---09D8
---0111010111111010
XOR AX, [BX]
----0111001111110110
-F7D9
-INC SI
--------------------------------------------------------------------------------------------------------------EJERCICIO 4:
Indique la cantidad de bytes de almacenamiento y los modos de direccionamiento utilizados en cada una de las instrucciones del cuadro del Ejercicio 1.
40
EJERCICIO 5:
Indique la posicin de memoria a la que se acceder para leer una instruccin, si los contenidos de los registros IP y CS son 1F1A y F341, respectivamente.
EJERCICIO 6:
Suponiendo que los contenidos de los registros DS (Segmento de Datos) y
CS (Segmento de Cdigo) son 024B y B000, respectivamente, indicar la posicin fsica de
inicio y final de los segmentos de datos y de cdigo.
EJERCICIO 7:
Suponiendo que los contenidos de los registros DS (Segmento de Datos) y
CS (Segmento de Cdigo) son C000 y B246, respectivamente, indicar la posicin fsica de
inicio y final de los segmentos de datos y de cdigo. Observa algn problema?.
EJERCICIO 8:
Indicar el valor que queda almacenado en el operando destino despus de
ejecutar cada una de las siguientes instrucciones.
a) ADD AX,BX
b) ADD AX, [BX]
c) ADD BX,0124
d) ADD AL, [1A1B]
e) ADD BX, [SI+1A]
Datos:
AX=1A1B
BX=147A
SI=2682
AL=1B
DS:147A=AB
DS:147B=DC
DS:1A1B=12
DS:269C=21
DS:269D=A2
EJERCICIO 9:
Cargar AX con el valor hexadecimal 2222 y BX con le nmero BBAA,
efectuar su suma dejando el resultado en AX y anotar el estado de los distintos registros.
EJERCICIO 10:
Colocar el nmero hexadecimal E5 en AL; luego el valor 4B en BL y realizar su suma, dejando el resultado en AX. Verificar el acarreo.
EJERCICIO 11:
Colocar el nmero FF en los bits menos significativos de AX; al nmero 33
en los bits ms significativos de AX y realizar el producto lgico entre ambos.
41
EJERCICIO 12:
Colocar 45 en AX y obtener el complemento a dos.
EJERCICIO 13:
Representar la codificacin hexadecimal del ejercicio anterior.
EJERCICIO 14:
Colocar 1234 en AX; 5678 en BX. Obtener la or exclusiva entre ambos,
dejando el resultado en AX. Luego obtener la suma lgica entre AX y BX
PARTE B:
PROGRAMAS AVANZADOS OPERACIONES ARITMTICAS Y LGICAS
EJERCICIO 9:
Crear una tabla de 5 bytes a partir de la direccin 100, con los siguientes
valores en hexadecimal: 41, 45, 49, 4F y 55. Sabiendo que estos valores corresponden a
letras del alfabeto en el cdigo ASCII, disee un cdigo que obtenga la posicin dentro del
alfabeto de estos caracteres, y los almacene a partir de la direccin 200. Corra el programa,
y diga que caracteres son y que posiciones ocupan en el alfabeto.
EJERCICIO 10:
Confeccionar un programa que sume dos nmeros de 32 bits, contenido en
los registros AX y BX el primero y en CX y DX el segundo. Los 16 bits de menos peso de
los nmeros se encuentran en los registros AX y CX respectivamente y el resultado de su
suma quedar en AX. Los 16 bits de ms peso se encuentran en los registros BX y DX,
quedando el resultado de su suma en BX. Si el resultado de la suma es mayor que 2511, se
cargar el valor 0F en la direccin de memoria 2000 y.en el registro BP. En caso contrario
se cargar el valor cero.
EJERCICIO 11:
Realizar un programa que me ordene los 100 primeros nmeros de menor a
mayor. Estando colocados en un bloque de memoria en forma desordenada.
EJERCICIO 12:
Hacer un programa que realice la suma de dos nmeros de 5 bytes.
t1:
mov si,1005
mov di,1105
mov cx,6
clc
mov al,[si]
adc al,[di]
mov [si],al
dec si
dec di
loop t1
hlt
e 1000 00 12 fc de ef 10
e 1100 00 fe fb ad cd 23
42
EJERCICIO 13:
Realizar un programa que tome los datos de un bloque de memoria detecte
la paridad impar y los que tengan dicha paridad los copie en otro bloque de memoria.
t2:
t1:
mov si,1000
mov cx,10
mov di,1100
mov al,[si]
test al,al
jpe t1
mov [di],al
inc di
inc si
loop t2
hlt
E 1000 78 75 45 49 63 68 79 48 55 56 12 23 28 99 91 95
EJERCICIO 14:
T1:
T2:
JCXZ T2
MOV AL,[SI]
MOV [DI],AL
INC DI
INC SI
LOOP T1
HLT
MOV CX,0010
MOV SI,0150
MOV DI,0200
REPZ
MOVSB
HLT
e 150 12 ff df ed 41 58 96 45 ac 36 95 47 78 19 20 21
43
EJERCICIO 15:
Escriba en instrucciones del 8088 el siguiente cdigo, parte de un programa
de lenguaje de alto nivel tipo C++, considerando que todas las variables son enteras, y proponiendo posiciones de memoria para el almacenamiento de los datos y el programa.
FOR (I = 0; I <= 10; I = I + 1)
A[I] = B[I] + C;
RESOLUCIN:
nuevo:
mov si,300
mov di,500
mov cx,00
mov al,[si]
add al,[400]
mov [di],al
inc si
inc di
inc cx
cmp cx,10
jle nuevo
hlt
44
TRABAJO PRCTICO NO 9
PROGRAMAS DE APLICACIN CON PERIFRICOS
PRCTICA DE RECONOCIMIENTO
PARTE A:
UTILIZACIN DE INTERRUPCIONES POR SOFTWARE DEL BIOS
EJERCICIO 1:
Se mostrar un programa, utilizando las interrupciones del BIOS, donde se
debe definir un funcionamiento de pantalla de 640x480, grfico de 16 colores, VGA, especificando el color de fondo azul con bordes rojos
EJERCICIO 2:
Escribir texto por pantalla:
1.
2.
EJERCICIO 3:
Se mostrar un programa donde lo que se escribe por teclado sea presentado
en pantalla. Salir del programa utilizando la tecla escape.
PARTE B: PERIFRICOS PLACA ELECTRNICA CONECTADA AL PUERTO PARALELO:
TEMA: Perifrico de Entrada / Salida (I/O) para seales digitales.
OBJETIVO:
Que el alumno adquiera los conocimientos prcticos de lectura y escritura de datos
digitales utilizando un perifrico conectado al puerto paralelo de impresin.
CONCEPTOS PRELIMINARES:
El puerto paralelo es un dispositivo para el intercambio de datos digitales del PC con el
exterior, siendo su uso generalizado en aplicaciones como el manejo de la impresora, pero
permite el manejo de otros perifricos: comunicacin entre PC's, lectura de detectores de
alarmas, control sobre dispositivos de arranque/parada de motores, encendido/apagado de
luces activacin de alarma sonora..
La interfase paralela est constituida por tres registros particulares de 8 bit cada uno a
los cuales se puede acceder en forma independiente:
45
378H (hexadecimal)
3BC H ( hexadecimal)
278H ( hexadecimal)
Normalmente una PC posee un puerto paralelo, por lo que durante el arranque (booteo),
la direccin real asignada es presentada por el BIOS.
Es posible desde el sistema operativo utilizar comandos externo: DEBUG.
En DOS,
DOS\DEBUG; en WINDOW: C:\Document and Settings\Administrador> DEBUG
Esta aplicacin permite entre otras cosas, visualizar el contenido de la memoria RAM.
Cuando una PC se inicializa, se cargan 2 archivos b sicos en la memoria RAM (el IO.SYS
y el MSDOS.SYS) que tienen por funcin administrar los recursos internos del PC, recursos del disco, funciones de entrada/salida, y en particular los puertos de acceso disponibles en el PC.
Esto significa que en el mapa de memoria de un PC-8086, el bloque 0 (recordar que la
memoria se subdivide en 16 bloques de 64KB) contiene las direcciones de los dispositivos
de entrada/salida.
Accediendo a un subcomando del DEBUG llamado DUMP (descargar)
se puede consultar las posiciones de memoria en formato segmentado. Desde la posicin
0040:0000 a 0040:000F, se leen las direcciones de los puertos asignados en el siguiente
orden:
Comando a ingresar en DEBUG:
-D 0040:0,F (15 Posiciones de memoria RAM a partir de 0040)
0040:0000 F8 03 F8 02 E8 03 E8 02 - 78 03 BC 03 78 02 00 00
COM1 COM2 COM3 COM4
LPT1
LPT2
LPT3
LPT4
Los valores estn indicados en hexadecimal y el primer dato del par de posiciones es el
byte menos significativo, es decir, para el puerto LPTl 78 03, significa 0378 en hexadecimal.
Para el puerto LPT2 corresponde BC 03, que significa 03BC en hexadecimal. Las direcciones base sern: 0378 y 03BC respectivamente.
46
Referencia:
CONTROL
NC =
I/0 =
inv =
OUT=
IN =
0
I/O(inv)
1
I/O
2
I/O(inv)
3
I/O(inv)
4
NO USAR
5
NC
6
NC
7
NC
significa No Conectado.
significa Entrada/Salida Digital
significa invertido
significa Salida digital
significa Entrada digital
STROBE
INIT
SELECT PTR
AUTO FEED
IRQ 7/5
-------------------------------------------------------
1
16
17
14
---------
APLICACION PRCTICA
Si se dispone de algn circuito apropiado conectado al puerto
paralelo, es posible mediante instrucciones leer y escribir sobre los registros del puerto
paralelo en forma directa. Esto da una alternativa diferente para establecer un comunicacin con elementos externos al PC (una bocina, un relay, un contacto magntico de alarma,
on contacto fin de carrera, etc) o bien leer el estado posicin de otros dispositivos conectados.
Como ejemplo: se puede implementar una alarma domiciliaria conectando un circuito
apropiado al puerto paralelo, que conste de sensores magnticos de puerta infrarrojos,
informacin que puede ser leda del Registro de Estado. Segn el estado que presente sta
variable puede tomarse la decisin de accionar una bocina el llamador automtico telefnico de alarma, con slo escribir un dato en el Registro de Datos.
PERIFERICO DE ENTRADA/SALIDA DE SEALES DIGITALES:
Para realizar este trabajo prctico se utiliza una placa electrnica que se conecta directamente al puerto paralelo del computador. Se alimenta con una batera de
9 Vcc o bien con una fuente de alimentacin de +5Vcc regulada, en los terminales de
conexin indicados en la placa (ver grfico al final).
Con esta placa se realizar la siguiente experiencia:
A) Reconocer el conector DB-25 del puerto paralelo del PC
Si la PC no posee este puerto, tendr que alimentar la Placa con una fuente de Alimentacin Regulada de +5V segn como se explic antes. Con DEBUG verifique las
direcciones de los puertos de que dispone. El PC Conecte la placa al puerto paralelo
correspondiente.
B) Practique realizando operaciones de escritura en el Registro de DATOS del puerto
paralelo. La instruccin a utilizar es: O (output) direccin, dato
Interprete y registre en una tabla que elementos se activan en la placa cuando realiza operaciones de escritura sobre el Registro de DATOS. Establezca la correspondencia entre la posicin del bit y el elemento activado (ej.: el bit 0 del Registro de
DATOS activa en la placa un LED rojo, cuando el bit est en "1" el led se enciende).
C) En forma similar practique sobre el Registro de ESTADO para operaciones de lectura
La instruccin a utilizar es: I (input) direccin
Tener en cuenta que hay 3 formas de ingresar datos al puerto paralelo desde la placa
electrnica:
1) Por llave binaria, simulando el ingreso de seales externas.
2) Desde la bornera de acceso.
3) Por dos (2) detectores de la placa (uno magntico y otro de iluminacin).
El magntico se conecta a la entrada digital 3 del Registro de ESTADO. Acercando
un imn al detector magntico se observar que el led correspondiente al BIT 3 se enciende. El detector de luz se encuentra conectado a la entrada digital 4 del Registro de
ESTADO. Si el detector es iluminado se observar que el led correspondiente al BIT 4
se enciende.
48
Ejercicio I: Desarrolle un programa mediante el DEBUG que lea el Registro de ESTADO y tome una decisin actuando sobre el Registro de DATOS de acuerdo a la siguiente tabla de estados:
Entrada 1
Entrada 2
Entrada 3
Entrada 4
Salida
Accin
--------------------------------------------------------------------------------------------------0
0
0
0
BIT 1
0
0
1
0
0
BIT 1
1
1
0
0
0
BIT 1
1
1
1
0
0
BIT 1
0
En este ejemplo se implementa una compuerta Or-Exclusivo (XOR) por software.
Ejercicio II: Utilizando los detectores y actuadores que dispone la placa, desarrollar
por software una alarma domiciliaria. Hacer el programa con DEBUG.
49
TRABAJO PRCTICO NO 10
RECONOCIMIENTO DE EQUIPAMIENTO COMPUTACIONAL Y PERIFRICOS
Durante el cursado de la materia se realizarn actividades de reconocimiento de equipamiento computacional, asociando los conceptos adquiridos desde la teora con las partes
y/o componentes de una computadora.
Y se realizar un trabajo de investigacin, estudio y evaluacin, por grupos de alumnos, de
diferentes tipos de perifricos o dispositivos de entrada/salida, de uso corriente en una
computadora. Este trabajo ser supervisado por los docentes de la ctedra y se deber presentar y exponer en clases. En coordinacin con los docentes, y durante la exposicin, se
efectuar el reconocimiento de los accesorios y mecanismos, y su relacin con los desarrollos tericos adquiridos.
------------------------------------ooooo------------------------------------------
50