jueves, 3 de diciembre de 2009

6.4 COMUNICACION PROCESADOR EN EL RESTO DEL SISTEMA

En los microcomputadores, la comunicación entre la CPU y otros dispositivos como memorias y puertos se efectúa a través del bus del sistema. El bus de direcciones de un microcomputador se encuentra estrechamente relacionado con los decodificadores, ya que gracias a ellos es posible seleccionar los dispositivos internos del microcomputador y las posiciones de memoria para efectuar operaciones de lectura y escritura.

Esta no es la única aplicación de los decodificadores en los microcomputadores. Internamante dentro del a CPU también existe un decodificador, llamado el Instruction Decoder (Decodificador de Instrucciones) el cual funciona de forma conjunta con el Instruction Register (Registro de Instrucciones) de la CPU.

El procesador (en realidad una forma abreviada para el microprocesador y también a menudo llamada la CPU o unidad central de procesamiento) es el componente central de la PC. Es el cerebro que se ejecuta el programa en el interior de la PC. Todo el trabajo que usted hace en su computadora se realiza directa o indirectamente por el procesador. Obviamente, es uno de los más importantes componentes de la PC, si no la más importante. También es, científicamente, una de las más maravillosas partes de la PC, es uno de los más asombrosos dispositivos en el mundo de la tecnología.

El procesador juega un papel importante en los siguientes aspectos importantes de su sistema:

Características: El procesador es probablemente el más importante factor determinante del rendimiento del sistema en el PC. Mientras que otros componentes también juegan un papel clave en la determinación de rendimiento, el procesador tiene capacidad de dictar el máximo rendimiento de un sistema. Los otros dispositivos sólo permiten que el procesador alcanze su pleno potencial.

Soporte de Software: Entre más reciente, más rápidos son procesadores y permiten el uso del software más reciente. Además, los nuevos procesadores como el Pentium MMX con la Tecnología, permitirá la utilización de software especializado y no utilizables en las anteriores máquinas.

Confiabilidad y estabilidad: El procesador de calidad es un factor que determina la forma fiable confunsiona el sistema. Si bien la mayoría de los procesadores son muy fiables, otros no. Esto también depende en cierta medida de la edad del procesador y la cantidad de energía que consume.

Consumo de energía: Originalmente los procesadores consumen relativamente poca energía en comparación con otros dispositivos del sistema. Procesadores mas nuevos pueden consumir una gran cantidad de energia. El consumo de energía tiene un impacto en todo, desde el enfriamiento al método de selección general de la fiabilidad del sistema.

Placa madre de Apoyo: El procesador, de decidir el uso de su sistema será un factor importante en la determinación de qué tipo de chipset debe utilizar, y la placa base, por lo tanto, lo que usted compra. La placa madre, a su vez, exige muchos aspectos de sus capacidades del sistema y el rendimiento.

6.3 CODIFICADO DE UNA ISTRUCCION


UNIDAD DE DECODIFICACION Se encarga de decodificar la instrucción que se va a ejecutar. Es decir, saber qué instrucción es. Cuando el microprocesador lee de memoria una instrucción, el código de esa instrucción le llega a esta unidad. Esta unidad se encarga de interpretar ese código para averiguar el tipo de instrucción a realizar. Por ejemplo, instrucciones de suma, multiplicación, almacenamiento de datos en memoria,etc.

UNIDAD DE EJECUCION Una vez que la unidad de decodificación sabe cuál es el significado de la instrucción leída de memoria, se lo comunica a la unidad de ejecución. Esta unidad será la encargada de consumar la ejecución y para ello activará las señales necesarias y en un orden determinado. Es decir, es la encargada de dar las órdenes necesarias a las diversas partes del microprocesador para poder ejecutar cada una de las instrucciones.

UNIDAD ARITMETICO LOGICA (ALU) La ALU (Aritmethic Logic Unit) es el bloque funcional del microprocesador encargado de realizar todas aquellas operaciones matemáticas. Las operaciones que realiza son las siguientes: suma, resta, multiplicación, división y aquellas que trabajan con dígitos binarios (10 que se conoce como operaciones lógicas: ANO, NOR, NOT, NANO, OR, X-OR, etc). En suma, saber cómo funciona un microprocesador, implica conocer cómo se van ejecutando cada una de las instrucciones del programa que se almacena en memoria. Los pasos globales que se siguen a la hora de consumar una instrucción son:

UNIDAD DE CONTROL

Es el centro nervioso del ordenador, ya que desde ella se controlan y gobiernan todas las operaciones. Cómo funciones básicas tiene:

* tomar las instrucciones de memoria
* decodificar o interpretar las instrucciones
* ejecutar las instrucciones ( tratar las situaciones de tipo interno (inherentes a la propia CPU) y de tipo externo (inherentes a los periféricos)
Para realizar su función, la unidad de control consta de los siguientes elementos:

* Contador de programa
* Registro de instrucciones
* Decodificador
* Reloj
* Secuenciador
*

.Contador de programa. Contiene permanentemente la dirección de memoria de la siguiente instrucción a ejecutar. Al iniciar la ejecución de un 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 que se está ejecutando es de salto o de ruptura de secuencia, en cuyo caso el contador de programa tomará 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. Contiene la instrucción que se está ejecutando en cada momento. Esta instrucción llevará consigo el código de operación (un código que indica qué tipo de operación se va a realizar, por ejemplo una suma) y en su caso los operandos (datos sobre los que actúa la instrucción, por ejemplo los números a sumar) o las direcciones de memoria de estos operandos.

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

.Reloj. 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.

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

UNIDAD ARITMÉTICO-LÓGICA (ALU)

Esta unidad se encarga de realizar las operaciones elementales de tipo aritmético (sumas, restas, productos, divisiones) y de tipo lógico (comparaciones). A través de un bus interno se comunica con la unidad de control la cual le envia los datos y le indica la operación a realizar .

La ALU está formada a su vez por los siguientes elementos:

* Circuito operacional
* Registros de entrada (REN)
* Registro acumulador
* Registro de estado (flags)
.Circuito operacional. 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 (suma, resta, etc).

.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 de resultados intermedios o finales de las operaciones respectivas.

.Registro acumulador. Almacena los resultados de las operaciones llevadas a cabo por el circuito operacional. Está conectado con los registros de entrada 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 unidad de control.
.Registro de estado (flags). Se trata de unos registros de memoria en los que se deja constancia algunas condiciones que se dieron en la última operación realizada y que habrán de ser tenidas en cuenta en operaciones posteriores. Por ejemplo, en el caso de hacer una resta, tiene que quedar constancia si el resultado fue cero, positivo o negativo.

Se conoce como set de instrucciones al conjunto de instrucciones que es capaz de entender y ejecutar un microprocesador.

En función del tipo de microprocesador, concretamente si es más avanzado o no, podrá entender y ejecutar más o menos instrucciones.

Las instrucciones se clasifican según su función en:

* Instrucciones de transferencia de datos
* Instrucciones de cálculo
* Instrucciones de transferencia del control del programa
* Instrucciones de control
.Instrucciones de transferencia de datos. Estas instrucciones mueven datos (que se consideran elementos de entrada/salida) desde la memoria hacia los registros internos del microprocesador, y viceversa. También se usan para pasar datos de un registro a otro del microprocesador. Existen algunas instrucciones que permiten mover no sólo un dato, sino un conjunto de hasta 64 K Bytes? con una sola instrucción.

.Instrucciones de cálculo. Son instrucciones destinadas a ejecutar ciertas operaciones aritméticas, como por ejemplo sumar, restar, multiplicar o dividir, o ciertas operaciones lógicas, como por ejemplo ANO, OR, así como desplazamiento y rotación de bits.

.Instrucciones de transferencia del control del programa. Permiten romper la secuencia lineal del programa y saltar a otro punto del mismo. Pueden equivaler a la instrucción GOTO que traen muchos lenguajes de programación.

.Instrucciones de control. Son instrucciones especiales o de control que actúan sobre el propio microprocesador. Permiten acceder a diversas funciones, como por ejemplo activar o desactivar las interrupciones, pasar órdenes al coprocesador matemático, detener la actividad del microprocesador hasta que se produzca una interrupción, etc.

Prácticamente todas las instrucciones están formadas por dos elementos:

* código de operación que indica el tipo de operación se va a realizar
* operandos, que son los datos sobre los que actúa.
Por ejemplo, una instrucción que sume dos números está formado por:

* código de operación que indique “sumar”
* primer número a sumar
* segundo número a sumar
Existen instrucciones que sólo tienen un operando o incluso que no tienen ninguno, estando formadas solamente por el código de operación.

EJECUCIÓN DE LAS INSTRUCCIONES

Para que un programa pueda ser ejecutado por un ordenador, ha de estar almacenado en la memoria central (memoria RAM). El microprocesador tomará una a una las instrucciones que lo componen e irá realizando las tareas correspondientes.

Se denomina 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
* Fase de ejecución
.Fase de búsqueda. En esta fase se transfiere la instrucción que se va a ejecutar desde la memoria central a la unidad de control.

.Fase de ejecución. Consiste en la realización de todas las acciones que conlleva la propia instrucción.

Una forma de clasificar los microprocesadores es en función de las instrucciones que son capaces de ejecutar. Podemos encontrar dos tipos: microprocesadores: con tecnología CISC y RISC.

CISC Complex Instructions Set Computer, Ordenador con un conjunto de instrucciones complejo.

RISC Reduced Instructions Set Computer, Ordenador con un conjunto de instrucciones reducido

6.2 CICLO DE EJECUCION DE UNA INSTRUCCION


Los pasos a seguir para el procesamiento de las instrucciones son los siguientes:

1. cada instrucción es leída ( una a la vez), desde la memoria, por el procesador y,

2. cada instrucción es ejecutada por el procesador. La repetición de la lectura y ejecución ( pasos 1 y 2 respectivamente), conforman la “ejecución de un programa”. Dicha ejecución puede detenerse si: la máquina se apaga, ocurre un error que no puede ser recuperado, o si, se encuentra una instrucción en el programa que detenga la computadora.

Ciclo de instrucción: es el procesamiento requerido para la instrucción. En este Ciclo, se encuentran los dos pasos citados anteriormente, denominados Ciclo de lectura (feth) y Ciclo de ejecución.

Lectura y ejecución de instrucciones

El procesador lee una instrucción de la memoria, al comienzo de cada Ciclo de instrucción. Se cuenta con un contador de programas ( PC program counter ), que lleva la cuenta de cual es la próxima instrucción a leer. Luego de leer cada instrucción el procesador incrementara el PC, de manera tal que la siguiente instrucción a leer será; la que se encuentra en la dirección inmediatamente superior de la memoria. La instrucción leída es cargada en el registro de instrucción ( IR instuction register ), que es un registro del procesador. El procesador interpreta la instrucción, la cual está en forma de código binario, que especifica la acción que el procesador llevará a cabo, y realizará la acción requerida.

Las acciones que se realizan para la lectura y ejecución de instrucciones se pueden clasificar en las siguientes categorías:

· Procesador-memoria: los datos se transfieren del procesador a la memoria o viceversa.

· Procesador E/S: los datos se transfieren desde o hacia un dispositivo periférico. Se realiza la transferencia entre el procesador y un módulo de entrada-salida.

· Tratamiento de datos: el procesador puede realizar alguna operación aritmética o lógica sobre los datos.

· Control: la secuencia de ejecución puede ser alterada si la instrucción lo especifica.

La ejecución de una instrucción puede incluir una combinación de las acciones antes mencionadas.

Funciones de E/S

Los módulos de E/S, por ejemplo un controlador de disco, peden intercambiar datos directamente con el procesador y el este puede iniciar una escritura o lectura en la memoria, para ello debe indicar la dirección de una ubicación especifica.

El procesador puede leer datos de un módulo de E/S o escribir en él, para ello indica a un dispositivo especifico que esta controlado por un determinado módulo de E/S.

Para relevar al procesador de la tarea de E/S, es conveniente que los intercambios de E/S se produzcan directamente con la memoria. De esta manera el procesador le da a un módulo de E/S autoridad para leer o escribir en la memoria de modo que la transferencia de E/S se realiza sin obstruir al procesador.

Se releva al procesador durante la transferencia de la responsabilidad de intercambio, ya que el modulo de E/S emite ordenes de lectura o escritura en la memoria. La operación realizada se conoce como DMA (direct memory access) o acceso directo a memoria.

INTERRUPCIONES

La interrupción es básicamente un suceso que altera la secuencia de ejecución de las instrucciones.

Existen varios tipos de interrupciones de los cuales los más comunes son los siguientes:

1) De programa o de verificación de programa: son ocasionadas por condiciones que se producen como resultado de la ejecución de una instrucción. Ejemplo: - la división por cero - el intento de ejecutar una instrucción privilegiada.

