APRENDIZAJE OBTENIDO DURANTE EL CURSO

Arquitectura de Computadoras... comenzando el curso solia ser un concepto muy trivial, enlazaba varios aspectos y conceptos importantes, pero lo mas complicado es que ni siquiera tenia una idea a que se referia con todo esto.


Gracias a la impartición de las clases durante el semestre pude adquirir conocimientos que realmente me parecieron muy interesantes y lo mejor es que pude comprender el porque de las cosas y no solo porque asi es y ya.

En el entorno informático la arquitectura de computadoras nos proporciona una descripción de la construcción y distribución física de los componentes de la computadora.

Es impresionante saber acerca del funcionamiento de los componentes de una computadora, la forma lógica en que se relacionan para asi poder llevar a cabo funciones y operaciones específicas para llegar a un fin común. Gracias a los circuitos lógicos podemos simplificar operaciones que realiza el procesador.

Podemos entender que la arquitectura de una computadora nos explica la situación de sus componentes y nos permite determinar las posibilidades de que un sistema informático, con una determinada configuración, pueda realizar las operaciones para las que se va a utilizar.

Finalmente agradezco mucho su preocupación por impartir la materia de una forma muy comprensible y repetirnos tantas veces hasta llegar a comprender, es un excelente profesor muy capaz y muy profesional, ojala todos siguieran su ejemplo.

REGISTROS

En arquitectura de computadoras, un registro es una memoria de alta velocidad y poca capacidad, integrada en el microprocesador, que permite guardar transitoriamente y acceder a valores muy usados, generalmente en operaciones matemáticas.Los registros están en la cumbre de la jerarquía de memoria, y son la manera más rápida que tiene el sistema de almacenar datos.

Los registros se miden generalmente por el número de bits que almacenan; por ejemplo, un "registro de 8 bits" o un "registro de 32 bits". Los registros generalmente se implementan en un banco de registros, pero antiguamente se usaban biestables individuales, memoria SRAM o formas aún más primitivas.

El término es usado generalmente para referirse al grupo de registros que pueden ser directamente indexados como operandos de una instrucción, como está definido en el conjunto de instrucciones. Sin embargo, los microprocesadores tienen además muchos otros registros que son usados con un propósito específico, como el contador de programa. Por ejemplo, en la arquitectura IA32, el conjunto de instrucciones define 8 registros de 32 bits.

TIPOS DE REGISTROS
Los registros de datos son usados para guardar números enteros. En algunas computadoras antiguas, existía un único registro donde se guardaba toda la información, llamado acumulador.

Los registros de memoria son usados para guardar exclusivamente direcciones de memoria. Eran muy usados en la arquitectura Harvard, ya que muchas veces las direcciones tenían un tamaño de palabra distinto que los datos.

Los registros de propósito general pueden guardar tanto datos como direcciones. Son fundamentales en la arquitectura de von Neumann. La mayor parte de las computadoras modernas usa GPR.
  • Los registros de coma flotante son usados para guardar datos en formato de coma flotante.
  • Los registros constantes tienen valores creados por hardware de sólo lectura. Por ejemplo, en MIPS el registro $zero siempre vale 0.
  • Los registros de propósito específico guardan información específica del estado del sistema, como el puntero de pila o el registro de estado.

MEMORIAS

Son dispositivos y medios de grabación que retienen datos informáticos durante algún intervalo de tiempo. Las memorias de computadora proporcionan una de las principales funciones de la computación moderna, la retención de información.

Es uno de los componentes fundamentales de todas las computadoras modernas que, acoplados a una Unidad Central de Proceso (CPU por su acrónimo en inglés, Central Processing Unit), implementa lo fundamental del modelo de computadora de Von Neumann, usado desde los años 1940.En la actualidad, memoria suele referirse a una forma de almacenamiento de estado sólido conocido como Memoria RAM (memoria de acceso aleatorio, RAM por sus siglas en inglés Random Access Memory) y otras veces se refiere a otras formas de almacenamiento rápido pero temporal. De forma similar, se refiere a formas de almacenamiento masivo como discos ópticos y tipos de almacenamiento magnético como discos duros y otros tipos de almacenamiento más lentos que las memorias RAM, pero de naturaleza más permanente.

