¿cómo salvar organización del computador sin morir en … · integrada también en el...

122
Andrea De Los Santos Profesorado de informática Inet - 1 - ¿Cómo salvar Organización del computador sin morir en el intento?

Upload: trannhan

Post on 08-Oct-2018

214 views

Category:

Documents


1 download

TRANSCRIPT

Andrea De Los Santos

Profesorado de informática Inet

- 1 -

¿Cómo salvar Organización del computador sin morir en el intento?

Andrea De Los Santos

Profesorado de informática Inet

- 2 -

Todo lo que querías saber y no

te animaste a preguntar.

Andrea De Los Santos

Profesorado de informática Inet

- 3 -

Pequeño manual ilustrado de Organización del Computador.

Agradecimientos ............................................................................................................... 3

MEMORIA ....................................................................................................................... 4

DIRECCIONES DE MEMORIA ..................................................................................... 4

CODIGOS PARA CORRECCION DE ERRORES ......................................................... 6

EJEMPLO ....................................................................................................................... 10

MEMORIA CACHE ...................................................................................................... 12

EMPAQUETAMIENTO Y TIPOS DE MEMORIA ..................................................... 13

MEMORIAS RAM Y ROM .......................................................................................... 21

DISPOSITIVOS DE ENTRADA Y SALIDA. .............................................................. 23

SISTEMA DE NUMERACION ..................................................................................... 23

REPRESENTACION DE DATOS ................................................................................ 29

Números con signo y sin signo ....................................................................................... 29

i. Complemento a dos ........................................................................................ 30

ii. Complemento a uno ........................................................................................ 30

ARITMÉTICA BINARIA. (Siguiendo con representación de datos) ............................ 33

Multiplicación binaria: .................................................................................................. 34

División binaria .............................................................................................................. 35

PUNTO FLOTANTE ..................................................................................................... 36

COMPUERTAS Y ALGEBRA BOOLEANA .............................................................. 40

Compuerta AND ............................................................................................................. 40

Compuerta OR ................................................................................................................ 41

Compuerta NOT ............................................................................................................. 41

Compuerta NOR ............................................................................................................. 42

ALGEBRA BOOLEANA .............................................................................................. 43

MAPAS DE KARNAUGH ............................................................................................ 51

CIRCUITOS COMBINACIONALES ........................................................................... 55

Multiplexores .................................................................................................................. 70

Decodificadores. ............................................................................................................. 71

Comparadores. ................................................................................................................ 73

Codificador ..................................................................................................................... 74

CIRCUITOS ARITMÉTICOS ....................................................................................... 75

Circuito semisumador y sumador completo ................................................................... 75

Circuitos semirestador y restador completo ................................................................... 76

Sumadores y restadores de n bits .................................................................................... 77

Circuito sumador restador. ............................................................................................. 79

UNIDAD ARITMÉTICO LÓGICA (ALU) ................................................................... 81

Circuitos aritméticos integrados ..................................................................................... 84

ANEXOS ........................................................................................................................ 85

EJERCICIO EXAMEN ORAL FEBRERO 2011 ........................................................ 120

Agradecimientos

A Luciana Ciambelli que gentilmente me prestó el libro Organización de computadoras

“Un enfoque estructurado” de Andrew Tanenbaum.

Andrea De Los Santos

Profesorado de informática Inet

- 4 -

MEMORIA

DIRECCIONES DE MEMORIA

Andrea De Los Santos

Profesorado de informática Inet

- 5 -

Andrea De Los Santos

Profesorado de informática Inet

- 6 -

CODIGOS PARA CORRECCION DE ERRORES

Andrea De Los Santos

Profesorado de informática Inet

- 7 -

Andrea De Los Santos

Profesorado de informática Inet

- 8 -

Andrea De Los Santos

Profesorado de informática Inet

- 9 -

Andrea De Los Santos

Profesorado de informática Inet

- 10 -

EJEMPLO Ahora veremos un ejercicio como ejemplo.

Usando un código de Hamming 4 + 3 (paridad par), formar la palabra de Tx de 7 bits para enviar el dato : d1d2d3d4= 1011

Andrea De Los Santos

Profesorado de informática Inet

- 11 -

Y colocamos el resultado en la casilla correspondiente como se muestra en la imagen de

arriba. Supongamos que se produjera un error en d1, y como vale 1 pasa a cero, luego el

procedimiento es el mismo, el dato a enviar sería 0011.

Andrea De Los Santos

Profesorado de informática Inet

- 12 -

MEMORIA CACHE Una memoria caché es una memoria en la que se almacenan una serie de datos para su

