Está en la página 1de 62

U 1 – SISTEMAS NUMÉRICOS

Sistema de numeración: es un conjunto de símbolos y reglas que permiten construir


números.

Símbolo: es una representación que puede usarse para hacer referencia a una cantidad o
número.

Numeral (o cifra): es un conjunto o grupo escrito de símbolos, ordenado de una manera


determinada y única que representa una cantidad.

Dígito: es el número o cantidad que se expresa utilizando un solo símbolo.

Base: Número de símbolos permitidos en sist. posicional.

Cantidad o Número: conjunto o grupo con una cardinalidad determinada y exacta de


objetos o elementos.

Símbolo o signo: representación (escrita, visual, auditiva, etc...) que puede usarse para
hacer referencia a una cantidad o número.

Numeral: conjunto o grupo escrito de símbolos, ordenado de una manera determinada y


única, que representa una cantidad.

Dígitos: cantidad o número de símbolos o signos escritos de un numeral.

Un sistema numérico está formado por:


o Un conjunto finito y no vacío de símbolos (alfabeto).
o Un conjunto de reglas para formar los símbolos numerales.
o Un conjunto de reglas para operar entre los numerales.

Un sistema de numeración puede representarse como:

Sist. de numeración N à (S; R) reglas


usado (dec, hexa...)

Símbolos permitidos del


sistema (0,1 – 0...9)
CLASIFICACIÓN DE LOS SISTEMAS NUMÉRICOS
o Sistemas numéricos no posicionales: el valor está determinado por el símbolo.
Ejemplo, números romanos y egipcios.

o Sistemas numéricos posicionales: cada símbolo o dígito tiene un significado (o peso)


distinto según la posición que ocupa en la cifra.

CARACTERÍSTICAS DE LOS SISTEMAS DE NUMERACIÓN POSICIONALES


• Número finito de símbolos distintos que forman su base.
• Cada símbolo aislado representa un número específico de unidades.
• El sistema debe tener por lo menos 2 símbolos, que represente la ausencia de
elementos (0) y otro que represente la unidad (1).
• Los símbolos pueden ordenarse de forma monótona creciente. (0, 1, 2, 3 ...)
• El valor del dígito depende de la posición en la que se encuentre en el número.
• La posición extrema derecha corresponde a unidades (peso 1).
• Los símbolos básicos (b) del sistema son la base del sistema, y el sistema mismo
recibe el nombre de sistema numérico en base b.

TEOREMA FUNDAMENTAL DE LA NUMERACIÓN

Cualquier número natural puede descomponerse así:

𝑁𝐵 = 𝑑𝑛−1.𝐵𝑛−1 + 𝑑𝑛.𝐵𝑛-2 + ⋯+ 𝑑1.𝐵1 + 𝑑0.𝐵0 + 𝑑−1.𝐵−1 + 𝑑−2.𝐵−2 + ⋯ + 𝑑−k.𝐵−k

Parte entera Parte decimal

𝑁 = 2,369(10) = 2 . 100 + 3 . 10−1 + 6 . 10−2 + 9 . 10−3 = 2 + 0,3 + 0,06 + 0,009 = 2,369

N: Número válido en el Sistema de numeración


B: base del sistema de numeración. Número de símbolos permitidos en el sistema.
d: un símbolo cualquiera de los permitidos en el sistema de numeración
n: número de dígitos de la parte entera.
, : coma fraccionaria. Símbolo utilizado para separar la parte entera de un número de su
parte fraccionaria.
k: número de dígitos de la parte decimal.
EQUIVALENCIAS ENTRE SISTEMAS:

Con n dígitos binarios se pueden representar los números decimales


comprendidos entre 0 y 2n-1.

2n combinaciones posibles.

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

Con n dígitos octales se pueden representar los números decimales


comprendidos entre 0 y 8n-1.

8n combinaciones posibles.

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

Con n dígitos hexadecimales se pueden representar los números decimales


comprendidos entre 0 y 16n-1.

16n combinaciones posibles.

CONVERSIONES ENTRE SISTEMAS:

MÚLTIPLOS DEL BIT:

o Nibble: 4 bits
o Byte: 8
o Kilobyte: 1024 bytes (1024 x 8 bits)
o Megabyte: 1024 kb (10242 x 8 bits)
o Gigabyte: 1024 mb (10243 x 8 bits)
o Terabyte: 1024 gb (10244 x 8 bits)

1024 es el múltiplo de 2 más próximo a 1.000


REPRESENTACIÓN DE NÚMEROS ENTEROS

Métodos para la representación interna de números enteros (+ o -)


o Módulo y Signo (MS)
o Complemento a la base – 1 (C – 1)
o Complemento a la base – 2 (C – 2) (complemento a la base C)
o Exceso de 2n-1

Módulo y signo n = total de dígitos


• Signo: bit más a la izq.
o 0=+
o 1=-
• Módulo: resto de dígitos (n-1)

Ejemplo: n = 8 n=8
N = [00001010) N = [10001010)
+ 10 - 10
• Ventaja: tiene un rango simétrico (misma cant. de números + y -)
• Desventaja: dos números 0 (+0 y -0)

Complemento a 1 (C-1)

• Signo: bit más a la izq.


o 0=+
o 1=-
• Módulo: resto de dígitos (n-1)

• El – de un N+ se consigue haciendo complemento de sus dígitos


• Para u no “ y “ de n dígitos, existe un no “ y’ “ de n dígitos que es su complemento
a la base – 1.
Ejemplo: B = 10 N = 2358 n= 4
y + y’ = Bn –1 C (2358) = (104 – 1) -2358
= 9999 – 2358 = 7641
C(No) = (Bn – 1) - N
B=2 N = 0110 n= 4
4
C (0110) = (2 – 1) – 0110
= 1111 – 0110 = 1001

C(0110) = 0110

1001
La cantidad que le falta a la cifra para
alcanzar la base menos uno (2-1 = 1)
Complemento a la base (C-2)

• Signo: bit más a la izq.


o 0=+
o 1=-
• Módulo: resto de dígitos (n-1)
• Ventaja: única representación para el 0

• El – de un N+ se consigue haciendo: Ejemplo: B=2 N = 00001010 n= 8


o Hacer C – 1
o A rta + 1 (despreciar el 00001010
último acarreo si existe)
11110101 11110101
+
C(No) = [ (Bn – 1) – N ] + 1
1
C(No) = Bn – N 11110110

01101000

.
10011000 Bajar como está hasta el primer
1 (incluido), luego invertir
Exceso de 2n-1

• Signo: no hay
• Módulo: todos los dígitos
• El módulo es el número + el exceso
o En binario, para n bits el exceso es 2n-1

El exceso si n = 4, entonces 24 es 16, se tiene 16 valores para representar los números. Pero
2n-1 que sería 23 = 8, de los 16 valores para representar, los primeros 8 serán números
positivos y los otros 8 serán negativos, eliminando así la necesidad del bit de signo.

SISTEMA DE CODIFICACIÓN

• Un código establece una correspondencia entre un conjunto de informaciones y otro


conjunto de símbolos o señales que la representan, pudiendo existir reglas para
pasar de un conjunto al otro.
• Los códigos digitales son los lenguajes digitales que permiten almacenar, manipular y
comunicar la información.

Categorías:
o Categoría 1: El Código binario utilizado por los circuitos electrónicos para realizar
operaciones digitales.
o Categoría 2: Códigos utilizados para convertir números decimales en forma digital. Ej.
Códigos BCD.

o Categoría 3: Códigos utilizados para convertir números decimales, las 26 letras del
alfabeto, símbolos y operaciones. Ej. ASCII, EDCDIC, etc.

o Categoría 4: Códigos de instrucciones utilizados por los procesadores que hacen que
estos realicen una determinada secuencia de operaciones.

Categoría 1
• Código binario
• Sistema ponderado: se puede asignar a cada posición de los dígitos una potencia de 2
ordenada desde el dígito menos significativo hasta el más significativo denominando
a la potencia peso.
• variantes del binario: resultados y posibilidades de mayor amplitud, seguridad y
velocidad operativa

Categoría 2
• BCD (Binary-CodedDecimal) natural
• convenciones que permiten la representación de números decimales (0 a 9) en
bloques binarios de 4 bits. n4 = 16
• Sistema ponderado: adjudican cierto peso a los 1 binarios, según la posición que
ocupan en el bloque, por lo que se debe verificar que la suma de los pesos de cada
combinación sea igual al número decimal representado.
• Se pueden realizar operaciones aritméticas (+, -, x, %) de números en representación
decimal, sin perder en los cálculos la precisión ni tener las inexactitudes en que
normalmente se incurre con las conversiones de decimal a binario puro.

o BCD Natural (8421): Sus pesos coinciden con los 4 primeros pesos en el sistema
binario natural

o BCD Aiken (2421): Se altera la secuencia natural en la formulación del peso


reemplazando el orden 8 por el orden 2

o BCD Exceso 3 (XS3): NO ponderado. Cada número decimal le corresponde el


numero N+3 del código 8-4-2-1.
o BCD Progresivo Cíclico:
Progresivo: todos sus números tienen que ser adyacentes con el anterior
y el siguiente.
Cíclico: adyacentes el primer número y el último.