Estas distinciones contemporáneas son de ayuda porque son fundamentales para la arquitectura de computadores en general. Además, se refleja una diferencia técnica importante y significativa entre memoria y dispositivos de almacenamiento masivo, que se ha ido diluyendo por el uso histórico de los términos "almacenamiento primario" (a veces "almacenamiento principal"), para memorias de acceso aleatorio, y "almacenamiento secundario" para dispositivos de almacenamiento masivo. Esto se explica en las siguientes secciones, en las que el término tradicional "almacenamiento" se usa como subtítulo por conveniencia.

PROPÓSITOS DE ALMACENAMIENTO
Los componentes fundamentales de las computadoras de propósito general son la unidad aritmético-lógica, la unidad de control, espacio de almacenamiento y los dispositivos de entrada/salida. Si se elimina el almacenamiento, el aparato sería una simple calculadora en lugar de un computadora. La habilidad para almacenar las instrucciones que forman un programa de computadora y la información que manipulan las instrucciones es lo que hace versátiles a las computadoras diseñadas según la arquitectura de programas almacenados.

Una computadora digital representa toda la información usando el sistema binario. Texto, números, imágenes, sonido y casi cualquier otra forma de información puede ser transformada en una sucesión de bits, o dígitos binarios, cada uno de los cuales tiene un valor de 1 ó 0. La unidad de almacenamiento más común es el byte, igual a 8 bits. Una determinada información puede ser manipulada por cualquier computadora cuyo espacio de almacenamiento es suficientemente grande como para que quepa el dato correspondiente o la representación binaria de la información.

MEMORIA CACHE
Es un tipo especial de memoria interna usada en muchas unidades centrales de proceso para mejorar su eficiencia o rendimiento. Parte de la información de la memoria principal se duplica en la memoria caché.

Comparada con los registros, la caché es ligeramente más lenta pero de mayor capacidad. Sin embargo, es más rápida, aunque de mucha menor capacidad que la memoria principal. También es de uso común la memoria caché multi-nivel - la "caché primaria" que es más pequeña, rápida y cercana al dispositivo de procesamiento; la "caché secundaria" que es más grande y lenta, pero más rápida y mucho más pequeña que la memoria principal.

MEMORIA PRINCIPAL
Memoria RAM, se compone de uno o más chips y se utiliza como memoria de trabajo para programas y datos. Es un tipo de memoria temporal que pierde sus datos cuando se queda sin energía (por ejemplo, al apagar la computadora), por lo cual es una memoria volátil. Esto es cierto desde el punto de vista teórico: Científicos de la Universidad de Princeton han descubierto que una destrucción gradual de los datos almacenados en la memoria RAM que oscila entre unos segundos y varios minutos, siendo inversamente proporcional a la temperatura.Se utiliza normalmente como memoria temporal para almacenar resultados intermedios y datos similares no permanentes. Se dicen "de acceso aleatorio" o "de acceso directo" porque los diferentes accesos son independientes entre sí.

En general, las RAMs se dividen en estáticas y dinámicas. Una memoria RAM estática mantiene su contenido inalterado mientras esté alimentada. En cambio en una memoria RAM dinámica la lectura es destructiva, es decir que la información se pierde al leerla, para evitarlo hay que restaurar la información contenida en sus celdas, operación denominada refresco.Además, las memorias se agrupan en módulos, que se conectan a la placa base de la computadora. Según los tipos de conectores que lleven los módulos, se clasifican en módulos SIMM (Single In-line Memory Module), con 30 ó 72 contactos, módulos DIMM (Dual In-line Memory Module), con 168 contactos (SDR SDRAM), con 184 contactos (DDR SDRAM), con 240 contactos (DDR2 SDRAM) y módulos RIMM (RAMBUS In-line Memory Module) con 184 contactos.

DISCOS MAGNÉTICOS (DISCOS DUROS)
Un disco magnético (rígido o flexible) es sinónimo de soporte de almacenamiento externo, complemento auxiliar de la memoria principal RAM de una computadora (memoria electrónica interna de capacidad limitada, un millón de veces más rápida de acceder que un disco, pero volátil).