rápido acceso. Existen muchas memorias caché (de disco, de sistema, incluso de datos,

como es el caso de la caché de Google.

Básicamente, la memoria caché de un procesador es un tipo de memoria volátil (del tipo

RAM), pero de una gran velocidad.

En la actualidad esta memoria está integrada en el procesador, y su cometido es

almacenar una serie de instrucciones y datos a los que el procesador accede

continuamente, con la finalidad de que estos accesos sean instantáneos. Estas

instrucciones y datos son aquellas a las que el procesador necesita estar accediendo de

forma continua, por lo que para el rendimiento del procesador es imprescindible que

este acceso sea lo más rápido y fluido posible.

Hay tres tipos diferentes de memoria caché para procesadores:

Caché de 1er nivel (L1):

Esta caché está integrada en el núcleo del procesador, trabajando a la misma velocidad

que este. La cantidad de memoria caché L1 varía de un procesador a otro, estando

normalmente entra los 64KB y los 256KB. Esta memoria suele a su vez estar dividida

en dos partes dedicadas, una para instrucciones y otra para datos.

Caché de 2º nivel (L2):

Integrada también en el procesador, aunque no directamente en el núcleo de este, tiene

las mismas ventajas que la caché L1, aunque es algo más lenta que esta. La caché L2

suele ser mayor que la caché L1, pudiendo llegar a superar los 2MB.

A diferencia de la caché L1, esta no está dividida, y su utilización está más encaminada

a programas que al sistema.

Caché de 3er nivel (L3):

Es un tipo de memoria caché más lenta que la L2, muy poco utilizada en la actualidad.

En un principio esta caché estaba incorporada a la placa base, no al procesador, y su

velocidad de acceso era bastante más lenta que una caché de nivel 2 o 1, ya que si bien

sigue siendo una memoria de una gran rapidez (muy superior a la RAM, y mucho más

en la época en la que se utilizaba), depende de la comunicación entre el procesador y la

placa base.

Para hacernos una idea más precisa de esto, imaginemos en un extremo el procesador y

en el otro la memoria RAM. Pues bien, entre ambos se encuentra la memoria caché, más

rápida cuanto más cerca se encuentre del núcleo del procesador (L1).

Las memorias caché son extremadamente rápidas (su velocidad es unas 5 veces superior

a la de una RAM de las más rápidas), con la ventaja añadida de no tener latencia, por lo

que su acceso no tiene ninguna demora... pero es un tipo de memoria muy cara.

Esto, unido a su integración en el procesador (ya sea directamente en el núcleo o no)

Andrea De Los Santos

Profesorado de informática Inet

- 13 -

limita bastante el tamaño, por un lado por lo que encarece al procesador y por otro por

el espacio disponible.

En cuanto a la utilización de la caché L2 en procesadores multinucleares, existen dos

tipos diferentes de tecnologías a aplicar.

Por un lado está la habitualmente utilizada por Intel, que consiste en que el total de la

caché L2 está accesible para ambos núcleos y por otro está la utilizada por AMD, en la

que cada núcleo tiene su propia caché L2 dedicada solo para ese núcleo.

La caché L2 apareció por primera vez en los Intel Pentium Pro, siendo incorporada a

continuación por los Intel Pentium II, aunque en ese caso no en el encapsulado del

procesador, sino externamente (aunque dentro del procesador).

EMPAQUETAMIENTO Y TIPOS DE MEMORIA

Corresponde al diseño e interfaz física de una memoria, incluyendo tipo de conectores y

tamaño de los componentes.

Tipos de empaquetamiento:

DIP (Dual Inline Package),

Tipos de empaquetamiento:

SIPP (Single Inline Pin Package)

Andrea De Los Santos

Profesorado de informática Inet

- 14 -

Tipos de empaquetamiento:

SO-DIMM (Small Outline Dual In-line Memory Module,

SODIMM.jpg)

Ocupados en notebooks.

Las principales razones para los distintos tipos de empaquetados son:

Tamaño de los transistores

cada vez más pequeños configuraciones óptimas de las celdas

cambian

Tamaño del bus de datos ha aumentado

Se necesitan más conectores

Chip de memoria:

Estructurado internamente como grilla de celdas

Cada celda almacena un bit (no un byte)

Celdas accesibles mediante la fila y columna en que está

Permite reducir el tamaño de las unidades de memoria

Módulos más compactos

Módulo de memoria:

Para almacenar bytes completos se agrupan 8 chips, conectados a un

mismo bus de dirección y datos

Para almacenar palabras se agrupan N chips según

corresponda

Andrea De Los Santos

Profesorado de informática Inet

- 15 -

Una byte de memoria está compuesta por las 8 posiciones (i,j) de las

grillas asociadas a cada chips

Acceso a Datos:

En la mayoría de los casos, cuando se accede a un dato, se adquieren

también los datos vecinos

localidad de referencia,

Ej. en vez de acceder a una palabra de 8 bits, se acceden a 32

bits que incluyen esa palabra y tres más.

Para realizar esto, los módulos de memoria están agrupados en bancos

de memoria

SRAM (Static Random Access Memory)

Memoria volátil basada en semiconductores.

Cada celda utiliza 6 o más transistores para almacenar un bit de

información.

Mientras los transistores estén alimentados mantienen la información

indefinidamente.

Andrea De Los Santos

Profesorado de informática Inet

- 16 -

SRAM (Static Random Access Memory)

Es muy rápida, pero debido a ocupar varios transistores por celda, es

menos densa y más cara que DRAM.

Se ocupa habitualmente como caché.

Lectura en SRAM:

Colocar dirección del dato a leer en el bus de direcciones.

Activar CS (chip select) para indicar que vamos a ocupar este chip.

Desactivar OE (output enable negado) para indicarle a la SRAM que se

va a leer el dato (OE no se muestra en el diagrama anterior).

La memoria coloca el dato en el pin Data Out.

Andrea De Los Santos

Profesorado de informática Inet

- 17 -

Escritura en SRAM:

Colocar dirección donde se escribirá en el bus de direcciones

Colocar bit a escribir en Data In

Activar CS

Activar WE (write enable) para indicarle a la SRAM que se escribirá

DRAM: (Dynamic Random Access Memory)

Memoria volátil basada en semiconductores y condensadores

Celda compuesta por un transistor y un condensador

Condensador almacena la información como carga

Es necesario un circuito que refresque la carga actual

Las hace más lentas que las SRAM.

Un solo transistor celdas de mucho menor tamaño que SRAM

Mayor densidad y menor costo.

Usualmente usada como memoria principal

Para la misma capacidad, requiere de la mitad de entradas de dirección

que una SRAM

Para leer se envía primero una mitad de la dirección (la fila) en el

siguiente ciclo la segunda (la columna)

Razón:

Aprovechar densidad de celdas sin tener que aumentar

significativamente el número de entradas de dirección

mantener la cantidades de pines por chip baja

Se ocupan señales de control especiales que indican si se está

accediendo a la fila o la columna (CAS y RAS)

Andrea De Los Santos

Profesorado de informática Inet

- 18 -

Lectura en DRAM

La dirección de la fila se coloca en los pines de dirección a través del bus

de dirección.

Se activa la señal de control RAS (Row Address Selector) haciendo que

la dirección recibida se almacene en el latch de dirección de fila

El decodificador de fila, selecciona la fila correspondiente a la dirección

recibida

Se desactiva el WE para indicar que no se va a escribir (o sea, que si se

va a leer)

Andrea De Los Santos

Profesorado de informática Inet

- 19 -

Lectura en DRAM (cont.)

La dirección de la columna se coloca en los pines de dirección a través

del bus de dirección.

Se activa la señal de control CAS (Column Address Selector) haciendo

que la dirección recibida se almacene el latch de dirección de columna

Cuando se estabiliza la señal de CAS, se ocupa esta misma como Output

Enable colocando el dato en el pin Data Out

Tipos de DRAM

Síncrona (SDRAM)

Espera la señal del clock antes de responder a señales de control.

Asincrona (ADRAM)

Responde ante señales de control lo más rápido posible.

Dentro de las SDRAM se encuentran los siguientes tipos:

SDR (Single Data Rate) SDRAM:

Puede recibir un comando y transferir una palabra por clock.

Frecuencias de clock típicas: 66 MHz, 100 Mhz, 133 Mhz

DDR (Double Data Rate) SDRAM:

Puede recibir un comando y transferir dos palabras por clock

Frecuencias de clock típicas: 133 MHz, 166 MHz, 200 MHz

DDR2, DDR3, DDR4:

Sucesores de DDR, mantienen las mismas características pero

aumentando la velocidad de acceso

Frecuencias de clock hasta 800 MHz

Andrea De Los Santos

Profesorado de informática Inet

- 20 -

Otros tipos de RAM

ZRAM (Zero Capacitor RAM) y TTRAM (Twin Transistor RAM):

Tecnología en desarrollo

Ocupa un transistor (ZRAM) o dos (TTRAM),

a diferencia de la DRAM no necesita de un condensador para

almacenar los datos

usa la capacitancia de las capas semiconductoras del propio

transistor para almacenar el bit .

Prometen lograr mayor densidad que DRAM y velocidades comparables

a SRAM

Tipos de Memorias NO Volátiles

Memoria Flash Tipo de EEPROM que es borrada y programada en bloques grandes

Basada en semiconductores

NOR flash:

Basada en compuertas NOR

Permite acceso aleatorio (RAM)

Tiempos elevados de escritura y borrado

NAND flash:

Basada en compuertas NAND

No permite acceso aleatorio, sólo por bloques

Menores tiempos de escritura y borrado

Menor tamaño de celdas, menor costo/bit que NOR

Andrea De Los Santos

Profesorado de informática Inet

- 21 -

MEMORIAS RAM Y ROM

Andrea De Los Santos

Profesorado de informática Inet

- 22 -

Andrea De Los Santos

Profesorado de informática Inet

- 23 -

DISPOSITIVOS DE ENTRADA Y SALIDA. Ver anexos, allí material ilustrado.

SISTEMA DE NUMERACION

El sistema de numeración binario solo tiene dos dígitos.

El sistema binario con sus dos dígitos es un sistema en

base dos. Los dígitos binarios (bits) son 0 y 1.

• La posición de un 1 o de un 0 en un número binario indica

su peso, o valor dentro del número, así como la posición

de un dígito decimal determina el valor de ese dígito.

• Los pesos de un número binario están basados en las

potencias de dos.

Tabla de pesos binarios

Andrea De Los Santos

Profesorado de informática Inet

- 24 -

Representación de los datos

Ejercicio: Calcule el equivalente decimal del numero binario 10001010

Sumamos las casillas que tienen 1 e ignoramos las que tienen 0.

128 + 8 + 2 = 138 en sistema decimal.

Y para los que quieren contar “con los dedos” …

Sistema de numeración octal

También llamado sistema de numeración Base 8, utiliza ocho dígitos para representar

cualquier cifra. Ellos son:

0, 1, 2, 3, 4, 5, 6, 7

Sistema de numeración hexadecimal

También llamado sistema de numeración Base 16, utiliza dieciséis dígitos para

representar cualquier cifra. Ellos son:

0, 1, 2, 3, 4, 5, 6, 7, 8, 9, A, B, C, D, E, F.

20

21

27

26

25

24

23

22

20 = 1 (Dedo pulgar)

21 = 2 (Dedo índice)

22 = 4 (Dedo corazón)

23 = 8 (Dedo anular)

24 = 16 (Dedo meñique)

Andrea De Los Santos

Profesorado de informática Inet

- 25 -

De decimal a binario

Para convertir un numero decimal al sistema binario; basta con realizar divisiones

sucesivas entre 2 y colocar los restos obtenidos, en cada una de ellas. Para formar el

número binario tomaremos los restos en orden inverso al que han sido obtenidos.

Ejemplo : Convertir el numero 77 en Binario.

1.- Dividir 77 entre 2

Resto : 1

2.- Dividir 38 entre 2

Resto : 0

19 : 2 = 9 Resto 1

9 : 2 = 4 Resto 1

4 : 2 = 2 Resto 0

2 : 2 = 1 Resto 0

1 : 2 = 0 Resto 1

Para formar el número binario tomaremos los restos en orden inverso al que han sido

obtenidos quedando. 77 base 10 = 1001101 base 2

Otro ejemplo:

Convertir 249 a binario.

249 2

124 2

62 2

31 2

15 2

2 7

3 2

1 2

0

1

0

0

1

1

1

1

1

Andrea De Los Santos

Profesorado de informática Inet

- 26 -

De binario a decimal:

Para convertir un número binario a decimal; hay que tener en cuenta que el valor de

cada dígito está asociado a una potencia de 2, cuyo exponente es 0 en el BIT situado

más a la derecha, y se incrementa de 1 en 1 según vamos avanzando posiciones hacia la

izquierda.

Ejemplo: Convertir el numero 1010011 en Decimal.

De decimal a octal

En el sistema octal, los números se representan mediante ocho dígitos diferentes: 0, 1, 2,

3, 4, 5, 6 y 7. El valor de cada una de las posiciones viene determinado por las potencias

de base 8. La conversión de un número decimal a octal, se realiza del mismo que la

conversión a binario, la diferencia es que se emplea como base el número 8 en lugar del

2, colocando los restos obtenidos en orden inverso.

Andrea De Los Santos

Profesorado de informática Inet

- 27 -

Convertir 249 a octal:

Conversión de octal a decimal:

Para convertir un número octal a decimal; hay que tener en cuenta que el valor de cada

dígito está asociado a una potencia de 8, cuyo exponente es 0 en el BIT situado más a la

derecha, y se incrementa de 1 en 1 según vamos avanzando posiciones hacia la

izquierda.

Conversión de decimal a hexadecimal:

En este sistema, los números se representan con dieciséis símbolos: 0, 1, 2, 3, 4, 5, 6, 7,

8, 9, A, B, C, D, E y F. Se utilizan los caracteres A, B, C, D, E y F representando las

cantidades decimales 10, 11, 12, 13, 14 y 15 respectivamente, porque no hay dígitos

mayores que 9 en el sistema decimal. El valor de cada uno de estos símbolos depende,

como es lógico, de su posición, que se calcula mediante potencias de base 16.

249 8

3

1

8

3 8

0

1

7

3

a0

a1

a2

Andrea De Los Santos

Profesorado de informática Inet

- 28 -

Conversión de hexadecimal a decimal:

Para convertir un número hexadecimal a decimal; hay que tener en cuenta que el valor

de cada dígito está asociado a una potencia de 16, cuyo exponente es 0 en el BIT situado

más a la derecha, y se incrementa de 1 en 1 según vamos avanzando posiciones hacia la

izquierda.

Ejemplo: Convertir el numero 1A3F16 en Decimal.

Andrea De Los Santos

Profesorado de informática Inet

- 29 -

REPRESENTACION DE DATOS

Los modernos equipos de cómputo actuales no utilizan el sistema decimal para

representar valores numéricos, en su lugar se hace uso del sistema binario, también

llamado complemento de dos. Es importante entender cómo representan las

computadoras los valores numéricos.

Números con signo y sin signo.

Andrea De Los Santos

Profesorado de informática Inet

- 30 -

figura A-7

Calculando el complemento a dos del sustraendo

i. Complemento a dos

El complemento a dos de un número N, compuesto por n bits, se define como:

C2N = 2n – N

Veamos un ejemplo: tomemos el número N = 1011012, que tiene 6 bits, y calculemos su

complemento a dos:

N = 4510 n = 6 26 = 64 y, por tanto: C2N = 64 – 45 = 19 = 0100112

Ejemplo:

Calcula el complemento a dos de los siguientes números:

11001, 10001011, 110011010

ii. Complemento a uno

El complemento a uno de un número N, compuesto por n bits es, por definición, una

unidad menor que el complemento a dos, es decir:

Andrea De Los Santos

Profesorado de informática Inet

- 31 -

C1N = C2N - 1

y, por la misma razón:

C2N = C1N + 1

Calculemos el complemento a uno del mismo número del ejemplo anterior:

siendo N = 101101, y su complemento a dos C2N = 010011

C1N = C2N – 1 = 010011 – 000001 = 010010

C1N = 010010

Da la sensación de que calcular el complemento a uno no es más que una forma

elegante de comlicarse la vida, y que no va a ser más sencillo restar utilizando el

complemento a dos, porque el procedimiento para calcular el complemento a dos es más

difícil y laborioso que la propia resta. Pero es mucho más sencillo de lo que parece.

En realidad, el complemento a uno de un número binario es el número resultante de

invertir los UNOS y CEROS de dicho número. Por ejemplo si:

N = 110100101

obtenemos su complemento a uno invirtiendo ceros y unos, con lo que resulta:

C1N = 001011010

y su complemento a dos es:

C2N = C1N + 1 = 001011011

¡es muy fácil!

Magnitud y signo

• Ejemplos: representar -218 y -305

-218: se requieren 9 bits (8 magnitud y 1 signo)

M: 11011010 S: 1 -218: 1 11011010

-305: se requieren 10 bits (9 magnitud y 1 signo)

M: 100110001 S: 1 -305: 1 100110001

Si tenemos el numero 1010=00001010 para

calcular el negativo invertimos bit a bit

11110101,

luego le sumo uno y tenemos

-1010=11110110 2 (esto significa base 2)

Andrea De Los Santos

Profesorado de informática Inet

- 32 -

Andrea De Los Santos

Profesorado de informática Inet

- 33 -

ARITMÉTICA BINARIA. (Siguiendo con representación de datos)

Restar en binario usando el complemento a dos:

Y, por fin, vamos a ver cómo facilita la resta el complemento. La resta binaria de dos

números puede obtenerse sumando al minuendo el complemento a dos del sustraendo.

Veamos algunos ejemplos:

Primer ejemplo:

Hagamos la siguiente resta, 91 – 46 = 45, en binario:

1011011 – 0101110 = 0101101

Tiene alguna dificultad, cuando se acumulan los arrastres a la resta siguiente. Pero esta

misma resta puede hacerse como una suma, utilizando el complemento a dos del

sustraendo:

1011011 + 1010010 = 0101101

En el resultado de la suma nos sobra un bit, que se desborda por la izquierda. Pero,

como el número resultante no puede ser más largo que el minuendo, el bit sobrante se

desprecia.

Segundo ejemplo:

Hagamos esta otra resta, 219 – 23 = 196, utilizando el complemento a dos:

21910 = 110110112,

2310 = 000101112

C223 = 11101001

El resultado de la resta será: 11011011 + 11101001 = 111000100

Y, despreciando el bit que se desborda por la izquierda, llegamos al resultado correcto:

110001002 = 19610

Andrea De Los Santos

Profesorado de informática Inet

- 34 -

Multiplicación binaria:

La multiplicación en binario es más fácil que en cualquier otro sistema de numeración.

Como los factores de la multiplicación sólo pueden ser CEROS o UNOS, el producto

sólo puede ser CERO o UNO. En otras palabras, las tablas de multiplicar del cero y del

uno son muy fáciles de aprender:

x 0 1

0 0 0

1 0 1

En un ordenador, sin embargo, la operación de multiplicar se realiza mediante sumas

repetidas. Eso crea algunos problemas en la programación porque cada suma de dos

UNOS origina un arrastre, que se resuelven contando el número de UNOS y de arrastres

en cada columna. Si el número de UNOS es par, la suma es un CERO y si es impar, un

UNO. Luego, para determinar los arrastres a la posición superior, se cuentan las parejas

de UNOS.

Veamos, por ejemplo, una multiplicación:

Para comprobar que el resultado es correcto, convertimos los factores y el resultado al

sistema decimal:

Andrea De Los Santos

Profesorado de informática Inet

- 35 -

3349 * 13 = 43537

¡correcto!

División binaria

Igual que en el producto, la división es muy fácil de realizar, porque no son posibles en

el cociente otras cifras que UNOS y CEROS.

Consideremos el siguiente ejemplo, 42 : 6 = 7, en binario:

Se intenta dividir el dividendo por el divisor, empezando por tomar en ambos el mismo

número de cifras (100 entre 110, en el ejemplo). Si no puede dividirse, se intenta la

división tomando un dígito más (1001 entre 100).

Si la división es posible, entonces, el divisor sólo podrá estar contenido una vez en el

dividendo, es decir, la primera cifra del cociente es un UNO. En ese caso, el resultado

de multiplicar el divisor por 1 es el propio divisor. Restamos las cifras del dividendo del

divisor y bajamos la cifra siguiente.

Andrea De Los Santos

Profesorado de informática Inet

- 36 -

PUNTO FLOTANTE

Muchas aplicaciones requieren trabajar con números que no son enteros. Existen varias

formas de representar números no enteros. Una de ellas es usando un punto o coma fijo.

Este tipo de representación ubica siempre el punto o coma en alguna posición a la

derecha del dígito menos significativo.

Otra alternativa comúnmente usada es la que se conoce como representación en punto

flotante. Bajo este esquema, un número puede ser expresado mediante un exponente y

una mantisa. Por ejemplo el número 10.75 puede ser expresado como:

10.75 x 10 0

1.075 x 10 1

mantisa exponente

Representación en binario en coma flotante Componentes de la representación en coma flotante

− Signo: 0 para números mayores que 0 /1 para menores que 0

− Mantisa: se representa en coma fija y formato normalizado

− Exponente: se representa en exceso 2n-1-1

− Base

A continuación ejemplos con ejercicios.

Los números se almacenan de la siguiente forma:

Andrea De Los Santos

Profesorado de informática Inet

- 37 -

Andrea De Los Santos

Profesorado de informática Inet

- 38 -

Andrea De Los Santos

Profesorado de informática Inet

- 39 -

¿Qué pasaría si el ejercicio fuera al revés? Simple, lo hacemos a la inversa.

Andrea De Los Santos

Profesorado de informática Inet

- 40 -

COMPUERTAS Y ALGEBRA BOOLEANA

Compuerta AND:

Cada compuerta tiene dos variables de entrada designadas por A y B y una salida

binaria designada por x.

La compuerta AND produce la multiplicación lógica AND: esto es: la salida es 1 si la

entrada A y la entrada B están ambas en el binario 1: de otra manera, la salida es 0.

Estas condiciones también son especificadas en la tabla de verdad para la compuerta

AND. La tabla muestra que la salida x es 1 solamente cuando ambas entradas A y B

están en 1.

El símbolo de operación algebraico de la función AND es el mismo que el símbolo de la

multiplicación de la aritmética ordinaria (*).

Las compuertas AND pueden tener más de dos entradas y por definición, la salida es 1

si todas las entradas son 1.

Andrea De Los Santos

Profesorado de informática Inet

- 41 -

Compuerta OR:

La compuerta OR produce la función sumadora, esto es, la salida es 1 si la entrada A o

la entrada B o ambas entradas son 1; de otra manera, la salida es 0.

El símbolo algebraico de la función OR (+), es igual a la operación de aritmética de

suma.

Las compuertas OR pueden tener más de dos entradas y por definición la salida es 1 si

cualquier entrada es 1.

Compuerta NOT:

El circuito NOT es un inversor que invierte el nivel lógico de una señal binaria. Produce

el NOT, o función complementaria. El símbolo algebraico utilizado para el

complemento es una barra sobra el símbolo de la variable binaria.

Si la variable binaria posee un valor 0, la compuerta NOT cambia su estado al valor 1 y

viceversa.

El círculo pequeño en la salida de un símbolo gráfico de un inversor designa un inversor

lógico. Es decir cambia los valores binarios 1 a 0 y viceversa.

Andrea De Los Santos

Profesorado de informática Inet

- 42 -

Compuerta NAND: Es el complemento de la función AND, como se indica por el

símbolo gráfico, que consiste en una compuerta AND seguida por un pequeño círculo

(quiere decir que invierte la señal).

La designación NAND se deriva de la abreviación NOT - AND. Una designación más

adecuada habría sido AND invertido puesto que es la función AND la que se ha

invertido.

Las compuertas NAND pueden tener más de dos entradas, y la salida es siempre el

complemento de la función AND.

Compuerta NOR:

La compuerta NOR es el complemento de la compuerta OR y utiliza el símbolo de la

compuerta OR seguido de un círculo pequeño (quiere decir que invierte la señal). Las

compuertas NOR pueden tener más de dos entradas, y la salida es siempre el

complemento de la función OR.

Andrea De Los Santos

Profesorado de informática Inet

- 43 -

ALGEBRA BOOLEANA

Andrea De Los Santos

Profesorado de informática Inet

- 44 -

Andrea De Los Santos

Profesorado de informática Inet

- 45 -

Andrea De Los Santos

Profesorado de informática Inet

- 46 -

Implementación de funciones booleanas.

Andrea De Los Santos

Profesorado de informática Inet

- 47 -

Equivalencia de circuitos.

Andrea De Los Santos

Profesorado de informática Inet

- 48 -

Andrea De Los Santos

Profesorado de informática Inet

- 49 -

Andrea De Los Santos

Profesorado de informática Inet

- 50 -

Andrea De Los Santos

Profesorado de informática Inet

- 51 -

MAPAS DE KARNAUGH

Los Mapas de Karnaugh son una herramienta muy utilizada para la simplificación de

circuitos lógicos.

Cuando se tiene una función lógica con su tabla de verdad y se desea implementar esa

función de la manera más económica posible se utiliza este método.

Ejemplo: Se tiene la siguiente tabla de verdad para tres variables.

Se desarrolla la función lógica basada en ella. (primera forma canónica). Ver que en la

fórmula se incluyen solamente las variables (A, B, C) cuando F cuando es igual a "1".

Si A en la tabla de verdad es "0" se pone A, si B = "1" se pone B, Si C = "0" se pone C,

etc.

F = A B C + A B C + A BC + A B C + A B C + A B C

Una vez obtenida la función lógica, se implementa el mapa de Karnaugh.

Este mapa tiene 8 casillas que corresponden a 2n, donde n = 3 (número de variables (A,

B, C))

La primera fila corresponde a A = 0

La segunda fila corresponde a A = 1

La primera columna corresponde a BC = 00 (B=0 y C=0)

La segunda columna corresponde a BC = 01 (B=0 y C=1)

Andrea De Los Santos

Profesorado de informática Inet

- 52 -

La tercera columna corresponde a BC = 11 (B=1 y C=1)

La cuarta columna corresponde a BC = 10 (B=1 y C=0)

En el mapa de Karnaugh se han puesto "1" en las casillas que corresponden a los

valores de F = "1" en la tabla de verdad.

Tomar en cuenta la numeración de las filas de la tabla de verdad y la numeración de las

casillas en el mapa de Karnaugh.

Para proceder con la simplificación, se crean grupos de "1"s que tengan 1, 2, 4, 8, 16,

etc. (sólo potencias de 2).

Los "1"s deben estar adyacentes (no en diagonal) y mientras más "1"s tenga el grupo,

mejor.

La función mejor simplificada es aquella que tiene el menor número de grupos con

el mayor número de "1"s en cada grupo

Se ve del gráfico que hay dos grupos cada uno de cuatro "1"s, (se permite compartir

casillas entre los grupos).

La nueva expresión de la función boolena simplificada se deduce del mapa de

Karnaugh.

- Para el primer grupo (rojo): la simplificación da B (los "1"s de la tercera y cuarta

columna) corresponden a B sin negar)

