Con la tecnología de Blogger.

Que es el computador

miércoles, 10 de agosto de 2011


Que es el computador

Para entender que es el computador les voy a describir cada uno de sus órganos.

El computador se compone de una placa madre, un microprocesador, memorias ram, disco rígido, placa de video, placa sintonizadora, disketera, posee puertos de entrada y de salida, puertos usb, entrada de red, de micrófono, salida de parlantes.

Normalmente el computador también se lo suele llamar, la computadora, o simplemente la CPU, refiriéndose a todo el gabinete que contiene a todos los elementos discriptos anteriormente.


Como hacer el armado de el computador:

Para uno poder ver como hacer el armado de el computador, debemos ver los videos que estan en este mismo blog vistosiblog.blogspot.com, el mismo trata todos los temas sobre las tecnologías de las computadoras.

Read more...

Periféricos de un Computador

martes, 9 de agosto de 2011

Periféricos de un Computador

La función principal de los periféricos es convertir datos externos en internos y viceversa. Los periféricos de entrada son los encargados de proporcionar datos o instrucciones provenientes del exterior y convertirlas en señales eléctricas binarias, codificadas, para su posterior almacenamiento en memoria.

Los periféricos de salida sirven para que los resultados de procesos codificados , se transformen en el periférico, en señales de otro tipo, es decir, se almacenen, se visualizan o se transmitan.

Electrónica del Periférico (EP): se encuentra, en general, alojada en el periférico mismo. El EP se conecta a la CPU, a través de otro circuito: la interfaz buffer (IB) o “adaptador”.

Por interfaz se entiende cualquier dispositivo adaptador que permita conectar dos sistemas o subsistemas diferentes.

Entre el periférico y el CPU hay dos niveles de circuitos electrónicos, la EP y la interfaz. La EP se encuentra en el periférico y la interfaz en una plaqueta enchufable en el mother (Off Board) o la plaqueta incorporada al mother (On Board), como por ejemplo, un Modem interno.

Interfaces Buffers

Un buffer es un registro (o varios) para almacenar temporalmente información. Su función es adaptar dos velocidades distintas permitiendo independencia entre productor y consumidor, con el fin de que ambos estén permanentemente ocupados.

Los periféricos no se conectan directamente a MP, sino que reciben o envían datos desde o hacia la MP a través de buffers intermedios que almacenan temporalmente dichos datos. Dada la gran diferencia de velocidades de operación y transmisión de datos entre la parte central de un computador (totalmente electrónico) y sus periféricos (con movimientos mecánicos) se impone necesariamente la existencia de interfaces buffers entre ambos, con registros para poder almacenar, el tiempo requerido, la información en curso.

Así como se requieren buffers intermedios para la transferencia de datos en operaciones de E/S, también son necesarios otros buffers para depositar transitoriamente las órdenes de control. Los registros de la CPU envían el código de operación a la interfase buffer (IB), para que el periférico sepa qué acción realizar. Asimismo, existirá un Registro de Estado del periférico ligado a la interfaz, para codificar si el mismo está operando o no. Por lo tanto, para cada periférico se requiere la existencia de uno o varios buffers entre su EP y la porción central, que oficien de intermediarios para adoptar velocidades dispares o coordinar el pasaje de datos entre dichos subsistemas.

Registros buffers ports: en los sistemas basados en microprocesadores se designa “Ports” a los registros usados como buffers entre un periférico y la porción central. Los registros ports para datos y control constituyen la parte central de una circuitera interfaz buffer (IB).

La UC puede leer o escribir estos registros a través del bus de datos como si fueran posiciones de memoria principal. Para tal fin, cada uno de estos registros ports de una IB tiene un número (dirección) para poder ser seleccionado por la UC. Cada IB posee circuitos para detectar las direcciones de sus ports y para generar su señal IR (interrupción requerida) que llega a la UC mediante un cable del bus de control.

Existen registros ports serie y paralelo, según que la transferencia de datos entre el port y el EP de su periférico sea mediante una línea o varias, conforme a la velocidad de transferencia de datos requerida. Ejemplos del primer tipo son los ports para teclado modem y mouse; usándose ports en paralelo para la impresora, disco y monitor.

Necesidad del Buffer

Con una DRAM de tiempo de acceso de 60 nanosegundos (nseg), cada vez que la UC de 50 Mhz (20 nseg por pulso de reloj) desee leer o escribir un dato en ella, deben transcurrir 3 pulsos de reloj.

Si se contara DRAM de tiempo de acceso de 20 nseg se utilizaría un pulso de reloj, pudiéndose emplear los otros dos en otras acciones (una operación aritmética o pedir un dato). De esta forma la ejecución de las instrucciones se haría más rápida, sin pulsos de espera (“wait states”).

Justamente ésta es la función de la memoria buffer caché de poca capacidad, interpuesta entre la CPU y la MP de tipo DRAM, de forma tal que, siguiendo con el ejemplo dado, la CPU pueda leer o escribir una palabra en dicho buffer en 20 nseg en tanto que al mismo tiempo pueda llegar desde la MP una palabra cada 60 nanosegundos (igual tiempo para la escritura en MP desde caché).

¿Cómo opera el caché durante el procesamiento de datos?

Cuando la UC ordena leer una dirección de MP, los circuitos de control del caché transforman la dirección de MP en una dirección del caché, la cual proporciona rápidamente la palabra direccionada (sea instrucción o dato). Si la palabra direccionada no está en el caché, la transfieren a éste y, además de dicha palabra, transfieren un bloque de unas 16 palabras de la zona “activa” de la MP. De esta forma, en la caché se anticipan los contenidos de MP que casi seguramente perdió la UC. Cuando se debe cambiar en el caché un bloque “activo” por otro, se decide por medio de un algoritmo de reemplazo.

