domingo, 7 de junio de 2015

Podcast Unidad 3

Podcast Unidad 3

Podcast Unidad 2

Podcast Unidad 2

CHIPSET

RAM


Introducción


La memoria de acceso aleatorio (Random-Access Memory, RAM) se utiliza como memoria de trabajo de computadoras para el sistema operativo, los programas y la mayor parte del software.


En la RAM se cargan todas las instrucciones que ejecutan la unidad central de procesamiento (procesador) y otras unidades de cómputo.


Se denominan «de acceso aleatorio» porque se puede leer o escribir en una posición de memoria con un tiempo de espera igual para cualquier posición, no siendo necesario seguir un orden para acceder (acceso secuencial) a la información de la manera más rápida posible.


Durante el encendido de la computadora, la rutina POST verifica que los módulos de RAM estén conectados de manera correcta. En el caso que no existan o no se detecten los módulos, la mayoría de tarjetas madres emiten una serie de sonidos que indican la ausencia de memoria principal. Terminado ese proceso, la memoria BIOS puede realizar un test básico sobre la memoria RAM indicando fallos mayores en la misma.






Módulos


Los módulos de RAM son tarjetas o placas de circuito impreso que tienen soldados chips de memoria DRAM, por una o ambas caras.


La implementación DRAM se basa en una topología de circuito eléctrico que permite alcanzar densidades altas de memoria por cantidad de transistores, logrando integrados de cientos o miles de megabits. Además de DRAM, los módulos poseen un integrado que permiten la identificación de los mismos ante la computadora por medio del protocolo de comunicación Serial Presence Detect (SPD).


La conexión con los demás componentes se realiza por medio de un área de pines en uno de los filos del circuito impreso, que permiten que el módulo al ser instalado en un zócalo o ranura apropiada de la placa base, tenga buen contacto eléctrico con los controladores de memoria y las fuentes de alimentación.














La necesidad de hacer intercambiable los módulos, y de utilizar integrados de distintos fabricantes, condujo al establecimiento de estándares de la industria como los Joint Electron Device Engineering Council (JEDEC).


1. Paquete DIP (Dual In-line Package, paquete de pines en-línea doble).


2. Paquete SIPP (Single In-line Pin Package, paquete de pines en-línea simple): fueron los primeros módulos comerciales de memoria, de formato propietario, es decir, no había un estándar entre distintas marcas.


3. Módulos RIMM (Rambus In-line Memory Module, módulo de memoria en-línea rambus): Fueron otros módulos propietarios bastante conocidos, ideados por la empresa RAMBUS.


4. Módulos SIMM (Single In-line Memory Module, módulo de memoria en-línea simple): formato usado en computadoras antiguas. Tenían un bus de datos de 16 o 32 bits.


5. Módulos DIMM (Dual In-line Memory Module, módulo de memoria en-línea dual): usado en computadoras de escritorio. Se caracterizan por tener un bus de datos de 64 bits.


6. Módulos SO-DIMM (Small Outline DIMM): usado en computadoras portátiles. Formato miniaturizado de DIMM.


7. Módulos FB-DIMM (Fully-Buffered Dual Inline Memory Module): usado en servidores.






Historia


Uno de los primeros tipos de memoria RAM fue la memoria de núcleo magnético, desarrollada entre 1949 y 1952 y usada en muchos computadores hasta el desarrollo de circuitos integrados a finales de los años 60 y principios de los 70. Esa memoria requería que cada bit estuviera almacenado en un toroide de material ferromagnético de algunos milímetros de diámetro, lo que resultaba en dispositivos con una capacidad de memoria muy pequeña. Antes que eso, las computadoras usaban relés y líneas de varios tipos construidas para implementar las funciones de memoria principal con o sin acceso aleatorio.





En 1969 fueron lanzadas una de las primeras memorias RAM basadas en semiconductores de silicio por parte de Intel con el integrado 3101 de 64 bits de memoria y para el siguiente año se presentó una memoria DRAM de 1024 bytes, referencia 1103 que se constituyó en un hito, ya que fue la primera en ser comercializada con éxito, lo que significó el principio del fin para las memorias de núcleo magnético.