2) De reloj: son producidas por un reloj interno del procesador. Para que de esa forma se realicen funciones con una cierta regularidad.

3) De Entrada / Salida: son generadas por un controlador de E/S para indicar la finalización de una operación; o e cambio de estado de un dispositivo o canal; o también alguna condición de error.

4) Por fallo del Hardware o de verificación de máquina: son causadas por el mal funcionamiento del equipo, cortes de energía, etc. Con el uso de las interrupciones el procesador se puede utilizar de una manera más eficaz.

Las interrupciones y el ciclo de instrucción

Utilizando interrupciones el procesador puede ejecutar instrucciones mientras una operación de E/S está en proceso. Siguiendo esta idea se concluye que la operación de E/S y un programa usuario son ejecutados concurrentemente.

Desde la postura del programa de usuario, una interrupción no es más que la alteración de la secuencia normal de ejecución. Cuando el tratamiento de la interrupción termina, la ejecución continua. Para tratar a las interrupciones, se agrega un ciclo de interrupción al ciclo de instrucción.

En el ciclo de interrupción, el procesador verifica si ha ocurrido alguna interrupción, indicado por la presencia de una señal de interrupción. Si no hay interrupciones pendientes, el procesador continúa con el ciclo de lectura y 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 una rutina de tratamiento de la interrupción.

RODRIGUEZ LOPEZ J. JESUS | | | | | v v v v v

-CICLO DE INSTRUCCION-

Un ciclo de instrucción (tambien llamado ciclo de traer y ejecutar) es el período de tiempo durante el cual un ordenador lee y procesa una instrucción de lenguaje máquina de su memoria o la secuencia de acciones que la unidad central (CPU) funciona para ejecutar cada instrucción de código de máquina en un programa.

El nombre el ciclo traer-y-ejecutar comúnmente es usado.La instrucción debe ser traída de la memoria principal, y luego ejecutado por la CPU.Esto es fundamentalmente como un ordenador funciona, con su lectura de CPU y ejecución de una serie de instrucciones escritas en su lenguaje máquina.De esto surgen todas las funciones de un ordenador familiar a partir del final del usuario.

Ciclo de Instruccion:

La CPU de cada ordenador puede tener ciclos diferentes basados en juegos de instrucción diferentes.

Traer la instruccion desde la memoria principal:

La CPU presenta el valor de la PC sobre el bus de dirección.La CPU entonces trae la instrucción de la memoria principal vía el bus de datos en el Registro de Datos de Memoria (MDR).El valor del MDR entonces es colocado en el Registro de Instrucción Actual un circuito que sostiene la instrucción de modo que pueda ser descifrado y ejecutado.

Decodificar la instrucion:

El decodificador de instrucción interpreta y pone en práctica la instrucción.

Registros que son críticos al ciclo ejecutar traída:

El registro de instrucción (IR) - mantiene la instrucción actual. La PC - sostiene la dirección en la memoria de la siguiente instrucción a ser ejecutada.

Traer archivos desde la memoria principal:

Lea la dirección eficaz de la memoria principal si la instrucción tiene una dirección indirecta. Traer requiere datos de la memoria principal para ser procesada y colocado en registros.

EJECUTAR LA INSTRUCCION:

Del registro de instrucción, los datos que forman la instrucción son descifrados por la unidad de control.Esto entonces pasa la información descifrada como una secuencia de señales de control a las unidades de función relevantes de la CPU para realizar las acciones requeridas por la instrucción como la lectura de valores de registros,pasandolos a la unidad Aritmética lógica (ALU) para añadirlos juntos y escribiendo el resultado de vuelta al registro.Una señal de condición es enviada de regreso a la unidad de control por ALU si está implicado.

Almacenar Resultados:

El resultado generado por la operación es almacenado en la memoria principal, o enviado a un dispositivo de salida. Basado en la regeneración de condición del ALU, la PC es incrementada para dirigir la siguiente instrucción o para actualizar a diferentes direcciones de donde sera traida la siguiente intruccion. El ciclo entonces es repetido.

-CICLO DE EJECUCION-

Los pasos 3 y 4 dle ciclo de intruccion son parte del ciclo de ejecucion. Esos pasos cambiaran con cada instruccion.

El primer paso del ciclo de ejecucion es proceso de memoria. La informacion es tranferida entre el CPU y el modulo I/O. Después es el Proceso de datos usa operaciones matemáticas así como operaciones lógicas en la referencia a datos.Alteraciones centrales son el siguiente paso, son una secuencia de operaciones, por ejemplo un salto la operación. El último paso es una operación combinada de todos los otros pasos

6.1 FUNCION DE UNIDAD DE CONTROL DIRANTE LA EJECUCION

EJECUCIÓN DE UNA INSTRUCCIÓN

Ahora se intentará conjuntar la secuencia de operaciones elementales necesarias para ejecutar una instrucción. Considérese la instrucción “Sumar el contenido de la localización NUM de la memoria al registro R1″. Para simplificar las cosas, la dirección NUM se da en forma explícita en el campo de dirección de la instrucción. Entonces, la localización NUM se especifica en el modo directo de memoria. La ejecución de esta instrucción requiere de las siguientes acciones.

1.Traer la instrucción

2.Traer el primer operando (el contenido de la localización de la memoria a la que señala el campo de dirección de la instrucción).

3.Realizar la adición

4.Cargar el resultado en RI.

PASO

1 .- PC salida, MAR entrada, Leer, Borrar Y, Fijar el acarreo de la ALU, Suma, Zentrada

2.- Z salida, PC entrada, Espera a MFC

3.- MDR salida, IR salida

4.- Campo de dirección de IR salida, MAR entrada, Leer

5.- R1salida, Yentrada, Espera a MFC

6.- MDR salida, Suma, Z entrada

7.- Z salida, R1 entrada

8.- Fin

6 FUNCION DE UNIDAD DE CINTROL


Introducción a la unidad de control

La unidad de control el elemento que se encarga de sincronizar las acciones que realiza cada una de las unidades funcionales de un computador. Las funciones de la unidad de control son básicamente dos.

Interpretación de las instrucciones: La unidad de control debe ser capaz de decodificar los códigos de operación y los modos de direccionamiento de las instrucciones y actuar de forma diferente para cada uno de ellos.

Secuenciamiento de las operaciones: La unidad de control se encarga de la temporización de las distintas operaciones necesarias para la ejecución de cada instrucción. También debe controlar el secuenciamiento de las instrucciones en función de la evolución del registro contador de programa.

Se llaman señales de control a las variables binarias que controlan las entradas y salidas de información de los registros y el funcionamiento de las unidades funcionales.

La ejecución de una instrucción se divide en varias etapas que deben realizarse según una secuencia muy precisa de señales de control que establece la señal de control. Hay dos formas básicas para implementar la unidad de control:

- Unidad de control cableada: Realiza sus funciones mediante elementos hardware. No la analizaremos en profundidad aquí.

-Unidad de control microprogramada: Es mas lenta que la anterior, pero permite implementar instrucciones mas potentes y flexibles. Será analizada en profundidad en los siguientes apartados.

miércoles, 25 de noviembre de 2009

5.4 TRANSFERENCIA DE DATOS EN MEMORIA