Buffer Memoria Caché entre MP y CPU: si la velocidad de procesamiento de datos de la CPU es mayor que la de la MP, la primera deberá esperar a la segunda.


ENTRADA /SALIDA : Transferencia por ADM y AIM

En una operación de entrada los datos provenientes del exterior pasan por el periférico, siguen por el registro port de datos de su IB y tienen como destino la MP. Inversamente, una salida de datos tiene como origen la MP y de ésta deben legar al registro port de la IB del periférico de salida, para luego, a través de éste, salir al exterior. El pasaje de datos del registro port de una interfaz hasta la MP, o viceversa, constituye la fase de transferencia de una operación de entrada o salida.

Las dos formas de realizar esta fase son: el Acceso Directo a Memoria (ADM) y el Acceso Indirecto a Memoria (AIM).

Acceso Directo a Memoria: la transferencia se hace directamente al registro port de datos de una interfaz hacia la MP o viceversa, según sea una operación de entrada o salida. Una transferencia por ADM desde o hacia una IB, se realiza sin que la UC pierda tiempo en la ejecución de instrucciones para efectuarla, mediante un circuito complementario de la interfaz: “el controlador de ADM”. Este, como la UC, puede leer o escribir la MP, lo cual indica que en un principio debe poder enviarle a la UC las direcciones, y activar el cable de L/E para leer o escribir. La MP solo puede ser leída o escrita por la ADM únicamente en el transcurso de una operación de E/S. Al conjunto interfaz controlador ADM lo designaremos “Interfaz Buffer con ADM” (IADM) o (UADM).

Se impone al ADM para periféricos de gran velocidad de transferencia como la unidad de disco rígido, unidad de cinta magnética y para unidad de disquetes y rastreador (scanner).

Acceso indirecto a memoria mediante instrucciones que realiza la UC: en estas transferencias, en una operación de entrada, el dato contenido en un registro port pasa primero por un registro de la UC antes de llegar a la MP.

Port Datos --> Registro “A” de la CPU --> MP

Si ocurre una salida, tiene lugar una triangulación en sentido contrario.

Para que en una operación de entrada se realice lo anterior, la UC debe ejecutar:

1)Una instrucción que ordene transferir una copia del contenido del registro port de la IB hacia un registro de la CPU.

2)Otra instrucción que ordene transferir una copia del contenido de este último registro hacia una posición de MP.

Puesto que la transferencia sucede porque es ordenada por las instrucciones, la AIM es un proceso controlados por “Software”, a diferencia del ADM que ocurre por el controlador de ADM, que es un circuito (“Hardware”). Este tipo de transferencia a cargo de la UC, se emplea para periféricos más lentos: teclado, mouse, módems, etc.

Firmware

Se denomina firmware al software (programas) almacenado permanentemente en el hardware constituido por una memoria ROM electrónica. Dentro de este grupo existe un programa que debe estar necesariamente en MP tipo ROM: el programa de arranque del computador que, al encender éste, inicialice registros con un valor predeterminado y permita que los programas resguardados en disco puedan cargarse en la parte RAM de la MP, en especial el Sistema Operativo (S.O.). Cuando la CPU es energizada, automáticamente su registro de dirección de instrucción a ejecutar toma un valor prefijado y lo primero que hace la CPU es buscar en MP la instrucción existente en dicha dirección. Dicha instrucción será la primera del “programa de arranque” citado, almacenado permanentemente en la porción ROM de MP.

Se llama “bufeo” a la acción del “programa de arranque” de traer del disco a MP, los primeros programas que se deban ejecutar. En la MP de las computadoras existe la ROM bios, que contiene, además de los programas de diagnostico y arranque citados, subrutinas para manejar operaciones de E/S, especialmente en lo referente al manejo de los ports y otras rutinas de servicios relacionados.


Relación Entre los Tamaños de las Porciones ROM y RAM de MP

En un procesador dedicado, en general predominará en MP la porción ROM sobre la RAM, salvo que los datos (o resultados) sean muy voluminosos. En un procesador multipropósito, la porción RAM, será mucho mayor que la ROM, puesto que los programas van cambiando en MP según la aplicación. Si se almacenara el S.O. en la porción ROM aumentaría notablemente la porción de éste dentro de la MP.

Read more...

Búsqueda y Ejecución de Instrucciones

Bus del Sistema

Se denomina bus del sistema al conjunto de circuitos encargados de la conexión y comunicación entre la CPU y el resto de las unidades de a computadora.

Para ello utiliza un conjunto de varias líneas eléctricas que permiten la transmisión de los datos en paralelo. Un bus de 16 bits transfiere simultáneamente esa cantidad de bits entre dos unidades cualesquiera. Además de las líneas de datos, el bus consta de otras líneas especializadas en las funciones que se indican a continuación:

Líneas de control: mediante ellas se transfieren las órdenes procedentes de la unidad de control a las otras unidades.

Líneas de direcciones: contienen la dirección del destino al que van dirigidos los datos que se están transmitiendo por las líneas de datos.

En el siguiente esquema general simple, no se dibujó el bus de control, ya que el mismo se dirige hacia todos los elementos.
Instrucciones

Las instrucciones que es capaz de realizar la CPU se denominan instrucciones de maquina. El lenguaje que se utiliza para su codificación es el lenguaje de máquina y de acuerdo con su función, se clasifican en: instrucciones de cálculo (aritmético y lógico), de transferencia de datos, de ruptura de secuencia, etc.
Una segunda clasificación de las instrucciones de máquina hacen referencia a su formato y al número de operandos que intervienen en ellas, teniendo en cuenta que todas tienen, en primer lugar, el código de operación y, además, los operandos relativos a los datos que son necesarios para realizar su misión.
Instrucciones sin operandos (o instrucciones sin dirección): se utiliza generalmente en computadoras cuya arquitectura tiene filosofía de pila.

