APRENDIZAJE DENTRO DEL CURSO DE ARQUITECTURA DE COMPUTADORAS

APRENDIZAJE DENTRO DEL CURSO DE ARQUITECTURA DE COMPUTADORAS
Para comenzar con esta reseña de lo aprendido en el curso, cabe mencionar que la tecnologia avanza a pasos muy agigantados y para poder comprenderla mejor, es un deber del informatico conocer su funcionamiento comenzando desde lo que no se ve, es decir toda la logica que tiene el funcionamiento de los sistemas computacionales. Para ello hay una rama del estudio informatico que nos ayuda con ello y es la arquitectura de computadoras.

La arquitectura de computadoras es el diseño y al construccion de una maquina electronica constituida de dispositivos electronicos, la cual se comunica por medio de programas para realizar tareas que se basan en datos para procesar la informacion.

Es de donde entonces nos comenzamos a adentrar al mundo que esta dentro de cada proceso que hace el sistema computacional. A lo largo del curso para poder comprender mejor todo ese funcionamiento, fue necesario apoyarnos mucho en un modelo que nos premitio asimilar de mejor manera todos los procesos, ese fue el modelo de Van Newman, el cual representa el diseño estructurado de un proceso el cual se compone de entradas, procesamiento, salida y una retroalimentacion que va a permitir que este ciclo se repita las veces que se requiera. En el caso del sistema computacional el modelo de Van Newman se compone de 5 elementos fundamentales: la alu, la memoria, la unidad de control, los dispositivos de entrada y salida y los buses de datos.

Uno de los elementos mas imporatantes dentro del procesamiento de la informacion es el microprocesador, al cual en terminos muy coloquiales se le conocce como el cerebro de una computadora. Este microprocesador esta compuesto de el encapsulado, la memoria cache y el coprocesador matematico.

En el mundo existen diversos tipos de sistemas numericos, en el caso de una computadora los sistemas que utilizan son: el binario y el hexadecimal, a lo largo del curso trabajamos con el sistema binario, el cual es denominado asi por que la base con la que trabaja es dos, es decir los numeros utilizados por este sistema son el 0 y el 1, que para la computadora significan apagado (0) y encendido (1).

Es impresionante que apartir de el 0 y el 1 puedan surgir una serie de conocimientos amplios ya que del sistema binario se deriva el algebra booleana, del cual a su vez se derivan una serie de procedimientos que nos permiten llegar al armado de un circuito.

Antes de armar un circuito necesitamos saber que existen diversos tipos de codigos, los cuales nos ayudan a resolver problemas para su posteror solucion. Los codigos son: el BCD, el exceso -3, el codigo gray, entre otros. El BCD se refiere a el sistema que su numeracion en binario llega hasta el numero 10 en decimal. El exceso menos tres es aquel en el que la numeracion comienza a partir del numero 3 en decimal y el codigo gray es aquel al que se le denomina el codigo reflejado.

Ya teniendo en cuenta todo esto para poder armar un circuito simple, tenemos que leer el problema y realizar posteriormente una tabla de verdad, la cual podemos desarrollar con algun codigo, dependiendo de la necesidad que se tenga, ya teniendo la tabla de verdad, proseguiremos con el diseño de estos resultados en los Mapas de karnaugh en donde agruparemos todos los digitos 1 o encendido, los cuales nos originaran funciones, estas son las que nos ayudaran al diseño y alambrado de un circuito.

Existen distintos tipos de circuitos, emntre ellos encontramos el decodificador, el multiplexor y el flip flop. Cada uno tiene un funcionamiento muy inetresante.

el decodificador es un dispositivo en el cual el numero de salidas es igual o menor a dos veces la entradas. En este las lineas de salida se activan con las diversas convinaciones de las entradas. un ejemplo muy claro de este dispositivo es el display.

El multiplexor es un circuito en el cual el numero de entradas es mayor que el munero de salidas, la linea de entrada escigida por una señal de control sera la que pasara a la salida. Los multiplexores es utlizado para controlar el flujo de informacion.

El flip plop son circuitos secuénciales constituidos por puertas lógicas capaces de almacenar un bit, que es la información binaria más elemental. Estos sulen ser de cuatro tipos, el SR, el JK, el D y el T.