Transferencia de Datos La instrucción de transferencia de datos por excelencia es: MOV destino, fuente. Entendiendo por fuente el contenido que se va a transferir a una determinada zona o registro de memoria denominada destino.

Esta instrucción, por tanto, nos va a permitir transferir informacion entre : Memoria, Registros y entre los propios Registros






Con la instrucción MOV diremos que se pueden realizar todo tipo de movimientos. El Acceso directo a memoria (DMA, del inglés Direct Memory Access) permite a cierto tipo de componentes de computadora acceder a la memoria del sistema para leer o escribir independientemente de la CPU principal. Muchos sistemas hardware utilizan DMA, incluyendo controladores de unidades de disco, tarjetas gráficas, y tarjetas de sonido.


DMA es una característica esencial en todos las computadoras modernos, ya que permite a dispositivos de diferentes velocidades comunicarse sin someter a la CPU a una carga masiva de interrupciones. Una transferencia DMA consiste principalmente en copiar un bloque de memoria de un dispositivo a otro. En lugar de que la CPU inicie la transferencia, la transferencia se lleva a cabo por el controlador DMA. Un ejemplo típico es mover un bloque de memoria desde una memoria externa a una interna más rápida. Tal operación no ocupa el procesador y como resultado puede ser planificado para efectuar otras tareas. Las transferencias DMA son esenciales para aumentar el rendimiento de aplicaciones que requieran muchos recursos.

Cabe destacar que aunque no se necesite a la CPU para la transacción de datos, sí que se necesita el bus del sistema (tanto bus de datos como bus de direcciones), por lo que existen diferentes estrategias para regular su uso, permitiendo así que no quede totalmente acaparado por el controlador DMA.



El fundamento de la transferencia de datos esta soportado por el manejo de transferencia de datos dentro y fuera de un componente, con esta funcionalidad disponible en el componente el mecanismo de manejo de arrastrar puede ser suministrado automáticamente. Ademas, el soporte para cortar/ copiar/ pegar también se puede suministrar automáticamente. El punto crítico de esta implementación es la nueva clase “transferHandler”. Los propios métodos “J Component?”, “setTransferHandler” y “getTransferHandler”, proveen un punto de entrada al mecanismo de transferencia de datos por algún componente el cual se extiende hasta “J Component”.

La velocidad con la que un dato puede ser trasferido a un dispositivo a otro. La transferencia de datos frecuentemente se mide en “megabits” (millones de bits) o “megabytes” (millones de bytes) por segundo. Estos son usualmente abreviados como “Mbps” y “M Bps?”, respectivamente.

Un tipo de transferencia de datos (o a menudo solo tarifa de datos) es la cantidad de “datos digitales”que se mueven de un lugar a otro, generalmente en segundos. El tipo de transferencia de datos se puede ver con la velocidad de recorrido de una cantidad dada de datos a partir de un lugar a otro. Generalmente entre mayor sea la “Banda Ancha” de una trayectoria dada, más alta es la tarifa de transferencia de datos.

5.3 FIRMWARE


Firmware o Programación en Firme, es un bloque de instrucciones de programa para propósitos específicos, grabado en una memoria tipo ROM, que establece la lógica de más bajo nivel que controla los circuitos electrónicos de un dispositivo de cualquier tipo. Al estar integrado en la electrónica del dispositivo es en parte hardware, pero también es software, ya que proporciona lógica y se dispone en algún tipo de lenguaje de programación. Funcionalmente, el firmware es el intermediario (interfaz) entre las órdenes externas que recibe el dispositivo y su electrónica, ya que es el encargado de controlar a ésta última para ejecutar correctamente dichas órdenes externas(…)

Encontramos Firmware en memorias ROM de los sistemas de diversos dispositivos periféricos, como en monitores de video, unidades de disco, impresoras, etc., pero también en los propios microprocesadores, chips de memoria principal y en general en cualquier circuito integrado.

Muchos de los Firmwares almacenados en ROM están protegidos por Derechos de Autor.

El programa BIOS de un ordenador es un firmware cuyo propósito es activar una máquina desde su encendido y preparar el entorno para la instalación de un Sistema Operativo complejo, así como responder a otros eventos externos (botones de pulsación humana) y al intercambio de órdenes entre distintos componentes del ordenador.

En un microprocesador el firmware es el que recibe las instrucciones de los programas y las ejecuta en la compleja circuitería del mismo, emitiendo órdenes a otros dispositivos del sistema.

FIRMWARE

En informática, el firmware es un programa de ordenador que se inserta en un dispositivo de hardware, por ejemplo, un microcontrolador. También puede ser proporcionado en ROMS de flash o como un archivo de imagen binaria que se puede cargar en el hardware existente por un usuario. Como su nombre indica, el firmware se encuentra entre el hardware y el software. Al igual que el software, es un programa que es ejecutado por una computadora.

ORIGENES En términos prácticos, las actualizaciones de firmware pueden mejorar el rendimiento y la fiabilidad, de hecho, incluso la funcionalidad básica dispone de un dispositivo, y muchos se benefician de los dispositivos ordinarios de actualizaciones de firmware. Uno de los dispositivos más comunes que se han originado son los dispositivos de grabación óptica de los medios de comunicación, como los escritores (DVD, CD, HD DVD, Blu-ray), de manera que estas actualizaciones garantizan que el hardware se mantenga actualizado y compatible.

EVOLUCION DEL FIRMWARE

El Firmware ha evolucionado para quedar en el contenido programable de un dispositivo de hardware, que puede consistir en instrucciones de lenguaje de una maquina para un procesador, o ajustes de configuración para un dispositivo con funciones fijas o dispositivos lógicos programables.

Una característica común del firmware es que puede ser actualizado después de la fabricación, ya sea por vía electrónica, o mediante la sustitución de un medio de almacenamiento tales como un chip de memoria.

El Firmware puede -, pero no está obligado a - exponer una interfas externa accesible. Por ejemplo, en algunos módem implementarlo no es directamente accesible, pero es parte de una combinación de hardware y firmware que responde a los comandos del sistema.

Firmware tradicionalmente ha sido almacenada en memoria ROM, sin embargo el costo y requisitos de desempeño han impulsado a los proveedores a adoptar diversas sustituciones, incluidos los no volátiles, como los medios de comunicación y Flash EEPROM, SRAM o soluciones, como la del firmware de un controlador de dispositivo del sistema operativo, como Se describe a continuación.


CONTROLADORES

El firmware Adjunta a la mayoría de los dispositivos modernos de los sistemas de computadoras para fines especiales en su propio derecho, la administración de su propio software. Con los años, sin embargo, los fabricantes han encontrado que la carga de firmware del sistema es a la vez más barato y más flexible. Como resultado, gran parte del hardware actual no está en condiciones de funcionar en cualquier forma útil hasta que el computador central halla sido alimentado de la necesaria cantidad de firmware. Este firmware de carga es manejado por el controlador de dispositivo.

El Firmware en muchos dispositivos puede ahora ser actualizado sin necesidad de hardware adicional, mediante el uso de software proporcionado por los proveedores.

La forma más fácil para actualizar el firmware es, por lo general el sistema de arranque relacionado con el firmware, como el BIOS de la PC. Algunos dispositivos, como los adaptadores de vídeo y los módems, con frecuencia se basan en el firmware que se carga dinámicamente por el controlador de dispositivo del sistema operativo, y por lo tanto se actualiza el sistema operativo a través de mecanismos de actualización totalmente transparente para el usuario.

En contraste, los dispositivos de almacenamiento de firmware rara vez se actualiza con la misma consistencia que otras partes del sistema. Además, los mecanismos para la detección de las versiones del firmware y la actualización ellos no están normalizados. Como resultado de ello, estos dispositivos suelen tener un porcentaje significativamente mayor de firmware impulsada por cuestiones de funcionalidad, en comparación con otras partes de un moderno sistema informático.

5.2 MEMORIA SECUNDARIA


Además de la memoria principal, una computadora cuenta con almacenamiento en memoria secundaria de tipo magnético u óptico. Tal memoria puede considerarse físicamente como dispositivos de entrada/salida, ya que requiere de dispositivos que se conectan fuera del circuito principal de la computadora. Además, la velocidad de acceso a su contenido es mucho más lenta que aquella entre CPU y memoria principal.

La mayoría de la memoria secundaria es magnética, ya sea a una cinta o a un disco. Funcionan muy parecido a los equipos para grabar sonido, es decir, las cintas y discos están recubiertos de un material magnético que permite borrar, leer y grabar mediante cabezas que contienen sensores o polarizadores electromagnéticos.

Las cintas son los medios magnéticos más baratos y de mayor capacidad. Pueden tener un buen tiempo de acceso si se considera un acceso de tipo secuencial a su contenido. Sin embargo, su tiempo de acceso para acceso aleatorio es pobre. Los discos se presentan como la opción cuando se requiere la combinación de una gran capacidad con la relativa economía y velocidad del acceso aleatorio. Los discos de memoria pueden ser de dos tipos: flexibles (floppy disks) o duros (hard disks).

Los discos flexibles son baratos, lentos, y de baja capacidad. Actualmente, su diámetro estándar es de 3.5 pulgadas, y generalmente son removibles de la unidad de disco que los lee o escribe. Esto los hace una “biblioteca” de almacenamiento casi ilimitado (dependiendo de su número). La información se almacena en líneas concéntricas llamadas tracks, en uno o ambos lados del disco. El número de tracks, y el número de bytes por track varía respecto a la densidad de escritura, pero en general, la máxima capacidad de un disco flexible de este tipo es de 1.4 Mbytes. Los discos flexibles típicamente giran a 300 rpm, y su tiempo de acceso depende del tiempo requerido para colocar la cabeza lectora móvil en el track correcto, que es de una fracción de segundo, más el tiempo que le toma a la cabeza encontrar el registro a lo largo de la circunferencia del disco, que aproximadamente toma la quinta parte de un segundo. Por lo tanto, un conjunto de unos miles de bytes consecutivos puede ser accesado en cada segundo.