Una pila esta formada por datos almacenados en orden consecutivo en la memoria, existiendo un registro especial, denominado puntero de pila, que nos indica la dirección del último dato introducido en ella. Cuando se saca un dato de la misma, el puntero decrece apuntando al dato que está a continuación, hasta llegar al fondo de la pila.

Es decir, hasta llegar al dato que se introdujo en primer lugar. Cuando se trata de introducir un dato en ella, el puntero toma la dirección de memoria siguiente en orden ascendente y se introduce en dicha dirección. Estas instrucciones sólo llevan código de operación, de tal forma que, cuando se trata de una operación de cálculo, se sacan los operandos de la pila (previamente introducidos) y el resultado se introduce en ella.


Instrucciones de un operando (o una dirección): se utiliza generalmente en máquinas cuya arquitectura funciona con filosofía de acumulador. El acumulador de la UAL contiene previamente el primer argumento de la operación, el segundo es el contenido de la propia instrucción, y después de ser operados, ambos, por el circuito operacional, el resultado queda depositado nuevamente en el acumulador.


Instrucciones de 2 operandos (o 2 direcciones): contiene el código de operación y 2 operandos. Uno de ellos actúa, además, como receptor del resultado de la operación.


Recordemos que una computadora puede tener instrucciones de los varios tipos expuestos, según sea su arquitectura.

Instrucciones de 3 operandos (o 3 direcciones): constan, en primer lugar, de un código de operación al que le siguen 3 operandos; los dos primeros son las direcciones de los argumentos que hay que operar y el tercero es la dirección donde se depositará el resultado.

Este formato de instrucción es el más cómodo de trabajar pero es el que precisa mayor número de bits.


Métodos de Direccionamiento (MD)

Son los modos que se utilizan en la instrucción para indicar la posición de memoria en que está situado el dato y constituyen los operandos intervinientes en la misma. Los principales métodos son:
Direccionamiento Inmediato: el dato que hay que utilizar forma parte de la propia instrucción; por lo tanto, no es necesario el acceso a memoria.


Direccionamiento Directo: la instrucción contiene la dirección de la memoria central, donde se encuentra situado el dato; aquí sí es necesario un acceso a memoria para trasladar el dato hasta la UAL o hasta la unidad asignada por la instrucción.


Direccionamiento Indirecto: la dirección contenida en la instrucción no es la del dato implicado, sino la de una posición de memoria que contiene la dirección de ese dato. Esto implica que se necesita un ciclo de memoria más para acceder al dato.


Direccionamiento relativo: la dirección de memoria central donde se encuentra el dato, se consigue sumando la dirección contenida en la propia instrucción con una magnitud fija contenida en un registro especial.


Ciclo de Instrucción: para que un programa pueda ser ejecutado por una computadora, éste debe estar almacenado en la memoria principal. La CPU tomará una a una sus instrucciones e irá realizando las tareas correspondientes.

Denominamos ciclo de instrucción al conjunto de acciones que se llevan a cabo en la realización de una instrucción. Se compone de dos fases:

Fase de búsqueda de una instrucción: en esta fase se transfiere la instrucción que corresponde ejecutar desde la memoria central a la UC.

Ejemplo: supongamos un ejemplo de instrucción aritmética de suma con tres direcciones y direccionamiento directo; es decir, la instrucción contiene el CO de la suma, los dos sumandos estáan en las direcciones de memoria de los dos primeros operandos y el resultado quedará en la dirección indicada por el tercer operando.

SUMAR 033 992 993 (Sumar los contenidos de las posiciones de memoria 033 y 992, almacenando el resultado en la posición 993)

CO: SUMAR

Dirección del primer sumando (OP1): 033
Dirección del segundo sumando (OP2): 992
Dirección del resultado (OP3): 993


En la fase de búsqueda de la instrucción se realizarán los siguientes pasos:

1) La UC envía una microórden para que el CP que contiene la dirección de la siguiente instrucción, sea transferido al RDM.

2) La posición de memoria que figura en el RDM, es utilizada por el selector para transferir su contenido (instrucción) al RIM.

3) Se transfiere la instrucción del RIM al RI.

4) El decodificador interpreta la instrucción al RI, en este caso SUMAR, quedando dispuesto para la activación del circuito sumador de la UAL e informando al secuenciador.

5) El CP se auto incrementa con un valor 1 (o n en el caso de que esta sea la longitud de la palabra de memoria), de tal forma que quede apuntando a la siguiente instrucción situada consecutivamente en memoria.

Si la instrucción es de ruptura de secuencia, el CP se cargará con la dirección que corresponda.

Fase de ejecución de una instrucción: consiste en la realización de todas las acciones que conlleva la propia instrucción. Realiza los siguientes pasos:


1) Se transfiere la dirección del primer operando desde RI al RDM.

2) El selector extrae dicho dato de la memoria y lo deposita en el RIM.

3) Se lleva este operando desde el RIM al registro de entrada 1 (REN1) de la UAL.

4) Se transfiere la dirección de segundo operando desde el RI al RDM.

5) El selector extrae de la memoria dicho dato depositándolo en el RIM.

6) Se lleva este operando desde el RIM al registro de entrada 2 (REN2) de la UAL.

7) El secuenciador envía una microonda a la UAL para que se ejecute la operación (en este caso una suma).
El resultado de la operación queda almacenado en el RA.

8) Este resultado es enviado desde el RA al RIM.

9) Se transfiere desde el RI al RDM la dirección donde se almacenara el resultado en la memoria.

10) Se transfiere el resultado desde el RIM a la dirección de memoria indicada en el RDM.

Si en la instrucción no se hubiese necesitado operando, no se ejecutarían los pasos 1 a 6, ni el 8.