Para poder diseñpaor los circuitos de los flip flop`s se puede realizar mediante un diagrama de estados, en el cual se indican los posibles caminos que puede tomar la informacion dentro de un sistema. Primero tenemos que ubicar cuales son las esntradas, salidas y deviersos caminos que tma la informacion, ya teniendo esto hacemos una tabla de evrdad en la cual se indiquen los entradas, el estado actual, el estado siguiente , las salidas y los digitos del flip flop utilizado, posteriormenet hacemos los mapas de Karnaugh correspondientes a cada las salidas y los digitos del flip flop, por ultimo se diseña y alambra el circuito.

Un ejemplo claro de esto lo podemos ver en la entrada con nombre "Ejemplo de un diagrama de estados".

Para finalizar cabe mencionar que todo este funcionamiento y procesamiento se aplica ren las memorias de la computadora, ya que el curso estuvo basado primordialmente en concocimientos seriados, es decir que todos los conocimientos desde el principio tenian una fin, y ese era el llegar a conocer el funcionamiento de las memorias.

Creo que este curso fue muy bueno y de mucho conocimiento ya que en lo personal pienso que es increible que todos aquellos principios del algebra booleana nos guien hasta el diseño de un circuito. Ahora ya tengo otra nocion del funcionamiento de una computadora. Fue un buen curso y pues espero seguir aprendiendo mas y seguir aplicando este conocimiento a lo largo de la carrera.

EJEMPLO DE UN DIAGRAMA DE ESTADOS

EJEMPLO DE UN DIAGRAMA DE ESTADOS


MEMORIAS

MEMORIAS

Memoria Rom o Convencional ( Read Only Memory )
Es una memoria solamente de lectura es totalmente inalterable sin esta memoria la maquina no arrancaría.
La memoria principal es la convencional que va de 0 a 640 kb. Cuando la máquina arranca comienza a trabajar el disco y realiza un testeo, para lo cual necesita memoria, esta memoria es la convencional (ROM) y está dentro del mother (en el bios). Apenas arranca utiliza 300 kb, sigue testeando y llega a mas o menos 540 kb donde se planta. A medida de que comenzaron a haber soft con más necesidad de memoria apareció la llamada memoria expandida que iba de 640 kb a 1024 kb. Una vez que se utilizaba toda la memoria convencional se utilizaba la expandida que utiliza la memoria RAM. A medida que pasa el tiempo los 1024 kb eran escasos y se creo la memoria extendida que va de 1024 kb a infinito que es la memoria RAM pura.
Los valores de memoria podemos observarlos en el setup de la máquina.
Memoria Ram o Memoria e acceso Aleatorio ( Random Acces Memory )
Esta memoria es como un escritorio al igual que los escritorios tienen cajones donde ordenan la información, cuanto mas grande sea el escritorio (plano de apoyo) mas cajones voy a tener de tal suerte que el micro va a perder menos tiempo en buscar y ordenar la información
La importancia de esta memoria es tan grande que si esta ausente la PC NO ARRANCA,
Actúa como si estuviera muerta no hay sonido ni cursor en la pantalla ni luces que se enciendan o apaguen.
Para que sirve:
Almacena las instrucciones que debe ejecutar el micro en cada momentoEste es el lugar físico donde debe trabajar el procesador cuando abrimos un programa sus instrucciones se copian automáticamente en la memoria, y cuando cerremos el programa todo se borrara ( volatizara )
MEMORIA VIRTUAL
Tenemos también lo que llamamos memoria virtual también llamada swapeo. Windows crea esta memoria virtual y ocupa espacio del disco para hacerlo. Si llega se a superar esta memoria virtual la capacidad del disco se cuelga la máquina, para lo cual lo único que nos resta es resetearla.
Si abrimos muchos programas nos vamos a dar cuenta que cuando llegamos a utilizar memoria virtual la máquina comienza a funcionar más lenta o a la velocidad que tiene nuestro disco disminuye, podemos seguir trabajando, pero nunca andara tan rápido como cuando trabaja con la memoria RAM o extendida. Por lo tanto para evitar esto lo mejor es colocar más memoria RAM de acuerdo a lo que diga el manual de mother.
MEMORIA CACHÉ o SRAM
La memoria caché trabaja igual que la memoria virtual, tenemos caché en el procesador, en los discos y en el mother y nos guarda direcciones de memoria. Si ejecutamos un programa en principio, lo cerramos y luego los volvemos a ejecutar, la memoria caché nos guarda la ubicación (dirección) en el disco, cuando lo ejecuté, y lo que hicimos con el programa. Es mucho más rápida cuando ya usamos un programa
Existen 3 tipos de memoria caché:
Cache L1
Esta dividido en dos bloques uno contiene las instrucciones y otro los datos y cuando se habla de su capacidad de almacenamiento se dice que es de 2x16 Kb .
El cache L1 se encuentra dentro del interior del procesador y funciona a la misma velocidad que el micro con capacidades que van desde 2x8 hasta 2x64Kb
Cache L2 interno y externo
La primeras memoria caché estaban ubicadas en el mother luego se construyeron en el procesador, pero no dentro del dado del procesador por lo que es mas lento que el caché L1, mientras que el externo lo encontramos el el mother.
La computadoras que tienen las tres tecnologías de caché van a ser mas rápidas.
Cache L3
Algunos micro soportan un nivel de caché mas el L3 que esta localizado en el mother
EL AMD 6k-3 soporta este caché.

FLIP FLOP


FLIP FLOP


Un flip flop es un circuito electrónico, llamdo también simplemente biestable, que tiene dos estados estables. El flip flop es un elemento básico de memoria que es capaz de almacenar un número binario (bit), es decir, que permanece indefinidamente en uno de sus dos estados posibles aunque haya desaparecido la señal de excitación que provocó su transición al estado actual.

Debido a su amplia utilización, los flip flops se han convertido en un elemento fundamental dentro de los circuitos secuenciales

FLIP FLOP SR
El flip flop RS es la unidad de memoria más simple, y en base a él, se diseñan flip flops más avanzados. El circuito tiene dos entradas,Set (s) y Reset (r), y dos salidas, llamadas q y notq (que es la negada de la salida q).

Cuando la señal de entrada set (s) esta activa a nivel lógico uno, la señal de salida q pasa a valer uno, si la entrada reset U(r) es la que esta activa a nivel lógico uno,la salida q pasa a valer uno. Nunca se puede dar el caso de que esten activas simultaneamente las dos señales de entrada, r y s.


FLIP FLOP JK

El flip flop JK se emplea para eliminar la incertidumbre cuando las señales de entrada J=K=1, en el caso del flip flop RS, esta asignación de los valores de las entradas estaban prohibidas en el caso del RS,sin embargo aquí en el JK, se dará la función basculamiento,



El flip flop JK es el más completo de ,los flip flops que se emplean. Tiene dos entradas J y K, similares a las entradas S y R de un flip flop RS. La estrada J realiza la función set y la entrada K la función reset . La principal diferencia entre ambos es que J y K pueden valer uno simultáneamente, a diferencia del flip flop RS, en este caso la salida cambia de estado, pasando a valer lo contrario de lo que valía antes.Es el basculamiento

En este ejemplo, se ha implementado un flip flop JK, basándonos en la operatividad de un flip flop d, previamente descrito en la librería rtlpkg.Esto se hace através de la utilización de las señales qx y dx,



FLIP FLOP D

Este circuito tiene como entradas las señales de reloj (clk) y de información (d), siendo activa por flanco de subida. Como salida se tiene al puerto q.

Esta entidad es muy sencilla ya que las entradas y la salida son de un único bit de ancho.

El circuito opera de la siguiente forma: cuando hay un flanco de subida en el puerto de entrada clk, y la entrada d vale '1', entonces la salida q pasa a tomar el valor de d. Cuando clk está a nivel bajo, la entrada d se encuentra desabilitada, manteniendo q el valor anterior. Esta es la base de su operatividad como memoria


FLIP FLOP T

El flip flop T, dispone de una única entrada de control t. Activado por flancos de subida, es empleado como un contador de flancos.La salida q, mantendra su valor anterior hasta la llegada del siguente flanco.

El flip flop T basa toda su operatividad en el valor lógico de su única entrada de control. Si en t tenemos el nivel lógico uno, la salida q basculara, cambiando constantemente su valor según le bayan llegando los flancos de subida del reloj. Si la entrada t esta a nivel lógico cero, el flip flop mantiene su valor anterior a modo de una memoria.

SUMADOR COMPLETO


SUMADOR COMPLETO

Hasta aquí se ha logrado implementar una suma de dos números de un bit, pero en una computadora las sumas de hacen con un número mayor de bits.

Si cada par de sumandos binarios puede producir un bit de acarreo, también debe tener la capacidad de reconocer cuando viene un bit de acarreo del sumador de nivel inferior (digamos cuando en el sistema decimal hay un "llevo" debido a la suma de las unidades y hay que pasarla a las decenas)


Para lograr este propósito se implementa el siguiente circuito con su tabla de verdad:


El circuito anterior es un poco complicado de graficar así que se puede reemplazar por una caja negra con tres entradas y dos salidas (ver la tabla de verdad)

Con la anteriormente mencionado se puede implementar un sumador de "n" bits.

Nota: Cin = acarreo entrante, Cout = acarreo saliente

MULTIPLEXOR

MULTIPLEXOR

El multiplexor (MUX) es un circuito combinacional que tiene varios canales de datos de entrada y un canal de salida.

Sólo un canal de la entrada pasará a la salida y este será el que haya sido escogido mediante unas señales de control.

Ejemplo:

Si utiliza un multiplexor de 4 canales de entrada.

Una de los cuatro canales de entrada será escogido para pasar a la salida y ésto se logra con ayuda de las señales de control o selección.

La cantidad de líneas de control que debe de tener el multiplexor depende del número de canales de entrada. En este caso, se utiliza la siguiente fórmula:

Número de canales de entrada =2n.
donde n es el número de líneas de selección.

- Para un multiplexor de 4 canales de entrada, n = 2

- Si la cantidad de canales de entrada fuese 8, las líneas de control serían 3. La fórmula: 8 = 2n, n = 3

- Si la cantidad de canales de entrada fuese 16, las líneas de control serían 4. La fórmula: 16 = 2n, n = 4

- Si sólo hay 6 canales de entrada, se utiliza un multiplexor de 3 líneas de control, (don dos líneas de control no es suficiente, pues solo llega hasta 4)

- Si hubiesen 13 canales de entrada se utiliza un multiplexor de 4 líneas

- Si hubiesen sólo 2 canales de entrada, sería necesario un multiplexor con una línea de selección.
Normalmente se utilizan multiplexores con canales de entrada y salida de 1 bit. Si se desea lograr canales de dos bits o más, se ponen a trabajar multiplexores en paralelo.

Nota: en alguna literatura se considera a que multiplexores = multiplexadores

DECODIFICADOR


DECODIFICADOR

El decodificador es un dispositivo que acepta una entrada digital codificada en binario y activa una salida.

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.

Por ejemplo:

Para activar la salida Q2 hay que poner en la entrada el equivalente al número 2 en binario (102).

En un decodificador de 2 a 4 (se tienen 2 pines o patitas de entrada y 4 pines o patitas de salida).

En la entrada se pone el código en binario (00, 01, 10, 11), que hará que se active sólo una salida de las cuatro posibles.

Ver en el siguiente diagrama una representación de un decodificador de 2 a 4

Observando con atención el gráfico se puede ver que en la entrada E y en todas las salidas Q, hay una pequeña esfera o bolita.

Esta esfera indica que la entrada (en el caso de E) y las salidas, son activas en bajo. Con esto se quiere decir que cuando se pone A0 = 0 y A1 = 0 y estamos escogiendo la salida Q0, ésta tendrá un nivel de voltaje bajo, mientras que todas las otras salidas (Q1, Q2 y Q3) estarán en nivel alto.

De igual manera cuando la entrada E está en nivel bajo (activo en bajo), el decodificador está habilitado. Si está en nivel alto, el decodificador está inhabilitado y ninguna entrada en A0 y A1 tendrá efecto.

Ver la tabla de verdad siguiente:


También existen decodificadores de 3 a 8 ( 3 entradas a 8 salidas), de 4 a 16 (4 entradas a 16 salidas), etc.

Notas:- X significa que la entrada puede cualquier cosa (es indiferente)- 1 = H = High, 0 = L = Low