ALU


Introducción


La unidad aritmética lógica, también conocida como ALU (siglas en inglés de arithmetic logic unit), es un circuito digital que calcula operaciones aritméticas (como suma, resta, multiplicación, etc.) y operaciones lógicas (si, y, o, no), entre dos números.


Muchos tipos de circuitos electrónicos necesitan realizar algún tipo de operación aritmética, así que incluso el circuito dentro de un reloj digital tendrá una ALU minúscula que se mantiene sumando 1 al tiempo actual, y se mantiene comprobando si debe activar el sonido de la alarma, etc.


Por mucho, los circuitos electrónicos más complejos son los que están construidos dentro de los chips de microprocesadores modernos. Por lo tanto, estos procesadores tienen dentro de ellos un ALU muy complejo y potente. De hecho, un microprocesador moderno (y los mainframes) puede tener múltiples núcleos, cada núcleo con múltiples unidades de ejecución, cada una de ellas con múltiples ALU.


La ALU se compone básicamente de: Circuito Operacional, Registros de Entradas, Registro Acumulador y un Registro, conjunto de registros que hacen posible la realización de cada una de las operaciones.


La mayoría de las acciones de la computadora son realizadas por la ALU. La ALU toma datos de los registros. Estos datos son procesados y los resultados de esta operación se almacenan en los registros de salida de la ALU. Otros mecanismos mueven datos entre estos registros y la memoria.2


Una unidad de control controla a la ALU, al ajustar los circuitos que le señala a la ALU qué operaciones realizar.


En la imagen se detalla una ALU de 2 bits con dos entradas (operandos) llamadas A y B: A [0] y B [0] corresponden al bit menos significativo y A [1] y B [1] corresponden al bit más significativo.


Cada bit de la ALU se procesa de manera idéntica, con la excepción del direccionamiento del bit del acarreo. El manejo de este bit es explicado más adelante.


Las entradas A y B van hacia las cuatro puertas de la izquierda, de arriba a abajo, XOR, AND, OR. Las tres primeras puertas realizan las operaciones XOR, AND, y OR sobre los datos A y B. La última puerta XOR es la puerta inicial de un sumador completo.


El paso final de las operaciones sobre cada bit es la multiplexación de los datos. La entrada OP de 3 bits, OP [0], OP [1] y OP [2] (desde la unidad de control) determina cuál de las funciones se van a realizar:


· OP = 000 → XOR


· OP = 001 → AND


· OP = 010 → OR


· OP = 011 → Adición


Claramente se ve que las otras cuatro entradas del multiplexor están libres para otras operaciones (sustracción, multiplicación, división, NOT A, NOT B, etc.). Aunque OP [2] actualmente no es usada en este montaje (a pesar de estar incluida y conectada), ésta sería usada en el momento de realizar otras operaciones además de las 4 operaciones listadas arriba.


Los datos de acarreo de entrada y acarreo de salida, llamados flags (banderas), son típicamente conectados a algún tipo de registro de estado.











HISTORIA


El matemático John von Neumann propuso el concepto de la ALU en 1945, cuando escribió un informe sobre las fundaciones para un nuevo computador llamado EDVAC(Electronic Discrete Variable Automatic Computer) (Computador Automático Variable Discreto Electrónico). Más adelante, en 1946, trabajó con sus colegas diseñando un computador para el Princeton Institute of Advanced Studies (IAS) (Instituto de Princeton de Estudios Avanzados). El IAS computer se convirtió en el prototipo para muchos computadores posteriores. En esta propuesta, von Neumann esbozó lo que él creyó sería necesario en su máquina, incluyendo una ALU.





Von Neumann explicó que una ALU es un requisito fundamental para una computadora porque necesita efectuar operaciones matemáticas básicas: adición, sustracción, multiplicación, y división.1 Por lo tanto, creyó que era "razonable que una computadora debería contener los órganos especializados para estas operaciones".