El complemento se realiza
invirtiendo, respecto de la
línea de puntos, solo el bit
mas significativo.

o Código reflejado de Gray: Se construye reflejando a partir de una primera línea de


simetría 2 bits y agregando otros no reflejados. A su vez el conjunto así se vuelve a
reflejar utilizando otra línea de simetría y así sucesivamente.
Es progresivo y cíclico
es más probable escribir mal código binario común que código Gray, ya que por lo que
podemos notar, en un código binario a veces cambian más de un bit, en cambio, en Gray,
siempre cambiará 1 sólo.
1ra Línea de simetría

2da Línea de simetría

3ra Línea de simetría

CÓDIGOS DE REDUNDANCIA

Si se usa un código donde tengan más información que la necesaria, lo hace


resistente a los errores y pérdida de información.
Redundancia: información por encima de la necesaria.

o BCD Detectores de Errores con Paridad: Se genera un bit extra a los 4 originales de
modo que cada combinación presente un número impar (o par) de unos.

Detector de Paridad Impar: El bit de paridad será un 0 si el número total de 1 es


impar.
Detector de Paridad Par: El bit de paridad será un 0 si el número total de 1 a
transmitir es par.

o Códigos con Cantidades Constantes de Unos (7-4-2-1-P): Son códigos de


redundancia. La columna P se obtiene haciendo que cada combinación contenga dos
“unos” salvo la combinación correspondiente al cero.

o Códigos con Cantidades Constantes de Unos (5-0 4-3-2-1-0): emplea dos sistemas
combinados uno dos bits (binario) y otro de cinco (quinario) es un código de tipo
ponderado. Es muy seguro porque hay muchos bits de más.
Codigo Cant.
Constante de unos (7-4-2-1-P)

1 = error
(numero La P compensa las
pares de 1) filas que solo
tengan un 1,
agregando otro
0 = se manda

Codigo Cant. Constante de


unos (5-0 4-3-2-1)

Siempre tiene
que haber un 1 en
el (5-0) y un 1 en
el (4-3-2-1-0)

o Generador y Detector de Paridad: El circuito crea automáticamente la paridad par o


impar según la cantidad de unos del dato a transmitir
o
El bit de paridad se utiliza para detectar posibles errores en la transmisión del dato
transmitido, mediante un comprobador de paridad que recepciona la información con
el fin de validarla.
Categoría 3 (Se usa también la redundancia para más seguridad)
• De decimales a 27 letras + símbolos
o EBCDIC: Extended BCD Interchange Code
o UNICODE
o ASCII: American Standard Code for Information Interchange

Categoría 4
• Códigos de instrucciones utilizados por los procesadores que hacen que estos
realicen una determinada secuencia de operaciones.
• Assembler

CÓDIGOS DETECTORES Y CORRECTORES DE ERRORES


• Código de Hamming
o Ecuación que tiene que cumplir: 2p ≥ i + p + 1 = n bits
p = cant. de bits de control
i = cant. de bits de información

Ejemplo: p =4 i =11 palabra total m =15 24 ≥ 11 + 4 + 1


16 ≥ 16

m 15 14 13 12 11 10 9 8 7 6 5 4 3 2 1
0 10 0 0 1 1 1 0 0 0 1 0 1 0 0

Bits de control (redundancia): todas las potencias de 2 (4 bits)


Si el número de unos es par, pon el primer bit como cero. De lo contrario, ponlo
como uno.
Bits de información: 11 bits restantes
Buscar los 1 y poner su posición en una tabla
Hacerles la operación MOD 2 (el resto de dividirlo por 2)
14 1 1 1 0
11 1 0 1 1 4MOD2 = 0 / 2MOD2 = 0
10 1 0 1 0
0 = todo bien
9 1 0 0 1
5 0 1 0 1
3 0 0 1 1
0 0 0 0

Se cambia el 14 a 0 para demostrar un error de ruido


Se hace una tabla de control con todos los números en 1

14 X X X X
11 1 0 1 1
10 1 0 1 0
9 1 0 0 1
5 0 1 0 1
1 = error | te indica el número cambiado
3 0 0 1 1 1110à14
1 1 1 0

• Distancia de Hamming
Sean a, b, c, d ... elementos de un código, la probabilidad de que a y b se confundan
disminuye mientras más distintos sean ellos

Distancia de Hamming: la medida de la diferencia entre dos términos de un código


Distancia del código: la mínima distancia que existe en los elementos de un código

a=11011 Dos bits difieren à distancia = 2


b=11101
c=10101 Un bit difiere à distancia = 1

Distancia del código = 1

BER (Bit Error Rate): El número de bits recibido de forma incorrecta respecto al total de bits
enviados durante un intervalo de tiempo.
Bit errado
Bit transmitido
FORMATO DE REPRESENTACIÓN DE NÚMEROS FRACCIONARIOS

Palabra de datos: conjunto de dígitos de longitud fija. los procesadores lo usan para
representar las variables. Es el tamaño de registro de bits.

Representación de los números en coma fija (Fixed point format)

• Se asigna una posición fija a la coma. La coma se asigna de forma arbitraria en


cualquiera de las posiciones, pero una vez elegida no se modifica.

• Ventaja: los algoritmos de realización de las diferentes operaciones son los mismos
que para los números enteros.
• Desventaja: no se aprovecha la capacidad de los operadores aritméticos, el número
máx. sería 111111.11 y el min 0.01, aunque la capacidad de los operadores permitiría
operar el nro. máx. 11111111 y el mín. 0,00000001.

Representación de los números en coma flotante (Floating point format)

• Evita el inconveniente de la coma fija.


• La representación de los números en coma flotante en un sistema de numeración de
base B se realiza mediante una mantisa m y un exponente e tal que:

n = m Be m = mantisa (nro en coma fiija)


e = exponente
B = Base del sistema
Normalización
• Coma antes de la cifra más significativa
0,225 x 105
• Coma después de la cifra más significativa
2,25 x 104

Formatos de representación de números binarios en coma flotante


Definen:
o El número total de bits usados.
o La forma de representación de los números positivos y negativos del
exponente.
o El número de bits de la mantisa y el exponente
o El orden correlativo entre la mantisa y el exponente
ESTÁNDAR IEEE 754
Instituto de Ingenieros Eléctricos y Electrónicos (Institute ol Electrical and Electronics
Engineers, IEEE)

Establece los formatos básicos para representar a los números reales en la computadora
digital:

Precisión simple
32 bits (4 bytes)
o signo = 1 bit
o mantisa = 23 bits + 1 bit implícito à Se normaliza poniendo la coma
después bit más significativo
o exponente = 8 bits à Exceso a la 2n-1 – 1 (127)
o rango dinámico (conjunto de valores que pueden ser representados) =

2+128 / -128 = 10+38 / -38


o precisión numérica con mantisa de 24 bits = 6 y ½ dígitos

Precisión doble
64 bits (8 bytes)
o signo = 1 bit
o mantisa = 52 bits
o exponente = 11 bits à Exceso de 1023
o rango dinámico = 2 +1023 / -1023 = 10 +308 / -308
o precisión numérica = con mantisa de 54 bits = 14 y ½ dígitos

Precisión cuádruple
128 bits
o signo = 1 bit
o mantisa = 112 bits
o exponente = 15 bits à Exceso de 16383

CASOS ESPECIALES DE ESTANDAR IEEE 754

SIGNO EXPONENTE MANTISA SIGNIFICADO


+ (0) Todo 1 [1 1 1 1 1...1] Todo 0 [0 0 0 0 0...0] +∞
- (1) Todo 1 [1 1 1 1 1...1] Todo 0 [0 0 0 0 0...0] -∞
+/- Todo 1 [1 1 1 1 1...1] ≠ todos 0 No es un num. NaN
+/- Todo 0 [0 0 0 0 0...0] Todo 0 [0 0 0 0 0...0] 0
+/- Todo 0 [0 0 0 0 0...0] ≠ todos 0 num. cerca de 0
U 2 – CIRCUITOS LÓGICOS, ÁLGEBRA DE LOS CIRCUITOS DIGITALES

Función Lógica del Álgebra de Boole: una variable binaria, cuyo valor es igual al de una
expresión algebraica, en la que se relacionan entre sí las variables binarias por medio de las
operaciones suma lógica (+ / OR), producto lógico ( . / AND) e inversión.

f = f(a, b, c ...)

Término Canónico de una función lógica: Toda suma binaria (+) o producto binario (.) donde
aparezcan todas las variables (de forma directa o inversa)
.
Producto Canónico – Mínterm = a . b . c

Suma Canónica – Máxterm = a + b + c

FND (Forma Normal Disyuntiva) SP (1) = Suma de Mínterm ∑ La función se


encuentra en
FNC (Forma Normal Conjuntiva) PS (0) = Productos de Máxterm Π su forma
canónica

MÉTODO ALGEBRÁICO

Obtención de SP Canónicos (1) x + x

1. Se le aplica la propiedad distributiva del producto respecto de la suma, llevando la


expresión a una suma de productos NO CANÓNICOS.
2. A cada término NO CANÓNICO se lo multiplica por la suma de las variables que faltan
y sus inversos.
3. Se aplica nuevamente la propiedad distributiva del producto respecto de la suma
llevando a cada término a su forma canónica.

