Guia Practica Arquitectura de Computadoras 2014

50
1 GUIA DE TRABAJOS PRÁCTICOS CÁTEDRA: ARQUITECTURA DE LAS COMPUTADORAS CARRERA: INGENIERIA EN SISTEMAS DE INFORMACIÓN FACULTAD REGIONAL MENDOZA UNIVERSIDAD TECNOLÓGICA NACIONAL AÑO 2014

description

Arquitectura de las computadoras. Ejercicios practicos de profesores de la UTN para el estudiante o interesado

Transcript of Guia Practica Arquitectura de Computadoras 2014

  • 1

    GUIA DE TRABAJOS PRCTICOS

    CTEDRA:

    ARQUITECTURA DE LAS COMPUTADORAS

    CARRERA:

    INGENIERIA EN SISTEMAS DE INFORMACIN

    FACULTAD REGIONAL MENDOZA

    UNIVERSIDAD TECNOLGICA NACIONAL

    AO 2014

  • 2

    INDICE DE TRABAJOS PRCTICOS

    PRCTICO 1 PARTE A: SISTEMAS DE NUMERACIN PAG. 3 - 5

    PARTE B: COMPLEMENTACIN BINARIA PAG. 5 - 6

    PARTE C: PUNTO FLOTANTE PAG. 6 - 7

    PRCTICO 2 CDIGOS PAG. 8 - 12

    PRCTICO 3 PARTE A: ALGEBRA DE BOOLE PAG. 13 - 15

    PARTE B: SIMPLIFICACIN DE FUNCIONES PAG. 15 - 16

    PRCTICO 4 SISTEMAS COMBINACIONALES PAG. 17 - 24

    PRCTICO 5 SISTEMAS SECUENCIALES PAG. 25 - 28

    PRCTICO 6 PARTE A: MEMORIAS PAG. 28 - 30

    PARTE B: ENSAYO PRCTICO DE MEMORIA RAM PAG. 30 - 32

    PRCTICO 7 PROGRAMACIN DE UNA COMPUTADORA ELEMENTAL

    DIDCTICA Y SIMULADOR PAG. 33 - 39

    PRCTICO 8 PROGRAMACIN DE CPU 8088/8086 USO DEL

    EMULADOR EMU8088/86

    PARTE A: RECONOCIMIENTO DE INSTRUCCIONES,

    MODOS DE DIRECCIONAMIENTO Y REGISTROS

    INTERNOS PROGRAMAS ELEMENTALES PAG. 40 - 42

    PARTE B: PROGRAMAS AVANZADOS PAG. 42 - 44

    PRCTICO 9 PROGRAMAS DE APLICACIN CON PERIFRICOS

    PARTE A: UTILIZACIN DE INTERRUPCIONES POR

    SOFTWARE DEL BIOS. PAG. 45 - 45

    PARTE B: PERIFRICOS

    USANDO PLACA PUERTO PARALELO PAG. 45 - 49

    PRCTICO 10 RECONOCIMIENTO DE EQUIPAMIENTO COMPUTACIONAL

    Y PERIFRICOS PAG. 50 - 50

  • 3

    TRABAJO PRCTICO NO 1

    PARTE A: SISTEMAS DE NUMERACIN

    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

    Resolucin del punto a)

    Siempre que se quiera convertir de cualquier sistema de numeracin a decimal el mtodo ms apropiado es el del polinomio de numeracin.

    p

    p

    i

    i

    n

    n

    n

    n babababababaN

    ...............1

    1

    0

    0

    1

    1

    Se representa el n a convertir mediante el polinomio y se lo opera en decimal obteniendo el resultado en decimal.

    11010100112=1x29+1x28+0x27+1x26+0x25+1x24+0x23+0x22+1x21+1x20

    11010100112=512+256+64+16+2+1=85110

    EJERCICIO 2:

    Convertir a octal los siguientes nmeros.

    a) l38210 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

  • 4

    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: 111001112 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 ?.

    EJERCICIOS A RESOLVER POR EL ALUMNO

    EJERCICIO 1:

    Ordenar para los siguientes casos los nmeros de mayor a menor.

    a) (BA3)16 (11001011)2 (8342)10

    (E4A)16 (6895)8 (11101101111)2

    b) (1011101)2 (5DFC)16 (7835)10

    (BC57)16 (57771)10 (110110111)2

    c) (100)16 (110001011)2 (3761)10

    (5075)8 (3D8)16 (907)10

  • 5

    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 com-plemento 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 00100011 11101011 11101010

    100001110 (en C-2 el uno excedente no 100001101 se toma en cuenta) (1410) 1 (se suma el 1excedente en C-1) 00001110 (1410)

    EJERCICIO 2:

    Indique cul es el mximo nmero decimal positivo y negativo representa-

    do en el convenio de complemento a dos, si se utilizan palabras de 16 bits y 32 bits.

  • 6

    EJERCICIOS PARA RESOLVER POR EL ALUMNO

    EJERCICIO 1:

    Resuelva los siguientes ejercicios en complemento a uno y complemento a dos. a) 896-325 b) 478 124 c) 75-458

    PARTE C: PUNTO FLOTANTE

    EJERCICIOS PARA RESOLVER EN CLASES

    EJERCICIO 1:

    Disponiendo de una palabra de 36 bits, de los cules 1 es destinado para el bit de signo del nmero, 8 para el exponente y 27 para la mantisa, represente en punto flo-

    tante y en base 2, 8 y 16 los siguientes nmeros decimales.

    a) 29 b) 52,73 c) 0,125 d) 0,011

    Resolucin del punto c)

    1) Primero se convierte el nmero al sistema binario.

    2) Luego se expresa en notacin cientifica.

    3) Se representa en punto flotante.

    1) 0,125 = 0,0012 2) 0,001 = .1 x 2-2 ( 15,0 M ) normalizacin de la mantisa

    3) el primer bit de la expresin de punto flotante es el bit de signo 0 (positivo), 1(negativo); los 8bits siguientes corresponden al exponente (en este caso exceso 12810). De 0 a 127 corresponden a los exponentes negativos; el 128 es exponente

    cero y del 129 al 255 corresponden a los exponentes positivos. Los siguientes vein-tisiete bits corresponden a la mantisa.

    4) El primer bit es cero por ser el nmero positivo. 5) El exponente se calcula restando 128-2=126 que en binario es 01111110 6) La mantisa es 100000000000000000000000000

    001111110100000000000000000000000000 (esta sera la representacin en punto flotante base del exponente dos exceso 128)

    Tomando el mismo ejemplo lo representaremos en base 8

    0,001= .001 x 80 (en este caso no existe normalizacin porque se corre la coma de 3 en 3)

    010000000001000000000000000000000000

    Tomando el mismo ejemplo en base 16

    0,001 = .001 x 160 (se corre la coma de 4 en 4)

    01000000000100000000000000000000000

  • 7

    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 flo-tante 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 preci-sin, 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 flo-tante 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 flo-tante 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 preci-sin, y base 2. Con un exponente de 7 bits.

  • 8

    TRABAJO PRCTICO NO 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. Indique que caractersticas presenta

    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.

    12 pnp p=n de bits a agregar en el nuevo cdigo

    3 4 2 1 n= n de bits del cdigo 3421 (4)

    0 0 0 0 813423 los p bits los desarrollamos en binario natural

    0 0 0 1 C3 C2 C1

    0 0 1 0 0 0 0

  • 9

    0 0 1 1 b1 0 0 1 los bn equivalen a los bit del nuevo cdigo y estn 0 1 0 0 b2 0 1 0 codificados en binario natural

    0 1 0 1 b3 0 1 1 los cn se los denomina bits correctores de error y se 0 1 1 0 b4 1 0 0 calculan de la siguiente manera

    0 1 1 1 b5 1 0 1

    1 1 0 1 b6 1 1 0 75311 bbbbc

    1 1 1 0 b7 1 1 1 76322 bbbbc

    76543 bbbbc

    ahora considerando que no hay error al recibir el cdigo nuevo podemos decir que c1,, c2 y c3 valen cero y as debido a una propiedad de la or exclusiva podemos extrapolar b1, b2 y b4

    7531 bbbb

    7632 bbbb

    7654 bbbb

    donde ya tenemos calculados los 3 bits que agregamos al nuevo cdigo; ahora confeccio-namos 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 n-meros, 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

  • 10

    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 le-

    tras)

    UNIVERSI DAD+TECN OLGICA+ NACIONAL (Los espacios en blanco son ahora mostra-

    dos 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

    3).- Repetimos el paso 2) para la clave de cifrado 05 20 21 22 04 09 01 16

    4).- Para cada bloque de texto plano reemplazamos cada carcter por la suma mdulo 27 de su codi-ficacin 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 ca-racteres:

    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

    Quedando el texto codificado como: +HCQIATYITYUYNDCTEJBMLBFSTXDSXBK

    El procedimiento de descifrado para este ejemplo es directo, siempre y cuando se tenga la clave.

  • 11

    EJERCICIOS PROPUESTOS PARA QUE RESUELVA EL ALUMNO

    EJERCICIO 1:

    Que cantidad de bits necesitara en un cdigo Gray; para codificar ngulos de 1 en 1 grados hasta 360 grados.

    EJERCICIO 2:

    Los cdigos ponderados BCD son aquellos en los que a cada posicin de un dgito bina-

    rio se le asigna un peso, de forma tal que el nmero decimal equivalente se presenta como: N = Pi x

    Xi, - dnde Pi es el peso de la posicin i, y Xi toma el valor 0 1 segn la combinacin, y N vara entre 0 y 9. Teniendo en cuenta lo indicado, Cules de los siguientes cdigos son ponderados, y en caso de ser as, cules son los pesos corres-

    pondientes?. Para efectuar el anlisis complete con las combinaciones faltantes cada uno de los cdi-gos.

    a) decimal P3 P2 Pl PO b) decimal P3 P2 Pl PO 1 0 0 0 1 3 0 0 1 1

    3 0 0 1 1 5 0 1 0 1 4 0 1 0 0 7 1 1 0 1

    7 1 1 0 0 9 1 1 1 1 c) decimal P3 P2 Pl PO d) decimal P3 P2 Pl PO

    1 0 0 0 1 0 0 0 0 0 3 0 0 1 1 1 0 0 0 1 5 0 1 0 0 2 0 0 1 1 7 1 1 0 0 3 0 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 lon-

    gitud 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

  • 12

    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

  • 13

    TRABAJO PRTICO N0 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.

    ccbadcbaf

    deacebaedcbaf

    cbabccacbaf

    ,,,

    ,,,,

    ,,

    RESOLUCIN:

    cbabccacbaf ),,( se aplica el sig. Postulado del A. De Boole:

    cbaaabcbbca )()( 1 aa ; 0. aa y luego distributiva

    cbabcaabccbacab expresin cannica

    EJERCICIO 2:

    Simplificar las siguientes expresiones aplicando los teoremas del lgebra de Boole.

    rpqpqrrqpqppqrrqpf ,,

    cbddbadcbcbabdacabcbdcbaf ,,,

    RESOLUCIN

    rpqpqrrqpqppqrrqpf ),,( agrupando y sacando factor comn

    pqrrqpqprrpq )( 1 rr

    pqrrqpqqp )(

    pqrrqpp aplicamos ahora ),,0(),,( rqfprqpfp y

    ),,1(),,( rqfprqpfp

    rqpqrrqp 01

    EJERCICIO 3:

    Dadas las siguientes funciones, representadas mediante la expresin cannica por com-

    prensin 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) 7,5,2,,3

    cbaf

    b) 4

    14,12,8,4,3,1,,, dcbaf

  • 14

    EJERCICIO 4:

    Obtener la tabla de verdad y la funcin cannica por comprensin en la forma de pro-

    ducto 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.

    cedapcedap

    baba

    acabcaa

    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.

    bccababccaab

    baabccbaabcbacba

    EJERCICIO 3:

    Dadas las siguientes funciones, representadas mediante la expresin cannica por com-

    prensin 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.

    4

    15,14,9,8,6,4,,, dcbaf

    6,5,2,1,,3

    cbaf

  • 15

    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 RESOLVER EN CLASES

    EJERCICIO 1:

    Minimizar por el mtodo de karnaugh las funciones expresadas en la forma cannica por extensin del Ejercicio N0 2 del prctico anterior.

    EJERCICIO 2:

    Minimizar por el mtodo de Karnaugh las siguientes funciones expresadas en la forma

    cannica por comprensin.

    a) 7,5,4,2,,3

    cbaf

    b) 15,14,11,10,8,7,5,4,1,,,4

    dcbaf

    RESOLUCIN

    4

    )15,14,11,10,8,7,5,4,1(),,,( dcbaf

    ))(()()((),,,( dcadcadcbdbadbdcbaf

    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.

    bdacadcbbcddcbaf ,,, acdbdcbadcbaf ,,, cbbdbadcbaf ,,,

    ba

    dc00 01 11 10

    00

    01

    11

    10

    0 00

    0

    0

    0 0

    1

    1 1 1

    1 1

    1 1 1

  • 16

    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) 4

    15,13,12,8,7,6,4,2,1,,, dcbaf

    b) 15,14,11,10,9,6,5,4,2,,,4

    dcbaf

    EJERCICIO 2:

    Minimizar las siguientes funciones y determinar si son ms simples sus expresiones de

    producto de sumas suma de productos.

    a) 15,14,12,11,10,9,6,4,3,2,,,4

    dcbaf

    b) 15,14,11,8,7,6,5,1,,,4

    dcbaf

    c) 9,8,2,1,,,4

    dcbaf

    d) 13,10,9,8,6,5,2,,,4

    dcbaf

    EJERCICIO 3:

    Minimizar por Karnaugh las siguientes funciones y dar el resultado en la forma de pro-ducto de sumas.

    cdabbcadcbaf ,,,

    dcabdacabbcadcbaf ,,,

    EJERCICIO 4:

    En un registro de 4 bits, cuyas salidas estn disponibles al exterior, se almacena infor-

    macin 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.

  • 17

    TRABAJO PRCTICO NO 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 0 0 1 0 0 1 0 0 0 1 1 0 1 0 0 0 1 0 1 1 1 1 0 1 1 1 1 1

    00 01 11 10

    0

    ML

    C

    1 1

    0 0 0 0

    11

    0

    )( LMCLCMCF

    M

    C

    C

    L

    F

    M

    L

    CF

    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:

  • 18

    1. 10,8,6,0,,,4

    dcbaf

    2. 13,8,7,5,1,,,4

    dcbaf

    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.

    EJERCICIOS A RESOLVER POR EL ALUMNO

    EJERCICIO 1:

    Disear un sistema combinacional que ante la excitacin de 4 variables de entrada gene-

    re salidas que activen un display de 7 segmentos para la representacin de los dgitos decimales so-bre el mismo. Considerar que las combinaciones de entrada corresponden al cdigo BCD 8421, y que las restantes a las 16 posibles a las letras del alfabeto a, b, c, d, e y f . Obtener la solucin ms simple, e

    implementarla con las compuertas NOR.

    EJERCICIO 2:

    Disee un sistema digital de semaforizacin para una estacin terminal de ferrocarril. Como se observa en la figura, a dicha estacin acceden 4 lneas de diferentes tipos de servicios con las

    siguientes prioridades: 1) Servicio Expreso ( SE)

    2) Servicio Corta Distancia Diferencial (SCDD) 3) Servicio Corta Distancia Comn (SCDC) 4) Servicio Larga Distancia. (SLD)

    Sensores en cada lnea indicarn no la presencia de vehculos, y semforos en rojo

    en verde detendrn habilitarn el paso respectivamente. Obtener la solucin ms simple, e imple-mentarla con las compuertas correspondientes.

    SE

    SLD

    SCDC

    SCDD

    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

  • 19

    EJERCICIO 4:

    El diagrama de la figura indica el sistema de arranque de un motor elctrico. Existen cua-tro 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 ocu-rren cuando todas las variables estn en uno cero simultneamente. Realizar con compuertas.

    EJERCICIO N 5

    ESPECIFICACIONES

    o Objetivo: Disear un circuito digital, capaz gobernar un robot, haciendo que ste siga una lnea negra pinta-

    da 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. Denominare-mos a este bit como C:

    Sensor C

    Color Blanco 0 Color Negro 1

    o 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 S Motor

    0 0 Parado 0 1 Parado

    1 0 Giro derecha 1 1 Giro izquierda

    El bit P es el bit de Power. Indica si el motor est conectado o no. El bit S es el del

    Siasdfgfstem

    Sistema

    de

    AaArranquefd

    Sistemadfffsd

    sdvcsdffsdfsdf

    zxvcfdsfsdfsdf

    Sistrema

    Arranquede

    arranqueSis

    Motor

    V

    V2

    V3

    V4

    V1

  • 20

    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 El robot: El esquema del robot es el siguiente (visto desde arriba):

    o Algoritmo: El algoritmo para seguir la lnea negra es muy sencillo. Mientras los dos censores detecten ne-

    gro, el robot deber avanzar. Cuando el censor de la derecha detecte blanco y el de la izquierda negro, el ro-bot 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 prove-

    nientes de los censores, C1 y C2, y cuatro salidas, dos para cada motor: S1, P1 S2 y P2.

  • 21

    TABLA DE VERDAD Ahora hay que definir el comportamiento del circuito, utilizando una tabla de verdad. Este comporta-

    miento 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.

    Segn nos convenga puede valer 0 1. El Karnaugh del circuito es:

    IMPLEMENTACIN DEL CIRCUITO El circuito, implementado con puertas lgicas bsicas es el siguiente: Si lo construimos utilizando puertas TTL, necesitamos dos integrados, uno para los inversores y otro pa-

    ra la puerta OR. Si en vez de ello lo implementamos slo con puertas NAND, el circuito es el siguiente:

  • 22

    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. To-

    das 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 co-lumna de 2 multiplexores de 2 entradas, tambin con sus entradas de seleccin unidas. Finalmente coloca-mos 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 selec-cin. La nica consideracin que hay que tener en cuenta es que la entrada de seleccin de los multiple-xores de la primera columna tiene peso 0, la segunda peso 1 y la ltima peso 2:

    Vamos a comprobar qu ocurre si seleccio-

    namos 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 multi-plexores 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.

  • 23

    EJERCICIO N 7

    Realizar un detector de desbordamiento aritmtico. El intervalo de valores que podemos repre-

    sentar mediante nmeros de n bits en el sistema numrico de complemento a dos es:

    -2n-1

  • 24

    La siguiente figura muestra el circuito de la ecuacin anterior.

  • 25

    TRABAJO PRCTICO NO 5

    SISTEMAS SECUENCIALES

    EJERCICIOS PARA RESOLVER EN CLASE

    EJERCICIO 1:

    Realizar la tabla de verdad de este biestable

    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.

    JK Q*

    J=K=T 00 Q J=S;

    K=R

    J=R=D 01

    10

    1

    1

    J=S;

    K=R

    J=K=T 11 Q

    EJERCICIO 3:

    Deducir si el siguiente flip-flop es sncrono o asncrono, y cul es su funcio-namiento.

    R

    S Q

    Q

  • 26

    Contadores Sncronos.

    EJERCICIO 4:

    Determinar en que cdigo se lleva el contaje en el siguiente registro de des-plazamiento realizado con biestables J-K. Suponer que inicialmente QO=Ql=Q2=Q3=0.

    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 me-

    diante 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 te-

    ner en cuenta que Q0 representa el bit menos significativo (LSB) y Q3 el bit ms significa-tivo (MSB).

    Realizar la secuencia de estados del contador en una tabla, para Q3, Q2, Q1 y Q0 y el diagrama de tiempos del contador.

    CK

    D Q

    Q

    D Q

    CK Q

    J Q0

    T

    K Q0

    J Q1

    T

    K Q1

    J Q2

    T

    K Q2

    J Q3

    T

    K Q3

    IMPULSOS

  • 27

    RESOLUCIN:

    EJERCICIOS A RESOLVER POR EL ALUMNO EJERCICIO 1:

    2. Contador binario descendente.

    En la figura se observa un contador asncrono binario descendente de cuatro bits. El circuito es similar al anterior, con la excepcin de que las entradas de cada flip-flop se conectan a la salida complementaria del flip-flop anterior. Cada flip-flop bascula al recibir

    un flanco descendente en su seal de reloj, que en este caso se produce cuando la salida anterior cambia de 0 a 1, o lo que es lo mismo la salida complementaria cambia de 1 a

    0.

    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 entra-

    da 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.

  • 28

    EJERCICIO 4:

    Determinar el Sistema combinacional necesario para indicar que los conta-

    dores binarios han alcanzado el valor equivalente decimal 66, e inicie el conteo nuevamen-te desde 0.

    Contador

    Binario Natural

    SistemaCombinacional

    Contador

    Binario Natural

    Impulsos

  • 29

    TRABAJO PRCTICO N 6

    MEMORIAS

    PARTE A: MEMORIAS

    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.

    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 po-siciones 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 posicio-

    nes? Realizar una posible conexin.

    EJERCICIO 5:

    Realizar una memoria de 2K X 8, partiendo de pastillas de 1K X 4.

    Memoria de Acceso

    Aleatorio

    [RAM]Bus de

    Direcciones

    Bus de Datos

    n2

    n1

  • 30

    EJERCICIO 5:

    EJERCICIOS A RESOLVER POR EL ALUMNO

    EJERCICIO 1:

    Disponemos de memorias RAM de 1kbytex8 y queremos realizar un banco

    de memoria de 4kbytesx16. Realizar la posible conexin y determinar cuantos bytes tiene

    el bus de direcciones, datos y control.

    PARTE B: ENSAYO PRCTICO DE UNA MEMORIA RAM CI: 6810

    La finalidad del circuito de la figura, es la de analizar el modo

    de programar y leer una serie de datos en una memoria del tipo RAM esttica. Para evitar utilizar siete interruptores para direccionar la memoria en

    forma manual (A0, A1, A2, A3 , A4 , A5, A6), se utilizar un oscilador (1555) y un contador

    binario (4020) que pueda suministrar las 128 combinaciones posibles de direcciones de entrada, en forma secuencial automtica.

    La lectura de datos se hace a travs de los LED (D0, D1, ....., D7). Mientras que el procedimiento de escritura se realiza mediante los

    interruptores (T0, T1, ...., T7).

    Veamos como realizamos el proceso:

    Presionando el pulsador P0, arranca el generador de pulsos (1555),

    que los inyecta a la entrada de reloj del contador binario (4020) y ste comienza a contar.

    A travs de los LED indicadores de direcciones el contador nos muestra la cuenta binaria de las direcciones de entrada a la RAM. Cuando llega al nmero de la direccin que que-

    remos visualizar, sea leer escribir un dato, pulsamos nuevamente P0 para detener el generador de pulsos, de tal manera que queda direccionada la memoria en ese valor (por ejemplo la posicin No 6, tendramos A1 y A2 encendidos y el resto apagados.

  • 31

    En los LED de salida de datos, podremos leer directamente la informacin almacenada en

    esa ubicacin de la memoria. Por ejemplo puede aparecer el nmero 15 decimal , que se manifiesta con los LED de salida de la siguiente manera D0, D1, D2 yD3 encendidos (va-

    lor lgico 1) y el resto apagados (valor lgico cero). Si se desea borrar el nmero almacenado en esta direccin, bastar con pulsar P2 , con to-dos los interruptores T0, T1, ...., T7 abiertos. De este modo todas las salidas se ponen en

    cero, dado que en realidad hemos escrito un 00000000. Para escribir un dato en esta direccin, por ejemplo el nmero 14 en binario, se deber

    cerrar los interruptores T1, T2 y T3 con lo cual grabamos 1 en c/u de ellos. Luego pul-sando brevemente P2 quedar registrado este nmero en la memoria y los estados de la salidas quedan:

    D7 D6 D5 D4 D3 D2 D1 D0

    0 0 0 0 1 1 1 0

    Una vez escrito el dato en la direccin nmero 6, se deben abrir todos los interruptores T1,

    T1, ......, T7 y podremos pasar a una nueva direccin, por ejemplo la nmero 7. Para ello se cierra nuevamente P0 hasta observar la direccin deseada en los LED A0, A1, ...., A6. Se

    prepara el dato a escribir mediante los interruptores T1, T2, ...., T7 y se graba el dato en la memoria pulsando brevemente P2. Una vez completada toda la programacin de la memoria (escritura), se procede a resetear

    el contador de direcciones (4020) pulsando brevemente P1; y con la llave P0 cerrada el contador comienza a habilitar las sucesivas direcciones de la memoria, mostrando se-

    cuencialmente los datos en ella escritos. NOTA 1: 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.

  • 32

  • 33

    TRABAJO PRCTICO NO 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 NO 3 al NO 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 mne-

    mnico correspondiente. 177777 137701

    140277 013150 042322 125000

    075303 104210 063501

    EJERCICIO 2:

    Complete el siguiente cuadro con las restantes formas de representacin.

    -------------------------------------------------------------------------------------------------------------

    mnemnico octal binario

    -------------------------------------------------------------------------------------------------------------

    ADD 50 -- -- -- 150510 -- -- -- 1111000001001000

    NOT 33 -- --

    -- -- 0011000001010110 -- 110350 --

    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.

  • 34

    RESOLUCIN:

    o400 LDA 550

    o401 STA 552

    o402 LDA 551

    o403 STA 550

    o404 LDA 552

    o405 STA 551

    o406 HLT 0000

    EJERCICIO 4:

    Escriba un programa que comience en la ubicacin 550 que efecte la ope-racin 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 dis-tinto de cero.

    EJERCICIO 6:

    Escriba un programa que efecte el cuadrado de un nmero por sumas suce-sivas 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?. Cun-

    tas palabras pueden direccionarse directamente segn su propuesta?.

    EJERCICIO 9:

    Suponga que la Blue debe ser dotada de direccionamiento directo e indirec-

    to, usando las mismas instrucciones de referencia a memoria. Cmo modificara la estruc-tura de la palabra, manteniendo su longitud con dicho objeto?. Cuntas palabras pueden

    direccionarse directamente e indirectamente segn su propuesta?.

  • 35

    EJERCICIO 10:

    Escriba un programa que efecte una multiplicacin entre dos nmeros

    usando el mtodo de las sumas sucesivas.

    o100 o000005 ;multiplicando

    o101 o000004 ;multiplicador

    o102 ;resultado

    o103 o000001 ;k=1

    o104 ;contador= -multiplicador

    o105 o177777 ;j=-1

    o106 o060100 ;lda 0100

    o107 o070102 ;sta 0102

    o110 o060101 ;lda 0101

    o111 o010105 ;add 0105

    o112 o050000 ;not 0000

    o113 o070104 ;sta 0104

    o114 o060102 ;lda 0102

    o115 o010100 ;add 0100

    o116 o070102 ;sta 0102

    o117 o060104 ;lda 0104

    o120 o010103 ;add 0103

    o121 o070104 ;sta 0104

    o122 o110114 ;jma 0114

    o123 o000000 ;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 pro-

    poniendo posiciones de memoria para el almacenamiento de los datos y el programa.

    FOR (I = 0; I

  • 36

    155 STA 323 156 LDA 150 157 ADD 325 160 STA 150 161 LDA 152 162 ADD 325 163 STA 152 164 JMP 144 165 HLT

    o0155 o070323 o0156 o060150 o0157 o010325 o0160 o070150 o0161 o060152 o0162 o010325 o0163 o070152 o0164 o120144 o0165 o000000 o0310 o000010 o0311 o000011 o0312 o000012 o0313 o000024 o0314 o000024 o0315 o000017 o0316 o000016 o0317 o000021 o0320 o000014 o0323 o000000 o0324 o177777 o0325 o000001 o0326 o000007 o0327 o177767

    400 0 A[0] .... 410 0 A[10] 323 0 I 324 -1 k 325 1 J 326 7 C 327 -11

    EJERCICIO 12:

    Con instrucciones de la Mquina Elemental realizar lo siguiente:

    I=o10 While I

  • 37

    o0017 HLT O0000

    o0050 NOP o7770 ;-8 o -o10 o0051 HLT o0001

    o0052 NOP o7777 o0053 NOP o7761 o0055 JMP o0000

    o0060 HLT o0012 o0061 HLT o0024

    o0062 HLT o0024 o0063 HLT o0015 o0064 HLT o0016

    o0065 HLT o0017 o0066 HLT o0014

    o0067 HLT O0013 o0100 IOR O0055 o0101 STA O0110

    o0102 LDA O0054 o0103 ADD O0053

    o0104 JMA O0107 o0105 ADD O0052 o0106 JMA O0110

    o0107 LDA O0051 o0110

    EJERCICIO 13: Implemente el BUS comn de la Mquina Elemental sin utilizar elementos de Ter-cer 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 Ter-cer 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 ins-truccin 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 de-codificador 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 ins-truccin DEC XXXX. Esta instruccin debe realizar el decremento en 1 del ACC, dejando el resul-tado en el registro.

    ACC 1 CC

    Detalle el (o los) ciclos de ejecucin necesarios para esta instruccin.

  • 38

    EJERCICIO 18: Se desea agregar al repertorio de instrucciones de la Mquina Elemental la instruc-cin 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 mo-dificar el ciclo de ejecucin de la instruccin JSR XXXX.

    EJERCICIO A RESOLVER POR LOS ALUMNOS

    EJERCICIO 1:

    Escriba un programa que reste dos nmeros que se suponen almacenados en

    memoria y expresados en valor absoluto.

    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 deposi-

    te el resultado en la direccin 55. Indique el contenido final en binario y octal del acumu-lador y de las direcciones de memoria involucradas a partir de los siguientes datos en de-

    cimal:

    (733) = + 88

    (1055) = - 73

    (3511) = - 176

    (55) = + 13

    EJERCICIO 3:

    Escriba la representacin octal del siguiente programa. Cul es el conteni-do del acumulador y de las ubicaciones 3007, 3010, 3011 3012 despus de la ejecucin del

    programa?.

    3001 LDA 3007

    3002 IOR 3010

    3003 AND 3011

    3004 STA 3012

    3005 OUT 01

    3006 HLT

    3007 110771

    3010 145735

    3011 074000

    3012 77177

    EJERCICIO 4:

    Escriba una subrutina que ejecute la OR de 2 datos ubicados en las direccio-nes 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.

  • 39

    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 su-brutina al programa principal.

    F = (G + H) - (I + J)

  • 40

    TRABAJO PRCTICO NO 8

    PROGRAMACIN DE CPU 8088/8086 USO DEL EMULADOR EMU8088/86

    PARTE A:

    RECONOCIMIENTO DE INSTRUCCIONES, MODOS 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 BE503A BF028B B80100

    01D8 F7D2 35AF00 F7D9

    E900FF E822FF 3400 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 direcciona-

    miento utilizados en cada una de las instrucciones del cuadro del Ejercicio 1.

  • 41

    EJERCICIO 5:

    Indique la posicin de memoria a la que se acceder para leer una instruc-

    cin, 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 reali-

    zar 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.

  • 42

    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.

    mov si,1005 mov di,1105 mov cx,6 clc t1: 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

  • 43

    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.

    mov si,1000 mov cx,10 mov di,1100 t2: mov al,[si] test al,al jpe t1 mov [di],al inc di t1: 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:

    Mover un bloque de datos desde la direccin 150 a la 200. cld

    mov cx,10 mov si,150

    mov di,200 rep movsb hlt

    Instrucciones equivalentes al REP MOVSB

    JCXZ T2 T1: MOV AL,[SI]

    MOV [DI],AL INC DI

    INC SI LOOP T1 T2: HLT

    Como se ve en el EMU 8088/8086

    179D:0100 B91000 MOV CX,0010 179D:0103 BE5001 MOV SI,0150

    179D:0106 BF0002 MOV DI,0200 179D:0109 F3 REPZ

    179D:010A A4 MOVSB 179D:010B F4 HLT

    e 150 12 ff df ed 41 58 96 45 ac 36 95 47 78 19 20 21

  • 44

    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 pro-

    poniendo posiciones de memoria para el almacenamiento de los datos y el programa.

    FOR (I = 0; I

  • 45

    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, espe-

    cificando el color de fondo azul con bordes rojos

    EJERCICIO 2:

    Escribir texto por pantalla:

    1. Usar como fin de texto el signo $.

    2. Texto: texto a escribir: Hola Amigos !!! n: nmero de caracteres

    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.

    Que el alumno conozca y desarrolle rutinas en lenguaje ensamblador del PC-8086 que le permitan controlar elementos externos al computador utilizando el puerto pa-

    ralelo.

    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:

  • 46

    -REGISTRO DE DATOS ( salida)

    -REGISTRO DE ESTADO ( entrada) -REGISTRO DE CONTROL (bidireccional)

    Estos registros tienen asignadas posiciones en el mapa de memoria del PC: Base, Ba-

    se+l y Base+2, dnde "Base" es la direccin inicial de acceso al primer registro de 8 bit, que habitualmente es:

    LPTl: 378H (hexadecimal) LPT2: 3BC H ( hexadecimal) LPT3: 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 bsicos en la memoria RAM (el IO.SYS y el MSDOS.SYS) que tienen por funcin administrar los recursos internos del PC, re-cursos del disco, funciones de entrada/salida, y en particular los puertos de acceso dispo-

    nibles 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 hexade-

    cimal. Para el puerto LPT2 corresponde BC 03, que significa 03BC en hexadecimal. Las direc-ciones base sern: 0378 y 03BC respectivamente.

  • 47

    EL PUERTO PARALELO EN DETALLE:

    Desde el punto de vista fsico se accede a los 3 registros del puerto paralelo a travs de un conector tipo DB-25 Hembra cuya identificacin de pines es la siguiente:

    DIRECCION PORT BIT FUNCION LINEA PIN DB-25 ----------------------------------------------------------------------------------------------------------

    BASE DATOS 0 OUT DATA 0 2 (LPTl:378, 1 OUT DATA 1 3 LPT2:3BC 2 OUT DATA 2 4

    LPT3:278) 3 OUT DATA 3 5 4 OUT DATA 4 6

    5 OUT DATA 5 7 6 OUT DATA 6 8 7 OUT DATA 7 9

    BASE+l ESTADO 0 NC. (379, 3BD 1 NC.

    279) 2 NC. 3 IN ERROR 15 4 IN PTR SELECT 13

    5 IN PAPER END 12 6 IN ACK 10

    7 IN(inv) BUSY 11

    BASE+2 CONTROL 0 I/O(inv) STROBE 1

    (37A,3BE 1 I/O INIT 16 27A 2 I/O(inv) SELECT PTR 17 3 I/O(inv) AUTO FEED 14

    4 NO USAR IRQ 7/5 --- 5 NC ------------------- ---

    6 NC ------------------- --- 7 NC ------------------- ---

    Referencia: NC = significa No Conectado. I/0 = significa Entrada/Salida Digital

    inv = significa invertido OUT= significa Salida digital IN = significa Entrada digital

    Esta descripcin de pines indica que :

    El Registro de Datos tiene disponibles los 8 bit de salida (OUT) El Registro de Estado tiene disponibles 5 bit de entrada (IN)

    pero el bit 7 tiene la entrada invertida (inv.) El Registro de Control tiene disponibles 4 bit de entrada/salida (I/O).

    Cuando nos referimos a valores invertidos, significa que si la entrada est en un "1" lgi-co, como ser el bit 7 del registro de estado, el dato es invertido y la PC lee el bit 7 , como

    "0" lgico.

  • 48

    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 comunica-cin 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 conec-

    tados. 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 telef-

    nico 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 conec-

    ta 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 Ali-

    mentacin 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 rea-

    liza operaciones de escritura sobre el Registro de DATOS. Establezca la correspon-dencia 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 en-

    ciende. 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.

  • 49

    Ejercicio I: Desarrolle un programa mediante el DEBUG que lea el Registro de ES-

    TADO y tome una decisin actuando sobre el Registro de DATOS de acuerdo a la si-guiente 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.

  • 50

    TRABAJO PRCTICO NO 10

    RECONOCIMIENTO DE EQUIPAMIENTO COMPUTACIONAL Y PERIFRICOS

    Durante el cursado de la materia se realizarn actividades de reconocimiento de equipa-miento 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 pre-

    sentar 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 desarro-

    llos tericos adquiridos.

    ------------------------------------ooooo------------------------------------------