1. Tiene capacidad para almacenar masivamente grandes cantidades de información en reducidos espacios con el consiguiente bajo costo relativo por byte almacenado.
2. Es memoria "no volátil": guarda largo tiempo los bits almacenados aunque se retire el suministro de energía eléctrica, propiedad que la memoria principal carece.
3. Permite acceder en pocos segundos, casi directamente, al lugar donde se halla un bloque de datos a leer o escribir, sin necesidad de búsqueda en todos los bloques de datos que le preceden, como ocurre en una cinta magnética.

La información residente en un disco está agrupada y clasificada constituyendo archivos o ficheros ('files"), como quiera llamarse, identificables por su nombre. Un archivo puede contener datos o programas.

Con la tecnología actual de los sistemas de computación, gran parte de los procesos de Entrada y Salida de datos tienen como origen y destino los discos magnéticos. Esto se manifiesta en que:

* La mayoría de los programas están almacenados en disco, constituyendo archivos "ejecutables". Cuando se necesita un programa, una copia de éste pasa a memoria principal, para ser ejecutado.
* Generalmente pasa de disco a memoria una copia del archivo de datos que procesará un programa. Los resultados obtenidos van de memoria a disco, formando parte de dicho archivo o de otro.
* El disco sirve también para simular una "memoria virtual", de mucho mayor capacidad que la memoria principal existente.Comúnmente, los disquetes son usados para copias de resguardo ('backup"), y para transportar archivos de programas o de datos.Los discos rígidos y disquetes so medios de almacenamiento externos. Para ser leídos o escritos deben insertarse en el periférico "unidad de disco"' ("disk drive") que para los disquetes se denomina "disquetera".

FLIP FLOPS

Llamado tambien biestable, es un multivibrador capaz de permanecer en un estado determinado o en el contrario durante un tiempo indefinido. Esta característica es ampliamente utilizada en electrónica digital para memorizar información. El paso de un estado a otro se realiza variando sus entradas. Dependiendo del tipo de dichas entradas los biestables se dividen en:
  • Asíncronos: sólo tienen entradas de control. El más empleado es el biestable RS.
  • Síncronos: además de las entradas de control posee una entrada de sincronismo o de reloj. Si las entradas de control dependen de la de sincronismo se denominan síncronas y en caso contrario asíncronas. Por lo general, las entradas de control asíncronas prevalecen sobre las síncronas.

La entrada de sincronismo puede ser activada por nivel (alto o bajo) o por flanco (de subida o de bajada). Dentro de los biestables síncronos activados por nivel están los tipos RS y D, y dentro de los activos por flancos los tipos JK, T y D.

FLIP FLOP SR:
Dispositivo de almacenamiento temporal de dos estados (alto y bajo), cuyas entradas principales, R y S, a las que debe el nombre, permiten al ser activadas:

R: el borrado (reset en inglés), puesta a 0 ó nivel bajo de la salida.
S: el grabado (set en inglés), puesta a 1 ó nivel alto de la salida.

Si no se activa ninguna de las entradas, el biestable permanece en el estado que poseía tras la última operación de borrado o grabado. En ningún caso deberían activarse ambas entradas a la vez, ya que esto provoca que las salidas directa (Q) y negada (Q') queden con el mismo valor: a bajo, si la báscula está construida con puertas NO-O (NOR), o a alto, si con puertas NO-Y (NAND). El problema de que ambas salidas queden al mismo estado está en que al desactivar ambas entradas no se podrá determinar el estado en el que quedaría la salida. Por eso, en las tablas de verdad, la activación de ambas entradas se contempla como caso no deseado (N. D.).

FLIP FLOP JK:

Dispositivo de almacenamiento temporal de dos estados (alto y bajo), cuyas entradas principales, J y K, a las que debe el nombre, permiten al ser activadas:

J: El grabado (set en inglés), puesta a 1 ó nivel alto de la salida.
K: El borrado (reset en inglés), puesta a 0 ó nivel bajo de la salida.

Si no se activa ninguna de las entradas, el biestable permanece en el estado que poseía tras la última operación de borrado o grabado. A diferencia del biestable RS, en el caso de activarse ambas entradas a la vez, la salida adquirirá el estado contrario al que tenía.

FLIP FLOP T:

Dispositivo de almacenamiento temporal de dos estados (alto y bajo). El biestable T cambia de estado ("toggle" en inglés) cada vez que la entrada de sincronismo o de reloj se dispara. Si la entrada T está a nivel bajo, el biestable retiene el nivel previo. Puede obtenerse al unir las entradas de control de un biestable JK, unión que se corresponde a la entrada T.

FLIP FLOP D:

Dispositivo de almacenamiento temporal de dos estados (alto y bajo), cuya salida adquiere el valor de la entrada D cuando se activa la entrada de sincronismo, C. En función del modo de activación de dicha entrada de sincronismo, existen dos tipos de biestables D:
Activo por nivel (alto o bajo), también denominado registro o cerrojo (latch en inglés).
Activo por flanco (de subida o de bajada).

METODOLOGÍA BÁSICA PARA RESOLVER PROBLEMAS CON CIRCUITOS LÓGICOS COMBINACIONALES

1. Definir claramente el problema, especificar las condiciones

2. Determinar el diagrama de bloques

3. Algoritmo

4. Algoritmo incluyendo tiempos y nomenclaturas

5. Carta de estado con nomenclatura no binaria

6. Carta de estados analítica con nomenclatura binaria, incluyendo flip flops

7. Mapas de Karnaugh, obtención de funciones

8. Construir circuito

DECODIFICADOR

Un decodificador es un circuito combinacional cuya característica fundamental es que, para cada combinación de las entradas, sólo una de las salidas tiene un nivel lógico diferente a las demás. Este circuito realiza la operación inversa a la de un codificador de datos y es análoga a la de un demultiplexor, pero sin entrada de información.


Este dispositivo tiene varias salidas, y se activará aquella que establezca el código aplicado a la entrada. Con un código de n bits se pueden encontrar 2n posibles combinaciones. Si se tienen 3 bits (3 entradas) serán posibles 23 = 8 combinaciones. Una combinación en particular activará sólo una salida.

MULTIPLEXOR

Un multiplexor es un circuito combinacional que selecciona una de n líneas de entrada y transmite su información binaria a la salida. La selección de la entrada es controlada por un conjunto de líneas de selección. La relación de líneas de entrada y líneas de selección está dada por la expresión 2n, donde n corresponde al número de líneas de selección y 2n al número de líneas de entrada

Unidad funcional que permite a varias fuentes de información utilizar simultáneamente medios comunes de transmisión, según criterios de frecuencia, tiempo, longitud de onda, asegurando en todo momento a cada fuente su propia vía independiente.

COMPUERTAS LÓGICAS

Las compuertas son bloques del hardware que producen señales en binario 1 ó 0 cuando se satisfacen los requisitos de entrada lógica. Las diversas compuertas lógicas se encuentran comúnmente en sistemas de computadoras digitales. Cada compuerta tiene un símbolo gráfico diferente y su operación puede describirse por medio de una función algebraica. Las relaciones entrada - salida de las variables binarias para cada compuerta pueden representarse en forma tabular en una tabla de verdad.

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.

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.

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.

ÁLGEBRA DE BOOLE

Es una estructura algebraica que rigorizan las operaciones lógicas Y, O y NO, así como el conjunto de operaciones unión, intersección y complemento.
Específicamente, el álgebra de Boole fue un intento de utilizar las técnicas algebraicas para tratar expresiones de la lógica proposicional. En la actualidad, el álgebra de Boole se aplica de forma generalizada en el ámbito del diseño electrónico.

FUNCIÓN BOOLEANA
Se denomina función lógica o booleana a aquella función matemática cuyas son binarias y están unidas mediante los operadores del álgebra de Boole suma lógica (+), producto lógico (.) o negación(-).

REPRESENTACIÓN
Existen distintas formas de representar una función lógica, entre las que podemos destacar las siguientes:
  • Algebraica
  • Por tabla de verdad

  • Numérica
  • Gráfica
a) ALGEBRAICA
Ejemplo con distintas formas en las que se puede expresar algebraicamente una misma función de tres variables.
a) F = [(A + BC’)’ + ABC]’ + AB’C
b) F = A’BC’ + AB’C’ + AB’C + ABC’
c) F = (A + B + C)(A + B + C’)(A + B’ + C’)(A’ + B’ + C’)
d) F = BC’ + AB’
e) F = (A + B)(B’ + C’)
f) F = [(BC’)’ · (AB’)’]’
g) F = [(A + B)’ + (B’ + C’)’]’
La expresión a) puede proceder de un problema lógico planteado o del paso de unas especificaciones a lenguaje algebraico. Las formas b) y c) reciben el nombre expresiones canónicas de suma de productos (sum-of-products, SOP, en inglés), la b), y de productos de sumas (product-of-sums, POS, en inglés), la c); su característica principal es la aparición de cada una de las variables (A, B y C) en cada uno de los sumandos o productos. Las d) y e) son funciones simplificadas, esto es, reducidas a su mínima expresión. Las dos últimas expresiones tienen la particularidad de que exclusivamente utiliza funciones NO-Y, la f), o funciones NO-O, la g).