Andrea De Los Santos

Profesorado de informática Inet

- 53 -

- Para el segundo grupo (azul): la simplificación da A (los "1"s están en la fila inferior

que corresponde a A sin negar)

Entonces el resultado es F = B + A ó F = A + B

Ejemplo:

Una tabla de verdad como la de la derecha da la siguiente función booleana:

F = ABC + AB C + A B C + A B C

Se ve claramente que la función es un reflejo del contenido de la tabla de verdad cuando

F = "1"

Con esta ecuación se crea el mapa de Karnaugh y se escogen los grupos. Se lograron

hacer 3 grupos de dos "1"s cada uno.

Se puede ver que no es posible hacer grupos de 3, porque 3 no es potencia de 2. Se

observa que hay una casilla que es compartida por los tres grupos.

La función simplificada es:

F = AB + A C + B C

Grupo en azul: AB, grupo marrón:AC, grupo verde:BC

****Notación A tener en cuenta a la hora de hacer el mapa de Karnaugh****

1º- agrupar los 1s que no pueden forma grupos de 2

2º- agrupar los 1s que forman un grupo de 2 y que no forman un grupo de 4 1s

3º- formar grupos de 4 que no forman 8.

Andrea De Los Santos

Profesorado de informática Inet

- 54 -

Ejercicio de ejemplo:

Dada la función F(D,C,B,A) = ∑ (0,2,4,6,9,11) 4

Hallar la expresión mínima. DC \ BA

I I

I I

I I F(D,C,B,A) = D’A’ + DC’A Ejemplo para colorcar los números del código Gray

DCBA

0000 0

0001 1

0010 2

0011 3

0100 4

0101 5

0110 6

0111 7

1000 8

1001 9

1010 A

1011 B

1100 C

1101 D

1110 E

1111 F

Andrea De Los Santos

Profesorado de informática Inet

- 55 -

CIRCUITOS COMBINACIONALES

Un sistema combinacional puede tener n entradas y m salidas.

Un sistema secuencial puede ser visto como una “caja negra”, en cuyo interior hay

compuertas lógicas, que representan una ecuación de conmutación.

Los circuitos secuenciales pueden ser:

•Asíncronos: no dependen de ninguna señal de reloj

•Síncronos: dependen de un reloj

Las células básicas de los circuitos secuenciales son los biestables los

cuales pueden ser:

•Asíncronos: no dependen de ninguna señal de reloj

•Síncronos: dependen de un reloj

•Activos por nivel

•Activos por flanco _ Flip-Flops

Los más utilizados son:

•RS

•JK

•D

•T

•etc

Andrea De Los Santos