Las siguientes fases se explican en forma dinámica en las diapositivas del esquema general (que se pueden bajar de la página http://vistosiblog.blogspot.com/:

Fase de búsqueda de la instrucción
Fase de Ejecución de la Instrucción de Almacenamiento
Fase de Ejecución de la Instrucción de Carga
Fase de Ejecución de la Instrucción de Salida

Read more...

Como funciona una Memoria

Memoria Central

Se recomienda leer las diapositivas del esquema general para una mejor comprensión del tema memorias. Dichas diapositivas se pueden bajar de la pagina web http://vistosiblog.blospot.com/

La memoria central, principal o interna es la unidad donde están las instrucciones y los datos necesarios para poder realizar un determinado proceso en la CPU. Guarda los resultados intermedios y finales. Está constituida por multitud de celdas o posiciones de memoria, numeradas de forma consecutiva, capaces de retener, mientras la computadora está conectada, la información depositada en ella.

A la numeracióon de las celdas se la denomina dirección de memoria y mediante esta dirección se puede acceder de forma directa a cualquiera de ellas, independientemente de su posición; se dice por ello, que la memoria central es un soporte de información de acceso directo. Por eso mismo, el tiempo de acceso a la memoria central es notablemente inferior al necesario para acceder a las memorias auxiliares. La capacidad de direccionamiento de una memoria está dada por el bus de direcciones. Con n bits en el bus de direcciones se pueden direccionar dos posiciones de memoria, por ejemplo con 4 bits, 16 posiciones. (Bits²).


No hay que confundir los términos “celdas” o “posición” de memoria con el de “palabra de computadora”, ya que esta última es la cantidad de información que puede introducirse o extraerse de la memoria central de una sola vez. El tamaño habitual de las palabras de las computadoras actuales suele ser de 16, 32 o 64 bits.
En la CPU la dirección de la posición a la que se quiere acceder, se forma de un “Registro de Direcciones” (RD), en inglés “Memory Address Registrer” (MAR). Este registro se comunica con el registro interno de la MP, encargado de guardar transitoriamente la dirección de la posición que se quiere seleccionar, que denominaremos “Registro de Direcciones de Memoria” (RDM).

Registro de Dirección de Memoria (RDM): antes de la realización de una operación de lectura o escritura se ha de colocar en este registro la dirección de la celda que se va a utilizar en la operación, bien para grabar en ella o para extraer de la misma, el dato correspondiente.

Registro de Intercambio de Memoria (RIM): si se trata de una operación de lectura de memoria, este registro es el que recibe el dato de la memoria señalado por el RDM para su envío por medio del bus del sistema a la unidad que lo requiere. Si se trata de una operación de escritura en memoria la información que hay que grabar, procedente de cualquier unidad funcional, es depositada por medio del bus en el RIM para que desde él, se transfiera a la posición de memoria indicada por el RDM.

Selector de Memoria (SM): este dispositivo se activa cada vez que se produce una orden de lectura o escritura, conectando la celda de memoria, cuya dirección figura en el RDM, con el RIM y posibilitando la transferencia de los datos en un sentido o en otro.

La capacidad de la memoria o cantidad máxima de información que es capaz de almacenar se mide en múltiplos de 8 bits.

Registro Puntero de Pila o Stock Pointer (SP): se encuentra la dirección de un programa a seguir ejecutando, luego de ejecutor un subrutina.

Tecnológicamente la MP está formada por un conjunto de pastillas (chips) con circuitos integrados que poseen una cierta cantidad de memoria, de modo de conseguir la capacidad total de memoria necesaria. Dichas pastillas son “memorias de acceso directo” o “al azar” (random), esto supone que los datos requeridos son rápidamente localizados, por lo tanto, no son aptos para tal fin los discos o cintas que realizan una búsqueda secuencial. Al contenido de cualquier posición se puede acceder en igual tiempo, sin búsquedas, indicando un número que lo identifica, que es su dirección.


Una lectura de MP implica una escritura en la CPU, y una escritura de la MP supone una lectura de la CPU. En general, cuantos más registros presente una CPU, realizará menos accesos a MP, para ejecutar una secuencia de instrucciones y otros procedimientos.

La MP está constituida por dos porciones random: una que puede ser leída o escrita (RAM) y otra que puede ser solamente leída (ROM). Esta última es no volátil, es decir, que no se pierden los datos en caso de fallos del suministro eléctrico o caídas del sistema.

Si la velocidad de procesamiento de datos de la CPU es mayor que la velocidad de la MP, la primera deberá esperar a la segunda (se estima que las acciones dentro de la CPU ocurren en el orden de las milmillonésimas de segundo).

La RAM puede ser dinámica (DRAM) o estática (SRAM)

La DRAM es la más utilizada como memoria de trabajo de la computadora y la SRAM puede ser instalada en forma opcional como memoria caché.

La DRAM contiene capacitores para almacenar los bits. Un capacitor pierde su carga enseguida, es decir, pasa de un estado de tensión (1) a uno de no tensión (0). Esto supone que un valor escrito en una memoria con estas características, desaparece pasado un breve instante de tiempo, por lo tanto, es necesario refrescar constantemente la carga eléctrica de los capacitores. En los procesos de refresco se lee el valor de cada posición de memoria y se vuelve a escribir en ciclos tan cortos que las cargas eléctricas no tienen tiempo de volatilizarse. Dicho de otra forma, cada determinada cantidad de tiempo se debe regrabar la información que está almacenada. Para tal fin, la memoria tiene un circuito adicional que “refresca” la carga eléctrica, de modo que no se pierda el bit almacenado.

Mientras el sistema se encuentra haciendo el refresco, el microprocesador no tiene acceso a los datos y debe esperar a que termine la operación. Por ello, este tipo de memorias es más lenta que la SRAM, pero consume menos energía.

En la SRAM los datos permanecen almacenados mientras el circuito tenga tensión. Debido que no necesita refresco, es mucho más rápida, ya que el microprocesador siempre la encuentra disponible para E/S de datos. Por su rapidez, es ampliamente utilizada en la computadora como memoria intermedia (memoria caché) entre las unidades de almacenamiento y el CPU.

La SRAM guardan cada bit en un circuito “flip- flop”, que lo almacena mientras se mantenga la alimentación, sin necesidad de refresco. Por su tecnología, es de alto costo, por lo que generalmente no es utilizada en grandes cantidades dentro de la computadora y,, además, consume más energía. La MP se comunica con la CPU a través de un bus principal, que consta de tres buses:

a) Líneas para transmitir datos e instrucciones entre la memoria principal y la CPU, que forman el bus de datos. Son bidireccionales, para la lectura o escritura. Su número es igual al de bits de la palabra de un computador.