sábado, 21 de febrero de 2015

Podcast Unidad 1

Resumen de la unidad 1 de Arquitectura de Computadoras

Interrupciones

Existen tres tipos principales de interrupciones que producen una detención en la ejecución normal de un programa. Se clasifican de la manera siguiente:

  • Interrupciones requeridas por hardware
  • Interrupciones requerida por software para interactuar con periférico

INTERRUPCIONES REQUERIDA POR HARDWARE


Es iniciada por un periférico que demanda atención ya que ha ocurrido un evento relativo a este periférico que demanda algún procedimiento de parte de la CPU. En un PC las primeras 16 interrupciones son de este tipo por lo que los primeros 64 bytes de la memoria RAM son direcciones que apuntan bloques de instrucciones residentes en otras áreas de la memoria RAM.



INTERRUPCIONES REQUERIDA POR SOFTWARE PARA INTERACTUAR CON PERIFÉRICO

Una característica importante de la operación de interrupciones es que ellas están jerarquizadas para resolver conflictos entre las múltiples interrupciones. Este mecanismo está basado en la priorización de interrupciones de modo que una interrupción de mayor prioridad puede interrumpir una de menor prioridad pero no al revés. De este modo el sistema de interrupciones funciona ordenadamente lo que permite por ende un funcionamiento robusto del computador.






INTERRUPCIÓN EXTERNA

Las interrupciones externas provienen de dispositivos de entrada y salida (E/S), de un dispositivo de temporización, de un circuito que monitorea la fuente de almacenamiento o de cualquier otra fuente externa.
Estas interrupciones se pueden disparar desde el exterior del micro cambiando el nivel de tensión de uno de sus pines, todas tienen asociadas una o varias patillas del micro controlador y son las que usaremos para los botones.
Algunos ejemplos de lo que produce interrupciones externas son dispositivos de E/S que solicitan transferencia de datos, dispositivos de E/S que terminan transferencia de datos, tiempo transcurrido de un evento o una falla de energía.

INTERRUPCIONES INTERNAS

Son aquellas provocadas dentro del propio procesador por una situación anormal de funcionamiento de alguna de sus partes. Las interrupciones internas surgen debido a la utilización ilegal o errónea de una instrucción o datos. Las interrupciones internas también se llaman trampas. Algunos ejemplos de las interrupciones provocadas por condiciones de error internas son los sobreflujos de registro, intentar dividir entre cero, un código de operación no válido, desbordamiento de pila, y violación de la protección.

INTERRUPCIONES DE PROGRAMA

Son aquellas que son programables y que podemos cambiar. Las interrupciones de software podemos llegar a manejarlas y por ello el ensamblador nos proporciona una instrucción que nos permita poner en funcionamiento una determinada rutina de interrupción; esta instrucción es INT.
La interrupción de programa se inicia al ejecutar una instrucción de solicitud especial que se comporta como una interrupción más que como una solicitud de subrutina. El programador puede utilizarla para iniciar un procedimiento de interrupción de programa se asocia con una instrucción de llamada de supervisor.

TIPOS DE INTERRUPCIONES DE HARDWARE

Interrupción enmascarable: bajo control del software, el procesador puede aceptar o ignorar (enmascarar) la señal de interrupción. La primera señal es simplemente un aviso; la segunda es una petición para que el PIC coloque en el bus de datos un Byte con el número de interrupción, de forma que el procesador pueda localizar el servicio solicitado.
Interrupción no enmascarable:  la interrupción no puede ser deshabilitada por software.

CICLO DE INTERRUPCIÓN

El procesador comprueba si ah ocurrido alguna interrupción. Si no hay interrupciones pendientes, el procesador trae la próxima instrucción del programa en curso. Si hay una interrupción pendiente, el procesador suspende la ejecución del programa en curso y ejecuta la rutina de tratamiento de la interrupción