b) TABLA DE VERDAD
Una tabla de verdad contiene todos los valores posibles de una función lógica dependiendo del valor de sus variables. El número de combinaciones posibles para una función de n variables vendrá dado por 2n. Una función lógica puede representarse algebraicamente de distintas formas como acabamos de ver, pero sólo tiene una tabla de verdad.
La forma más cómodo para ver la equivalencia entre una tabla de verdad y una expresión algebraica es cuando esta última se da en su forma canónica. Así, la función canónica de suma de productos
F = A’BC’ + AB’C’ + AB’C + ABC’
nos indica que será 1 cuando lo sea uno de sus sumandos, lo que significa que tendrá por lo tanto cuatro combinaciones que lo serán (010 para A’BC’, 100 para AB’C’, 101 para AB’C y 110 para ABC’) siendo el resto de combiaciones 0. Con la función canónica de producto de sumas se puede razonar de forma análoga, pero en este caso observando que la función será 0 cuando lo sea uno de sus productos. También es fácil obtener la tabla de verdad a partir de la función simplificada, pero no así a la inversa.
c) NUMÉRICA
La representación numérica es una forma simplificada de representar las expresiones canónicas. Si consideramos el criterio de sustituir una variable sin negar por un 1 y una negada por un 0, podremos representar el término, ya sea una suma o un producto, por un número decimal equivalente al valor binario de la combinación. Por ejemplo, los siguientes términos canónicos se representarán del siguiente modo (observe que se toma el orden de A a D como de mayor a menor peso):
AB’CD = 10112 = 1110
A’ + B + C’ + D’ = 01002 = 410
Para representar una función canónica en suma de productos utilizaremos el símbolo Σn (sigma) y en producto de sumas Πn (pi), donde n indicará el número de variables. Así, la representación numérica correspondiente a la tabla de verdad del punto anterior quedará como:
F = Σ3(2, 4, 5, 6) = Π3(0, 1, 3, 7)
Matemáticamente se demuestra, que para todo término i de una función, se cumple la siguiente ecuación:
F = [Σn(i)]' = Πn(2n-1-i )
A modo de ejemplo se puede utilizar esta igualdad para obtener el producto de sumas a partir de la suma de productos del ejemplo anterior:
F = Σ3(2, 4, 5, 6) = [Σ3(2, 4, 5, 6)]' ' = [Σ3(0, 1, 3, 7)]' = Π3(0, 4, 6, 7)