Palabra: es un número de caracteres fijos que un computador trata como una unidad cuando los transfiere entre sus distintas unidades o los somete a distintos procesos, tales como lectura, escritura en memoria, operaciones aritméticas, etc. El tamaño de longitud de una palabra determina el ancho de los buses por donde se transmiten las palabras y el de los registros donde una palabra puede almacenarse.

Un procesador capaz de procesar palabras de 64 bits debe poder tomar de MP, ese número de bits cada vez que accede a ella. Suponiendo un tiempo de acceso a MP de 70 ns, el procesamiento de los datos que están en MP será más rápido si en cada acceso a ella el número de bits que la UC puede tomar o enviar en paralelo es el mayor posible.

b) Líneas para transmitir direcciones desde la CPU hacia la MP, para localizar las posiciones de memoria, para leer o escribir, que constituyen el bus de direcciones.

c) Líneas para transmitir señales de control, que van de la CPU a la MP para ordenar su escritura o lectura, que constituyen el bus de control.

Memoria Flash

Este es un tipo de memoria en estado sólido no volátil, corriente y rescribible, que funciona como RAM y una unidad de disco duro combinados. La memoria Flash almacena bits de datos electrónicos en celdas de memoria, y además funciona como una unidad de disco duro que, cuando se apaga la energía, mantiene los datos guardados, a diferencia de la memoria RAM, que los pierde. Debido a su alta velocidad, su durabilidad y sus bajos requerimientos de voltaje, la memoria Flash es ideal para utilizar en aplicaciones tales como cámaras digitales, teléfonos celulares, aparatos de MP3, computadoras portátiles y handhelds, entre otros dispositivos.

Fabricación de la Memorias

El componente primario en la fabricación de chips es el “silicio”, ingrediente que se extrae de la arena. Durante el proceso de fabricación, los patrones se imprimen en los circuitos mediante una variedad de técnicas. Una vez que finaliza este proceso, se prueban y se cortan. Los chips buenos se separan, y se inicia una etapa llamada “enlace”, la cual establece las conexiones entre el chip y las guías de oro o de estaño. Una vez que se enlazan, se empacan en gabinetes de plástico o de cerámica sellados herméticamente. Luego de la inspección debida, están listos para su venta.

La memoria está formada por tres componentes principales: los chips de memoria, los semiconductores llamados DRAM y la tarjeta (PCB), entre otros elementos tales como resistencias y capacitores. La construcción de una tarjeta de alta calidad requiere mucho cuidado.


El proceso básico de la fabricación de PCB es muy similar al de los chips de la memoria. Después de que se produce el PCB, el módulo está listo para ensamblar. Este proceso de montaje en la superficie y de perforación de los componentes en el PCB es llevado a cabo por sistemas automatizados. Los módulos que pasan la inspección se empacan, y quedan listos para su venta.

¿Que Ocurre al Actualizar la Memoria de una Pc?

Con la actualización de memoria, las aplicaciones responden mucho más rápidamente, las páginas web se cargan de manera más veloz, y es posible tener más programas ejecutándose de forma simultánea. Al contar con memoria adicional, se disfruta más el uso de la computadora. Hoy por hoy, es muy habitual compartir la información por medio de una red. Los encargados de distribuir la información a los usuarios son los servidores, y es fundamental su buen funcionamiento para el desempeño de la red. Si bien el hecho de actualizar la memoria en una PC individual representa una inmensa diferencia para la persona que la utiliza, hacerlo en un servidor tiene beneficios mucho mayores, por su confiabilidad y desempeño.ble as
egurarse de que



¿Como Se Mide la Velocidad de la Memoria?

Antes, la velocidad de la memoria se medía en nanosegundos (ns); hoy se calcula en megahertz (MHz), como el reloj de la tarjeta madre de la computadora. Lo que se mide es el tiempo real requerido para generar datos; o sea, indica la rapidez con la que el módulo de memoria puede generar una solicitud una vez que la recibe de la CPU.

Read more...

CPU: Unidad Central de Proceso

lunes, 8 de agosto de 2011

Esquema General de la Computadora

Unidad Central de Proceso

La Unidad Central de Proceso (CPU) es el verdadero cerebro de la computadora. Su misión consiste en controlar y coordinar, todas las operaciones del sistema. Para ello extrae una a una, las instrucciones del programa que tiene alojado en la memoria central, las analiza y emite las órdenes necesarias para su completa realización.

Físicamente está formada por circuitos de naturaleza electrónica que en una microcomputadora se encuentran integrados en una pastilla o chip denominada microprocesador.
La CPU está compuesta por las siguientes unidades:


 La Unidad de Control (UC)
 La Unidad Aritmético-Lógica (UAL)
 Registros rápidos de propósito especial, que son utilizados internamente por la misma. Los mismos pueden ser de direcciones o acumuladores.

Unidad de Control

La misión principal de la UC, es ejecutar de forma ordenada, las instrucciones, que obtiene de la MP. Para lo cual ordena:

• Movimientos de datos a procesar, desde la MP hacia un registro de la UAL
• Las operaciones que debe realizar la UAL sobre los datos
• Movimientos del resultado de cada operación hacia su destino
• Actualizar el registro CP