Obtención de PS Canónicos (0) + x +


1. Se aplica la propiedad distributiva de la suma respecto el producto llevando la
expresión a productos de suma no canónicos.
2. A cada término no canónico se le suma el producto de las variables que faltan y sus
inversos.
3. Se aplica nuevamente la propiedad distributiva de la suma respecto del producto
llevando a cada término a su forma canónica.

CRITERIO DE SIMPLIFICACIÓN O MINIMIZACIÓN

Obtener una expresión en forma de SP o PS que tenga la menor cantidad de términos


posibles con la menor cantidad de variables en cada uno de ellos.

Dos términos son lógicamente adyacentes cuando una variable difiere en un estado:
.
a.b.c+a.b.c

b.c

Cuando no se puede suprimir ningún término ni se llega a la expresión mínima e


irreducible.

MÉTODO TABULAR DE K. DE SIMPLIFICACIÓN

Es una forma gráfica de representar la tabla de verdad de una funciónlógica. Los Términos
Canónicos lógicamente adyacentes seencuentran físicamente contiguos de manera que
resulte sencillo el agrupamiento de los términos, permitiendo reducir al mínimo la función.

COMPUERTAS LÓGICAS
5=1
0=0
Antes En nivel logico

Como la tensión de una magnitud continua está sujeta a fluctuaciones, se establece un


rango de variabilidad para cada estado lógico
(Modelo viejo)

Mas de 2
volt = 1

No hay
valor válido

Menos de
0,8 volt = 0

Circuitos Lógicos: es la representación de la estructura de una red de compuertas y su


comportamiento se expresa algebraicamente por una o varias funciones booleanas; las
variables constituyen las entradas y las funciones constituyen las salidas del circuito.

Es la implementación de una función lógica (o booleana) mediante compuertas lógicas, que


posee líneas de entradas y de salidas. Cada entrada representa un valor booleano, y según
los valores de entrada se produce un comportamiento que da como resultado valores de
salida.

Familia de Circuitos integrados TTL:


• voltaje de alimentación es de + 5 Voltios, con V min = 4.75 Voltios y V max =
5.25 Voltios.
• Su fabricación es con transistores bipolares multi emisores.
• La velocidad de transmisión entre los estados lógicos es su mejor ventaja,
ciertamente esta característica le hacer aumentar su consumo.
• Su compuerta básica es la NAND

Familia de Circuitos Lógicos Integrados

aplicar primero a dos variables y luego


el resultado de este a la tercera
PROCESOS
variable y así sucesivamente.
Análisis: se comienza con un circuito determinado y se termina con un conjunto de
funciones booleanas o tabla de verdad.

ANÁLISIS à Circuito lógico à Función booleana

Diseño: se comienza con el planteo del problema. Se determinan las variables necesarias y
se termina con el circuito lógico

DISEÑO à Planteo del problema à Circuito lógico

1. Se establece el problema.
2. Se asignan símbolos a las variables de entrada y salida.
3. Se deriva la tabla de verdad que define la relación entre las entradas y las salidas.
4. Se obtienen las funciones booleanas simplificadas para cada salida(hacer lo mapas k).
5. Se traza el diagrama lógico (el circuito).

TIPOS DE CIRCUITOS

• Combinacional: sus salidas dependen únicamente de los valores de las variables de


entrada. Para una combinación de valores de entrada en un circuito, siempre se
produce el mismo valor de salida. No tiene memoria.
o Pueden ser representados mediante una tabla de verdad o una expresión
numérica (SP o PS)

• Circuito secuencial: es un circuito donde sus salidas dependen del valor de las
entradas y del estado anterior del circuito representado, que puede tener una o más
salidas. Tienen memoria.

CIRCUITOS COMBINACIONALES DE BASE

Pasos para diseño e implementación:

• A partir de un requerimiento de un usuario identificar y codificar las variables de


entrada y salida.
o Detectar las variables de entrada y salida y asignarles nombres y un nivel lógico
correspondiente.

• Obtención de la Tablade Verdad.


o A partir de la especificaciones del requerimiento se determinan los valores que
deben tomar las funciones de salida para c/u de las combinaciones de las
variables de entrada.

• Deducción de las expresiones SP y PS.

• Mediante Métodos analíticos o gráficos simplificarlas en búsqueda de la solución


más conveniente.

• Implementar el circuito lógico con compuertas conocidas.

SSI (Short Scale of Integration): Los circuitos de las compuertas vistas están compuestos por
unos pocos transistores, integrados todos en la misma pastilla de silicio. Menos de 15
compuertas.

MSI (Medium Scale of Integration): Mejora de SSI. Sistemas combinacionales complejos


compuestos por un número de compuertas comprendido entre 15 y 100. (realizan
funciones mas completas). permite reducir el número deelementos necesarios en su
realización y disminuir el tiempo de diseño.

LSI (Large Scale Integration): integrados que contienen de 100 a 1.000 puertas lógicas. Estos
integrados realizan una función completa, como es el caso de las operaciones esenciales de
una calculadora o el almacenamiento de una gran cantidad de bits. Dio paso a la
construcción del microprocesador

VLSI: (Very Large Scale Integration): de 1.000 a 10.000 puertas por circuito integrado, los
cuales aparecen para consolidar la industria de los integrados y para desplazar
definitivamente la tecnología de los componentes aislados y dan inicio a la era de la
miniaturización de los equipos apareciendo y haciendo cada vez mas común la manufactura
y el uso de los equipos portatiles

DECODIFICADOR
• Circuito combinacional
• salidas ≤ 2n à salidas ≤ 2entradas
• según cual sea la combinación de las variables de entrada se activa una única salida,
permaneciendo el resto de ellas desactivada.
• Un demultiplexor puede comportarse como un decodificador.
Diagrama de bloque Minitérminos Decodificador activo por alto:
Salida activa = 1
Salidas restantes = 0

Decodificador activo por bajo:


Salida activa = 0
E = Enable Salidas restantes = 1

Tabla de verdad
Diagrama lógico

Mientras E=1, funciona

Implementación de funciones lógicas usando un decodificador

Decodificador BCD 7 a segmentos

Activa simultáneamente varias salidas, decodifica la información de entrada en BCD a un


código de 7 segmentos para que se muestre en un display de 7 segmentos.

tiene las entradas activas en ALTA y las salidas en BAJA


Decodificador XS-3 a 7 segmentos

7 salidas sin codificar,


4 entradas codificadas
Decodificador BCD a 7 segmentos Aiken

4 entradas codificadas
7 salidas sin codificar

CODIFICADOR DECIMAL A BCD (opuesto al decodificador)


• sistemas que se encargan de transformar una serie de señales sin codificar en un
conjunto que corresponde a un código.
• Tienen N entradas y n salidas tal que:
N ≤ 2n à entradas ≤ 2salidas
• Pasan de un código de 1 entre N a un Código binario.

MULTIPLEXOR
• 1 salida
• N + n entradas
o n à entradas de selección
o N = 2n à entradas de datos
• Permite dirigir la información
binaria procedente de
diversas fuentes a una única
línea de salida, para ser
transmitida a través de ella, a
un destino común
• Se utiliza para la conversión
de bits transferidos en
Seleccionan que entrada paralelo a serie (PISO), de a
va a ser conectada con la uno por vez, utilizando una
salida (S= 1 0 à C2) sola línea.
N=4 n=2 Tabla vdd
Diag. De bloques

Tabla vdd simplificada

Diag. lógico

DEMULTIPLEXOR (opuesto al multiplexor)


• i = 1 entrada
• n entradas de selección Según se introduzca cierta combinación por las
• N salidas à N = 2n entradas de selección, se consigue comunicar la
entrada de datos con una salida específica.
FDN Frecuency division
multiplexing: cable coaxil (cable
de señal de tele)

TDM Time Division Multiplexing: Demultiplexores y


multiplexores usados para poder llevar conversaciones
telefónicas simultáneamente por una misma línea.
Las entradas de Demi se combinan con salidas de Multi

Tabla de vdd Diag. lógico

COMPARADORES

Tiene uno o más pares de entradas que tienen como función comparar dos magnitudes
binarias para determinar su relación.

Comparador binario de n bits:

𝐴= an-1 an-2 ... a1 a0 à dígitos


B = bn-1 bn-2 ... b1 b2 à dígitos

Solo una de las salidas se prende


Comparador binario de 1 bit:
Tabla de vdd Diag. lógico

SUMADORES
En los computadores modernos se encuentra en Unidad aritméticológica (ALU).

Full adder – Sumador total


• Suma dos bits y tiene en cuenta el acarreo de la etapa anterior.

Carry out Carry in

Half adder – Semi sumador


• admite dos dígitos binarios en sus entradas
• genera dos dígitos binarios en sus salidas: un bit de suma y uno de acarreo.
RESTADORES
Resta dos bits y tiene en cuenta el préstamo de la etapa anterior.
Suma = 0 resta = 1
Lo define la
Unidad de
Control o ALU

Usa OR Exclusiva para hacer el complemento del que se resta

FUNCIONES TOTALMENTE DEFINIDAS