d) GRÁFICA
La representación gráfica es la que se utiliza en circuitos y esquemas electrónicos. En la siguiente figura se representan gráficamente dos funciones algebraicas, una con símbolos no normalizados, superior, y la otra con normalizados, inferior.


SIMPLIFICACIÓN
Por simplificación de una función lógica se entiende la obtención de su mínima expresión. A la hora de implementar físicamente una función lógica se suele simplificar para reducir así la compejidad del circuiuto.
  • MAPAS DE KARNAUGH

Este método consiste en formar diagramas de 2n cuadros, siendo n el número de variables. Cada cuadro representa una de las diferentes combinaciones posibles y se disponen de tal forma que se puede pasar de un cuadro a otro en las direcciones horizontal o vertical, cambiando únicamente una variable, ya sea en forma negada o directa.
Este método se emplea fundamentalmente para simplificar funciones de hasta cuatro variables. Para un número superior utilizan otros métodos como el numérico. A continuación pueden observarse los diagramas, también llamados mapas de Karnaugh, para dos, tres y cuatro variables.


Es una práctica común numerar cada celda con el número decimal correspondiente al término canónico que albergue, para facilitar el trabajo a la hora de plasmar una función canónica.
Para simplificar una función lógica por el método de Karnaugh se seguirán los siguientes pasos:
1º) Se dibuja el diagrama correspondiente al número de variables de la función a simplificar.
2º) Se coloca un 1 en los cuadros correspondientes a los términos canónicos que forman parte de la función.
3º) Se agrupan mediante lazos los unos de casillas adyacentes siguiendo estrictamente las siguientes reglas:
a) Dos casillas son adyacentes cuando se diferencian únicamente en el estado de una sola variable.
b) Cada lazo debe contener el mayor número de unos posible, siempre que dicho número sea potencia de dos (1, 2, 4, etc.)
c) Los lazos pueden quedar superpuestos y no importa que haya cuadrículas que pertenezcan a dos o más lazos diferentes.
d) Se debe tratar de conseguir el menor número de lazos con el mayor número de unos posible.
4º) La función simplificada tendrá tantos términos como lazos posea el diagrama. Cada término se obtiene eliminando la o las variables que cambien de estado en el mismo lazo.
A modo de ejemplo se realizan dos simplificaciones de una misma función a partir de sus dos formas canónicas:
F = Σ3(0,2,3,4,7) = Π3(1,2,6)
AXIOMAS Y TEOREMAS

  • POSTULADOS DE HUNTINGTON