Estas acciones se realizan en sincronismo con los pulsos generados por un reloj, que así determina los instantes en que se debe procesar la ejecución de una instrucción.

Otra función importante de la UC es la detección de requerimientos de interrupción en la ejecución de programa que se está ejecutando, provenientes de periféricos, así como el manejo automático del procesamiento de cada interrupción. Las interrupciones se realizan para que se pase a ejecutar una subrutina de algún evento no contemplado en el programa. Luego de su ejecución, la UC puede seguir ejecutando el programa interrumpido.


Es decir, es el centro nervioso de la computadora, ya que desde ella se controlan y gobiernan todas las operaciones, hacia el interior (UAL, registros, etc.) y hacia el exterior (MP, periféricos, etc.). Consta de un conjunto de circuitos integrados dentro de la CPU que cumplen funciones específicas que permiten, por ejemplo: detectar la disponibilidad o no de algún periférico, la disponibilidad de posiciones en la MP, etc. Para realizar su función, consta de los siguientes elementos:

Contador de Programa (CP): contiene permanentemente la dirección de memoria de la siguiente instrucción a ejecutar. Al iniciar la ejecución de programa toma la dirección de su primera instrucción. Incrementa su valor en uno, de forma automática, cada vez que se concluye una instrucción, salvo si la instrucción es de salto o de ruptura de secuencia, en cuyo caso el CP tomara la dirección de la instrucción que se tenga que ejecutar a continuación; esta dirección está en la propia instrucción en curso.

Registro de Instrucción (RI): contiene la instrucción que se está ejecutando en cada momento. Esta instrucción llevará consigo el código de operación y en su caso los operandos o las direcciones de memorias de los mismos.

Código de Operación (CO): el valor de sus bits, indica al decodificador, de qué instrucción se trata (suma, resta, etc.).

Decodificador (D): se encarga de extraer el código de operación de la instrucción en curso (que está en el RI), lo analiza y emite las señales necesarias (micro comandos) al resto de los elementos para su ejecución a través del secuenciador.

Secuenciador (S): en este dispositivo se generan órdenes muy elementales (micro órdenes) que, sincronizadas por los impulsos de reloj, hacen que se vayan ejecutando poco a poco la instrucción que está cargada en el RI.

Método de Direccionamiento (MD): indica el modo de acceso a la memoria para buscar el dato o dirección necesario para la ejecución de determinadas instrucciones.

Campo de Dirección (CD): contiene la ubicación de datos (a ser procesados) dentro de la memoria central para acceder, junto con la información de MD, al dato o dirección requeridos para la ejecución de determinadas instrucciones.

Reloj (R): proporciona una sucesión de impulsos eléctricos o ciclos a intervalos constantes (frecuencia constante), que marcan los instantes en que han de comenzar los distintos pasos de que consta cada instrucción.

La UC requiere un número determinado de pulsos de reloj y, por lo tanto, igual número de combinaciones distintas deben aparecer en los cables que salen de la UC, según las instrucciones que le toque ejecutar.

Dichas combinaciones están guardadas en una ROM que forma parte de la unidad de control, denominada “ROM de Control”.

Dicha ROM viene con estas combinaciones de fábrica y es inmodificable. La ROM es una memoria de microinstrucciones que luego se transforman en micro comandos.

Cada pulso de reloj que recibe genera una nueva combinación de 1 y 0 en sus líneas de salida. De esta manera, a cada instrucción que la UC puede ejecutar, le corresponde una secuencia de combinaciones binarias contenidas en la ROM de Control.

En síntesis, cuando en una CPU dichas combinaciones están almacenadas en una ROM de Control, se dice que se trata de una máquina microprogramada y cada combinación se denomina microinstrucción. Es decir, cada instrucción se ejecuta mediante una secuencia de microinstrucciones que progresa con cada pulso de reloj, las cuales determinan las acciones que debe realizar la UC.

Procesos tipo CISC y RISC

En los ultimos años se distinguen dos grandes tendencias en la construcción de procesadores. Se diferencian esencialmente en las características de su repertorio de instrucciones.

Los procesadores CISC (Complex Instruction Set Computer) tienen un repertorio con un número de instrucciones alto (200-300); estas instrucciones además son más complejas que las de RISC, con lo que la circuitería necesaria para decodificación y secuenciación también aumenta, y la velocidad del proceso disminuye. Como ventaja, tenemos que se necesitan menos instrucciones para ejecutar una tarea. Además, el formato de las instrucciones es bastante variable (es decir, hay bastantes formatos). Por otro lado, el diseño hace que el procesador tenga que realizar constantes accesos a memoria.

Se le llama CISC a aquellos procesadores que utilizan instrucciones internas de tamaño variable. Estos procesadores, a diferencia de los RISC, pueden ejecutar operaciones complejas en una sola instrucción, pero requieren una etapa de decodificación para cada instrucción. Ejemplo de CISC son los procesadores x86 de Intel y 68xxxx de Motorola.

Los procesadores RISC (Reduced Instruction Set Computer) tienen características opuestas a los CISC. Su juego de instrucciones es más reducido (menos de 128), y las instrucciones son más sencillas (con lo que se necesitarán más instrucciones para ejecutar una tarea). El formato de instrucciones es fijo (o serán pocos formatos), con lo que el control del hardware es más sencillo y se facilita la colocación de las instrucciones en la memoria, lo que implica que los accesos a la memoria se aceleren. Por otra parte, estos accesos a memoria son menos frecuentes ya que el procesador posee un mayor número de registros. Estos procesadores son los que están presentes en las estaciones de trabajo. Como ejemplos podemos citar los procesadores ALPHA de Digital Equipment, y los SuperSPARC y MicroSPARC de Sun Microsystems y Texas Instruments.