Un disco duro se contruye de un material rígido, recubierto por una substancia sensible a campos electromagnéticos. Pueden tener diámetros iguales o mayores que los discos flexibles. Se presentan en forma de unidades que pueden contener desde uno a una docena de discos, rotando a una velocidad diez veces mayor que la velocidad de los discos flexibles, lo que hace que el tiempo de acceso a sus registros sea menor. Tienen cabezas magnéticas de lectura y escritura, que pueden ser fijas o móviles. Los discos con cabezas fijas tienen naturalmente una cabeza por cada track, lo que los hace más costosos, pero ahorran en tiempo de acceso al evitar el movimiento de las cabezas. Los discos con cabezas móviles (conocidos como Winchester) se encuentran sellados para evitar que el mecanismo posicionador de las cabezas se dañe. Las cabezas se mueven muy cercanamente a la superficie del disco, pero permiten una distancia de aire entre ellas y el disco (en los discos flexibles, las cabezas realmente se encuentran en contacto con el disco, lo que tiende a gastarlos). La capacidad de los discos duros es cada vez mayor, y va de varios Mbytes hasta algunos G Bytes?.

La memoria secundaria es un conjunto de dispositivos periféricos para el almacenamiento masivo de datos de un ordenador, con mayor capacidad que la memoria principal, pero más lenta que ésta.

El disquete, el disco duro o disco fijo, las unidades ópticas, las unidades de memoria flash y los discos Zip, pertenecen a esta categoría.

Estos dispositivos periféricos quedan vinculados a la memoria principal, o memoria interna, conformando el sub-sistema de memoria del ordenador.

Soportes de memoria secundaria:

CD, CD-R, CD-RW

DVD, DVD-/+R, DVD-/+RW

El DVD (también conocido como “Digital Versatile Disc” o “Disco Versátil Digital”, debido a su popular uso en películas algunos lo llaman Disco de Video Digital) es un formato de almacenamiento óptico que puede ser usado para guardar datos, incluyendo películas con alta calidad de vídeo y audio. Se asemeja a los discos compactos en cuanto a sus dimensiones físicas (diámetro de 12 u 8 centímetros), pero están codificados en un formato distinto y a una densidad mucho mayor. A diferencia de los CD, todos los DVD deben guardar los datos utilizando un sistema de archivos denominado UDF (Universal Disk Format), el cual es una extensión del estándar ISO 9660, usado para CD de datos. El DVD Forum (un consorcio formado por todas las organizaciones que han participado en la elaboración del formato) se encarga de mantener al día sus especificaciones técnicas.

Disquete Un disco flexible o disquete es un dispositivo de almacenamiento de datos formado por una pieza circular de material magnético, fina y flexible (de ahí su denominación) encerrada en una carcasa de plástico cuadrada o rectangular. Los disquetes se leen y se escriben mediante una disquetera (o FD).

5.1 MEMORIA PRINCIPAL

LA MEMORIA PRINCIPAL

La memoria principal o RAM, abreviatura del inglés Randon Access Memory, es el dispositivo donde se almacenan temporalmente tanto los datos como los programas que la CPU está procesando o va a procesar en un determinado momento. Por su función, es una amiga inseparable del microprocesador, con el cual se comunica a través de los buses de datos.

Por ejemplo, cuando la CPU tiene que ejecutar un programa, primero lo coloca en la memoria y recién y recién después lo empieza a ejecutar. lo mismo ocurre cuando necesita procesar una serie de datos; antes de poder procesarlos los tiene que llevar a la memoria principal.

Esta clase de memoria es volátil, es decir que, cuando se corta la energía eléctrica, se borra toda la información que estuviera almacenada en ella.

Por su función, la cantidad de memoria RAM de que disponga una computadora es una factor muy importante; hay programas y juegos que requieren una gran cantidad de memoria para poder usarlos. otros andarán más rápido si el sistema cuenta con más memoria RAM.

La memoria Caché: dentro de la memoria RAM existe una clase de memoria denominada Memoria Caché que tiene la característica de ser más rápida que las otras, permitiendo que el intercambio de información entre el procesador y la memoria principal sea a mayor velocidad.

Memoria de acceso arbitraria:

<<<<<<< La memoria de acceso arbitraria (por lo general (conocido) por su sigla, RAM) es un tipo de almacenaje de datos de ordenador. Esto hoy toma la forma de los circuitos integrados que permiten a los datos almacenados para ser tenidos acceso en cualquier orden(pedido), p. ej. al azar. La palabra arbitraria así se refiere al hecho que cualquier pedazo de datos puede ser devuelto en un tiempo constante, independientemente de su posición(ubicación) física y si realmente es relacionado con el pedazo anterior de datos. Esto contrasta con mecanismos de almacenaje como cintas, discos magnéticos y discos ópticos, que confían por el movimiento físico del medio de grabación o una cabeza de lectura. En estos dispositivos, el movimiento toma más largo que la transferencia de datos, y el tiempo de recuperación varía dependiendo(según) la posición(ubicación) física del siguiente artículo. La RAM de palabra sobre todo es asociada con los tipos volátiles de memoria, donde la información es perdida cuando el poder es apagado. Sin embargo, muchos otros tipos de memoria son la RAM también (p. ej. la Memoria de Acceso Arbitraria), incluyendo la mayor parte de tipos de memoria sólo de lectura y una especie de memoria de destello el NI-DESTELLO llamado
La Historia

El primer tipo de memoria de acceso arbitraria era la memoria magnética principal, desarrollada en 1951, y usó en todos los ordenadores hasta el desarrollo de los circuitos integrados de RAM estáticos y dinámicos a finales de los años 1960 y a principios de los años 1970. Antes del desarrollo de los ordenadores de memoria magnéticos principales usó relevos o tubos vacíos para realizar funciones de memoria.


memorias

Los tipos de RAM

Los tipos Modernos de RAM escribible generalmente almacenan un poco de datos en cualquiera el estado de un flip-flop, como en SRAM (la RAM estática), o como un precio(una carga) en un condensador (o la puerta de transistor), como en el DRACMA(la PIZCA) (la RAM dinámica), EPROM, EEPROM y el Destello. Algunos tipos tienen el trazado de circuito para descubrir y/o corregir defectos(culpas) arbitrarios errores de memoria llamados en los datos almacenados, usando añicos de la paridad o códigos de corrección de error. La RAM del tipo sólo para leer, la memoria sólo de lectura, en cambio usa una máscara metálica para permanentemente permitir/incapacitar transistores seleccionados, en vez de almacenar un precio(una carga) en ellos.

jerarquía de Memoria

Muchterminandoandoos sistemas informáticos tienen una jerarquía de memoria que consiste en registros de CPU, sobre - mueren escondrijos SRAM, escondrijos externos, DRACMA(PIZCA), paginando sistemas, y la memoria virtual o cambian el espacio sobre un disco duro. Este fondo entero de memoria puede mencionarse como “la RAM” por muchos reveladores, aun cuando varios subsistemas puedan tener tiempos de acceso muy diferentes, violando el concepto original detrás del término de acceso arbitrario en la RAM. Incluso dentro de un nivel de jerarquía como el DRACMA(la PIZCA), la fila específica, la columna, el banco(la orilla), la fila, el canal, o intercala la organización de los componentes hacen la variable de tiempo de acceso, aunque no al grado que medios de comunicación de almacenaje rotativos o una cinta son variables. (Generalmente, la jerarquía de memoria sigue el tiempo de acceso con los registros de CPU rápidos en lo alto y el disco duro lento en el inferior.) En los ordenadores personales más modernos, la RAM entra en la forma fácilmente mejorada de módulos módulos de memoria llamados o módulos de DRACMA(PIZCA) sobre el tamaño de unos palos de chicle. Estos rápidamente pueden ser substituidos deberían ellos hacerse dañado o demasiado pequeño para objetivos corrientes. Como sugerido encima, las más pequeñas cantidades de RAM (sobre todo SRAM) también son integradas en la CPU y otro ICS sobre la placa madre, así como en discos duros, CD-ROM, y varias otras partes del sistema informático.

5 MEMORIAS

El propósito del almacenamiento es guardar datos que la computadorano esté usando. El almacenamiento tiene tres ventajas sobre la memoria:

Hay más espacio en almacenamiento que en memoria.
El almacenamiento retiene su contenido cuando se apaga el computador
El almacenamiento es más barato que la memoria.
El medio de almacenamiento más común es el disco magnético. El dispositivo que contiene al disco se llama unidad de disco (drive). La mayoría de las computadoras personales tienen un disco durono removible. Además usualmente hay una o dos unidades de disco flexible, las cuales le permiten usar discos flexibles removibles. El disco duro normalmente puede guardar muchos más datos que un disco flexible y por eso se usa disco duro como el archivero principal de la computadora. Los discos flexibles se usan para cargar programasnuevos, o datos al disco duro, intercambiar datos con otros usuarios o hacer una copia de respaldo de los datos que están en el disco duro.

Una computadora puede leer y escribir información en un disco duro mucho más rápido que en el disco flexible. La diferencia de velocidad se debe a que un disco duro está construido con materiales más pesados, gira mucho más rápido que un disco flexible y está sellado dentro de una cámara de aire, las partículas de polvo no pueden entrar en contacto con las cabezas.

La memorización consiste en la capacidad de registrar sea una cadena de caracteres o de instrucciones (programa) y tanto volver a incorporarlo en determinado proceso como ejecutarlo bajo ciertas circunstancias.

El computador dispone de varios dispositivos de memorización:

La memoria ROM
La memoria RAM
Las memorias externas. Un aspecto importante de la memorización es la capacidad de hacer ese registro en medios permanentes, básicamente los llamados "archivos" grabados en disco.
El acumulador
La principal memoria externa es el llamado "disco duro", que está conformado por un aparato independiente, que contiene un conjunto de placas de plástico magnetizado apto para registrar la "grabación" de los datos que constituyen los "archivos" y sistemas de programas. Ese conjunto de discos gira a gran velocidad impulsado por un motor, y es recorrido también en forma muy veloz por un conjunto de brazos que "leen" sus registros. También contiene un circuito electrónico propio, que recepciona y graba, como también lee y dirige hacia otros componentes del computador la información registrada.