1. Conjunto cerrado con respecto a los operadores binarios

2. Existen elemntos identidad para los operadores binarios

3. Existe un elemento identidad

4. Conmutatividad

5. Distributividad

6. Complemento, para cada elemento B existe un elemento denominado complemento

7. Existencia de los elementos del conjunto B

8. Dualidad, cualquier proposición booleana tiene una dual que se obtiene al cambiar 1 por 0 y + por ( ) e inversamente

  • Teorema de Asociatividad

a+(b+c) = (a+b)+c

a . (b . c) = (a . b) . c

  • Teorema de absorción

x+xy = x

x . xy = x

  • Teorema de Morgan

El complemento de la suma es igual al producto de los complementos

  • Teorema de adyacencia
  • Diagramas de Venn

CODIFICACIÓN

Es el proceso por el cual la información de una fuente es convertida en símbolos para ser comunicada. En otras palabras, es la aplicación de las reglas de un código. La decodificación es todo lo contrario, es la conversión de esos símbolos a información que pueda ser entendida por el receptor.

CODIFICACIÓN BINARIA
Es la forma de codificación que permite el funcionamiento de los ordenadores. El sistema binario utiliza dos condiciones (representadas por los dígitos 0 y 1) para codificar información.Desde el año 2000 AC, los seres humanos han contado utilizando 10 dígitos (0, 1, 2, 3, 4, 5, 6, 7, 8, 9). Esto se denomina "base decimal" (o base 10).


CODIFICACIÓN BCD
Con ayuda de la codificación BCD es más fácil ver la relación que hay entre un número decimal (base 10) y el número correspondiente en binario (base 2)El código BCD utiliza 4 dígitos binarios (ver en los dos ejemplos que siguen) para representar un dígito decimal (0 al 9). Cuando se hace conversión de binario a decimal típica no hay una directa relación entre el dígito decimal y el dígito binario.




CODIFICACIÓN GRAY

El código Gray es un tipo especial de código binario que no es ponderado.
Su característica es que entre una combinación de dígitos y la siguiente, sea ésta anterior o posterior, sólo hay una diferencia de un dígito.

OPERACIONES CON COMPLEMENTO

COMPLEMENTO A R
1. Dígitos extremos de la derecha si es 0 mantiene en 0 todos los 0 de las derecha se mantienen
2. El siguiente dígito complemento a r
3. Los restantes dígitos se complementan a r-1

321 n=3 r=10 rn=103 1000-321=679

RESTA CON COMPLEMENTO A R
1. Obtenemos el complemento a r del sustraendo
2. Sumamos el complemento
2. Si existe el acarreo lo ignoramos