Se le llama RISC a aquellos procesadores que utilizan instrucciones internas de tamaño fijo. Estos procesadores, a diferencia de los CISC, deben ejecutar operaciones complejas utilizando múltiples instrucciones. Pero debido a que todas tienen un mismo tamaño, no requiere de una etapa de decodificación y permiten obtener mayores velocidades de procesamiento.


Relacionada con los conceptos RISC y CISC está la técnica de segmentación ("pipeline"); esta técnica consiste en dividir la ejecución de la instrucción en bloques independientes que se ejecutan en paralelo. Es más eficiente para los procesadores RISC, aunque también se implementa en CISC. Para incrementar el rendimiento del procesador se debe bucar instrucciones ejecutables en paralelo. El sistema de carga de instrucciones debe analizar la secuencia de instrucciones que entran al procesador y buscar instrucciones ejecutables en paralelo asi como diseñar un control que tenga en cuenta posibles dependencias de datos entre las instrucciones a ejecutar en paralelo. Esto hace que el hardware empiece a complicarse.

La UC de computador descripta (80x86 hasta Pentium inclusive) son del tipo CISC, o sea, Computador con Set de instrucciones Complejo (set mayor a 200 instrucciones de máquina, entre simples y complejos, de formato desigual). Se caracterizan por presentar un conjunto grande de instrucciones, desde las sencillas para procesar números, hasta las complejas para estructuras de datos como matrices. Requieren ROM de Control en la CPU.

Mediante el procesamiento “pipe line” es posible que en un procesador CISC se termine de ejecutar en promedio una instrucción simple por cada pulso (ciclo) de reloj.

Los computadores con procesadores RISC, o sea, Computador con Set Reducido de Instrucciones ( repertorio menor a 100 instrucciones simples de maquina, de igual formato, todos de 32 a 64 bits), permiten un “pipe line” más eficiente que los CISC, asegurando la ejecución de por lo menos una instrucción por pulso de reloj. Un RISC que funciona a 60 Mhz ejecuta 60 MIPS (micro instrucciones por segundo). Estos procesadores no tienen ROM de Control.

Características RISC

La tendencia de hacer instrucciones de máquina cada vez más complejas, resulta en códigos de operación de tan alto nivel que tiende a romper la diferencia entre assembler y compilador. Pero estudios al respecto revelaron elevados tiempos de diseño, aumento de errores, e implementaciones inconsistentes. Además se descubrió que las instrucciones muy complejas no eran utilizadas con mucha frecuencia y en muchos casos eran responsables del retardo de la performance de todo el sistema. Esto último en particular debido a que la Unidad de Control debe ser más compleja y si es microprogramada provoca que las instrucciones demoren mayor tiempo en su ejecución.


Con el propósito de explotar nuevos caminos aparecen las tecnologías RISC. Algunas de las características más comunes que pueden verse en computadoras de esta tecnología son:

• Muchas de las instrucciones se ejecutan en un solo ciclo de máquina - conjunto de instrucciones de cargar/almacenar (load/store). Es decir se accede a memoria exclusivamente mediante las instrucciones load y store, el resto de las instrucciones realizan sus operaciones entre registros - decodificación de instrucciones hardwired (en oposición a la técnica de microprograma)

• Existen relativamente pocas instrucciones y modos de direccionamiento - todas las instrucciones deberían tener la misma longitud para facilitar la tarea de decodificación y homogeneizar los tiempos de carga de las mismas - la complejidad se ha desplazado hacia los compiladores optimizados - existe un alto grado de pipeline en los caminos de los datos para obtener mucha concurrencia - gran cantidad de registros (windowed o no-windowed) - muchos niveles de jerarquías de memoria - conjunto de instrucciones diseñado para determinada clase de aplicaciones. - soporte de lenguajes de alto nivel (esto último debido a que como hay pocas instrucciones sobraría lugar en el chip para colocar elementos que ayuden a lenguajes de alto nivel, como manejo de listas, stacks, etc)

La tecnología RISC produce una filosofía de diseño que puede resumirse como sigue:

1) Analizar el objeto sobre el cual se desarrollan las aplicaciones a fin de determinar cuáles son las operaciones más frecuentes. A esta característica se la llama “predicción”.

2) Optimizar los caminos que deben recorrer los datos para ejecutar las operaciones o instrucciones (del punto 1) tan rápido como sea posible.

3) Incluir otras instrucciones sólo si forman parte de los caminos optimizados previamente y si son de relativa frecuencia, y si su inclusión no enlentece la ejecución de las instrucciones más frecuentes.

4) Aplicar una estrategia similar a los otros recursos del procesador. Incluir un recurso sólo si éste está justificado por su frecuencia de uso, y su inclusión no enlentece a otros recursos más utilizados.

5) Tratar de trasladar lo más que se pueda la complejidad en tiempos de ejecución al momento de compilación, recargando el software de compilación y liberando al hardware de ejecución.

Debe tenerse cuidado con una clasificación de computadoras de tecnología RISC, ya que, por ejemplo, muchas computadoras tienen decodificadores de instrucciones microcodificadas, un conjunto grande de instrucciones y un conjunto pequeño de registros pero sin embargo son de diseño definitivamente RISC.
La cuestión importante es que esta filosofía RISC está respaldada en eldiseño de un procesador para una aplicación específica.

Características de los procesadores CISC:

 Gasta el 70 % de su tiempo accediendo a los operandos
 Los operandos accedidos con más frecuencia son escalares
 Cerca del 80 % de las referencias a escalares son locales al procedimiento
 El pasaje de parámetros representa alrededor del 10 % del total del tráfico de
 Memoria


Considerando que el porcentaje de llamadas a procedimientos ronda el 25 a 40 % del tiempo total de ejecución, sumado al ahorro que puede obtenerse en cuanto al manejo de las variables locales y al pasaje de parámetros, esto indujo a que en todos los diseños RISC se intentara sacar provecho de la performance mediante:

1) La velocidad que se obtiene al almacenar variables dentro del chip.

2) La habilidad del compilador para aprovechar en forma efectiva la propiedad de localidad de las variables de un programa.

Generalmente existe, en consecuencia, una gran cantidad de registros que están organizados en forma de ventanas múltiples solapadas y de tamaño fijo. Existen conjuntos de registros de ambas modalidades: windowed y no windowed.



RISC Vs CISC: existe una gran controversia cuando se quiere comparar computadoras con conjunto de instrucción reducido y computadoras con conjunto de instrucción complejo (RISC vs. CISC). Esta misma controversia puede dividirse en dos grandes categorías:

1º) Qué diferencia una RISC de una CISC ?

2º) Cómo puede uno hacer mediciones razonables y útiles de performance para compararlas?

Muchas de las características de las RISC han sido muy utilizadas en computadoras CISC. Características tales como el pipeline de datos, memoria cache, y windowing de registros son vistos muy a menudo como atributos de un diseño RISC.

Originalmente los diseños RISC se realizaron apuntando a aplicaciones específicas y debido a eso fueron optimizados para la ejecución de una clase bien definida de programas. De forma característica, las CISC fueron diseñadas para un amplio rango de aplicaciones y por consiguiente incluyen el soporte para muy diversos entornos de programación. Muchas de las más populares técnicas de medición de performance son de un valor cuestionable cuando se trata de medir performance entre RISC y CISC.

Típicamente, los efectos del overhead del sistema operativo, la optimización del compilador y los conjuntos de registros múltiples no son considerados en forma apropiada. Los benchmarks relativos a la cantidad de transacciones de la aplicación por segundo tienen más significado que la simple medición de las instrucciones ejecutadas por segundo. Aún existen, actualmente, fuertes disputas entre los defensores de RISC y CISC.
De acuerdo al avance del mercado se detectan RISC sólo de nombre (ya que poseen más de 180 tipos diferentes de instrucciones) pero que mantienen la llamada a procedimientos desde hardware y el sistema de ventanas, que es lo realmente novedoso Existen ya versiones que realizan operaciones de punto flotante en el llamado 8-9 ciclo de máquina. Se define el tiempo de ciclo de máquina como el tiempo que lleva leer y sumar el contenido de 2 registros y guardar el resultado en un tercero.

Nuevas Tendencias: CISC & RISC: Lo Mejor de Ambos en Uno

Poco antes del 2000, los diseñadores de procesadores estuvieron repartidos en dos campos opuestos. Unos apoyaban diseños CISC y el otro diseños RISC. Sin embargo, dicha discución esta llegando a su fin debido a que los diseñadores contemporáneos que realizan los diseños RISC, pudieron beneficiarse con características de algún CISC y viceversa.

Hoy, la mayoría de los procesadores CISC se basan en la arquitectura híbrida cisc-cisc-risc. Estos diseños utilizan un decodificador para convertir instrucciones CISC en instrucciones RISC antes de la ejecución. Esto permite que sean procesados por una base RISC, que realiza instrucciones simples muy rápidamente. Tener una base RISC es ventajoso porque permite un funcionamiento que realza sus mejores características, tales como la predicción y el mejor aprovechamiento de la técnica pipeline.


Risc y CISC: lo mejor de ambos mundos incluyen a familia de procesadores Pentium y Athlon. Sin embargo, los híbridos cisc-cisc-risc todavía consumen mucha energía y no son los mejores candidatos para determinadas aplicaciones. De todas maneras, esta tendencia es relativamente nueva y promete muchos beneficios futuros.

Unidad Aritmético-Lógica

La UAL es la encargada de realizar las operaciones elementales de tipo aritmético (sumas, restas, productos y divisiones), de tipo lógico (and, or, comparaciones, etc) y de otro tipo (rotaciones, desplazamientos sobre grupos de bits, etc) requeridas para la ejecución de los programas. Para comunicarse con las otras unidades funcionales, utiliza el bus de datos y para realizar su función necesita los siguientes elementos:


Circuito Operacional (COP): contiene los circuitos necesarios para la realización de las operaciones con los datos procedentes de los registros de entrada (REN). Este circuito tiene unas entradas de órdenes para seleccionar la clase de operación que debe realizar en cada momento.

Registros de Entrada (REN): en ellos se almacenan los datos u operandos que intervienen en una instrucción antes de la realización de la operación por parte del circuito operacional. También se emplean para el almacenamiento para resultados intermedios o finales de las operaciones respectivas. Funciona como un buffer.

Registro Acumulador (RA): almacena los resultados de las operaciones llevadas a cabo por el COP. Está conectado con los REN para realimentación en el caso de operaciones encadenadas. Asimismo tiene una conexión directa al bus de datos para el envío de los resultados a la memoria central o a la UC.

Registro de Estado (RES): se trata de un conjunto de biestables en los que se deja constancia de algunas condiciones que se dieron en la ultima operación realizada y que deberán ser tenidas en cuenta en operaciones posteriores. Por ejemplo: le indica a la UC cuando hay un error o si el programador no tuvo en cuenta la división por cero.

Junto con el resultado de cada operación, la UAL genera indicadores de estado, que pueden ser: Z de resultado cero (o no), S de signo positivo o negativo, C si en una suma hay acarreo o no, hacia la posición siguiente y V (de overflow) si el resultado, como número entero, rebalsa o no el formato.

Cómo Trabaja la ALU


En el primer y segundo operando se trabaja con 1 bit.

Las operaciones se hacen bit a bit y con bit de igual peso.

Ej: para hacer una AND
1° Op. --> 4 bit
2° Op. --> 4 bit

Read more...

About Me

Mi foto
Mauricio Vistosi
Ver todo mi perfil

  © Blogger template The Professional Template II by Ourblogtemplates.com 2009

Back to TOP