Indudablemente, la memoria externa contenida en el disco duro es la principal fuente del material de información (data) utilizado para la operación del computador, pues es en él que se registran el sistema de programas que dirige su funcionamiento general (sistema operativo), los programas que se utilizan para diversas formas de uso (programas de utilidad) y los elementos que se producen mediante ellos (archivos de texto, bases de datos, etc.).

4.6 OPERACIONES LOGICAS ALU

Operaciones Lógicas de Comparación. • La puerta lógica Y, más conocida por su nombre en inglés AND, realiza la función booleana de producto lógico. Su símbolo es un punto (•), aunque se suele omitir. Así, el producto lógico de las variables A y B se indica como AB, y se lee A y B o simplemente A por B. La ecuación característica que describe el comportamiento de la puerta AND es:

Su tabla de verdad es la siguiente:

Tabla de verdad puerta AND

Entrada A Entrada B Salida AB 0 0 0 0 1 0 1 0 0 1 1 1

Su definición se puede dar, como una compuerta que entrega un 1 lógico sólo si todas las entradas están a nivel alto 1. • La puerta lógica O, más conocida por su nombre en inglés OR, realiza la operación de suma lógica. La ecuación característica que describe el comportamiento de la puerta OR es:

Su tabla de verdad es la siguiente:

Tabla de verdad puerta OR

Entrada A Entrada B Salida A + B 0 0 0 0 1 1 1 0 1 1 1 1

Podemos definir la puerta O como aquella que proporciona a su salida un 1 lógico si al menos una de sus entradas está a 1.

• La puerta lógica O-exclusiva, más conocida por su nombre en inglés XOR, realiza la función booleana A’B+AB’. Su símbolo es el más (+) inscrito en un círculo. En la figura de la derecha pueden observarse sus símbolos en electrónica. La ecuación característica que describe el comportamiento de la puerta XOR es:

Su tabla de verdad es la siguiente: Tabla de verdad puerta XOR Entrada A Entrada B Salida A B

0 0 0 0 1 1 1 0 1 1 1 0 Se puede definir esta puerta como aquella que da por resultado uno, cuando los valores en las entradas son distintos. ej: 1 y 0, 0 y 1 (en una compuerta de dos entradas). Si la puerta tuviese tres o más entradas, la XOR tomaría la función de suma de paridad, cuenta el número de unos a la entrada y si son un número impar, pone un 1 a la salida, para que el número de unos pase a ser par. Esto es así porque la operación XOR es asociativa, para tres entradas escribiríamos: a (b c) o bien (a b) c. Su tabla de verdad sería: XOR de tres entradas Entrada A Entrada B Entrada C Salida A B C 0 0 0 0 0 0 1 1 0 1 0 1 0 1 1 0 1 0 0 1 1 0 1 0 1 1 0 0 1 1 1 1

• La puerta lógica NO (NOT en inglés) realiza la función booleana de inversión o negación de una variable lógica. La ecuación característica que describe el comportamiento de la puerta NOT es:

Su tabla de verdad es la siguiente: Tabla de verdad puerta NOT Entrada A Salida

0 1 1 0 Se puede definir como una puerta que proporciona el estado inverso del que esté en su entrada.

martes, 17 de noviembre de 2009

4.5 MULTIPLICACION Y DIVICION


La multiplicación entera es una operación bastante costosa y, por ello, al principio, no todos los microprocesadores la tenían implementada debiéndose multiplicar por programa.

Existen varios algoritmos de multiplicación: sumas y restas, Booth, grupos solapados. Dependiendo del algoritmo se pueden multiplicar números con signo o sin signo.
Algoritmo de sumas y restas: consiste en ir explorando el bit menos significativo del registro de desplazamiento y en caso de ser 1 sumar el multiplicando y desplazar o simplemente desplazar. Recoge realmente el mecanismo de multiplicación a mano.
Algoritmo de Booth: se ideo pensando en números representados en complemento a 2 y reduce el número de sumas, evitando las que son 0. Se basa en buscar cadenas de unos y de re codifica el multiplicador.

Al igual que la multiplicación, la división se trata de una operación compleja. Existen muchos algoritmos para realizar esta operación, dos de ellos son los siguientes:

División con restauración
1) Dividendo parcial inicial: tomar tantos bits del dividendo como tenga el divisor. Garantizar que tanto el dividendo como el divisor son positivos (si empiezan por 1 añadirle un cero a la izquierda).

2) Sumar al dividendo el complemento a 2 del divisor
Si el resultado es positivo:
Bajar un nuevo bit del dividendo
Añadir 1 al cociente
Si el resultado es negativo
Sumar de nuevo el divisor
Bajar un nuevo bit al divisor
Añadir 0 al cociente
3) Repetir hasta que no queden mas bits para bajar el dividendo


División sin restauración
Mejora el anterior evitando la fase de restauración si el resultado es negativo
1) Dividendo parcial inicial: tomar tantos bits del dividendo como tenga el divisor. Garantizar que tanto el dividendo como el divisor son positivos (si empiezan por 1 añadirle un cero a la izquierda).

2) Sumar al dividendo el complemento a 2 del divisor
Si el resultado es positivo:
Bajar un nuevo bit del dividendo
Añadir 1 al cociente
Si el resultado es negativo
Sumar el divisor en vez del complemento a 2 la próxima vez
Bajar un nuevo bit al divisor
Añadir 0 al cociente
3) Repetir hasta que no queden mas bits para bajar el dividendo

4.4 SUMA Y REGISTRO ALU

La suma y la resta son operaciones de dos palabras de 1 bit de las que obtengo una suma y un acarreo (carry). Existen distintas formas de implementar la suma y la resta.
La suma es la operación aritmética más importante de todas las que realiza la ALU. Está presente en la actualización del contador del programa y en todos los direccionamientos relativos, por lo que interesa que sea muy rápida. Para ello existen varias técnicas de aceleración de la misma.
Anticipador por acarreo puro
Anticipador por acarreo por bloques
Salto de acarreo
Sumador con selección de acarreo

Para poder realizar la suma, se necesita:

Se debe tener el código de operación que indique la operación a efectuar en este caso el código de suma.
Dirección de la célula en la que se encuentra almacenado el primer sumando.
Dirección del segundo sumando.
Dirección de la célula en la que se almacena el resultado.

4.3 REPRECENTACION INTERNA ALU

Para la representación de los datos numéricos hay que tener en cuenta que las operaciones de la ALU (Unidad aritmético-lógica, encargada de realizar las operaciones matemáticas en el procesador) están sujetas a las siguientes restricciones:
Los registros son de tamaño fijo.
Puede existir desbordamiento.
Presentan problemas con los números negativos.
Es necesario, por ello, introducir nuevas formas de numeración basadas, por supuesto, en la representación binaria. Al conjunto de estas representaciones y su funcionamiento se le denomina aritmética binaria. En aritmética binaria hay que distinguir entre representación para números enteros y representación de números reales ya que cada uno tiene sus características propias.



Representación de números enteros
Las computadoras utilizan cuatro métodos para la representación interna de números enteros (positivos y negativos); éstos son los siguientes:
Módulo y signo
Complemento a 1
Complemento a 2
Exceso a 2^n-1
Estas representaciones de números utilizan el sistema binario y se considera que tenemos un número limitado de bits para cada dato numérico. Este número de bits disponibles lo representamos por n. También se pueden representar mediante estos métodos números reales.



Módulo y signo
En este sistema de representación, el bit que está situado más a la izquierda representa el signo, y su valor será 0 para el signo + y 1 para el signo -. El resto de bits (n-1) representan el módulo del número. Suponemos en principio que los números no poseen parte decimal, por lo que el punto se supone implícito a la derecha.
Por ejemplo, supongamos que disponemos de 8 bits, y queremos representar los números 10 y –10. Veamos cuáles son sus representaciones.



Se denomina rango de representación en un método determinado al conjunto de números representables en el mismo. Para módulo y signo el rango de representación es, si se disponen de n bits:

-2 ^(n-1) + 1 <= X <= 2 ^(n-1) – 1


Para el caso de n = 8 bits, el rango de representación va desde –127 a 127.


La ventaja que presenta este sistema frente a otros es la de poseer rango simétrico (igual cantidad de números positivos que negativos), mientras que su mayor inconveniente es el de poseer dos representaciones para el número 0. El cual se representa tanto con un signo positivo (0) como con uno negativo (1) y el resto de los bits en 0.



Complemento a 1
Este sistema de representación utiliza el bit de más a la izquierda para el signo, correspondiendo el 0 para el signo + y el 1 para el signo -. Para los números positivos, los n-1 bits de la derecha representan el módulo (igual que en el sistema anterior). El negativo de un número positivo se obtiene complementando todos sus dígitos (cambiando ceros por uno y viceversa) incluido el signo.
Veamos la representación en complemento a 1 de los números 10 y –10 para el caso de n=8 bits.




Para el complemento a 1 el rango de representación es, si se disponen de n bits:

-2 ^ (n-1) + 1 <= X <= 2 ^ (n-1) – 1


Para el caso de n = 8 bits, el rango de representación va desde –127 a 127.

La ventaja que presenta este sistema frente a otros es la de poseer rango simétrico (igual cantidad de números positivos que negativos), mientras que su mayor inconveniente es el de poseer dos representaciones para el número 0. El cual se representa tanto con todos 0 como con todos los bits en uno.




Complemento a 2
Este sistema de representación utiliza el bit de más a la izquierda para el signo, correspondiendo el 0 para el signo + y el 1 para el signo -. Para los números positivos, los n -1 bits de la derecha representan el módulo (igual que en los dos sistemas anteriores). El negativo de un número positivo se obtiene en dos pasos:


Primer paso: se complementa el número positivo en todos sus bits (cambiando ceros por uno y viceversa), incluido el bit de signo, similar a complemento a 1.
Segundo paso: al resultado obtenido se le suma 1 (en binario), despreciando el último acarreo si existiera.