428-427=001 428-573=acarreo->1001 427-428=-001 427-572=999-001<-complemento


RESTA CON COMPLEMENTO A R-1
1. Obtener el compelemento del sustraendo
2. Sumar al minuendo
3. Si existe acarreo sumamos en uno. Si no existe acarreo cambaimos signo y obtenemos complemento


700-427 -> 700-572= acarreo->1272+001=273

427-700 -> 427-299= no hay acarreo->726=-273


PROCESO DE RESTA EN UN MICROPROCESADOR
1. Obtenemos complemento (inversor)
2. Se realiza la suma (sumador)
3. Obtenemos complemento (inversor)

SISTEMAS NUMÉRICOS

Los números se pueden representar en distintos sistemas de numeración que se diferencian entre si por su base. Así el sistema de numeración decimal es de base 10, el binario de base 2, el octal de base 8 y el hexadecimal de base 16.

El diseño de todo sistema digital responde a operaciones con números discretos y por ello necesita utilizar los sistemas de numeración y sus códigos. En los sistemas digitales se emplea el sistema binario debido a su sencillez.

SISTEMA DECIMAL
Su origen lo encontramos en la India y fue introducido en España por los árabes. Su base es 10.Emplea 10 caracteres o dígitos diferentes para indicar una determinada cantidad: 0, 1, 2, 3, 4, 5, 6, 7, 8, 9. El valor de cada símbolo depende de su posición dentro de la cantidad a la que pertenece.

SISTEMA BINARIO
Es el sistema digital por excelencia, aunque no el único, debido a su sencillez. Su base es 2. Emplea 2 caracteres: 0 y 1. Estos valores reciben el nombre de bits (dígitos binarios). Así, podemos decir que la cantidad 10011 está formada por 5 bits.
SISTEMA OCTAL
Posee ocho símbolos: 0, 1, 2, 3, 4, 5, 6, 7. Su base es 8.Este sistema tiene una peculiaridad que lo hace muy interesante y es que la conversión al sistema binario resulta muy sencilla ya que, 8 = 23 . Así, para convertir un número de base 8 a binario se sustituye cada cifra por su equivalente binario
SISTEMA HEXADECIMAL
Está compuesto por 16 símbolos: 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, A, B, C, D, E, F. Su base es 16. Es uno de los sistemas más utilizados en electrónica, ya que además de simplificar la escritura de los números binarios, todos los números del sistema se pueden expresar en cuatro bits binarios al ser 16 = 24. La conversión de un número hexadecimal a uno binario es muy sencilla al igual que en el sistema octal

CONVERSIONES




DESCRIPCIÓN DEL MODELO DE VON NEWMAN

La arquitectura Von Newman se refiere a las arquitecturas de computadoras que utilizan el mismo dispositivo de almacenamiento tanto para las intrucciones como para los datos.

Los ordenadores con arquitectura Von Neumann constan de cinco partes: La
unidad aritmético-lógica o ALU, la unidad de control, la memoria, un dispositivo de entrada/salida y el bus de datos que proporciona un medio de transporte de los datos entre las distintas partes




Un ordenador con arquitectura Von Newman realiza o emula los siguientes pasos secuencialmente:
1.- Obtiene la siguiente instrucción desde la memoria en la
dirección indicada por el contador de programa y la guarda en el registro de instrucción.
2.- Aumenta el contador de programa en la longitud de la instrucción para apuntar a la siguiente.
3.- Descodifica la instrucción mediante la
unidad de control. Ésta se encarga de coordinar el resto de componentes del ordenador para realizar una función determinada.
4.- Se ejecuta la instrucción. Ésta puede cambiar el valor del contador del programa, permitiendo así operaciones repetitivas. El contador puede cambiar también cuando se cumpla una cierta condición aritmética, haciendo que el ordenador pueda 'tomar decisiones', que pueden alcanzar cualquier grado de complejidad, mediante la aritmética y lógica anteriores.
5.- Vuelve al paso 1

DEFINICIÓN DE ARQUITECTURA DE COMPUTADORAS



Es el diseño y construcción de una máquina constituida por dispositivos electrónicos la cual se comunica por medio de programas para realizar tareas basadas en datos para obtener información

mAgaL! oO pke Oo

mAgaL! oO pke Oo