para combinación de las variables de entrada se le asigna un valor “0” o “1” a la
salida

FUNCIONES INCOMPLETAS (términos irrelevantes)


para una o más combinaciones de las variables de entrada se le puede asignar a la
salida un valor “0” o “1” en forma indistinta representándose por (“X”)
CUENTAS
Determinación de la cantidad de memoria necesaria en un sistema secuencial:
(cantidad de memoria y codificación para grafo de diagrama de estados)

• 2N_FF = No de estados N_FF = Número de flip flops

Contadores:
• Contador binario de "n" bits es un registro de n flip flops y compuertas asociadas
• Cantidad máxima contada se determina por 2n - 1 (ya que inicia o finaliza en 0).

Memorias:
• Bandwidth
frecuencia X bits (tamaño de bus) = Megabytes
8 seg
Disco Duro:
• Tiempo de transferencia à Depende del tamaño del archivo a transferir

T= b b = bytes a transferir
r.N N = bytes de una pista
r = velocidad de rotación en vueltas por seg

• Tiempo de acceso medio total:

Ta = Tbúsqueda + 1 + b .
2r rN
Pantalla
• Cálculo de frecuencia horizontal
• Se produce con el producto entre el Número de líneas horizontales del monitor y la
frecuencia vertical a la cual se debe trabajar.
o LH = Líneas Horizontales
o VF = Frecuencia vertical
o LH X VF = Frecuencia Horizontal.

CIRCUITOS SECUENCIALES

• Acciones una detrás de otra


• Las salidas dependen de:
o los valores de las entradas en un momento – estados lógicos de entrada (en
memoria)
o estado anterior o estado interno

• Dependen del conjunto de condiciones anteriores


• Memorizan el estado de las entradas y lo convierten en un estado interno del sistema
• Se pierde el contenido de la memoria cuando “se corta la luz”
Circuito secuencial asíncrono: los cambios solo se producen cuando se establecen las
entradas sin necesidad de una señal de reloj.

Circuito secuencial síncrono: los cambios se producen cuando se establecen las entradas, y
además, se genera una transición de señal de reloj.

§ 2n estados de entrada
o n = variables que entran

§ 2k estados internos (cantidad de cosas que me puedo acordar)


o k = bits de memoria (Q)

§ 2m estados de salida (dependen de entrada y estado interno)


o m = variables de lasida (S)

Tipos de sincronismo:

• sincronismo por nivel (alto o bajo): el sistema hace caso de las entradas cuando el
reloj esté en nivel activo
• Sincronismo por flanco (de subida o de bajada): el sistema hace caso de las entradas
y evoluciona, en el instante que se produce el flanco activo (de subida o de bajada)

AUTÓMATA DE MOORE

Reloj a 1 GHz trabaja en un segundo: mil millones de veces (ahora eso es lento)
Todo circuito secuencial tiene:
o circuito combinacional
o memoria
o reloj

EL RELOJ (generador de pulso de reloj)


• sincroniza los circuitos secuenciales
• Los elementos de almacenamiento se afectan solo con la llegada del puslo
• Es una señal que pasa del 0 al 1 de manera automática
• Frecuencia: F = 1/T (Hz) 1 KHz = T à 1 miliseg
1 MHz = T à microseg
1GHz = T à 1 nanoseg

MEMORIA

Las que se emplean en circuitos secuenciales por reloj son:


Flip Flops – multivibradores biestables
Dispositivos de almacenamiento binario que pueden contener un bit de información

Flip Flop SR S = set R = reset

• Durante t2 la salida se preserva tal cual estaba.


• Mientras el reloj esté en el tiempo bajo, la memoria recuerda.
• Los cambios sólo ocurren cuando el reloj valga 1.

Si Ck = 1
Si Ck = 0
Qt+1 = Qt S R Q t+1
0 0 Qt
0 1 0
1 0 1
1 1 X
Tabla de transición
Flip Flop JK J = set K = reset Disparado x flanco NEGATIVO

• No tiene la indeterminación de SR

Tabla de transición

Flip Flop D (delay, data) Disparado x flanco POSITIVO

• Solo una entrada con un inversor


• J y K solo pueden tomar variables opuestas
• Memorizador / latch: Se memoriza lo que venga en D
• Retardo: se puede lograr que se retarde una cant. de pulsos de reloj
Fli Flop T (Toggle, conmutación)

• Solo una entrada sin inversor


• J y K reciben el mismo valor 1 1 = Q’ à se invierte el valor dado
0 0 = Q à no se cambia nada

Pasos para diseño e implementación de circuitos secuenciales

• Paso 1: A partir de un requerimiento de un usuario identificar y codificar las variables de


entrada y salida. Asignarles nombres y un nivel lógico correspondiente.
• Paso 2: Realizar el diagrama de estados.
• Paso 3: Determinación de la cantidad de memoria necesaria y codificación.
o Se cuentan la cantidad de estados y se determina el número de flip flops a usar
2N_FF ≥ No Estados

• Paso 4: Implementación de las partes combinacionales del sistema Se confecciona una


Tabla de Verdad cuyas entradas son las del sistema + las salidas de los flip flops
(memoria o estados internos).
• Paso 5: Simplificación mediante mapas de Karnaugh para obtener las ecuaciones de las
entradas de los FF y de las salidas del sistema
• Paso 6: Implementación del circuito

CONTADORES BINARIOS

es un circuito digital que cuenta sucesos electrónicos (impulsos), avanzando a través de una
secuencia de estados binarios

contador binario de “n” bits à es registro de “n” flip flops y compuertas

Cuenta binaria, MÓDULO: cantidad máxima de estados que puede tener la secuencia (2N_FF)
(2 Flip Flops = contador de módulo 4 à 22 = 4)

Cantidad máxima contada: 2n – 1

La salida: conjunto de salidas de los flip flops


Pueden ser:

• Contadores cíclicos: se repiten periodicamente


• Contadores no cíclicos: se interrumpen solos
• De operación síncrona: todas las etapas de los flip flops usan el mismo pulso de reloj
• De operación asíncrona: pulso en cascada (+ tiempo de espera, ∑)
• Cuenta ascendiente / descendiente
• Cuenta según una secuencia determinada

REGISTROS DE DESPLAZAMIENTO (shift registers)

es un circuito digital secuencial

SISO - Serial In Serial Out

• Solo la entrada del 1er flip flop y la salida del último son accesibles
• Se usan como líneas de retardo digitales y en tareas de sincronización.
• Serie: los bits van ingresando o saliendo de uno a la vez, uno detrás del otro, al ritmo
de los pulsos del reloj.
• Pulsos: n bits = n pulsos de entrada, n pulsos de salida

SIPO - Serial In Parallel Out

• Se le agrega una salida a cada una de las salidas Q de los flip flops, así se pueden
tener todos los datos a la vez.
• Pulsos: n bits = n pulsos de entrada, 1 pulso de salida
• En el conector USB
PISO – Parallel In Serial Out

• Carga = 1 à se cargan los datos del registro, inhibe el reloj para inhibir las memorias,
permitiendo que ingrese la información por arriba (PR)

• Desplazamiento = 0 à el 0 evita que se sigan cargando cosas. Aparece el pulso de


reloj.
• Pulsos: n bits = 1 pulso de entrada, n pulsos de salida

PIPO - Parallel In Parallel Out

• Puerto paralelo de la PC donde hay 8 FF D.


• El pulso de Enable lo maneja una
instrucción del micro llamada Out.
• Mientras el control de salida tiene 0, la
salida no se entera de todo lo que pasa (se
la inhibe).
• Pulsos: n bits = 1 pulso de entrada, 1 pulso
de salida
U 4 y 5 – ACO / ASSEMBLER

SISTEMA MICROCOMPUTADOR - Arquitectura de Von Neumann

Programa de almacenamiento: Los programas están guardados en memoria no volátil (no


pierde la información cuando se corta la energía)
Al prenderse, el SO se corre en la RAM, los programas corren en a ROM BIOS y él los
chequea y cuando está listo le indica al OS que se cargue en la RA

ALU: Unidad Aritmética y Lógica – encargada de hacer las cuentas, operaciones


lógicas
UC: manda las instrucciones a la ALU

1- CPU / Micro procesador: tiene la ALU, registros, el contador de programa, las


unidades de control.
2- ROM
3- RAM
4- Input and Ouput: Interfaces que conectan con los periféricos
5- Reloj

Adentro del procesador existen registros que son arreglos de memorias de un bit todos
encadenados y el tamaño de estos registros son múltiplos de 8 (RA y RB). Hay un registro
de instrucción (RC) donde se va a alojar la instrucción que se está a punto de ejecutar en
este momento. En las puertas de entradas del procesador existen dos registros que no vas a
tocar pero van a estar siempre en los procesadores, que son el Memory Address Register y
el Memory Bus Register (MAR) y (MRB)
BUSES La comuncación entre los componentes de una
computadora se hace a través de canales de buses.

El bus es un camino de comunicación entre dos o


más chips, y se lo considera un medio compartido,
pq son comunes a todos los dispositivos.

Cuando se realice la comunicación las otras dos


estarán inhabilitadas.

Lineas en paralelo

Address Bus:

• Unidireccional à
• Es una serie de caminos en paralelo
• Desde la CPU a Memoria Principal
• Se selecciona solo una de las líneas para mandarle su info a través del bus de
datos.
• Cada línea es entrada de Adress Decodes en la RAM
• Con n líneas accedemos a 2n posibles espacios de la memoria RAM
• Cada vez que se aumenta 1 línea, se dupluca la cantidad de direccionamientos
• Define la capacidad máxima de direccionamiento = 2líneas
• Tiene una capacidad máxima de memoria (instalable, ampliable)

Data Bus:

• Viajan datos, registros y instrucciones de programas de ejecución


• Bidireccional ßà
• Tiene = tamaño que el registro del procesador (ej. 64 bits)
• Llega desde la ROM/ RAM/ IO a un MBR (Memory Bus Register), donde el dato
se guarda temporalmente hasta ser redirigido a un registro o Unidad de
Control
• Mayor bus de datos, menor tiempo de transferencia de datos
• Para la comunicación con el IO se usa menos el canal de datos

Control Bus:

• Indica el espacio a modificar (si es ROM, RAM o I/O) y su acción


• Bidireccional ßà
• Por ahí viaja la selección de la línea a accionar
• Le indica a la RAM si tiene que estar en modo lectura/ escritura. La ROM solo
la lee
• Le indica a la ROM que lea
DMA Direct Memory Access: se le cede al disco duro la capacidad de utilizar el adress bus y
poner los datos directo en memoria RAM

Mecanismo de interrupción: si algún periférico tiene una necesidad, avisa medinate el IRQ
(Interuption Request) para no utilizar porcesos que realenticen y solo atender cuando se lo
necesita.

IRQ: Es un interrupror enmascarable, puede darse cuenta que un periférico necesita


de su atención, no es de alta prioridad

NMI: interrupción no enmascarable. Es prioritaria

I/O

Colección de chips que conectan con los periféricos

A I/O le llegan los 16 bits menos significativos


Para poder leer o escribir en el I/O = I/O Read – I/O Write

ROM

• Read-Only Memory - ROM BIOS (basic input output system), no se la puede escribir
en estado normal.
• el tiempo que se tarda en acceder del primer byte al último byte, o cualquiera, es el
mismo. El tiempo de acceso es siempre igual.
• No es volátil, con ausencia de energía eléctrica no se borra el contenido.
• hay una colección de pequeños programas escritos en lenguaje cercano al lenguaje
de máquina colocados por el fabricante, sirven para el arranque en frío y
funcionamiento de determinadas operaciones, como chequear que la memoria RAM
esté sana. También se le llama Firmware.
• es una memoria flash: se puede volver a escribir en condiciones especiales y con
software especial. Se puede actualizar pero es peligroso, corre riesgo la placa madre.
RAM

• Random Access Memory.


• el tiempo que se tarda en acceder del primer byte al último byte, o cualquiera, es el
mismo. El tiempo de acceso es siempre igual.
• Es dinámica, pertenece a la memoria principal de la máquina.
• Es volátil, si se pierde la energía eléctrica se borra la información.
• En Von Neumann, almacena programas y datos y el S.O.

Decodificador =
n entradas à 2n salidas
Dirección de
memoria

8 bits

4 SEGMENOS: Si las instrucciones están por ejecutar,


SEGMENTACIÓN
DE MEMORIA deben estar contenidas en el segmento amarillo, por los
registros Code Segment (instrucción), Data Segment, Extra
Segment (tmb datos) y Stack Segment.
Cambiando el valor del segmento, lo podés desplazar hacia
arriba o abajo por software.
El tamaño del segmento original es de 64 kb. Se pueden
solapar.
Se manejan las 4 cifras más significativas. Una vez fijado, el
PI se va moviendo. Para conocer la dirección absoluta de 5
cifras, al valor de CS se le agrega un cero a la derecha, se le
suma el valor del IP y allí se consiguen las 5 cifras de la
tabla principal.
Este proceso se llama Segmentación de Memoria, y es la
forma que Intel utilizó para definir áreas de trabajo donde
Son móviles, se van a estar las instrucciones y los datos, y la forma de
pueden solapar poder relacionar la posición interior de un puntero del
(uno encima del segmento y la del mapa principal.
otro)
Code Segment: (de instrucciones) Porción de programas que están siendo ejecutado. Se
mueve este segmento dependiendo qué programa se esté ejecutando. Si estas vos usando
lenguaje de máquina, vos estás posicionando el CS dependiendo a tu área de trabajo.

Data Segment: Donde se buscan, guardan, mueven, copian y trasladan los datos a memoria

Extra Segment: Para movimiento de datos más lejos (fijás el DS en una zona de memoria y
el ES en otra zona más alejada)

Stack Segment: Pila/Puntero donde se almacenan los datos escenciales del


microprocesador cuando hay saltos o interrupciones – LIFO Last In First Out

REGISTROS INTERNOS DEL PROCESADOR

Registros: asociación de bits uno al lado del otro, que cobran sentido desde el menos
significativos a los más significativos.
AX = Acumuladoràentrada/salida de datos y almacena la rta de operaciones. Maneja datos
BX = Base
CX = Counter operan datos de 8 bits
DX = Data
Cuando se cambió a 32 bits, AX se cambió a ExtendedAX (EAX), y así lo hicieron los demás.
Para las nuevas aplicaciones, usás todo el registro.

Registros de propósito general (GPR)

• Son lugares temporarios donde se pueden guardar los datos para que luego se realice
con ellos operaciones.
• Tienen tmb funcionalidades especiales:
o AX es el único que se comunica con periféricos, mandándoles datos a través de AL
o BX es un puntero en la memoria

La RAM es una sucesión de bytes apilados. Cuando hacemos una app, la RAM nos concede
una porción de ella para trabajar.
Punteros de dirección de memoria: SI (Source Index) y DI (Destination Index)

IP / PC (instruction pointer o program counter): tiene la dirección de memoria donde se


encuentra la próxima instrucción a ejecutar. La instrucción actual está alojada en la RI, el PC
ya está apuntando a la próxima instrucción de memoria a ejecutar, para luego y a través del
bus de datos traer la instrucción al RI y hacer que la UC (unidad de control) la ejecute. Lo
fijás vos por primera vez y luego se mueve solo.

SP - Puntero de Pila o Stack Pointer: se guarda la dirección de retorno cuando se ejecutan


las instrucciones de ruptura de secuencia (CALL). se guardan valores necesarios para
trabajar con subrutinas, valores que no pueden perderse informaciones entre ellos,
preservando dichos valores.

RE - Status Register: importa por cada uno de los bytes que tienen, porque cada uno de
ellos tiene un significado distinto. Cada uno de ellos se llama flags o banderas. Sirven para
alertar de una situación.

INSTRUCCIONES

Una instrucción es una operación expresada mediante la codificación binaria de cadenas de


1’s y 0’s. Se llama lenguaje de máquina.

Repertorio de instrucciones o juego de instrucciones: conjunto de órdenes que puede


ejecutar un computador. Suele tener entre 150 y 200 instrucciones.

Lenguaje ensamblador: juego de instrucciones expresado con mnemónicos.


Aritméticas y lógicas
Existen diferentes tipos de instrucciones:
o ADD: suma sin acarreo
• de transferencia o ADC: suma con acarreo
• de bifurcación o SUB: resta sin acarreo
• aritméticas y lógicas o SBB: resta con acarreo
• de comparación y de bit o MUL: multiplicación sin signo
o IMUL: multiplicación con signo
• de desplazamiento
o DEC: decrementa por 1
• de entrada/salida o INC: Incrementa por 1
• de control de proceso
• De ruptura de secuencia o DIV: división sin signo
o IDIV: división con signo
o INC: incrementar
o DEC: decrementar
o NEG: cambia de signo dejando el operando en C2
o Instrucciones lógicas: AND, NOT, OR, XOR, CMP
Instrucciones de transferencia:

• Copian en el destino la info del operando sin modificarlo


• No modifica las flags

MOV – PUSH – POP

MOV Reg, dato MOV [pos], dato MOV reg, reg

MOV [pos], reg MOV reg, [pos]

Instrucciones de bifurcación:

• Modifican la secuencia normal de ejecución de un programa.


• Actúan sobre el contador de programa (PC o IP), controlan la secuencia de ejecución
de un programa.
o Saltos condicionales / incondicionales
o Llamada a subrutina
JMP – CALL – INT – NMI – IRQ – S.O. – BIOS – RET – IRET

Instrucciones de comparación y de bit:

• No almacenan el resultado, solo modifican el flag


• Modifica un solo bit o leer su estado

CMP – TEST – CLI – STI – CLC – STC

Instrucciones de desplazamiento:

• El ultimo valor desplazado se copia en el flag de acarreo

SAR – SAL – SHR – ROL – ROR – RCR – RCL

Instrucciones de Entrada / Salida y de control:

IN – OUT – WAIT – HLP – NOP

MODO DE DIRECCIONAMIENTO

Inherente / implícito:

CLC – STI – CLI – INT 1 byte

Registro:

• El dato u operando esta en un segundo registro

MOV AX, BX - OR AX, BX

Inmediato:

• El dato a operar está contenido en la instrucción inmediatamente después del