Profesorado de informática Inet

- 56 -

Andrea De Los Santos

Profesorado de informática Inet

- 57 -

Andrea De Los Santos

Profesorado de informática Inet

- 58 -

Andrea De Los Santos

Profesorado de informática Inet

- 59 -

Andrea De Los Santos

Profesorado de informática Inet

- 60 -

Andrea De Los Santos

Profesorado de informática Inet

- 61 -

Andrea De Los Santos

Profesorado de informática Inet

- 62 -

Andrea De Los Santos

Profesorado de informática Inet

- 63 -

Andrea De Los Santos

Profesorado de informática Inet

- 64 -

Andrea De Los Santos

Profesorado de informática Inet

- 65 -

Andrea De Los Santos

Profesorado de informática Inet

- 66 -

Andrea De Los Santos

Profesorado de informática Inet

- 67 -

Andrea De Los Santos

Profesorado de informática Inet

- 68 -

Andrea De Los Santos

Profesorado de informática Inet

- 69 -

Andrea De Los Santos

Profesorado de informática Inet

- 70 -

Multiplexores

Andrea De Los Santos

Profesorado de informática Inet

- 71 -

Decodificadores.

Andrea De Los Santos

Profesorado de informática Inet

- 72 -

Andrea De Los Santos

Profesorado de informática Inet