martes, 10 de noviembre de 2009

4.2 REGISTRO ALU






google_protectAndRun("ads_core.google_render_ad", google_handleError, google_render_ad);
Su misión es realizar las operaciones con los datos que recibe, siguiendo las indicaciones dadas por la unidad de control.
El nombre de unidad aritmética y lógica se debe a que puede realizar operaciones tanto aritméticas como lógicas con los datos transferidos por la unidad de control.
La unidad de control maneja las instrucciones y la aritmética y lógica procesa los datos.
Para que la unidad de control sepa si la información que recibe es una instrucción o dato, es obligatorio que la primera palabra que reciba sea una instrucción, indicando la naturaleza del resto de la información a tratar.
Para que la unidad aritmética y lógica sea capaz de realizar una operación aritmética, se le deben proporcionar, de alguna manera, los siguientes datos:
1. El código que indique la operación a efectuar.
2. La dirección de la celda donde está almacenado el primer sumando.
3. La dirección del segundo sumando implicado en la operación.
4. La dirección de la celda de memoria donde se almacenará el resultado.
os Registros son un medio de ayuda a las operaciones realizadas por la unidad de control y la unidad aritmética y lógica. Permiten almacenar información, temporalmente, para facilitar la manipulación de los datos por parte de la CPU.
Realizando una similitud con el resto del sistema informático, los registros son a la CPU como la memoria principal es a la computadora.
Los registros se dividen en tres grupos principales:
• Registros de Propósito General.
• Registros de Segmento de Memoria.
• Registros de Instrucciones.
Seguidamente se presenta una relación completa de los tres grupos de registros que contiene un microprocesador típico como puede ser el Intel 80386:


(AX) Registro de Datos
(DX) Registro de Datos
(CX) Registro de Datos
(BX) Registro de Datos
(BP) Registro Puntero Base
(SI) Registro Índice Fuente
(DI) Registro Índice Destino
(SP) Registro Puntero de la Pila


(CS) Registro Segmento de Código
(SS) Registro Segmento de la Pila
(DS) Registro Segmento de Datos
(ES) Registro Segmento de Datos Extra
(DS) Registro Segmento de Datos Extra
(ES) Registro Segmento de Datos Extra


(FL) Registro de «Flags» o también denominado registro de estado
(IP) Registro Puntero de Instrucción o también denominado registro Contador de Programa (PC)
De esta relación de registros los cuatro más importantes son:
• El Registro Puntero de Instrucciones.
El registro puntero de instrucciones o contador de programa indica el flujo de las instrucciones del proceso en realización, apuntando a la dirección de memoria en que se encuentra la instrucción a ejecutar.
Dado que las instrucciones de un programa se ejecutan de forma secuencial, el procesador incrementará en una unidad este registro cada vez que ejecute una instrucción, para que apunte a la siguiente.
La información que almacena este registro se puede modificar cuando una interrupción externa, o la propia ejecución del proceso en curso, provoque una alteración en la secuencia de operaciones. Esta alteración transferirá el control del sistema informático a otro proceso diferente al que está en ejecución.


Es el Registro donde se almacenan los resultados obtenidos en las operaciones realizadas por la unidad aritmética y lógica.
Su importancia radica en las características de la información que almacena, ya que con su contenido se realizan todas las operaciones de cálculo que ha de ejecutar la unidad aritmética y lógica.


El Registro de Estado o registro de «flags» no es un solo registro propiamente dicho, ya que se compone de varios registros de menor tamaño; este tamaño puede ser incluso de un solo bit.
El registro de estado se utiliza para indicar cambios de estados y condiciones en los otros registros existentes en el sistema informático. Estos cambios en la situación de los demás registros se producen debido a las modificaciones del entorno a lo largo de la ejecución de los procesos realizados por el sistema informático

Este Registro almacena la dirección de la zona de la memoria donde está situada la parte superior de la pila.
La Pila es una zona de los registros de segmento de memoria que la unidad aritmética y lógica utiliza para almacenar temporalmente los datos que está manipulando. Cuando la cantidad de datos a manejar es demasiado grande u otras necesidades del proceso impiden que estos datos puedan almacenarse en los registros creados para ello se envían a la pila, donde se almacenan hasta que la unidad de control recupera la información para que la procese la unidad aritmética y lógica.
La ventaja de manejar una pila como almacén de información es que la información que se guarda en ella tiene que entrar y salir, obligatoriamente, por una sola dirección de memoria. Esto permite que la unidad de control no necesite conocer más que esa dirección para poder manejar los datos almacenados en la pila.

4.1 ARQUITECTURA ALU

ARQUITECTURA DEL ALU