opcode de la instrucción

MOV AX, 1234 – OR BL, 14 3 bytes

Directo memoria:

• El operando está contenido en una posición de memoria


MOV AX, [2000] – OR BX, [FFFF]
AH AL
MOV AX, [2000] à Ax = 12 A4

2000à A4 Se hace en INTEL àPorque 2000


es mas chico que 2001, va en AL
2001à 12

4 bytes

Directo Registro:

• El operando es un registro

MOV CX, DX 32 bytes

Indirecto memoria:

• El operando es especificado mediante una combinación de registros índice y base, y


puede haber un desplazamiento

MOV AL, [SI] SOLO PUEDE IR EN CORCHETES SI, DI Y BX

MOV AL, [SI + BX + 3]

Indirecto por registro:

MOV AX, [BX] 2 bytes

Relativo:

• relativo al contador de programa IP

Todos los JM (JNZ - JNE – JE) 1 byte?

Y flags ? (Help)
A (Assemble)
C (Compare)
Usando instrucciones nemotécnicas D (Dump)
E (Enter)
F (Fill)
G (Go)
H (Hexarithmetic) I (Input)
L (Load)
M (Move)
N (Name)
P (Ptrace)
Q (Quit)
R (Register)
S (Search)
T (Trace)
U (Unassemble)
W (Write)
Número de Dirección de Instrucción Muestra de la instrucción
instrucción Memoria en memoria
1 1371:0100 ADD BX, 1E03 1371:0100 | 031E031E

Dato u Operando

Código de Operación

Dirección de Dato u Operando à ADD BX, [FF01]

ARQUITECTURA DE HARVARD

En Von Neumann se formaba cuello de botella por usar la RAM para instrucciones y datos
que pasaban por el mismo bus un dato a la vez.

Separa el bus en 2: uno para la memoria y otro para las instrucciones

Se pueden traer al mismo tiempo instrucciones y datos

Pusieron 2 zonas de memoria: una para los datos y otra para las instrucciones, van por
caminos diferentes. Así se puede usar la UAL entre los registros del procesador, la memoria
de datos y las instrucciones.

Existen los tres tipos de buses de datos para cada una de las memorias.

es una arquitectura de computadora con pistas de almacenamiento y de señal físicamente


separadas para las instrucciones y para los datos.

no hay necesidad de hacer que las dos memorias compartan características. En particular,
pueden diferir la anchura de palabra, el momento, la tecnología de implementación y la
estructura de dirección de memoria.

En la arquitectura de von Neumann, la CPU puede estar o leyendo una instrucción o


leyendo/escribiendo datos desde/hacia la memoria, pero ambos procesos no pueden
ocurrir al mismo tiempo. Ya que las instrucciones y datos usan el mismo sistema de buses.
En la arquitectura Harvard, la CPU puede tanto leer una instrucción como realizar un acceso
a la memoria de datos al mismo tiempo, incluso sin una memoria caché. Es más rápida para
un circuito complejo, debido a que la instrucción obtiene acceso a datos y no compite por
una única vía de memoria.

Las características de las dos memorias son distintas, por lo que la dirección del espacio
cero de instrucciones no es lo mismo que la dirección del espacio cero de datos: La
dirección cero de la memoria de instrucciones podría identificar un valor de 24 bits,
mientras que la dirección cero de la memoria de datos cero podría indicar un valor de 8 bits
que no forma parte de ese valor de 24 bits.
Tiene Bus de Control, de
Instrucciones y de datos
para la Memoria de
instrucciones

Tiene Bus de Control, de


Instrucciones y bus de
datos para la Memoria de
Datos

¿Desde dónde se ejecuta un programa?

Se está ejecutando desde la Memoria Caché (L1 – level 1) de RAM . Antes de ejecutarse un
programa, pasa de la memoria RAM a la Memoria Caché.

§ L3 à parte de instrucciones va a L2 àCache L1 de instrucciones

àCache L1 de datos

FORMATO DE INSTRUCCIÓN DE INTEL


Un código mnemotécnico podría tener dos códigos de máquina; no es una relación unívoca.

Cómo se alojan los 1 y 0 en la memoria para formar una instrucción

Instrucción: es una orden que se le da a procesador:

Código de operación Indica qué operación hacer (Opcode, binario)

Dato / Operando Con qué cosa hacer la operación

Este procesador es del tipo registro-memoria, por lo que no puede trabajar con dos
operandos en memoria. Siempre tiene que haber un registro (AX, BX...) intermediario
entre las memorias.

Las instrucciones tienen un bit que indica quién es el operando fuente y el destino puede
ser la memoria o el registro: llamado el bit de registro que está en el Opcode. El destino
puede ser la memoria o el registro

Instrucciones de transferencia:

o Copian en el destinola info del operando fuente sin modificar el operando


o No modifica las flags
o MOV: operando fuente à al operando destino
o PUSH: operando fuente à a la pila
o POP: último dato de la pila à al operando destino

Formato Gral de Instrucciones Intel x86

• Formato de las instrucciones registro-registro y registro-memoria

fuente

Código de operación: dice qué es lo que hay que hacer. Hay que fijarse la cantidad
bits que se tiene, 2n_bits = cantidad de instrucciones distintas.

Byte 1 tiene:
o Código de operación
o 1 bit de dirección de registro (D)
§ D = 1 à REG (en byte 2) = destino MOV Destino, Fuente
§ D = 0 à REG = fuente
o 1 bit de tamaño del dato (W):
§ W = 0 à datos son de 8 bits – ½ palabra
§ W = 1 à datos de 16 bits – 1 palaba

Byte 2 tiene:

o Los operandos
§ REG: para identificar un registro
§ MOD: indica el modo de direccionamiento
§ R/M: para identificar un registro o posición de memoria y depende del
valor de MOD

MOD Función
00 Modo memoria sin desplazamineto
01 Modo memoria con desplazamiento
de media palabra
10 Modo memoria con desplazamiento
de una palabra
11 Modo registro

D8: un
desplazamiento de
tamaño de ½ palabra
(8 bits)
D16: un
desplazamiento de
tamaño de 1 palabra
(16 bits)
U 6 – MEMORIAS

RAM - Volátil
Las 2 formas básicas de memorias semiconductoras de acceso aleatorio son:
RAM dinámicas (DRAM): usadas para la memoria principal, más baratas, mayor capacidad
que las SRAM
• Mayor latencia
• La lectura destruye la información almacenada en sus celdas
• La celda de memoria está formada por un transistor y un capacitor
RAM estáticas (SRAM): usadas para la memoria caché, más rápidas, más caras y de menor
capacidad que las DRAM.
• Menor densidad de integración La DRAM tiene el inconveniente de
• La celda de memoria está formada por un flip-flop que los 1 y 0 se guardan como
almacenamiento de carga en ese
• Costo por byte mayor
capacitor. Hay fuga de cargas en ese
transistores Capacitores o capacitor. Por lo tanto, la memoria,
condensadores cada determinada cantidad de
tiempo, tiene un circuito de refresco,
en el cual se entra en el ciclo de
precargar a todos los capacitores que
estaban perdiendo su carga, hace que
se pierda tiempo.

PROM: (programmable read-only memory)


• Puede ser programada una sola vez. Depende el estado del bit de un fusible que
puede ser quemado solo una vez
• Se programa con un programador PROM quemando fusibles
• Una vez que está programada, es permanente y no se puede borrar.
• No volátil

EEPROM: (ROM programable y borrable eléctricamente)


• No volátil
• Puede ser borrada, programada y reprogramada eléctricamente
• Puede ser leída ilimitadamente, pero sólo puede ser borrada y reprogramada entre
100.000 y un millón de veces

EPROM: (ROM programable borrable)


• No volátil
• se programan mediante un dispositivo electrónico
• Se puede reprogramar
• se puede borrar mediante exposición a una fuerte luz ultravioleta.

Flash: Mejora de EEPROM


• permite la lectura y escritura de múltiples posiciones de memoria en la misma
operación
• se puede reprogramar

MEMORIA CACHÉ

Alta velocidad de memoria (porque esta cerca de la CPU)


Tamaño de memoria grande a menor precio
En la caché hay copia de los programas que se están corriendo
Desde la MM se transfieren bloques del programa que se está ejecutando en el momento, y
de la caché a la CPU se van transportando palabras (instrucción por instrucción).

¿Desde dónde se ejecuta un programa?

Se está ejecutando desde la Memoria


Caché (L1 – level 1) de RAM . Antes de
ejecutarse un programa, pasa de la
memoria RAM a la Memoria Caché.

L3 à parte de instrucciones va a L2
àCache L1 de instrucciones

àCache L1 de datos

en velocidad L1 > L2 > L3

L1: L2: L3:


• está en la CPU • No está en la CPU • No está en la CPU
• Más caro • Más barato • Más barato
• Más chico (32KB) • Más grande(256KB) • Más grande(2MB)
• Más rápido • Menos rápida • Más lenta que L2
o L1d: Data cache • Común a todos los cores
o L1i: Instruction cache
JERARQUÍA DE MEMORIA DE UN COMPUTADOR

Arriba: + rapidas + caras

Abajo: + masivas + baratas

Se tiende a ampliar la
cant. de registros