- 73 -

Comparadores.

Andrea De Los Santos

Profesorado de informática Inet

- 74 -

Codificador

Un codificador es un circuito digital que ejecuta la operación inversa de un

decodificador. Un codificador tiene 2n (o menos) líneas de entrada y n líneas de

salida. Las líneas de salida generan un código binario correspondiente al valor

de entrada binario.

Ver codificador de octal a binario (tabla 2-2).

Entradas Salidas

D7 D6 D5 D4 D3 D2 D1 D0 A2 A1 A0

0 0 0 0 0 0 0 1 0 0 0

0 0 0 0 0 0 1 0 0 0 1

0 0 0 0 0 1 0 0 0 1 0

0 0 0 0 1 0 0 0 0 1 1

0 0 0 1 0 0 0 0 1 0 0

0 0 1 0 0 0 0 0 1 0 1

0 1 0 0 0 0 0 0 1 1 0

1 0 0 0 0 0 0 0 1 1 1

El codificador puede implantarse con compuertas OR cuyas entradas se

determinan directamente de la tabla de verdad. Por ejemplo, la salida es A0 será

igual a 1 si el digito octal de entrada es 1 o 3 o 5 o 7.

Las funciones de este codificador son las siguientes:

A0 = D1+D3+D5+D7

A1 = D2+D3+D6+D7