El procesador es todo un mundo en sí mismo; aunque los primeros eran comparativamente simples, actualmente han alcanzado una notable complejidad. En el presente capítulo dedicaremos algunos comentarios a su estructura lógica, mencionando de pasada que su tecnología física ha avanzado paralelamente con la de construcción de circuitos integrados, IC's, lo que a la postre ha significado unas dimensiones físicas cada vez más pequeñas y un menor consumo.
La evolución de ambos parámetros no solo ha permitido incrementar la densidad de integración, también la velocidad (frecuencia de funcionamiento). Si nos referimos a la familia Intel, de los 2.100 transistores del 4004 en 1970, que con solo 46 instrucciones funcionaba a unos 800 KHz, se pasó a los 29.000 transistores del 8086 en 1979 a 14 MHz; y en 1999 a los 8.200.000 transistores del Pentium III a 2 GHz.
Nota: acabo de leer (Noviembre 2001) que Intel anuncia la nueva tecnología de 0.13 micras para su serie Pentium 4 (hasta ahora era de 0.18 micras), con la que se espera que a fines de 2002 se alcancen los 3 GHz. en estos procesadores. Un poco después (Enero 2002) leo que Intel espera alcanzar 1.2 THz en sus procesadores para el 2005 (escribo esto en un Pentium II a 200 MHz no demasiado antiguo). En Abril del 2002 Intel anuncia el procesador Pentium 4 con tecnología CMOS de 0,16 micras a 2.4 GHz y mejoras en el proceso de fabricación que permiten su fabricación en obleas de 300 mm. Esta tecnología permite al fabricante proporcionar más de cinco veces el volumen de productos en una sola oblea en comparación con la del procesador Pentium 4 inicial. En Junio del mismo año Intel desvela su nueva tecnología de fabricación de transistores "Tera-Herz", con la que pretende que en el 2005 pueda alcanzar los 10 GHz. Craig Barret, CEO [7] de la compañía, afirma que en un futuro no lejano esperan conseguir 2.000 millones de transistores en un procesador a 30 GHz.
Actualmente se trabaja en el límite de la resolución óptica de los dispositivos utilizados en su construcción (se usan técnicas fotográficas con longitudes de onda cada vez menores para la luz utilizada), y debido a la altísima frecuencia de funcionamiento, los conductores internos funcionan más como guías de onda que como conductores eléctricos convencionales. Además, las dimensiones físicas del propio dispositivo están teóricamente limitadas si se desea que todos sus elementos funcionen según un mismo patrón de tiempo (cosa que es imprescindible). Para dar una idea de las formidables dificultades técnicas que han debido resolver los diseños actuales, considere que a la velocidad del Pentium III, las señales eléctricas solo recorren 15 centímetros en cada ciclo de reloj.
§2 Tipos de arquitectura
Una de las primeras decisiones a la hora de diseñar un procesador es decidir cual será su juego de instrucciones. Este conjunto de instrucciones (órdenes) es el lenguaje que realmente entiende el procesador, y constituye lo que se conoce como lenguaje ensamblador o lenguaje-máquina [1].
La decisión es trascendente, por dos razones. Primero: el juego de instrucciones decide el diseño físico del conjunto. Segundo: cualquier operación que deba ejecutarse con el procesador deberá poder ser descrita en términos de este "lenguaje" elemental (recuerde que los compiladores e intérpretes son en realidad traductores desde el lenguaje de alto nivel (fuente) a este lenguaje-máquina.
Sin entrar en detalles, podemos decir que frente a esta cuestión caben dos filosofías de diseño. La primera conduce a máquinas denominadas CISC ("Complex Instruction Set Computer"); las máquinas construidas según el otro criterio se denominan RISC ("Reduced Instruction Set Computer").
Como puede deducirse de sus propios nombres, las máquinas CISC utilizan instrucciones muy complejas, diríamos que muy descriptivas y específicas, lo que necesariamente se traduce en varias consecuencias:
El lenguaje debe contener un amplio surtido de ellas (una para cada circunstancia distinta).
Son instrucciones complejas, por tanto de ejecución lenta. La circuitería del procesador también es compleja.
Para un trabajo específico se requieren pocas instrucciones (siempre hay una que resuelve el problema).
Las máquinas RISC representan el enfoque opuesto. Utilizan instrucciones muy simples, que deben ser cuidadosamente escogidas, porque cualquier operación debe ser expresada como una secuencia de estas pocas instrucciones. Las consecuencias son justamente opuestas a las anteriores:
El lenguaje contiene un conjunto pequeño de instrucciones.
Las instrucciones son muy simples, por tanto de ejecución rápida. La circuitería es más simple que en los procesadores CISC.
Para cualquier operación se requieren varias instrucciones elementales.
Naturalmente cada criterio tiene sus pros y sus contra en lo que a rendimiento se refiere. En las máquinas CISC, lentitud de cada instrucción frente a poca cantidad de ellas; en las RISC, rapidez individual aunque hay que ejecutar un mayor número [2].
§3 Componentes principales.
De forma esquemática podemos suponer que un procesador se compone de cinco elementos:
Memoria
Unidad Artimético-Lógica ALU ("Arithmetic and Logic Unit" )
Unidad de Control CU ("Control Unit" )
Bus interno
Conexiones con el exterior ( 3.2.1)
Puesto que su conocimiento es esencial para la programación en ensamblador, nos detendremos brevemente la descripción de la arquitectura del 8088; además de ser el motor del primer PC, es uno de los primeros ejemplares de una prolífica saga que ha tenido una gran influencia en la informática actual. Además recordemos que incluso los modernos Pentium pueden emular el funcionamiento en modo real de sus ancestros.
En le figura 1 se muestran sus elementos.

4 OPERACIONES DE LA UNIDAD ARITMETICA Y LOGICA



Un típico símbolo esquemático para una ALU: A y B son operandos; R es la salida; F es la entrada de la unidad de control; D es un estado de la salida
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 pitido del temporizador, etc.
Por mucho, los más complejos circuitos electrónicos son los que están construidos dentro de los chips de
microprocesadores modernos como el Intel Core Duo. Por lo tanto, estos procesadores tienen dentro de ellos un ALU muy complejo y poderoso. De hecho, un microprocesador moderno (y los mainframes) pueden tener múltiples núcleos, cada núcleo con múltiples unidades de ejecución, cada una de ellas con múltiples ALU.
Muchos otros circuitos pueden contener en el interior ALU:
GPU como los que están en las tarjetas gráficas NVIDIA y ATI, FPU como el viejo coprocesador numérico 80387, y procesadores digitales de señales como los que se encuentran en tarjetas de sonido Sound Blaster, lectoras de CD y las TV de alta definición. Todos éstos tienen adentro varias ALU poderosas y complejas.

jueves, 5 de noviembre de 2009

3.2 MEDIOS PARA ACCESO A OTROS ELEMENTOS

MEDIOS PARA ACCESO A OTROS ELEMENTOS


Instrucciones de movimientos de datos:
Esta instrucción da por resultados la copia de datos desde una localidad de operando a otra; además del código de operación, estas instrucciones requieren información que identifique los operandos fuentes y destinos. En una computadora de uso general, los datos se pueden mover de:
Registro a registro.
Registro a memoria.
Memoria a registro.
Memoria a memoria.
Operaciones de datos en bloques:
Son aquellas que se efectúan con un conjunto de operandos y no con un solo operando. También dentro de esta instrucción se encuentra la de control del programa. Esto hace posible que un programa se adapte a la secuencia inherente al ciclo de maquina de la computadora. En otras palabras, se pueden pasar por alto secciones de instrucciones como resultado de la activación de un código de condiciones o como resultado directo del diseño del programa.
Instrucciones de control del programa
Instrucciones de Entrada - salida:
Desde el punto de vista de la programación para el acceso a la memoria o a un periférico simplemente se requiere el mismo conjunto de instrucciones. Estos sistemas se denominan sistemas de Entrada - Salida mapeados por memoria.
La programación de un dispositivo en estos sistemas requiere el conocimiento de este dispositivo y sus características, aunque no se necesitan instrucciones especiales. El dispositivo se caracteriza como un conjunto de localidades de la memoria que se dividen en dos subcategorias: un conjunto de registro de estado de control y un registro de información.
Registro de estado y control. Estos suelen contener información acerca del estado inactivo, ocupado, etc. En estos registros también se almacena información de control, como por ejemplo el tipo de paridad y la velocidad de transmisión de los datos.
La información contenida en los registros de estado y control se utiliza principalmente para proporcionar una imagen global del hardware cuando este en el programa
Registro de información: estos constituyen una memoria intermedia para la información que se transfiere entre la CPU y el periférico. En el caso de un dispositivo se transfieren datos sobre la base de carácter por carácter y suele haber solo dos registros. Uno que retiene datos de la CPU al dispositivo y otro que utilice datos del dispositivo a la CPU. Si la Entrada - Salida programada se realiza en un dispositivo unidireccional (solo transmite o solo recibe) entonces únicamente se necesitara un registro.
Memoria
Los grandes sistemas de computación suelen dar servicio a grandes cantidades de usuarios. Desde el punto de vista operativo la memoria es una de los principales elementos que componen nuestros sistemas.
Un sistema operativo es un conjunto de programas que hace posible que el usuario de un sistema de computación tenga acceso controlado a sus recursos, entre esos recursos se encuentran, la CPU, la memoria y los dispositivos de Entrada - Salida. El sistema operativo asigna tiempo a la CPU, distribuye el espacio disponible en la memoria, asigna y controla dispositivos de Entrada - Salida, para cada usuario. Estas funciones se realizan en forma transparente, es decir que el programador escribe el programa como si todo el sistema de la computadora estuviere dedicado a ese programa. Para ofrecer algunas características del sistema operativo la arquitectura de la maquina debe poseer ciertas propiedades. Para comenzar la maquina debe tener por lo menos 2 modos de operación diferentes.
Una forma, se denomina modo de supervisión y el otro modo del usuario.
Cuando la maquina esta en modo del supervisor, la CPU puede ejecutar todas las instrucciones de la maquina. Este es el modo de operación en el cual corren los programas de los distintos sistemas operativos lo que le da un control del sistema. Todas las peticiones de servicio de los dispositivos periféricos pasan por el sistema operativo ya que las instrucciones de Entrada - Salida, solamente pueden emitirse cuando la maquina se encuentra en modo supervisor.
En el modo usuario, la CPU no puede ejecutar todo el conjunto de instrucciones (en particular no se permite la ejecución de las instrucciones de control de la maquina y de Entrada - Salida.
Organización de la memoria
La memoria es un condensador que si retiene corriente es 1 y si no es 0, se necesita un condensador por bit.
Por ejemplo 32 Mb es igual a 32000000 bytes o sea 32000000 * 8 condensadores.
+ -
Existen dos tipos de memoria: las memorias dinámicas y las memorias estáticas. Las memorias que se suelen usar en los sistemas informáticos (RAM) son dinámicas, quedando relegadas las estáticas a aplicaciones un tanto especiales como puede ser mantener datos en ellas después de haber desconectado el equipo y alimentando a estas a través de baterías.
Las memorias estáticas presentan una serie de inconvenientes con respecto a las dinámicas; por ejemplo tienen una respuesta mas lenta que las dinámicas y es mas difícil su integración al necesitar mas electrónica para realizar la célula biestable que es encarga de generar el 0 o el 1 lógico correspondiente al bit.
Otro problema lo constituye su mayor consumo, ya que su constitución interna es mas complicada que la de una memoria dinámica.
Las memorias dinámicas son las mas generalizadas y constituyen el grueso de la RAM del ordenador. Poseen respecto a la mayoría de las memorias la ventaja de contar con una mayor velocidad, mayor capacidad de almacenamiento y un menor consumo. En contra partida, presentan el inconveniente de que precisan una electrónica especial para su utilización, la función de esta electrónica es generar el refresco de la memoria. La necesidad de los refrescos de las memorias dinámicas se debe al funcionamiento de las mismas, ya que este se basa en generar durante un tiempo la información que contiene. Transcurrido este lapso la señal que contenía la célula biestable se va perdiendo. Para que no ocurra esta perdida, es necesario que antes que transcurra el tiempo máximo que la memoria puede mantener la señal se realice una lectura del valor que tiene y se recargue la misma.
Es preciso considerar que a cada bit de la memoria le corresponde un pequeño condensador al que le aplicamos una pequeña carga eléctrica y que mantienen durante un tiempo en función de la constante de descarga. Generalmente el refresco de memoria se realiza cíclicamente y cuando esta trabajando el DMA. El refresco de la memoria en modo normal esta a cargo del controlador del canal que también cumple la función de optimizar el tiempo requerido para la operación del refresco.
Posiblemente, en mas de una ocasión en la computadora aparecen errores de paridad en la memoria debido a que las memorias que se están utilizando son de una velocidad inadecuada ya que las mismas se descargan antes de poder ser refrescadas.
Distribución de la memoria
La distribución de la memoria dentro de la computadora se suele denominar mapa de memoria y en el es posible observar en que zona se encuentran ubicados los registros y programas del sistema operativo. De acuerdo a la cantidad de bit que maneja el microprocesador es la capacidad máxima permitida que se puede direccionar en la maquina.
Independientemente de esta disponibilidad de memoria el limite real de direccionamiento va a estar dado por el sistema operativo que se esta usando, por ejemplo el sistema operativo D.O.S. independientemente de la memoria instalada puede direccionar como área de trabajo 640 Kb.
Dispositivos de Entrada - Salida
Desde el punto de vista de un sistema de computación los dispositivos de Entrada-Salida solo comprenden uno de los cuatro componentes principales de una computadora, sin embargo las ramificaciones de Entrada-Salida extienden esta simple representación y pueden tratarse en varios niveles diferentes. Las propiedades físicas y eléctricas de los dispositivos, la interfaz o controlador con que interactúa el procesador central y el apoyo de software del sistema operativo en uso.
La unidad de Entrada-Salida puede contar en realidad de muchas interfaces o controladores, incluir un procesador de Entrada - Salida de uso especial pero manejado por la CPU o ambas cosas.
El problema de Entrada-Salida puede restringirse en general de las otras consideraciones lógicas y eléctricas en un sistema de computación porque requiere una reconversión en una o varias de las siguientes áreas:
Velocidad: velocidad de transferencia de datos
Lógica: formato de los datos, codificación.
Eléctrica: niveles de señales, modalidad analogica-digital y digital-analogica.
Física: funciones electromecánicas, ópticas, de audio, etc.
Las operaciones de Entrada-Salida casi siempre requieren un cambio de velocidad para sincronizar la CPU con el dispositivo de Entrada-Salida. Esto impone restricciones tanto al hardware como al software. Por ejemplo el periférico mas conocido, la terminal de vídeo, típicamente puede actualizarse por medio de una línea de comunicaciones en serie, a una velocidad no mayor de 960 caracteres por segundo, una impresora matricial en la que intervienen componentes electromecánicos a 2000 caracteres por segundo. Sin embargo una CPU puede procesar instrucciones cientos o miles de veces mas rápido que esto. Además debe manejar múltiples dispositivos de Entrada-Salida en forma simultanea y realizar otras funciones de calculo en lugar a esperar a que se complete cada operación de Entrada-salida.
En las transacciones de Entrada-salida siempre existen operaciones entre el CPU y el periférico y un apoyo de un protocolo lógico que a menudo implica comunicaciones de transferencia de datos sincronizados (solicitud y reconocimiento). La especificación y el diseño global del dispositivo influye en el formato lógico de los datos. Además, casi toda la Entrada-salida implica un cambio fundamental en la representación eléctrica o física de la información.
Dentro de la computadora los datos y señales de control acostumbran a estar en la forma de niveles de voltaje o de acuerdo a una lógica dada.
La operación de Entrada-salida a menudo implica una conversión entre analógico, mecánico, magnético, de audio u otra forma para almacenamiento, transmisión o exhibición de datos. Se considera el campo de Entrada-Salida desde 3 puntos de vista principales: hardware, software y diseño.
Tipos y ejemplos de dispositivos
Cuatro clases principales de técnicas se aplican comúnmente en forma individual o combinada para controlar la transferencia de datos de Entrada - Salida:
Entrada - Salida controlada por programa: el procesador supervisa todas las transferencias de Entrada - Salida a través de la iniciación de ordenes y la verificación del estado del dispositivo. Esta técnica se emplea en aplicaciones especializadas y diagnósticos de dispositivos. La Entrada - Salida por programa utiliza la interfaz de hardware en forma mas simple pero no aprovecha eficientemente los recursos.
Entrada - Salida por interrupciones: las funciones son iniciadas bajo el control del programa pero la sincronización se maneja por medio de solicitudes de interrupción al hardware y el dispositivo asociado interrumpe el servicio de rutinas. Se utilizan en aplicaciones de baja o media velocidad en un entorno especializado o de multiprocesamiento. La Entrada - Salida activada por interrupciones utiliza hardware de complejidad relativamente baja y permite el diseño de software eficiente.
Acceso directo a memoria (DMA): la transferencia de Entrada - Salida de un bloque de datos completo se establece bajo el control del programa y se implementa con hardware de uso especial que transfiere datos directamente hacia o desde la memoria principal. Esto ocurre sin mas intervención de la CPU en forma concurrente con la ejecución del programa. El DMA se utiliza en dispositivos de velocidad media o alta en forma muy eficiente pero requiere una interfaz de hardware mas completa. Entre los usos mas comunes se cuenta los controladores de cinta o disco magnético, enlace entre los procesadores y procesadores de gráficos de alta velocidad.
Entrada - Salida mapeada por direcciones: la transferencia de datos se realiza entre la CPU y la región lógica del espacio direccionable del programa, que en realidad es parte de un dispositivo de Entrada - Salida, tal como una pantalla de imágenes o un canal de direcciones en lugar de la memoria principal. Esta técnica permite tanto la manipulación del programa de datos como las transferencias directas entre el dispositivo de Entrada - Salida y el almacenamiento final de la información. La Entrada - Salida mapeada por direcciones es un mecanismo eficiente y transparente que se utiliza con dispositivos estructurados, no es una extensión del DMA sino una técnica alternativa para ciertas aplicaciones.
Estructuras de canales de Entrada - salida
La configuración de Entrada - Salida es en términos generales la sección menos estandarizada de un sistema de computación, aunque solo puede disponerse de un numero pequeño de opciones del procesador, la selección del tipo y números de dispositivos de Entrada - Salida depende considerablemente de las aplicaciones. Además la configuración de Entrada - Salida tiende a cambiar conforme se desarrolla y expande el sistema.
Es muy deseable poder agregar o desmontar dispositivos sin tener que volver a configurar la maquina básicamente minimizando al mismo tiempo el costo y la complejidad. El método fundamental para alcanzar estas metas es el diseño del hardware y de la modularidad de dicho diseño.
El vehículo habitual para lograrla en el sistema de Entrada - salida es el canal de Entrada - Salida común.
En este canal se interconectan dispositivos de Entrada - Salida, la CPU y la memoria principal y permite comunicaciones flexibles entre estas unidades. Las funciones principales del canal de Entrada - Salida hace posible que múltiples dispositivos:
Transfieren información por trayectorias de datos comunes compartiendo y reduciendo la complejidad del hardware.
Se agregan o desmontan dispositivos simplemente enchufando o desenchufando sus cables (plug and play).
Se enlace vía a un mecanismo, el canal de Entrada - Salida empleando especificaciones lógicas, eléctricas y físicas estandarizadas. Esta estandarización hace posible que familias enteras de computadoras con diverso nivel de rendimiento utilicen los mismos periféricos. Además, el diseñador de una interfaz del dispositivo de Entrada - Salida no necesita estar familiarizado con el diseño de la CPU, ni conocer con que maquina en particular va a funcionar la interfaz. Solo debe comprender las características del canal, cuyas especificaciones necesarias pueden clasificarse en 3 categorías:
Lógicas: definición y agrupación de señales relacionadas de polaridad lógica, por ejemplo: dirección, datos, control, sincronización, etc.
Eléctricas y físicas: niveles de señales, tipos de cables, conectores, etc.
Protocolo: reglas de uso del canal, tal como las relaciones de tiempo (temporización, sincronización, reconocimiento y arbitraje).
Organización lógicas y física del almacenamiento magnético
Organización lógica
MASTER BOOT
BOOT
FAT # 1
FAT # 2
DIRECTORIO RAIZ
DATOS
Almacenamiento Magnético: el almacenamiento de datos sobre un medio magnético se realiza magnetizando el medio en el sentido u otro. Durante le lectura, cada cambio de estado magnético (transición) produce un pulso en la cabeza lectora, el sentido de la transición es irrelevante, lo que cuenta son los tiempos en que estas transiciones se producen . la técnica del registro se conoce como MFM (modulación en frecuencia modificada) esta es una mejora del método anterior (MF: modulación en frecuencia) que se aplicaba a dispositivos de simple densidad.
En FM cada aproximadamente 4 milisegundos se considera una celda, que codifica un BIT.

3.1 ARQUITECTURA DE LA CPU



ARQUITECTURA DE LA CPU


Core : es el procesador en sí, su estructura consta de un núcleo o core diseñado específicamente para cada modelo de procesador, digamos Celeron, MMX, etc. Así es como los núcleos vienen denominados por nombres tales como Deschutes (PII), Mendocino (Celeron), Katamai y Coppermaine (PIII) - Caché : Es un tipo de memoria que tiene la capacidad responder a los procesos a la misma velocidad que el CPU, claro que en comparación a la RAM no es nada, pero la Caché es realmente muy cara. Actualmente la caché es totalmente interna y se divide en L1 y L2, su funcionamiento es muy similar pero cumplen funciones disitintas. La L1 o memoria de entubado (Pipeline Burst) es la usada por el procesador directamente mientras que la L2 o de Código de corrección de errores (ECC) es en la que se almacenan los procesos ya realizados.- IP o puntero de instrucciones: Consta del manejo de los registros internos del procesador los cuales permiten almacenar procesos en determinados sectores de la memoria, esto se llama vectrorización. Una vectorización simplemente asigna al procesouna celda de memoria acotada por dos valores dados o sea que 0000:FFFF serían 255 bits de memoria asignada. Este proceso es conocido por los usuarios de Windows cundo se nos cuelga la máquina :Pcomo volcado de pila o STACK.- Unidad aritmético-lógica o ALU: Es la encargada de efectuar las operaciones aritméticas y lógicas básicas, como básico me refiero a que la suma no se expresa como 2+2=4 sino 10 And 10 = 100, no se olviden que es todo en forma digital, solo 0 y 1.

unidad 3 UNIDAD CENTRAL DE PROCESAMIENTO


Unidad central de procesamiento

Oblea de un microprocesador Intel 80486DX2 (tamaño: 12×6,75 mm) es su empaquetado
La unidad central de procesamiento o CPU (por el
acrónimo en inglés de central processing unit), o simplemente el procesador o microprocesador, es el componente en una computadora digital que interpreta las instrucciones y procesa los datos contenidos en los programas de la computadora. Las CPU proporcionan la característica fundamental de la computadora digital (la programabilidad) y son uno de los componentes necesarios encontrados en las computadoras de cualquier tiempo, junto con el almacenamiento primario y los dispositivos de entrada/salida. Se conoce como microprocesador el CPU que es manufacturado con circuitos integrados. Desde mediados de los años 1970, los microprocesadores de un solo chip han reemplazado casi totalmente todos los tipos de CPU, y hoy en día, el término "CPU" es aplicado usualmente a todos los microprocesadores.
La expresión "unidad central de proceso" es, en términos generales, una descripción de una cierta clase de máquinas de lógica que pueden ejecutar complejos
programas de computadora. Esta amplia definición puede fácilmente ser aplicada a muchos de los primeros ordenadores que existieron mucho antes que el término "CPU" estuviera en amplio uso. Sin embargo, el término en sí mismo y su acrónimo han estado en uso en la industria de la informática por lo menos desde el principio de los años 1960 . La forma, el diseño y la implementación de las CPU ha cambiado drásticamente desde los primeros ejemplos, pero su operación fundamental ha permanecido bastante similar.
Las primeras CPU fueron diseñadas a la medida como parte de una computadora más grande, generalmente una computadora única en su especie. Sin embargo, este costoso método de diseñar los CPU a la medida, para una aplicación particular, ha desaparecido en gran parte y se ha sustituido por el desarrollo de clases de procesadores baratos y estandarizados adaptados para uno o muchos propósitos. Esta tendencia de estandarización comenzó generalmente en la era de los
transistores discretos, computadoras centrales, y microcomputadoras, y fue acelerada rápidamente con la popularización del circuito integrado (IC), éste ha permitido que sean diseñados y fabricados CPU más complejos en espacios pequeños (en la orden de milímetros). Tanto la miniaturización como la estandarización de los CPU han aumentado la presencia de estos dispositivos digitales en la vida moderna mucho más allá de las aplicaciones limitadas de máquinas de computación dedicadas. Los microprocesadores modernos aparecen en todo, desde automóviles, televisores, neveras, calculadoras, aviones, hasta teléfonos móviles o celulares, juguetes, entre otros.