Discos duros mecánicos


(HDD)
Discos duros sólidos (SSD)

SSD > HDD

MEMORIA PRINCIPAL

SDRAM (Synchronous Dynamic Random Access Memory).


Va conectada en la placa madre. Tiene los contactos para hacer conexiones, microbañadas
en oro para evitar que el óxido termine arruinando la conexión.

DIMM (Dual In-Line Memory Module)


o módulo de memoria con contactos duales
o 168 pines (antes)

SDR (Single Data Rate)


o Solo puede hacer 1 operación por ciclo de reloj, cuando el flanco cae

DDR (Double Data Rate)


o Pueden hacer 2 operaciones en cada ciclo de reloj: lectura y escritura
o Cuando el flanco sube, accede al dato y cuando el flanco cae, accede a otro
o El ancho de banda va a ser el doble de la SDR
DDR 1: DDR-SDRAM (Double Data Rate Synchronous Dynamic Random Access
Memory).
o Son del mismo tamaño que los DIMM SDRAM pero el conector con más
contactos tiene 184 pines.
o Tensión de operación: 2.5 V.

DDR 2: RSDRAM
o Frecuencia: 400-120 MHz
o Volumen de transferencia: 8 bytes (Bus = 64 bits)
o en cada ciclo de reloj se manda por Dual Channel (4 + 4) bytes (en vez de 8 bytes
de una)
o Mayor densidad de memoria para mayor capacidad
o 240 pines
o tensión de operación: 1.8 V
o Bandwidth: 4,2 – 9,6 GB/s (en Dual Channel)

Bandwidth: Es la máxima cantidad de datos transmitidos en una cantidad de tiempo desde


memoria RAM al procesador.

Ej. Frecuencia de operación: 400-120 MHz

En Single Channel: se transfieren 32 bits - vel. mínima = 400 MHz


Bw = 400 x 32 / 8 = 1,6 GB/s

En Dual Channel: se transfieren 64 bits - vel. mínima = 1200 MHz


Bw = 1200 x 64 / 8 = 9,6 GB/s

DDR 3: RSDRAM (Double Data Rate type 3 Synchronous Dynamic Random Access
Memory)
o Más velocidad
o Menos consumo de energía
o Frecuencia: 1600-2133 MHz
o Bus = 64 bits
o 240 pines
o Tensión de operación: 1,5 V
o Bandwidth: 12,8 – 17 GB/s

DDR 4: RSDRAM (Double Data Rate type 4 Synchronous Dynamic Random Access
Memory).
o Frecuencia: 1600-3200 MHz
o Bus = 64 bits
o Por Dual Channel (8 + 8) bytes
o 288 pines
o Tensión de operación: 1,2-1,05 V
o Bandwidth: 25,6 – 51,2 GB/s
o Corsair presentó una de 5000 MHz → 80GB/s de Bw (recientemente)

DDR5: GDDR5
o Para GPU’s y consolas de videojuegos
o Bus = 192 – 156 – 386 bits
o Bandwidth máximo: 224 GB/s
o Reemplazada por la GDDR 6

DDR 6: GDDR6
o Bus = 352 bits
o OctoData Rate: trabaja a 8x el clock
§ Si clock = 1750 MHz à la memoria DDR6 trabaja a 1750 x 8 = 14000 MHz
àBw = 14000 MHz x 352 / 8 = 616 GB/s
o Tensión de operación: 1,35 V

INTEL FLEX CHANNEL

Para hacer Dual Channel


Se pueden conectar dos memorias para que trabajen en
simultáneo, poniendo memorias de distintos tamaños.
De ser de diferentes frecuencias, toma la menor. Si se
tiene que usar más memoria de la que ha en dual
cannel, lo sobrante se procesa en single cannel.
U 7 – DISPOSITIVOS DE ENTRADA / SALIDA (I/O)

DISCO DURO

Dispositivo de almacenamiento de datos masivos que utiliza un sistema de grabación


magnética para guardar datos digitales.
No es volátil.

Estructura interna:

Parte mecánica
§ Carcaza: recubrimiento metálico que protege los componentes internos del polvo
§ Platos: pila de discos hechos de un sustrato de cristal o una aleación de aluminio
recubiertos de una película magnética (para poder grabar la información sobre
esos materiales). La información está almacenada en ambos lados de cada plato.
§ Ejes: Hay 2, uno actúa como soporte sobre el cual están montados y giran a
velocidad constante los platos. El otro permite el movimiento lateral del brazo
actuador sobre el cual están montadas las cabezas de Lectura/Escritura.
§ Cabezales de Lectura/ Escritura: Los datos se graban y leen en el disco a través de
las bobinas (cabezas). Hay dos cabezales por cada plato. (cabezal inf. Y sup)
§ Motor: La velocidad de rotación varía entre los 5400, 7200 y 10000r.p.m.
§ Actuador y brazos de actuador: los cabezales están en el extremo de unos brazos
mecánicos ubicados en el mismo eje y deslizados por el actuador (o impulsor de
cabezales).

carcaza
Parte electrónica
§ Placa controladora: actúa como interfaz con el sistema. Posee un
microprocesador dedicado que se encarga de recibir órdenes de la CPU y calcular
lo necesario para leer o escribir en el disco.

FUNCIONAMIENTO

Operación de Lectura/Escritura (L/E):


§ Desplaza los cabezales de L/E hasta el lugar donde empiezan los datos
§ Se espera a que el primer dato (que gira con los platos) llegue al lugar donde están
los cabezales
§ Se lee o escribe el dato con el cabezal correspondiente
§ Dentro de un disco duro hay varios platos, que giran todos al mismo tiempo. Los
cabezales nunca tocan el disco, flotan en una capa de aire que se forma entre éstos y
los platos cuando giran (efecto Bernoulli).

Organización de los datos y formato:


§ Pistas: conjunto de anillos concéntricos de los platos.
§ Cada pista es del mismo ancho que la cabeza.
§ Puede haber miles de pistas por cara.
§ Las Pistas adyacentes están separadas por bandas vacías.
§ Los datos son transferidos hacia y desde el disco en sectores, hay cientos de sectores
por pistas.
§ Tamaño del un sector: 512 Bytes (600 – 88)
§ banda intersector: banda vacía que separa los sectores
§ Cilindro: El conjunto de todas las pistas que tienen la misma posición relativa
§ Cluster: es un conjunto de sectores que componen la mínima unidad de asignación o
de almacenamiento de datos. Pertenece al formato lógico del SO. Los archivos se
almacenan en uno o varios clústeres. Si el archivo es más pequeño que un clúster, lo
ocupa por completo.
Sector: formato físico
Cluster: formato lógico del S.O.

Cuenta: cilindros x sectores por pista x capacidad de cada sector x platos


30 cilindros = 30 pistas por plato
Cada pista = 40 sectores à 512 bytes x 40 x 30 = 614400 bytes por plato

PARÁMETROS PARA MEDIR LAS PRESTACIONES DE UN DISCO

• Tiempo de búsqueda: es el tiempo que tarda la cabeza en posicionarse sobre una pista.
• Retardo / Latencia rotacional: Es el tiempo que tarda el sector en alcanzar a la cabeza.
Depende de la velocidad de rotación. Se toma como promedio: la mitad del tiempo que
el disco emplea en dar una revolución (T. de rev/2)
o Ej. Si 15.000 rpm / 1 vuelta = 4ms à tiempo rotacional = 2ms
• Tiempo de acceso: Tiempo de Búsqueda + Retado Rotacional.
• Tiempo de transferencia: Depende del tamaño del archivo a transferir
T= b b = bytes a transferir
r.N N = bytes de una pista
r = velocidad de rotación en vueltas por seg

• Tiempo de acceso medio total:

Ta = Tbúsqueda + 1 + b .
2r rN
INTERFACES Y VELOCIDADES

o IDE: Integrated Device Electronics


§ 16 a 166 MB/seg
§ Conector de 40 pines a la placa madre + conexión de 4 pines a la fuente de
alimentación

o SATA: Serial Advanced Technology Attachment


§ 150 a 600 MB/s
§ Conector de datos de 7 pines + conexión a la fuente de alimentación

o SCSI: Small Computer System Interface


o SAS: Serial Attached SCSI
o USB: Universal Serial Bus 25-40 MB/seg

o SSD: Solid State Dsik


§ Conector M.2 con interfaces SATA o NVMe (Non-volatile memory express).
§ SATA o NVMe interfaces de almacenamientoque usa tecnología PCI-Express.
700 MB/s

2,5 a 4 GB/s
o 7 GB/s
UNIDAD DE CONTROL (UC)

• la parte más importante del CPU.


• Recibe las instrucciones que se alojan en el registro de instrucción
o En el caso de Von Neumann, ejecuta las instrucciones del RI, una por tiempo,
poniendo en el PC la dirección de la próxima instrucción que tiene que ir a buscar
para traerla. Mueve los hilos de todo el esquema.

Secuencia de acciones del ciclo de instrucción:


A) Ciclo de búsqueda – Fetch – captura
procesa la instrucción a partir de la palabra de instrucción.

1. Buscar la instrucción en la memoria principal:


Se vuelca el valor del contador de programa sobre el bus de direcciones. Entonces la
CPU pasa la instrucción de la memoria principal a través del bus de datos al Registro de
Dirección de Memoria (MAR). El valor del MAR es colocado en el Registro de Instrucción
Actual (CIR), un circuito que guarda la instrucción temporalmente de manera que pueda ser
decodificada y ejecutada.

2. Decodificar la instrucción:
El decodificador de instrucción interpreta e implementa la instrucción. El registro de
instrucción (IR) mantiene la instrucción en curso mientras el contador de programa (PC,
program counter) guarda la dirección de memoria de la siguiente instrucción a ser
ejecutada.

B) Ciclo de ejecución – Decode - Decodificación


3. Ejecutar la instrucción:
A partir del registro de instrucción, los datos que forman la instrucción son
decodificados por la unidad de control. Ésta interpreta la información como una secuencia
de señales de control que son enviadas a las unidades funcionales relevantes de la CPU
para realizar la operación requerida por la instrucción poder terminarla y seguir así.

4. Almacenar los resultados:


El resultado generado por la operación es almacenado en la memoria principal o
enviado a un dispositivo de salida dependiendo de la instrucción. Basándose en los
resultados de la operación, el contador de programa se incrementa para apuntar a la
siguiente instrucción o se actualiza con una dirección diferente donde la próxima
instrucción será recogida.
Implementación de la unidad de control
1. Implementación cableada à más rápida, más instrucciones, más difícil de agregar
instrucciones
2. Implementación microprogramada à menos rápida, pocas instrucciones, fácil de
agregar instrucciones
IMPLEMENTACIÓN CABLEADA

• Es un circuito combinacional
• Las señales de entrada: IR, CLK, indicadores (flags de la ALU)
• La salida: las señales de control
• RISC: Reduced Instruction Set Computer
• Los procesadores RISC utilizan implementación cableada (teléfonos)

Si se cierran las llaves incorrectas mientras se intercambian datos, puede haber una colisión
Las salidas de la unidad de control son las que controlan a las llaves

Se definen dos nuevas señales de control, P y Q, que


tengan la siguiente interpretación:
P Q
0 0 Ciclo de Buscar una instrucción a la
captación memoria
0 1 Ciclo indirecto Buscar datos en memoria
1 0 Ciclo de MOV, ADD, SUB
ejecución
1 1 Ciclo de se pregunta si hay bandera
interrupción de interrupción después de
cada instrucción

El decodificador: (que tiene muchas entradas, pero 1 sola salida activa) le dice a la unidad
de control qué instrucción tiene que ejecutar

El generador de temporización: es un contador y decodificador a la vez.

Cm: señales de control, las llaves internas o externas


IMPLEMENTACIÓN MICROPROGRAMADA

• Alternativa a la UC cableada
• Circuito Secuencial
• Arquitectura CISC: complex instruction set computer
• Implementación más sencilla, flexible y económica.
• Permite corregir errores en el microcódigo por parches (ej parche crítico para Intel C2D)
• Más lenta que implementación cableada. Permite brindar un mejor time-to-market en la
producción de nuevos procesadores.

• Microinstrucción: instrucción muy elemental que especifica microoperaciones. Maneja


las llaves. Ejecuta una parte chica de una instrucción de máquina (MOV)
• Microcódigo: el conjunto de microinstrucciones que permiten la ejecución de 1
instrucción de máquina
• Como en la UC cableada, las señales de control generadas por una microinstrucción se
usan para transferencias entre registros y operaciones de la ALU

Es una gran máquina secuencial,


manejado en primer lugar por el
registro de instrucción.
Aparece una sola instrucción y para que
se ejecute, se corre una secuencia de
microoperaciones.
La suma de esas microinstrucciones
forma un microcódigo, y éste lo que
corresponde a una instrucción de
máquina.

Ciclo de instrucción – Memoria de control de una máquina moderna

Captación – Indirecto – Ejecución – Interrupción à Se hace ese ciclo para cada instrucción
• Es muy simple agregar nuevas instrucciones.
• Ahora, la Memoria de Control está compuesta por la ROM y por un pedacito de RAM,
para grabar allí una instrucción nueva o una correcta de haber una fallada, para que
cuando toque ejecutar el bloque errado, salte directamente a la RAM.
• El parche se guarda en la ROM BIOS.
Lo mismo pero más moderno

Captación: se reutiliza como subrutina tantas veces sea necesario, ir a buscar al caché
dónde está la siguiente instrucción a ejecutar. Para todas las instrucciones, la primera parte
es siempre la misma, se barren las instrucciones anteriores.

Indirecto: buscar un dato de memoria

Ejecución: buscar la rutina de la instrucción que toque hacer (AND, ADD, XOR ... etc)

Interrupción: ir a la memoria de atención al servicio


IMPRESORAS

es un dispositivo periférico del ordenador que permite producir una gama permanente de
textos o gráficos de documentos almacenados en un formato electrónico, imprimiéndolos
en medios físicos, utilizando cartuchos de tinta o tecnología láser.
Las impresoras suelen diseñarse para realizar trabajos repetitivos de poco volumen, que no
requieran virtualmente un tiempo de configuración para conseguir una copia de un
determinado documento.

IMPRESORA DE MATRIZ DE PUNTOS


compuesto por un cabezal que tiene varias agujas incorporadas. Estas agujas son
impulsadas hasta una cinta entintada, empujando a la cinta para que impacte contra el
papel y que deje un punto impreso, retornando luego a su posición de reposo.

La precisión de este mecanismo y el tamaño del punto generado por el impacto de la cinta
impulsada por la aguja definirán la resolución horizontal máxima de la impresora.
Otro mecanismo se encarga de desplazar el papel (continuo u hojas sueltas) en forma
vertical para que el cabeza sea capaz de imprimir en todo el papel. La precisión de los
movimientos de este mecanismo y el tamaño del punto determinarán la máxima resolución
vertical.

IMPRESORA LÁSER
método de impresión: fatomecánico (combinación de la óptica con los sistemas mecánicos)
Brinda una excelente resolución, nitidez y altas velocidades de impresión.

Recibe toda la información que se debe imprimir en la hoja y la almacena en su propia


memoria
un cilindro de cristal (cilindro de impresión) con un recubrimiento especial, generalmente
de silicio, se carga con electricidad mediante un anillo de alambre (anillo coronario o
corona).
La luz de un rayo láser se desvía mediante un sistema de espejos de alta precisión para que
el rayo se proyecte en los puntos del cilindro de impresión que se desean descargar, estos
puntos del cilindro que se descargan serán los que formarán luego la imagen en el papel

El toner (un polvo extrafino de óxido de metal y pequeñísimas partículas plásticas) se carga
eléctricamente de manera que solamente se adhiera a la superficie del cilindro que recibió
la proyección del láser. El cilindro va girando y así se va formando en éste la imagen que
debe trasladarse al papel.
Su velocidad es de 600 DPI hasta 1200 DPI

IMPRESORA DE CHORRO DE TINTA


Utilizan la técnica de pulverizar pequeños chorros de tinta directamente sobre el papel para
fijar los puntos que formarán la impresión. El cabezal de estas impresoras produce un
movimiento idéntico al que realiza el de las impresoras de matriz de puntos.
El cabezal está compuesto por varios cubitos en forma vertical (inyectores) que apuntan al
papel. Estos inyectores son los encargados de dejar pasar a pequeñísimas gotitas de tinta
para que se estampen contra el papel.
Resolución de 300 DPI a 1440 DPI

Velocidad:
→ CPS (Characters Per Second - Caracteres por segundo): se utiliza en las impresoras de
matriz de puntos y de chorro de tinca más lentas.

àPPM (Pages Per Minute - Páginas por minuto): se utiliza en las impresoras láser e
impresoras de chorro de tinta rápidas

Resolución y Calidad Real:


Resolución: indica la cantidad de puntos que puede imprimir en un espacio determinado
(en DPI o PPP -Puntos por pulgada-), indicando la cantidad de puntos que se pueden
introducir en una pulgada.

Existen dos resoluciones que pueden ser iguales o diferentes: la resolución horizontal y la
vertical.
Una alta resolución especificada por un fabricante no significa que sea la mayor calidad. El
método que utiliza la impresora para estampar puntos en el papel limitará la máxima
resolución posible.

Ruido:
+ ruido à matriz de puntos
- ruido à láser

Interfaz de impresoras:
Suelen conectarse a la PC mediante un conector paralelo Centronics
Conexión a puertos serie RS-232 y RS-422
Conexión a un adaptador anfitrión SCSI.
Las impresoras destinadas al funcionamiento en redes pueden incluir conectores Ethernet y
Token Ring

Buffer:
Matriz de puntos y chorro de tinta suelen incorporar una pequeña cantidad de memoria
para no demorar a todo el sistema debido a su lentitud.
Si la capacidad del buffer es suficiente para almacenar toda la información que se desea
imprimir, la impresora ya no necesitará que el procesador se encargue de pasar los datos
porque los tendrá en su buffer y liberará al sistema del proceso de impresión.
Tamaño de buffer en Matriz de puntos: 4 KB - 256 KB
Tamaño de buffer en chorro de tinta: entre 7 KB y 18 MB.

También podría gustarte