A3 = D4+D5+D6+D7

Andrea De Los Santos

Profesorado de informática Inet

- 75 -

CIRCUITOS ARITMÉTICOS

Circuito semisumador y sumador completo

Ci+1= Ai Bi + Ai Ci + Bi Ci

Andrea De Los Santos

Profesorado de informática Inet

- 76 -

Circuitos semirestador y restador completo

Andrea De Los Santos

Profesorado de informática Inet

- 77 -

Sumadores y restadores de n bits

Andrea De Los Santos

Profesorado de informática Inet

- 78 -

Andrea De Los Santos

Profesorado de informática Inet

- 79 -

Circuito sumador restador.

Andrea De Los Santos

Profesorado de informática Inet

- 80 -

Andrea De Los Santos

Profesorado de informática Inet

- 81 -

UNIDAD ARITMÉTICO LÓGICA (ALU)

Andrea De Los Santos

Profesorado de informática Inet

- 82 -

Andrea De Los Santos

Profesorado de informática Inet

- 83 -

Una secuencia tipica de operaciones pueden ocurrir asi:

1.La unidad de control recibe una intruccion( de la unidad de memoria) especificando

que un numero almacenado en una localidad de memoria particular(direccion) se

sumara al numero que esta almacenando en ese momento el registro acumulador.

2.El numero que se sumara se transfiere de la memoria al registro B.

3.El numero en el registro B y el numero en el registro de acumulador se suman en los

circuitos logicos(medianteun comando desde la unidad de control). Luego la suma

resultante se encia al acumulador para su almacenamiento.

4.El nuevo numero en el acumulador puede permanecer alli, de manera que se le pueda

sumar otro numero, o, si el proceso aritmetico particular ha terminado, se puede

transferir a la memoria para ser almacenado.

Estos paso deben de hacer evidente como deriva su nombre el rgistro acumulador. Este

registro acumula las sumas que ocurren cuando se realizan adiciones sucesivas entre

nuevos numeros adquiridos de la memoria y la suma previamente acumulada De hecho,

para cualquier problema aritmetico que conste de varios pasos el acumulador

normalmente contiene los resultados de los pasos intermedios a medida que se can

completandos asi como el resultado final cuando concluyo el problema.

Andrea De Los Santos

Profesorado de informática Inet

- 84 -

Circuitos aritméticos integrados

Los circuitos aritméticos básicos, debido a su gran uso en múltiples aplicaciones, los

encontramos en forma de IC (en una pastilla)

El circuito sumador total típico lo encontramos en forma de 4 sumadores completos

independientes o como un sumador de 4 bits capaz de sumar dos palabras binarias ed 4

bits.

Si combinamos los circuitos sumadores totales con otros circuitos lógicos, obtendremos:

Sumadores-restadores

Multiplicadores

ALU unidades lógicas-aritméticas de múltiples utilidades

Una función esencial de casi todas las computadoras y calculadoras es la realización de

operaciones aritméticas, las cuales se efectúan en la unidad aritmética-lógica de una

computadora, donde se combinan compuertas lógicas con flip-flops, de manera que

puedan, sumar, restar, multiplicar y dividir números binarios. Estos circuitos realizan

operaciones aritméticas a velocidades que son humanamente imposibles. Por lo general,

una operación de suma tomaría menos de 100ns

Algunos circuitos aritméticos básicos que se usan para realizar las operaciones

aritméticas antes mencionadas.

La unidad aritmética lógica opera los datos que recibe siguiendo las indicaciones por la

unidad de control. Esta unidad puede realizar operaciones aritméticas lógicas, por

ejemplo: el de realizar la suma, la forma en que realiza la operación.

1.- Se debe tener el código de operación que indique la operación a efectuar en este caso

el código de suma.

2.- Dirección de la célula en la que se encuentra almacenado el primer sumando.

3.- Dirección del segundo sumando.

4.- Dirección de la célula en la que se almacena el resultado.

Hay diferentes tipos de UAL: especializadas en operaciones con números enteros, con

números en coma flotante, etc. Hace algunos años, existía el denominado coprocesador

matemático, una UAL especializada en cálculos con números reales que estaba en un

microchip diferente al de la CPU.

Esta unidad, de forma concreta se compone básicamente de: Circuito Operacional,

Registros de Entradas, Registro Acumulador y un Registro de Estados, conjunto de

registros que hacen posible la realización de cada una de las operaciones.

Andrea De Los Santos

Profesorado de informática Inet

- 85 -

ANEXOS

Andrea De Los Santos

Profesorado de informática Inet

- 86 -

Andrea De Los Santos

Profesorado de informática Inet

- 87 -

Andrea De Los Santos

Profesorado de informática Inet

- 88 -

Andrea De Los Santos

Profesorado de informática Inet

- 89 -

Andrea De Los Santos

Profesorado de informática Inet

- 90 -

Andrea De Los Santos

Profesorado de informática Inet

- 91 -

Andrea De Los Santos

Profesorado de informática Inet

- 92 -

Andrea De Los Santos

Profesorado de informática Inet

- 93 -

R

Andrea De Los Santos

Profesorado de informática Inet

- 94 -

Andrea De Los Santos

Profesorado de informática Inet

- 95 -

Andrea De Los Santos

Profesorado de informática Inet

- 96 -

Andrea De Los Santos

Profesorado de informática Inet

- 97 -

Andrea De Los Santos

Profesorado de informática Inet

- 98 -

Andrea De Los Santos

Profesorado de informática Inet

- 99 -

Andrea De Los Santos

Profesorado de informática Inet

- 100 -

Andrea De Los Santos

Profesorado de informática Inet

- 101 -

Andrea De Los Santos

Profesorado de informática Inet

- 102 -

Andrea De Los Santos

Profesorado de informática Inet

- 103 -

Andrea De Los Santos

Profesorado de informática Inet

- 104 -

Andrea De Los Santos

Profesorado de informática Inet

- 105 -

Andrea De Los Santos

Profesorado de informática Inet

- 106 -

Andrea De Los Santos

Profesorado de informática Inet

- 107 -

Andrea De Los Santos

Profesorado de informática Inet

- 108 -

Andrea De Los Santos

Profesorado de informática Inet

- 109 -

Andrea De Los Santos

Profesorado de informática Inet

- 110 -

Andrea De Los Santos

Profesorado de informática Inet

- 111 -

Andrea De Los Santos

Profesorado de informática Inet

- 112 -

Andrea De Los Santos

Profesorado de informática Inet

- 113 -

Andrea De Los Santos

Profesorado de informática Inet

- 114 -

Andrea De Los Santos

Profesorado de informática Inet

- 115 -

Andrea De Los Santos

Profesorado de informática Inet

- 116 -

Andrea De Los Santos

Profesorado de informática Inet

- 117 -

Andrea De Los Santos

Profesorado de informática Inet

- 118 -

Andrea De Los Santos

Profesorado de informática Inet

- 119 -

CONSIDERACIONES Es importante tener en cuenta que este material es un manual, NO UN LIBRO, que

frente a cualquier duda puede consultarse la fuente: Organización de computadoras “Un

enfoque estructurado”

Andrew Tanenbaum

También hay material de Internet, pero fue previamente chequeado con dicho libro.

Andrea De Los Santos

Profesorado de informática Inet

- 120 -

EJERCICIO EXAMEN ORAL FEBRERO 2011

Andrea De Los Santos

Profesorado de informática Inet

- 121 -

Andrea De Los Santos

Profesorado de informática Inet

- 122 -