68
ESTRUCTURA INTERNA DE COMPUTADORAS 1. Introducción 2. Generaciones de computadoras 3. Unidad Central del Sistema 4. Unidad Central de Proceso 5. Unidad de Control (CU) 6. Unidad Aritmética y Lógica (ALU) 7. Registros 8. Memoria de Acceso Aleatorio (RAM) 9. Memoria ROM 10. Memoria Caché 11. Memorias externas 12. Buses 13. Arquitecturas de Bus 14. Reloj 15. Tarjetas de expansión interna 16. Tarjetas Controladoras de Periféricos 17. Tarjetas de Expansión Controladoras del Modo de Video 18. Tarjetas Controladoras de Comunicaciones 19. Jerarquía de computadoras 20. Modelo de Von Neumann 21. Los componentes físicos de una unidad de disco duro 22. Organización de la memoria semiconductora 23. El Procesador 24. Lenguaje ensamblador 25. Bibliografía 1.- INTRODUCCIÓN El concepto de arquitectura de computadoras en el entorno informático proporciona una descripción de la construcción y

Estructura Interna de as

Embed Size (px)

Citation preview

Page 1: Estructura Interna de as

ESTRUCTURA INTERNA DE COMPUTADORAS

1. Introducción

2. Generaciones de computadoras

3. Unidad Central del Sistema

4. Unidad Central de Proceso

5. Unidad de Control (CU)

6. Unidad Aritmética y Lógica (ALU)

7. Registros

8. Memoria de Acceso Aleatorio (RAM)

9. Memoria ROM

10. Memoria Caché

11. Memorias externas

12. Buses

13. Arquitecturas de Bus

14. Reloj

15. Tarjetas de expansión interna

16. Tarjetas Controladoras de Periféricos

17. Tarjetas de Expansión Controladoras del Modo de Video

18. Tarjetas Controladoras de Comunicaciones

19. Jerarquía de computadoras

20. Modelo de Von Neumann

21. Los componentes físicos de una unidad de disco duro

22. Organización de la memoria semiconductora

23. El Procesador

24. Lenguaje ensamblador

25. Bibliografía

1.- INTRODUCCIÓN

El concepto de arquitectura de computadoras en el entorno informático proporciona una descripción de la construcción y distribución física de los componentes de la computadora. Son todos aquellos atributos que tienen un impacto directo en la ejecución lógica de un programa.

Mientras tanto, el concepto de organización de computadoras se refiere a las unidades funcionales y sus interconexiones.

La estructura es el modo en el que los componentes están interconectados.

El funcionamiento es la operación de cada componente individual como parte de la estructura, tales como el procesamiento de datos, el almacenamiento de datos, la transferencia de datos y el control.

Gráficamente, las funciones serían algo así:

Page 2: Estructura Interna de as

* A) Transferencia de datos. * B) Almacenamiento. * C) Procesamiento de datos almacenados. * D) Entrada o salida de datos con un procesamiento previo. La arquitectura de una computadora explica la situación de sus componentes y permite determinar las posibilidades de que un sistema informático, con una determinada configuración, pueda realizar las operaciones para las que se va a utilizar.

Cualquier usuario que desee adquirir un sistema informático, tanto si es una gran empresa como un particular, debe responder a una serie de preguntas previas: ¿qué se desea realizar con el nuevo sistema informático? ¿Cuáles son los objetivos a conseguir? ¿Qué software será el más adecuado para conseguir los objetivos marcados? ¿Qué impacto va a suponer en la organización (laboral o personal) la introducción del nuevo sistema informático?

Finalmente, cuando se haya respondido a estas preguntas, el usuario tendrá una idea aproximada de los objetivos que han de cumplir los diferentes sistemas informáticos a evaluar.

En la actualidad es muy familiar el aspecto exterior de una computadora o, por lo menos, de una microcomputadora, pero se ha de advertir que, salvando las diferencias de tamaño y la posibilidad de teleproceso (manejo del sistema informático a grandes distancias a través de líneas de comunicaciones de diferentes tipos), en general, los sistemas informáticos se dividen físicamente en la unidad central del sistema y los periféricos que permiten conectarlo al mundo exterior.

La Unidad Central del Sistema es un habitáculo en forma de caja donde se sitúa el «cerebro» de la computadora, esto es, la unidad central de proceso (CPU), así como los distintos componentes que van a ayudar al sistema informático en sus operaciones habituales (bus, memorias, fuentes de alimentación eléctrica, etcétera).

La unidad central de proceso se compone de:

• Una Unidad de Control que manejará los diferentes componentes del sistema informático así como los datos a utilizar en los diferentes procesos.

• Una Unidad Aritmético-Lógica que realizará las diferentes operaciones de cálculo en las que la computadora basa su funcionamiento.

• Unos Registros del Sistema que sirven como área de trabajo interna a la unidad central de proceso.

La unidad central de proceso se conecta a una serie de memorias que le sirven como soporte para el manejo de los datos y programas que se han de utilizar mientras se encuentre operativa.

Page 3: Estructura Interna de as

Si la computadora está procesando datos al vuelo (los datos se introducen, se procesan, se muestran inmediatamente), la computadora necesita almacenar temporalmente al menos aquellos datos con los que está trabajando en un momento dado de la misma manera, la computadora lleva a cabo una función de almacenamiento de datos a largo plazo.

Las diferentes memorias del sistema informático (Random Access Memory o RAMy Read Only Memory o ROM) son componentes fundamentales de la computadora ya que van a ser, en el caso de la RAM, el área de trabajo donde el microprocesador va a realizar las diferentes operaciones en que se van a descomponer los procesos solicitados por el usuario, mientras que la ROM va a servir para ayudar a la computadora a realizar las diferentes operaciones de arranque del sistema informático previas a que el sistema operativo tome el control de las diferentes tareas a realizar.

La unidad central de proceso y las memorias se conectan entre ellas por medio del bus. El bus es un enlace de comunicaciones que conecta todos los componentes que configuran el sistema informático y permite la transferencia de información entre ellos. Esta información se compone de datos y órdenes de comandos para manipular los datos. Existen varias tecnologías de diseño y construcción de buses entre las que se pueden distinguir las arquitecturas ISA, EISA y MCA que se verán más adelante.

Otros componentes que se conectan al bus son los puertos de conexión de los diferentes periféricos asociados a la unidad central del sistema de la computadora y que van a permitir configurar el sistema informático para una serie diferente de operaciones funcionales que siempre han de cubrir las necesidades del usuario.

Es evidente que la configuración de un sistema informático ha de realizarse en función de los objetivos operativos que vaya a cubrir la citada computadora. Así, un sistema informático que se va a dedicar exclusivamente a CAD/CAM (diseño asistido por computadora) no tendrá una configuración similar a la de una computadora que va a dedicarse a controlar los diferentes enlaces de comunicaciones que componen una red informática.

Los diferentes periféricos que se pueden conectar a un sistema informático se dividen en cuatro grupos principales:

• Periféricos de Entrada de Información.

• Periféricos de Almacenamiento de Información.

• Periféricos de Salida de Información.

• Periféricos de Comunicaciones.

ENTORNO OPERATIVO(FUENTE Y DESTINO DE

DATOS)

Sistema de transferencia de

datos

Mecanismo de controlRecurso de

almacenamiento de datos

Recurso de almacenamiento

de datos

TEMPORAL(RAM, CACHÉ)

PERMANENTE(BIOS, ROM, USB,

DISCO DURO, DVD)

Page 4: Estructura Interna de as

2.- Generaciones de computadoras

1. Primera Generación (1945-1955)

Se llama así a la generación de tubos al vacío y válvulas.

Se caracterizó por maquinas muy grandes y pesadas. Muy lentas en sus procesos, tanto que la resolución de programas largos implicaba varios días de espera. Pese a todo fue muy útil pues podía resolver 5.000 cálculos por segundo.

En las primeras computadoras se puede observar aproximadamente el siguiente funcionamiento:

Al computador entraban datos, a esos datos se les daba un procesamiento, dicho procesamiento se configuraba antes de empezar por medio de cableado, y del computador salían los resultados.

Como se puede apreciar el procesador era para un uso específico.

Un ejemplo de esto es la famosa ENIAC.

Unos datos interesantes:

Trabajaba con numeración decimal.

Pesaba 30 toneladas

Poseía 18000 válvulas.

Consumía 140 Kilowatios.

Realizaba 5000 sumas por segundo.

2. Segunda Generación (1955 - 1965)

Se Llamaba de los transistores y sistemas en Lote.

En las computadoras de esta generación se reemplazaron las válvulas por los transistores. Con eso se pudo reducir el tamaño de los ordenadores y aumentar su velocidad de trabajo. Aunque todavía eran un poco lentas

3. Tercera Generación (1965 - 1980)

Se llama de circuitos integrados y de multiprogramación. El gran descubrimiento de este periodo fueron los circuitos integrados denominados CHIP. El circuito integrado consiste en un gran número de componentes electrónicos (transistores, resistencias, etc.) miniaturizados y encapsulados en un espacio de pocos centímetros. Este descubrimiento produjo grandes cambios en cuanto al tamaño de las computadoras; en velocidad, en compatibilidad, e introduciendo nuevas técnicas de programación.

4. Cuarta Generación (1980-1990)

Se la denomina de computadora personal o de computadora hogareña. Se llama así ya que los microprocesadores son chips mucho más pequeños que contienen en un centímetro cuadrado, miles de Si hacen memoria quiere decir que la computadora ENIAC con 18.000 válvulas, que ocupaba mas de una habitación, hoy se resume en un centímetro cuadrado. De esta forma muchas familias comenzaron a tener computadoras en sus casas, como por ejemplo las TEXAS INSTRUMENT 99/4A, COMMODORE 64 Y 128, SPECTRUM.

5. Quinta Generación (1990) Hasta la Fecha

En la actualidad los piases más adelantados, entre los que figuran Japón y Estados Unidos están investigando y produciendo, los primeros prototipos de nuevos ordenadores que formaran la Quinta

Page 5: Estructura Interna de as

Generación. (Estos tendrán la capacidad de realizar deducciones empleando el lenguaje del hombre.) Esta Quinta generación que recién comienza se denominará: Computadora inteligente o inteligencia artificial

Computadoras que se destacaron en ésta generación: PC AT 80286, PC AT 80386, PC AT 80486. PC AT 586 PENTIUM PENTIUM PRO PENTIUM II PENTIUM III.

Clasificación de las computadoras basado en tamaño

Supercomputadoras

Una supercomputadora es un tipo de computadora muy potente y rápida, diseñada para procesar enormes cantidades de información en poco tiempo y dedicada a una tarea específica.

Por lo mismo son las más caras, su precio alcanza los 30 millones de dólares o mas; y cuentan con un control de temperatura especial, esto para disipar el calor que algunos componentes alcanzan a tener.

Ejemplos de tareas a las que son dedicadas las supercomputadoras:

Búsqueda y estudio de la energía y armas nucleares.

Búsqueda de yacimientos petrolíferos con grandes bases de datos sísmicos.

El estudio y predicción de tornados.

El estudio y predicción del clima de cualquier parte del mundo.

La elaboración de maquetas y proyectos de la creación de aviones, simuladores de vuelo.

Sus principales características son:

Velocidad de Proceso: Miles de millones de instrucciones de punto flotante por segundo.

Usuario a la vez: Hasta miles, en entorno de redes amplias.

Tamaño: Requieren instalaciones especiales y aire acondicionado industrial.

Facilidad de uso: Solo para especialistas.

Clientes usuales: Grandes centros de investigación.

Penetración social: Prácticamente nula.

Impacto social: Casi nulo.

Parque instalado: Menos de un millar en todo el mundo.

Costo: Hasta decenas de millones cada una.

Macrocomputadoras o Mainframes

Las macrocomputadoras son también conocidas como mainframes. Los mainframes son sistemas grandes, rápidos y caros con capacidad de controlar cientos de usuarios en forma simultánea, así como manejar cientos de dispositivos de entrada y salida.

Su costo va desde los 350 mil dólares hasta varios millones de dólares. De alguna forma los mainframes son más poderosos que las supercomputadoras porque soportan mas programas simultáneamente. Sin embargo las supercomputadoras pueden ejecutar un sólo programa más rápido que un mainframe.

En el pasado, los Mainframes ocupaban cuartos completos o hasta pisos enteros de algún edificio, hoy en día, un Mainframe es parecido a una hilera de archiveros en algún cuarto con piso falso, esto para ocultar los cientos de cables de los periféricos , y su temperatura tiene que estar controlada.

Page 6: Estructura Interna de as

Sus principales características son:

Velocidad de proceso: Cientos de millones de instrucciones por segundo o mas.

Usuario a la vez: Centenares o miles.

Tamaño: Requieren instalaciones especiales y aire acondicionado.

Facilidad de uso: Para especialistas.

Clientes usuales: Grandes corporaciones y gobiernos.

Penetración social: Baja.

Impacto social: Muy alto, aunque pasa inadvertido, la sociedad industrial moderna no puede funcionar sin ellas.

Parque instalado: Miles en todo el mundo.

Costo: Centenares de miles de dólares o más.

Minicomputadoras

En 1960 surgió la minicomputadora, una versión más pequeña de la macrocomputadora. Al ser orientada a tareas específicas, no necesitaba de todos los periféricos que necesita un mainframe, y esto ayudo a reducir el precio y costos de mantenimiento.

En general, una minicomputadora, es un sistema multiproceso (varios procesos en paralelo) capaz de soportar de 10 hasta 200 usuarios simultáneamente. Actualmente se usan para almacenar grandes bases de datos, automatización industrial y aplicaciones multiusuario.

Sus principales características son:

Velocidad de proceso: Cientos de millones de instrucciones por segundo.

Usuario a la vez: Hasta decenas, o cientos cuando se usan en red.

Tamaño: Reducido; no siempre necesitan instalaciones especiales.

Facilidad de usos: Para especialistas.

Clientes usuales: Universidades, empresas medianas. Suelen funcionar como servidores de redes.

Penetración social: Baja.

Impacto social: Reducido, aunque amplio en los entornos de las redes.

Parque instalado: Cientos de miles.

Costo: Decenas de miles de dólares.

Microcomputadoras o PC´s

Las microcomputadoras o Computadoras Personales (PC´s) tuvieron su origen con la creación de los microprocesadores. Un microprocesador es "una computadora en un chip". Las PC´s son computadoras para uso personal y relativamente son baratas y actualmente se encuentran en las oficinas, escuelas y hogares.

El término PC se deriva de que para el año de 1981, IBM®, sacó a la venta su modelo "IBM PC", la cual se convirtió en un tipo de computadora ideal para uso "personal", de ahí que el término "PC" se estandarizó y los clones que sacaron posteriormente otras empresas fueron llamados "PC y compatibles", usando procesadores del mismo tipo que las IBM , pero a un costo menor y pudiendo ejecutar el mismo tipo de programas.

Page 7: Estructura Interna de as

Existen otros tipos de microcomputadoras, como la Macintosh®, que no son compatibles con la IBM, pero que en muchos de los casos se les llaman también "PC´s", por ser de uso personal.

En la actualidad existen variados diseños de PC´s: computadoras personales, con el gabinete tipo minitorre, con el gabinete horizontal, computadoras personales portátiles "Laptop" o "Notebook".

Sus principales características son:

Velocidad de proceso: Decenas de millones de instrucciones por segundo.

Usuario a la vez: Uno (Por eso se llaman Personales).

Tamaño: Pequeño, o portátiles.

Facilidad de uso: Supuestamente fáciles de usar.

Clientes usuales: Pequeñas empresas, oficinas, escuelas, individuos.

Penetración social: Mediana.

Impacto social: Alto, en los países industrializados.

Parque instalado: Cientos de millones en el mundo.

Costo: Pocos miles de dólares.

3.- Unidad Central del Sistema

La Unidad Central del Sistema (System Unit en inglés) es el centro de operaciones de cualquier computadora existente en el mercado actual. En la unidad central del sistema se alojan los componentes y circuitería que van a realizar las tareas fundamentales de la computadora.

Al abrir la unidad central del sistema de una computadora se pueden apreciar una serie de componentes:

- Placa principal.

- Microprocesador central o unidad central de proceso (CPU).

- Bus.

- Memoria principal.

- Otros componentes controladores.

- Fuente de alimentación eléctrica.

A continuación se estudiará detenidamente cada uno de ellos.

1. Placa Principal.

Es una placa con un circuito impreso donde se conectan los elementos básicos de la computadora: el microprocesador, el bus y toda o parte de la memoria principal.

En algunos lugares también aparece denominada como placa base o placa madre.

2. Microprocesador Central o Unidad Central de Proceso (CPU).

Es el elemento fundamental de la computadora. El microprocesador va a ocuparse de la ejecución de las órdenes de comandos, los cálculos matemáticos solicitados por las referidas órdenes, el manejo de los datos asociados a los cálculos. Otra función importante del microprocesador va a ser el control de los componentes del sistema informático conectados a él y que le dan apoyo y le permiten realizar todas las operaciones que le son solicitadas por los diferentes programas de aplicación.

Page 8: Estructura Interna de as

El microprocesador se va a ocupar también de controlar y gestionar el tráfico de datos entre la unidad central del sistema y los periféricos optimizando los procesos a realizar por la computadora.

3. Bus.

El bus, quizá fuera mejor decir los buses ya que existen varios con diversas funciones, es un circuito que conecta el procesador central con todo el resto de componentes de la computadora.

El bus sirve para que le llegue al procesador la información y las solicitudes de trabajo, desde el exterior, y envíe hacia afuera los resultados del trabajo realizado.

4. Memoria Principal.

Es la zona de trabajo donde la computadora va a almacenar temporalmente las órdenes a ejecutar y los datos que deberán manipular esas órdenes.

Cuanto mayor sea la cantidad de memoria existente en el sistema informático, mayores serán las posibilidades de trabajo de la computadora, ya que ésta podrá manipular una cantidad superior de datos al mismo tiempo (siempre que el sistema operativo lo permita).

5. Componentes de Control.

Son elementos que sirven como apoyo al funcionamiento del microprocesador central.

Fundamentalmente, son componentes especializados en realizar determinadas operaciones, descargando al microprocesador central de estas actividades y permitiéndole obtener una mayor rapidez y efectividad en el manejo del conjunto del sistema informático.

Los controladores más importantes son el controlador de interrupciones, el generador de reloj y el controlador de acceso directo a memoria.

Las placas de expansión interna más importantes son las de control del subsistema de vídeo, que manejarán las señales que envía la CPU a la pantalla del sistema informático y las del controlador de los discos de la computadora que controlará el flujo de datos entre la memoria principal y el subsistema de almacenamiento.

Estos componentes serán estudiados en el apartado concreto de sus tareas dentro del sistema informático.

6. Fuente de Alimentación Eléctrica.

Las fuentes de alimentación proporcionan la energía eléctrica que necesita por la computadora para funcionar. Esa energía se estabiliza para impedir que la computadora se vea afectada por oscilaciones bruscas en el suministro de las compañías eléctricas.

La fuente de alimentación transforma la corriente alterna de 220 voltios de la red ciudadana en corriente continua y de menor voltaje, que es la que necesitan los diferentes componentes de la computadora.

Los voltajes que proporciona la fuente de alimentación son de 12 y 5 voltios. El primero se utiliza para poner en funcionamiento los componentes mecánicos de la computadora (discos, diskettes, etc.). El segundo se utiliza en los componentes electrónicos (el microprocesador, la memoria, el reloj, etc.).

En caso de que se abra la unidad central del sistema de la computadora es muy importante no manipular la fuente de alimentación; hay que tener en cuenta que, si el sistema informático está enchufado y encendido, la fuente de alimentación es potencialmente peligrosa. Si se está intentando realizar alguna operación dentro de la caja de la unidad, deben manipularse cuidadosamente los

Page 9: Estructura Interna de as

cables que entran y salen de la caja de la fuente de alimentación y bajo ningún concepto intentar abrirla.

4.- Unidad Central de Proceso

La Unidad Central de Proceso es el lugar donde se realizan las operaciones de cálculo y control de los componentes que forman la totalidad del conjunto del sistema informático.

Las CPU de las actuales computadoras son microprocesadores construidos sobre un cristal de silicio semiconductor donde se crean todos los elementos que forman un circuito electrónico (transistores, etc.) y las conexiones necesarias para formarlo.

El microcircuito se encapsula en una pastilla de plástico con una serie de conexiones hacia el exterior, en forma de patillas metálicas, que forman su nexo de unión al resto del sistema informático. Estas pastillas de plástico, con una multitud de patillas de conexión metálicas, reciben el nombre de chips.

El microprocesador central de una computadora se divide en:

• Unidad de Control (Control Unit o CU en inglés).

• Unidad Aritmético-Lógica (Aritmethic Control Unit o ALU en inglés).

• Registros.

La Unidad de Control maneja y coordina todas las operaciones del sistema informático, dando prioridades y solicitando los servicios de los diferentes componentes para dar soporte a la unidad aritmético-lógica en sus operaciones elementales.

La Unidad Aritmético-Lógica realiza los diferentes cálculos matemáticos y lógicos que van a ser necesarios para la operatividad de la computadora; debe recordarse que todo el funcionamiento del sistema de una computadora se realiza sobre la base de una serie de operaciones matemáticas en código binario.

Los Registros son una pequeña memoria interna existente en la CPU que permiten a la ALU el manejo de las instrucciones y los datos precisos para realizar las diferentes operaciones elementales.

De la misma forma que la placa principal tiene un bus para conectar la CPU con los diferentes dispositivos del sistema informático, la unidad de control tiene un bus interno para conectar sus componentes.

5.- Unidad de Control (CU)

Es la parte de la unidad central de proceso que actúa como coordinadora de todas las tareas que ha de realizar la computadora. Asimismo, se encarga de manejar todas las órdenes que la computadora necesita para realizar la ejecución de las operaciones requeridas por los programas de aplicación.

Sus funciones Básicas son:

1. Manejar todas las operaciones de acceso, lectura y escritura a cada una de las posiciones de la memoria principal donde se almacenan las instrucciones necesarias para realizar un proceso.

2. Interpretar la instrucción en proceso.

3. Realizar las tareas que se indican en la instrucción.

Esta unidad también se ocupa de controlar y coordinar a las unidades implicadas en las operaciones anteriormente mencionadas, de manera que se eviten problemas internos que se puedan producir entre los componentes de la computadora.

Page 10: Estructura Interna de as

La unidad de control, finalmente, comunica entre sí y dirige las entradas y salidas desde y hasta los periféricos, dando el oportuno tratamiento a la información en proceso.

Para realizar su cometido, la unidad de control necesita manejar la siguiente información:

• El registro de estado.

• El registro puntero de instrucciones.

• La instrucción a ejecutar.

• Las señales de entrada/salida.

La salida que proporcionará la unidad de control será el conjunto de órdenes elementales que servirán para ejecutar la orden solicitada.

Los pasos en que se divide este proceso son:

1. Extraer de la memoria principal la instrucción a ejecutar.

2. Tras reconocer la instrucción, la unidad de control establece la configuración de las puertas lógicas (las interconexiones de los diferentes componentes del circuito lógico) que se van a ver involucradas en la operación de cálculo solicitada por la instrucción, estableciendo el circuito que va a resolverla.

3. Busca y extrae de la memoria principal los datos necesarios para ejecutar la instrucción indicada en el paso número 1.

4. Ordena a la unidad involucrada en la resolución de la instrucción en proceso que realice las oportunas operaciones elementales.

5. Si la operación elemental realizada ha proporcionado nuevos datos, éstos se almacenan en la memoria principal.

6. Se incrementa el contenido del registro puntero de instrucciones.

6.- Unidad Aritmética y Lógica (ALU)

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.

7.- Registros

Page 11: Estructura Interna de as

Los 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:

Registros de Propósito General:

(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

Registros de Segmento de Memoria:

(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

Registros de Instrucciones

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

Page 12: Estructura Interna de as

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, provoquen 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.

• El Registro Acumulador.

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.

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.

• El Registro Puntero de la Pila.

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.

Memoria Principal

La Memoria Principal es la zona de la unidad central de sistema que almacena la información, en forma de programas y datos, que se va a procesar seguidamente o va a servir de apoyo a las diferentes operaciones que se van a efectuar por la computadora.

La posibilidad del proceso inmediato de la información que almacena la memoria principal es su característica fundamental, ya que, mientras que los datos existentes en la memoria principal pueden ser procesados de inmediato por la unidad central de proceso, la información contenida en la memoria auxiliar (discos, cintas, etc.) no puede ser procesada directamente por la unidad central de proceso.

La memoria principal está conectada directamente a los buses, que son su medio de comunicación con la unidad central de proceso del sistema informático. La cantidad de memoria existente en una

Page 13: Estructura Interna de as

computadora se verá limitada por la capacidad de direccionamiento del bus; esto forma el Mapa de Memoria.

La memoria principal está compuesta lógicamente por una serie de celdas de bits que permiten almacenar en cada una de ellas un bit de información en código binario (0, 1) que será parte de un dato o una instrucción.

Para poder identificar cada una de las celdas de la memoria, éstas se numeran; a este número se le llama dirección y es el medio a través del cual la unidad de control puede manejar la información.

Las direcciones de la memoria se localizan a través del mapa de memoria. La dirección de cada celda de la memoria se establece por una matriz en la que los parámetros son el número total de direcciones y la longitud de palabra que maneja el sistema informático. Esto supone una limitación, ya que la computadora sólo puede manejar un número limitado de bits de dirección en sus operaciones de direccionamiento.

La Palabra representa la cantidad de bits de información manejada en paralelo por la computadora. Tamaños típicos de palabras son 8 bits, 16 bits, 32 bits, etc.

Una vez localizada la dirección de la celda de memoria se podrán realizar dos operaciones: leer la información existente en ella o bien escribir nueva información para poder ser almacenada y posteriormente procesada.

Para poder determinar si el sistema informático va a leer o escribir se utiliza el registro de datos. El registro de datos es un bit que, según el valor de la información que contenga (0,1) indica a la unidad de control si se va a leer o escribir en el acceso a la memoria que se esté realizando en ese momento. En ambos casos, esta operación se realiza a través del bus de datos.

Cuando la unidad de control lee de la celda de memoria, necesita que se le proporcione una dirección a la cual ir a leer. La información existente en la celda no se destruye.

Cuando la unidad de control escribe en la celda de memoria, debe recibir dos informaciones: la dirección de la memoria donde escribir y la información que se debe escribir propiamente dicha. La información existente en la celda de memoria previamente se destruye, ya que lo que había escrito se sustituye por una nueva información.

La memoria principal se divide fundamentalmente en dos partes: Volátil y No Volátil.

La Memoria Volátil pierde la información almacenada en su interior si el sistema informático que la soporta es apagado. Esta parte de la memoria principal se conoce como RAM (Memoria de Acceso Aleatorio o Random Access Memory).

La parte de la Memoria principal que No es Volátil es la ROM (Memoria de Sólo Lectura o Read Only Memory). Esta memoria es de sólo lectura y la computadora no puede escribir sobre ella. Su función principal es el arranque del sistema informático.

Las Memorias Volátiles pueden ser estáticas, también llamadas RAM (Memorias de Acceso Aleatorio o Random Access Memory), o dinámicas, denominadas en este caso DRAM (Memorias Dinámicas de Acceso Aleatorio o Dinamic Random Access Memory). Más adelante se verán más detenidamente.

Las Memorias No Volátiles se dividen en memorias de Sólo Lectura (ROM) y en otras que permiten la Manipulación de la Información que contienen por diversos medios especiales que se verán más adelante.

Existen dos modos distintos de Acceso a la Memoria:

• Acceso por Palabras.

Page 14: Estructura Interna de as

• Acceso por Bloques.

1. Acceso por Palabras.

También se le denomina acceso aleatorio. La operación de acceso se realiza sobre una sola palabra de información. Recuérdese que palabra es la cantidad de bits que maneja el sistema informático al mismo tiempo.

Este tipo de acceso únicamente se utiliza con memorias estáticas (RAM) ya que el tiempo de acceso empleado es siempre el mismo.

2. Acceso por Bloques.

Es el modo de acceso utilizado en las memorias dinámicas. Consiste en empaquetar en un bloque un conjunto de datos al que se añade una cabecera para identificarlo. El acceso se realizará a la cabecera del bloque y una vez en ella se accederá a la información que contiene.

El acceso en las memorias dinámicas se realiza por bloques, debido a que tardan más tiempo que las estáticas en acceder a una zona de la memoria. La ventaja es que una vez que acceden a la zona donde se sitúa el bloque son muy rápidas en acceder a la información existente.

Generalmente, la memoria que posee una computadora recién adquirida no es la máxima que el bus puede direccionar, por lo que la memoria principal puede ampliarse incrementando el número de unidades de memoria conectadas. Conviene recordar que las placas de memoria son un factor fundamental en el costo total de adquisición del sistema informático.

Debe tenerse en cuenta que si la cantidad de memoria principal del sistema informático no es muy grande el procesador se verá restringido en su potencia por la limitada capacidad de manipulación y acceso a los datos.

Las Tecnologías para fabricar memorias se caracterizan por:

• Coste.

• Tiempo de acceso.

• Capacidad de almacenamiento.

La Optimización se consigue con una gran capacidad de almacenamiento, un tiempo de acceso muy corto y un costo pequeño.

Las memorias se dividen físicamente en:

1. Soporte de Almacenamiento de la Información.

Generalmente son de naturaleza magnética. Está compuesto por pequeños dipolos que pueden tomar dos estados en los que la información toma un valor en cada uno de ellos. Cada estado se obtiene por medio de la aplicación de una señal eléctrica exterior generada por el elemento de lectura y escritura.

2. Elemento de Escritura y Lectura.

Este dispositivo introducirá y obtendrá la información de la memoria.

Para Escribir el dispositivo produce una corriente eléctrica local que provoca un cambio estable en el campo magnético de la celda de memoria.

Para Leer el dispositivo determinará el campo magnético de la celda de memoria y sabrá cual es el valor existente.

3. Mecanismo de Direccionamiento.

Page 15: Estructura Interna de as

Pueden ser de dos tipos dependiendo de que las memorias sean estáticas o dinámicas.

En las Memorias Estáticas el direccionamiento es un cableado directo a la celda de memoria.

En las Memorias Dinámicas se utiliza una información de control almacenada con los datos que configuran el circuito para direccionar la lectura o escritura al lugar donde se almacena la información.

La memoria se divide en varias capas o niveles con una estructura cuya forma puede recordarnos a una estructura piramidal.

Nombre Tamaño Máximo Tiempo de Acceso

Registros Hasta 200 Bytes Menos de 10 Nanosegundos

Memoria Caché Hasta 512 Bytes Entre 10 y 30 Nanosegundos

Memoria Principal Más de 1 Gigabyte Entre 30 y 100 Nanosegundos

El vértice de la pirámide sería una pequeña cantidad de memoria, los registros, que se caracterizan por una capacidad de almacenamiento de información muy pequeña, pero que poseen la ventaja de tener un tiempo de acceso muy reducido, inferior a los 10 nanosegundos.

La base de nuestra hipotética pirámide es la memoria principal, donde existe una mayor cantidad de espacio (puede llegar hasta 1 gigabyte, esto es, mil millones de bytes), pero que tiene la desventaja de que el tiempo de acceso es muy superior, lo que la convierte en mucho más lenta que los registros.

Entre ambas se situaría una zona de memoria que se llama memoria caché. La memoria caché es una zona especial de memoria que sirve para optimizar los tiempos de acceso a la memoria RAM por métodos estadísticos.

8.- Memoria de Acceso Aleatorio (RAM)

Las Memorias de Acceso Aleatorio (RAM: Random Access Memory) son memorias construidas sobre semiconductores donde la información se almacena en celdas de memoria que pueden adquirir uno cualquiera de los dos valores del código binario.

Las memorias de acceso aleatorio son memorias en la que se puede leer y escribir información. Permite el acceso a cualquier información que contenga con la misma velocidad. Esto significa que se puede acceder aleatoriamente a cualquier información almacenada sin que se afecte la eficiencia del acceso. Contrasta con las memorias secuenciales, por ejemplo una cinta magnética, donde la facilidad de acceso a una información depende del lugar de la cinta donde esté almacenada.

Las tecnologías de memorias RAM se basan en Celdas de Memoria. La memoria RAM es volátil, esto es, cuando se corta la alimentación eléctrica se pierde toda la información que estuviera almacenada en este tipo de memoria. La comunicación de la RAM con la CPU se realiza a través del Bus de Direcciones y el Bus de Datos.

La memoria RAM se utiliza tanto para almacenar temporalmente programas y datos como para guardar los resultados intermedios que se están manipulando durante un proceso.

Una celda de memoria concreta de la RAM se puede referenciar con una dirección de Segmento de Memoria y un valor determinado dentro de ese segmento llamado «desplazamiento».

Page 16: Estructura Interna de as

La RAM está dividida en segmentos de memoria para facilitar su manejo por la unidad de control. Los segmentos de memoria tienen un tamaño múltiplo de 16, de 0 a F en Hexadecimal. El rango total varía desde 0000 hasta un valor Hexadecimal que depende de la cantidad de semiconductores de memoria RAM con la que se haya configurado el sistema de la computadora.

Los segmentos de memoria se agrupan en diferentes Áreas de Trabajo que permiten delimitar las diversas funciones que se realizan en la memoria.

Las áreas de la memoria son:

• Memoria Convencional.

• Memoria Extendida.

La Memoria Convencional viene delimitada por la capacidad de direccionamiento de memoria de la CPU de la computadora y la capacidad de manejo de memoria que sea capaz de realizar el sistema operativo que gestiona el sistema informático.

Se puede ver un ejemplo en el microprocesador Intel 8088 que constituía la CPU de los primeros Personal Computer de IBM; este microprocesador era capaz de direccionar un máximo de 1 megabyte de memoria, por ello, las primeras versiones del sistema operativo que lo gestionaba no necesitaban manejar más de 640 kilobytes para poder realizar su trabajo.

En la actualidad, las unidades centrales de proceso, como el microprocesador 80486, pueden llegar a manejar hasta 4 gigabytes de memoria, por lo que los sistemas operativos como OS/2 o WINDOWS han previsto esta posibilidad, pudiendo manejar esa cantidad de memoria.

La Memoria Convencional se Divide en:

• Memoria Baja.

• Memoria Alta.

La Memoria Baja es el área de memoria del sistema. Ocupa las primeras direcciones de la memoria convencional y está ocupada por las tablas de los vectores de las interrupciones, las rutinas de la ROM-BIOS y la parte residente del sistema operativo.

La Memoria Alta, también se denomina área de memoria del usuario, es la zona en la que se sitúan los códigos de los programas ejecutables y los datos que éstos manejan en las diferentes aplicaciones que la computadora ejecuta.

Puede ocurrir que la memoria convencional, es decir, la memoria que existe en la configuración de la computadora no sea suficiente para poder realizar ciertas operaciones en ese sistema informático; para poder solventar ese problema se utiliza la memoria extendida.

La Memoria Extendida se utiliza en computadoras que poseen una CPU que puede direccionar una gran cantidad de memoria, más de 1 megabyte, asociada a sistemas operativos que permiten gestionarla correctamente, es decir, los sistemas operativos multitareas o multiusuarios como UNIX, WINDOWS, sistemas operativos LAN, etc.

Estos sistemas operativos permiten instalar el código de los programas de aplicaciones y los datos que éstos manejan fuera del área de la memoria convencional denominada área de memoria del usuario, pudiendo, por tanto, realizar más de un proceso al mismo tiempo o permitiendo trabajar a varios usuarios a la vez en la misma computadora, como en una red de área local.

Sin embargo, puede ocurrir que la memoria extendida no tenga el tamaño suficiente para que todos los procesos o todos los usuarios puedan realizar sus tareas al mismo tiempo; una solución que se utiliza para resolver este problema es una simulación de la memoria de trabajo llamada Memoria Virtual.

Page 17: Estructura Interna de as

Esta memoria virtual consiste en que cuando el sistema informático intenta utilizar más memoria de trabajo que la que realmente existe, el gestor de la memoria salva una parte de la información que existe en la memoria, en el disco duro del sistema informático.

La parte de la memoria salvada en el disco se llama página; esta página de memoria almacenada queda disponible en la memoria de trabajo para ser utilizada por el sistema informático. Cuando la computadora necesite utilizar la información almacenada en la página guardada en el disco del sistema informático volverá a repetir el proceso salvando otra página de memoria en el disco y recuperando la que estaba almacenada en él.

La Memoria Virtual tiene Ventajas e Inconvenientes.

Entre las Ventajas merece la pena destacar que nos permite utilizar una gran cantidad de software, al mismo tiempo dentro del sistema informático, que de otra forma no se podría utilizar al no tener suficiente memoria y que nos permite utilizar mejor los recursos del sistema informático.

El principal Inconveniente que conlleva la memoria virtual es que si existe una excesiva cantidad de páginas se ralentiza considerablemente la velocidad de proceso del sistema informático al tener que acceder constantemente al disco, pudiendo, por ello, causar colapsos en los diferentes procesos.

Un tipo diferente de ampliación de la memoria de trabajo es la denominada Memoria Expandida. Este tipo de memoria utiliza una serie de bancos de memoria en forma de circuitos integrados que se añaden a la circuitería básica de la computadora.

El estándar de memoria expandida lo instituyeron Lotus, Intel y Microsoft, por lo que en algunos lugares puede aparecer como memoria LIM.

La memoria expandida utilizaba una zona de la memoria convencional para crear un mapa de la cantidad de memoria expandida que se añade al sistema informático. El mapa permitirá que, cuando un programa de aplicación lo solicite, el gestor de la memoria expandida distribuya por las diferentes páginas en que se dividen los bancos de memoria los datos que la aplicación no puede manejar en la memoria convencional.

Como los tipos de memorias vistos anteriormente, la Memoria Expandida tiene también ventajas e inconvenientes.

La principal Ventaja es que al no realizar accesos al disco del sistema informático es mucho más rápida que la memoria virtual, pero el Inconveniente con que se encuentra la memoria expandida es que como los que tienen que solicitar su utilización son los propios programas de aplicación, en este tipo de memorias sólo se pueden almacenar datos, debiéndose colocar el código de los programas de aplicación en la memoria convencional.

Existen dos tipos de memorias RAM:

• RAM Estáticas.

Son memorias RAM convencionales que mantienen la información almacenada en ellas permanentemente, mientras se mantenga la alimentación eléctrica.

• RAM Dinámicas (DRAM).

La diferencia fundamental entre este tipo de memorias y las memorias RAM estáticas es que debido a que la celda de memoria donde almacenan la información tiende a descargarse, por tanto a perder la información almacenada en ella, se ha de producir un «refresco», esto es, una regrabación de la información almacenada cada pocos milisegundos para que no se pierdan los datos almacenados.

La ventaja con respecto a las memorias RAM convencionales es su bajo costo para tamaños de memorias medios y grandes.

Page 18: Estructura Interna de as

Un tipo específico de memorias DRAM son las VRAM (Vídeo RAM). Este tipo de memorias están diseñadas específicamente para almacenar los datos de vídeo de los sistemas informáticos. Estas memorias son especialmente útiles para manejar subsistemas de vídeo, ya que su necesidad de refresco constante permite un manejo más sencillo de las cambiantes señales de vídeo.

9.- Memoria ROM

La ROM (Read Only Memory) es una «Memoria Sólo de Lectura». En ella sólo se puede leer la información que contiene, no es posible modificarla. En este tipo de memoria se acostumbra a guardar las instrucciones de arranque y el funcionamiento coordinado de la computadora.

Físicamente, las memorias ROM son cápsulas de cristales de silicio. La información que contienen se graba de una forma especial por sus fabricantes o empresas muy especializadas.

Las memorias de este tipo, al contrario que las RAM, no son volátiles, pero se pueden deteriorar a causa de campos magnéticos demasiado potentes.

La comunicación con el procesador se realiza, al igual que en las memorias RAM, a través de los buses de direcciones y datos.

Al existir sólo la posibilidad de lectura, la señal de control, que en la RAM se utilizaba para indicar si se iba a leer o escribir, sólo va a intervenir para autorizar la utilización de la memoria ROM.

Además de las ROM, en las que sólo puede grabar información el fabricante de la memoria, existen otros tipos de memorias no volátiles que se pueden modificar de diversas formas y son de una flexibilidad y potencia de uso mayor que las simples ROM. La utilización de este tipo de memorias permite a los usuarios configurar computadoras dedicadas a tareas concretas, modificando simplemente la programación de los bancos de memoria del sistema informático. Estas memorias son:

• PROM (Programable Read Only Memory o Memoria Programable Sólo de Lectura).

Las memorias PROM son memorias sólo de lectura que, a diferencia de las ROM, no vienen programadas desde la fábrica donde se construyen, sino que es el propio usuario el que graba, permanentemente, con medios especiales la información que más le interesa.

• EPROM (Erasable-Programable Read Only Memory o Memoria Borrable y Programable Sólo de Lectura).

Las EPROM tienen la ventaja, con respecto a las otras memorias ROM, de que pueden ser reutilizables ya que, aunque la información que se almacena en ellas permanece permanentemente grabada, ésta se puede borrar y volver a grabar mediante procesos especiales, como puede ser el mantenerlas durante treinta minutos bajo una fuente de rayos ultravioletas para borrarlas.

• EEPROM (Electrically Erasable-Programable Read Only Memory o Memoria Borrable y Programable Eléctricamente Sólo de Lectura).

Las EEPROM aumentan, más si cabe, su ventaja con respecto a los anteriores tipos de memorias, ya que la información que se almacena en ellas se puede manipular con energía eléctrica y no es necesaria la utilización de rayos ultravioletas.

10.- Memoria Caché

La Memoria Caché es una zona especial de la memoria principal que se construye con una tecnología de acceso mucho más rápida que la memoria RAM convencional. La velocidad de la caché con respecto a la memoria RAM convencional es del orden de 5 a 10 veces superior.

Page 19: Estructura Interna de as

A medida que los microprocesadores fueron haciéndose más y más rápidos comenzó a producirse una disfunción con la velocidad de acceso a la memoria de trabajo que se conectaba a ellos en el sistema informático.

Cada vez que el microprocesador del sistema informático accede a la memoria RAM para leer o escribir información tiene que esperar hasta que la memoria RAM está lista para recibir o enviar los datos. Para realizar estas operaciones de lectura y escritura más rápidamente se utiliza un subsistema de memoria intermedia entre el microprocesador y la memoria RAM convencional que es la denominada memoria caché.

El funcionamiento de la memoria caché se basa en que al cargar una información en la memoria principal (sean instrucciones o datos) ésta se carga en zonas adyacentes de la memoria. El controlador especial situado dentro del subsistema de la memoria caché será el que determine dinámicamente qué posiciones de la memoria RAM convencional pueden ser utilizadas con más frecuencia por la aplicación que está ejecutándose en ese momento y traslada la información almacenada en ellas a la memoria caché.

La siguiente vez que el microprocesador necesite acceder a la memoria RAM convencional existirá una gran probabilidad de que la información que necesita encontrar se encuentre en las direcciones de memoria adyacentes a las ya utilizadas. Como estas direcciones de memorias adyacentes ya se encuentran almacenadas en la memoria caché, el tiempo de acceso a la información disminuye en gran medida.

La utilización de algoritmos estadísticos de acceso a los datos permiten una gestión mucho más racional del manejo de la memoria RAM convencional, disminuyendo los tiempos de acceso a la memoria convencional y acercando ese tiempo de acceso al de la propia caché.

La memoria caché carga en su área de memoria propia el segmento de la memoria principal contiguo al que se está procesando. Debido a que, estadísticamente, existe una gran probabilidad de que la siguiente área de memoria que necesite la aplicación que está corriendo en ese momento sea la que se encuentra en el área de la caché, se optimiza el tiempo de acceso a la memoria, ya que debe recordarse que el acceso a la memoria caché es mucho más rápido que el acceso a la memoria RAM convencional.

El tamaño de las memorias caché más habituales oscila entre los 8 y los 64 kbytes.

Política de escritura:

- Inmediata: Se realizan todas las operaciones de escritura tanto en caché como en memoria principal.

- Post-escritura: Se escribe sólo en la caché y utiliza banderas para comprobar las escrituras en memoria principal.

11.- Memorias externas

La memoria externa hace referencia a todos los dispositivos y medios de almacenamiento que no son parte de la memoria interna de la computadora (RAM y ROM). Son parte de la memoria externa los disquetes, los discos ópticos, los discos duros, las unidades de cinta, los ZIP, etc. La memoria externa no es fundamental para el funcionamiento de una computadora.

Actualmente la memoria externa más utilizada es el disco duro, que permite gran capacidad de almacenamiento y rápida recuperación del contenido.

En tanto los disquetes ya casi no tienen uso por su limitada capacidad de almacenamiento, baja velocidad, difícil acceso de la información y alta probabilidad de pérdida de los datos.

Page 20: Estructura Interna de as

Los discos ópticos reemplazaron a los disquetes. Estos vienen en distintos formatos como ser CD, DVD, Blu-ray y HD-DVD. También son muy utilizadas las memorias flash.

RAID

• Arreglo redundante de discos independientes (Redundant Array of Independent Disks)

• Arreglo redundante de discos poco costosos (Redundant Array of Inexpensive Disks)

• 6 niveles en uso común

• No una jerarquía

• Conjunto de discos físicos vistos como una unidad lógica por el Sistema Operativo.

• Los datos se distribuyen a través de las unidades físicas.

• Puede usar capacidad redundante para almacenar información de paridad.

RAID 0

• No redundante

• Los datos se tiran a través de todos los discos.

• La distribución es por turno rotatorio.

• Mejora la velocidad

– Muchas solicitudes de datos probablemente no en el mismo disco.

– Los discos buscan en paralelo.

– Un conjunto de datos es como si fueran distribuidos a través de varios discos.

RAID 1

• Discos en espejo.

• Los datos se tiran a través de los discos.

• 2 copias por cada distribución en discos separados.

• Lee de cualquiera.

• Escribe en ambos.

• La recuperación es simple.

– Cambia el disco dañado y re-hacer el espejo.

– No existe el tiempo de sistema caído.

• Caro

RAID 2

• Los discos están sincronizados.

• Las tiras son muy pequeñas.

– Comúnmente un byte/palabra.

• La corrección de errores se calcula a través de los bits correspondientes en los discos

• Varios discos de paridad almacenan corrección de códigos Hamming en las posiciones correspondientes.

Page 21: Estructura Interna de as

• Mucha redundancia.

– Cara.

– No usada.

RAID 3

• Similar al RAID 2

• Solo un disco redundante, no importa que tan grande sea el arreglo.

• Un solo bit de paridad para cada conjunto de bits correspondientes.

• Los datos en las unidades que fallen pueden ser reconstruidos de los datos sobrevivientes y la información de paridad.

• Tasas de transferencia muy altas.

RAID 4

• Cada disco opera de forma independiente.

• Bueno para una tasa alta de solicitudes de E/S.

• Tiras largas.

• La paridad se calcula bit por bit a través de tiras en cada disco.

• La paridad se almacena en los discos de paridad.

RAID 5

• Como el RAID 4

• La paridad se tira a través de todos los discos.

• La asignación para las tiras de paridad es turno rotatorio.

• Evita los cuellos de botella en los discos de paridad.

• Comúnmente usado en servidores de red.

12.- Buses

El Bus es la vía a través de la que se van a transmitir y recibir todas las comunicaciones, tanto internas como externas, del sistema informático.

El bus es solamente un Dispositivo de Transferencia de Información entre los componentes conectados a él, no almacena información alguna en ningún momento.

Los datos, en forma de señal eléctrica, sólo permanecen en el bus el tiempo que necesitan en recorrer la distancia entre los dos componentes implicados en la transferencia.

En una unidad central de sistema típica el bus se subdivide en tres buses o grupos de líneas.

• Bus de Direcciones.

• Bus de Datos.

• Bus de Control.

Bus de Direcciones

Es un canal de comunicaciones constituido por líneas que apuntan a la dirección de memoria que ocupa o va a ocupar la información a tratar.

Page 22: Estructura Interna de as

Una vez direccionada la posición, la información, almacenada en la memoria hasta ese momento, pasará a la CPU a través del bus de datos.

Para determinar la cantidad de memoria directamente accesible por la CPU, hay que tener en cuenta el número de líneas que integran el bus de direcciones, ya que cuanto mayor sea el número de líneas, mayor será la cantidad de direcciones y, por tanto, de memoria a manejar por el sistema informático.

Bus de Datos

El bus de datos es el medio por el que se transmite la instrucción o dato apuntado por el bus de direcciones.

Es usado para realizar el intercambio de instrucciones y datos tanto internamente, entre los diferentes componentes del sistema informático, como externamente, entre el sistema informático y los diferentes subsistemas periféricos que se encuentran en el exterior.

Una de las características principales de una computadora es el número de bits que puede transferir el bus de datos (16, 32, 64, etc.). Cuanto mayor sea este número, mayor será la cantidad de información que se puede manejar al mismo tiempo.

Bus de Control

Es un número variable de líneas a través de las que se controlan las unidades complementarias.

El número de líneas de control dependerá directamente de la cantidad que pueda soportar el tipo de CPU utilizada y de su capacidad de direccionamiento de información. Estas líneas son utilizadas para controlar el uso del bus de control y del bus de datos. Se transmiten órdenes y señales de temporización. Las órdenes son muy diversas, las más comunes son:

* Escritura en memoria.

* Lectura de memoria.

* Escritura de E/S.

* Lectura de E/S.

* Transferencia reconocida.

* Petición del bus.

* Cesión del bus.

* Petición de interrupción.

* Interrupción reconocida.

* Señal de reloj.

* Inicio.

Page 23: Estructura Interna de as

Jerarquía de buses:

Para mejorar el rendimiento del bus, las jerarquías de buses fueron implementadas cada vez mas, una primera aproximación a una jerarquía de bus básica seria la siguiente:

Primero tenemos un bus local, de alta velocidad que conecta el procesador a la cache, el controlador de la cache también puede acceder al bus del sistema, con esta implementación, la mayor parte de los datos a los que va a acceder el procesador, que están en la cache, serán entregados a una alta velocidad, otro punto a destacar de esta parte es que los accesos a memoria por parte de la cache no van a interrumpir el flujo de datos entre procesador y cache.

También se ve la posibilidad de conectar un dispositivo de entrada salida al bus local.

Luego tenemos el bus del sistema, al cual esta conectada la memoria y por debajo el bus de expansión, al cual se pueden conectar una amplia diversidad de dispositivos, entre el bus del sistema y el bus de expansión se encuentra una interfase, que entre las principales tareas esta la de adaptar las velocidades de transmisión, por ejemplo para un dispositivo muy lento conectado al bus de expansión la interfase podría acumular una cierta cantidad de datos y luego transmitirla a través del bus del sistema.

El hecho de que cada vez mas salgan al mercado dispositivos que requieren mas velocidad de transmisión en los buses, hizo que los fabricantes implementaran los buses de alta velocidad, el cual esta muy estrechamente ligado al bus local, solo hay un adaptador que los une. Debajo de este bus tenemos el bus de expansión, mas lento conectado mediante otro adaptador.

Las señales de temporización indican la validez de los datos que están en el bus en un momento dado.

Existen varios parámetros y elementos en los buses con los cuales podemos clasificarlos.

Tipos de buses:

Page 24: Estructura Interna de as

Una clarificación que podemos hacer es según la funcionalidad de este, los podríamos dividir en dedicados o multiplexados..

Un ejemplo común de dedicados serian el bus de datos y el bus de direcciones, cada uno se utiliza solo para una función especifica. Esta situación de bus de datos y de direcciones dedicados es lo más común, pero podría llegar a implementarse con un solo bus multiplexado el tiempo. Esto funcionaria a grandes rasgos de la siguiente forma:

Al comienzo de la transferencia se sitúa en el bus la dirección de donde se quiere leer o a donde se desea escribir, luego se emite por el bus de datos una señal indicando que en el bus se encuentra una dirección valida.

A partir de ese momento se dispone de una unidad de tiempo para que los dispositivos identifiquen si es su dirección, luego de esto se pone en el mismo bus los datos y se realiza la transferencia en el sentido que lo indique una orden emitida por el bus de control.

Ventaja de este método es la reducción de la cantidad de lineas, lo cual ahorra espacio y costos, la desventaja son que para poder implementar es forma de operar la circuitería en cada modulo tiene que ser mas compleja, y que el rendimiento del sistema sera menor por no poder transmitir los datos simultáneamente, en paralelo (datos y dirección).

Otro tipo de clarificación podría ser según su dedicación física: Podríamos poner como ejemplo el bus de E/S, el cual se encarga de conectar solo los dispositivos de E/S, este bus se conecta al bus principal mediante algún adaptador, la ventaja esta en que al ser dedicado solo a E/S, el rendimiento de este va a ser mejor, ya que solo van a operar con el los módulos de E/S, y no va a haber tanta competencia por el bus, este ejemplo lo voy a explicar mas detalladamente cuando llegue al la parte de E/S.

Método de arbitraje:

Por la razón de que en un momento dado solo puede usar el bus un solo dispositivo, debe existir un método para decidir quien hace uso de el.

Todos los métodos que existen en general pueden ser clasificados en 2 grandes grupos:

Arbitraje centralizado: Una parte del hardware del sistema denominada controlador del bus se encarga de decidir el uso del bus en cada momento, este dispositivo puede ser un modulo separado o puede estar incorporado al procesador.

Arbitraje distribuido: En este esquema no existe un controlador centralizado, en su lugar, cada dispositivo que hace uso del bus tiene que tener incorporada la logica necesaria para poder interactuar con los demás dispositivos y decidir quien hace uso del bus.

En cualquiera de los dos casos lo que se busca es que se decida quien va a tener la posesión del bus en un momento dado, procesador, modulo de E/S o memoria, al cual se lo denomina maestro del bus, el maestro del bus establecerá una comunicación con otro dispositivo (lectura o escritura) al cual se lo denominara esclavo.

Temporización:

La temporización clasifica al método utilizado para coordinar los eventos dentro del bus. Según la temporización usada podemos clasificar los buses en 2 grupos.

Temporización síncrona:

Todos los eventos del bus se rigen a través del reloj del computador. Una de las líneas del bus transmite continuamente una señal de reloj, simplemente una secuencia de unos y ceros, la cual puede ser leída por todos los dispositivos conectados al bus.

Page 25: Estructura Interna de as

Al intervalo transcurrido en la emisión de un uno y un cero se lo llama ciclo de reloj, todos los eventos ocurridos dentro del bus comienzan el principio del ciclo y puede durar uno más.

En este método de temporización todos van al ritmo del reloj.

Temporización asincrónica:

Acá los eventos no se rigen por la línea del reloj, en general todo evento es disparado por otro evento anterior.

La temporización síncrona es más fácil de implementar y comprobar, pero es menos flexible que la síncrona. Por ejemplo, en el caso de que hubiesen varios dispositivos conectados al bus, de distintas velocidades, todos tienen que funcionar a la velocidad del reloj, si hay uno mas rápido, este tiene que bajar su velocidad: En cambio con el asíncrono, cada uno funcionaria a su velocidad, en el mismo bus se trabajaría a distintas velocidades, cada transferencia se haría con la velocidad óptima de sus dos partes (maestro-esclavo).

Anchura del bus:

La anchura del bus es simplemente la cantidad de líneas que posee, y esta directamente relacionado con el rendimiento del sistema, cuanto mas ancho el bus de direcciones, mayor va a ser la cantidad de direcciones posibles utilizadas para direccionar memoria y dispositivos de E/S, y cuanto mas ancho el bus de datos, mayor ya a ser la cantidad de bis que se va a poder transmitir en paralelo.

13.- Arquitecturas de Bus

Dependiendo del diseño y la tecnología que se utilice para construir el bus de una microcomputadora se pueden distinguir tres arquitecturas diferentes:

• Arquitectura ISA.

• Arquitectura MCA.

• Arquitectura EISA.

• Arquitectura ISA.

• Arquitectura ISA

La Arquitectura ISA (Industry Standard Architecture en inglés) es la arquitectura con que se construyó el bus de los microcomputadores AT de IBM.

Esta arquitectura se adoptó por todos los fabricantes de microcomputadoras compatibles y, en general, está basada en el modelo de tres buses explicado anteriormente. Su tecnología es antigua, ya que se diseñó a principios de la década de los 80, lo que provoca una gran lentitud, debido a su velocidad de 8 megahercios y una anchura de sólo 16 bits.

• Arquitectura MCA.

La Arquitectura MCA (Micro Channel Architecture en inglés) tuvo su origen en una línea de microcomputadoras fabricadas por IBM, las PS/2 (PS significa Personal System).

Las PS/2 fueron unas microcomputadoras en las que, en sus modelos de mayor rango, se sustituyó el bus tradicional de las computadoras personales por un canal de comunicaciones llamado Micro Channel.

El Micro Channel no es compatible, ni en su diseño ni en las señales de control, con la tecnología de bus tradicional, si bien su misión de transferencia de direcciones de memoria y datos es similar en ambos casos. Las ventajas de Micro Channel son una mayor velocidad, 10 megahercios, una

Page 26: Estructura Interna de as

anchura de 32 bits, la posibilidad de auto instalación y una mejor gestión de los recursos conectados al canal gracias a un control denominado bus master.

• Arquitectura EISA.

La Arquitectura EISA (Extended Industry Standard Architecture en inglés) surge como una mejora del estándar ISA por parte de un grupode empresas fabricantes de microcomputadoras compatibles. La velocidad del bus aumenta, así como la posibilidad de manejo de datos, llegándose a los 32 bits en paralelo; asimismo posee auto instalación y control de bus.

La unión del aumento de la velocidad interna del bus y los 32 bits trabajando en paralelo permite a esta arquitectura una capacidad de manejo y transferencia de datos desconocida hasta ese momento, pudiendo llegar hasta los 33 megabytes por segundo.

La gran ventaja de la arquitectura EISA es que es totalmente compatible con ISA, esto es, una tarjeta de expansión ISA funciona si se la inserta en una ranura EISA. Evidentemente, no va a poder utilizar totalmente la potencia del nuevo estándar, funcionando a menor velocidad, pero funcionando al fin y al cabo.

En la actualidad no existe una arquitectura que tenga el suficiente peso específico como para desbancar totalmente al resto, si bien, poco a poco, la arquitectura ISA puede ir desapareciendo de las configuraciones de los sistemas informáticos dando paso a las otras dos arquitecturas.

14.- Reloj

El reloj de una computadora se utiliza para dos funciones principales:

1. Para sincronizar las diversas operaciones que realizan los diferentes subcomponentes del sistema informático.

2. Para saber la hora.

El reloj físicamente es un circuito integrado que emite una cantidad de pulsos por segundo, de manera constante. Al número de pulsos que emite el reloj cada segundo se llama Frecuencia del Reloj.

La frecuencia del reloj se mide en Ciclos por Segundo, también llamados Hertzios, siendo cada ciclo un pulso del reloj. Como la frecuencia del reloj es de varios millones de pulsos por segundo se expresa habitualmente en Megahercios.

El reloj marca la velocidad de proceso de la computadora generando una señal periódica que es utilizada por todos los componentes del sistema informático para sincronizar y coordinar las actividades operativas, evitando el que un componente maneje unos datos incorrectamente o que la velocidad de transmisión de datos entre dos componentes sea distinta.

Cuanto mayor sea la frecuencia del reloj mayor será la velocidad de proceso de la computadora y podrá realizar mayor cantidad de instrucciones elementales en un segundo.

El rango de frecuencia de los microprocesadores oscila entre los 4,77 megahercios del primer PC diseñado por IBM y los 200 megahercios de las actuales computadoras basadas en los chips Intel Pentium.

15.- Tarjetas de expansión interna

Las Tarjetas de Expansión están diseñadas y dedicadas a actividades específicas, como pueden ser las de controlar la salida de vídeo de la computadora, gráficas, comunicaciones, etc.

Page 27: Estructura Interna de as

Las tarjetas de expansión no forman parte de la unidad central de proceso, pero están conectadas directamente a ésta a través del bus, generalmente dentro de la propia caja de la unidad central del sistema, y controladas por la CPU en todas sus operaciones.

Las tarjetas de expansión complementan y ayudan a la placa base y, por tanto, al microprocesador central descargándole de tareas que retardarían los procesos de la CPU, añadiendo al mismo tiempo una serie de posibilidades operativas que no estaban previstas en los primeros modelos de computadoras.

A lo largo de la historia del desarrollo de las computadoras se han ido aprovechando diseños técnicos anteriores para crear subcomponentes de sistemas informáticos de complejidad superior; un ejemplo puede ser el microprocesador 8086 que sirvió como microprocesador principal para una serie de sistemas informáticos, como fueron los PS/2 de IBM. En la actualidad puede emplearse como microprocesador de tarjetas gráficas dedicadas a controlar los subsistemas de vídeo.

Las tarjetas de expansión cumplen una importante cantidad de cometidos que van desde controlar actividades del proceso general del sistema informático (subsistema de vídeo, subsistema de almacenamiento masivo de información en los diferentes discos de la computadora, etc.) hasta permitir una serie de tareas para las que los diseñadores del sistema informático no han previsto facilidades o que debido a su costo sólo se entregan como opcionales.

16.- Tarjetas Controladoras de Periféricos

Las Tarjetas de Expansión Controladoras de Periféricos son placas que contienen circuitos lógicos y que se conectan al bus de datos para recibir la información que la CPU envía hacia los periféricos almacenándola en Buffers, esto es, una serie de Memorias Intermedias que actúan como amortiguadoras de los flujos de datos que se transmiten en el interior del sistema informático y descargan al procesador principal del control del tráfico de señales y datos entre el procesador y los periféricos exteriores.

Las tarjetas de expansión controladoras de periféricos más importantes son:

• Las Tarjetas de Expansión Controladoras del Modo de Vídeo.

• Las Tarjetas de Expansión Controladoras de Entrada/Salida de Datos.

• Las Tarjetas de Expansión Controladoras de Comunicaciones.

17.- Tarjetas de Expansión Controladoras del Modo de Video

Este tipo de tarjetas de expansión son también llamadas Tarjetas Gráficas. Las tarjetas gráficas van a proporcionar diferentes clases de calidad en la información que el sistema informático va a poder mostrar en su pantalla.

La información que la computadora va a representar en su pantalla se encuentra en una zona de la memoria RAM que alimenta periódicamente al cañón de electrones, a través de la tarjeta controladora del modo gráfico, de los datos necesarios para representar la información almacenada en la pantalla del sistema informático.

La pantalla de la computadora se refresca, esto es, modifica el dibujo que aparece en ella con una periodicidad de entre 50 y 80 veces por segundo. El dibujo que aparece en la pantalla del sistema informático es el almacenado en la memoria de vídeo de la computadora y que la tarjeta gráfica recibe para manejar los datos y enviarlos hacia la pantalla del sistema informático.

Cuando la tarjeta de vídeo envía la información almacenada en la memoria hacia la pantalla de la computadora, estos datos pasan por un convertidor digital/analógico para convertirse en una señal eléctrica compatible con la necesaria para que el componente de generación de imágenes de la

Page 28: Estructura Interna de as

pantalla del sistema informático (cañón de rayos, LCD, etc.) forme la imagen en la pantalla de la computadora.

Existen diferencias entre los distintos tipos de tarjetas gráficas entre las que cabe destacar:

1. Modo de Trabajo.

Es como se va a manejar la información que se va a representar en la pantalla del sistema informático.

Los modos principales de trabajo son:

• Modo Texto: Se maneja la información en forma de texto, si bien algunos de estos caracteres pueden utilizarse para realizar dibujos sencillos.

• Modo Gráfico: Es más completo que el anterior ya que a la posibilidad del manejo de caracteres se une la de la creación de dibujos complejos.

2. Utilización del Color.

Algunas tarjetas de vídeo pueden manejar una serie de parámetros, en forma de código binario, que permiten la utilización del color en las pantallas de los sistemas informáticos que estén preparadas para ello. La utilización, o no, del color permite realizar la siguiente diferenciación:

• Monocromas: Utilizan sólo un color que resalta sobre el fondo de la pantalla de la computadora.

• Policromas: Utilizan la serie de tres colores fundamentales (rojo, azul y verde) para obtener las diferentes mezclas de colores y tonos que se van a representar en la pantalla del sistema informático.

3. Resolución Gráfica.

Es una matriz formada por la cantidad total de líneas de información y el número de puntos en que se puede dividir cada una de las líneas. Esta matriz es la información que la tarjeta gráfica envía hacia la pantalla de la computadora.

A continuación van a estudiarse los tipos de tarjetas gráficas más conocidas:

Tarjeta Gráfica Hércules.

Las tarjetas gráficas Hércules son tarjetas de vídeo que trabajan en modo gráfico en sistemas informáticos cuya configuración incluye pantallas monocromas.

Fueron diseñadas por Hércules Corp. para poder crear gráficos en las pantallas monocromas de las primeras computadoras personales debido a que la tarjeta de vídeo que incluían estos sistemas informáticos, el Adaptador Monocromo de IBM, sólo podía trabajar en modo texto.

Debido a que Hércules Corp. era una empresa independiente, IBM nunca consideró a la tarjeta de vídeo creada por ella como un estándar, aunque sí lo fue de hecho.

Este modelo de tarjeta de vídeo posee una resolución gráfica de 720 puntos por 348 líneas.

Tarjeta Gráfica CGA.

La tarjeta gráfica CGA (Color Graphics Adapter-Adaptador de Gráficos Color) fue diseñada para introducir el color en el mundo de la microinformática.

Las tarjetas gráficas CGA trabajan en los modos texto y gráfico, pudiendo conectarse a ellas pantallas de computadora monocromas y de color.

Page 29: Estructura Interna de as

El problema que presentan las CGA es que su resolución gráfica es muy pobre en comparación con el resto de las tarjetas gráficas del mercado, siendo de 640 puntos por 240 líneas en modo monocromo y de 320 puntos por 200 líneas trabajando con cuatro colores.

Tarjeta Gráfica EGA.

La EGA (Enhanced Graphics Adapter-Adaptador Mejorado de Gráficos) es una tarjeta de vídeo que trabaja en modo gráfico y mejora en gran medida las prestaciones de la CGA. Esta tarjeta gráfica trabaja con pantallas de computadora monocromas o de color.

La resolución de la tarjeta gráfica EGA es de 640 puntos por 350 líneas y maneja hasta 16 colores al mismo tiempo.

Tarjeta Gráfica MCGA.

Esta Tarjeta Gráfica (Micro channel Graphics Adapter - Adaptador Gráfico Micro channel) fue diseñada por IBM para trabajar en sus microcomputadoras del tipo PS/2.

La MCGA tenía una resolución máxima de 640 puntos por 400 líneas en modo monocromo, reduciéndose a medida que se aumentaba el número de colores con que se trabajaba.

Tarjeta Gráfica VGA.

La Tarjeta Gráfica VGA (Video Graphics Adapter - Adaptador Vídeo de Gráficos) se diseñó, como la anterior, para los sistemas informáticos PS/2 de IBM. La diferencia entre ambas tarjetas gráficas es que si la anterior se instaló en los sistemas informáticos menos potentes, la VGA se instaló en los sistemas informáticos más potentes de la gama PS/2, debido a su mejor resolución.

Al contrario que la MCGA, la tarjeta gráfica VGA sí tuvo un modelo compatible con el bus habitual de los sistemas PC y gracias a su calidad de diseño y fabricación ha llegado a convertirse en un estándar dentro del mercado microinformático.

La resolución de esta tarjeta gráfica tiene dos modos distintos:

• La resolución en modo texto es de 720 puntos por 400 líneas manejando los dos colores del monocromo.

• La resolución en modo gráfico es de 640 puntos por 480 líneas y maneja 16 colores.

Tarjeta Gráfica SVGA.

La tarjeta gráfica SVGA (Super Video Graphics Adapte - Super Adaptador Vídeo de Gráficos) es un diseño de reciente creación. Ha sido introducida en el mercado como una tarjeta gráfica VGA, ampliada y mejorada, que rápidamente está consiguiendo una importante cuota de instalación en las configuraciones de los nuevos sistemas informáticos.

La posibilidad de manejo por la propia tarjeta gráfica de un megabyte de memoria DRAM, que puede ampliarse hasta los dos megabytes, supone una importante potencia gráfica que da, a los sistemas microinformáticos, posibilidades de manejo de gráficos que antes sólo podían realizar las estaciones de trabajo o las minicomputadoras.

La resolución de esta tarjeta gráfica es muy alta, llegando a los 1.280 puntos por 1.024 líneas.

Tarjetas Controladoras de Entrada y Salida de Datos

La función principal de estos dispositivos es adaptar la información procesada por la unidad central de proceso, canalizando las transferencias de información entre la computadora y los dispositivos periféricos exteriores.

Con las tarjetas controladoras de entrada y salida de datos se consigue:

Page 30: Estructura Interna de as

1. Independencia funcional entre la unidad central de proceso y los periféricos asociados a ella. Las tarjetas controladoras evitan la lentitud de los procesos debido a la diferencia de velocidad entre la CPU y los periféricos.

2. Adaptación de diversos tipos de periféricos al sistema informático, independientemente de que la operatividad entre ellos y la computadora no sea compatible.

3. Pueden servir de traductoras entre el modo digital de la computadora y el analógico del de otros medios por los que se pueden establecer enlaces entre sistemas informáticos.

18.- Tarjetas Controladoras de Comunicaciones

Las Tarjetas Controladoras de comunicaciones son unidades que permiten la conexión de una computadora central, denominada sistema central o servidor, con una serie de computadoras menos potentes que utilizan parte de los recursos del servidor para aumentar su operatividad.

La conexión se produce a través de una serie de Enlaces que unen todas las computadoras entre sí formando una Red de Comunicaciones.

Si los sistemas informáticos que constituyen esta red de comunicaciones se encuentra en una zona no muy extensa, no mayor que un edificio, la red se denomina Red de Área Local (LAN - Local Area Network).

Si la red de comunicaciones tiene una extensión mayor y se utilizan los servicios de las compañías telefónicas para enlazar las diferentes computadoras que componen la red, ésta se denomina Red de Área Extensa (WAN-Wide Area Network).

Las tarjetas controladoras de comunicaciones más comunes son las tarjetas de conexión a redes de área local. Este tipo de tarjetas de comunicaciones se estudiarán más adelante en un apartado específico dedicado a ella; sin embargo, se puede adelantar aquí que las tarjetas controladoras de comunicaciones se dividen en dos grupos principales:

• Tarjetas de conexión a redes locales (LAN).

• Tarjetas de expansión módem (para redes de comunicaciones extensas).

Las tarjetas de conexión a redes LAN son tarjetas de expansión que proporcionan una Conexión y una Dirección que permiten identificar al usuario en el interior de la red, posibilitándole el poder enviar y recibir información al sistema informático.

La conexión que proporcionan las tarjetas de conexión a redes de área local es a un cable coaxial muy similar al utilizado para conectar una televisión comercial a su antena exterior. La velocidad que este medio permite dentro de la red de comunicaciones es, sin embargo, inferior a la que poseen los sistemas informáticos conectados a ella, rondando unos pocos megahercios.

Las tarjetas de expansión módem modulan la señal digital existente dentro de la unidad central del sistema de la computadora y la transforman convirtiéndola en analógica.

Esta señal analógica se superpone a otra señal llamada portadora, que es la que viaja por el cable telefónico, sobre la que va a poder atravesar las líneas telefónicas hasta un punto remoto donde otro módem volverá a convertir la señal en digital para que pueda ser utilizada por otra computadora.

Las velocidades de transmisión que proporcionan este tipo de tarjetas de expansión módem oscilan entre los 1.200 y los 28.800 bits por segundo.

19.- Jerarquía de computadoras

Una computadora es mucho más que chips.

Para que la computadora haga “algo” necesita software

Page 31: Estructura Interna de as

Para escribir programas complejos se suele dividir el problema en módulos que resuelven problemas más simples.

En las computadoras

Varios niveles de máquinas “virtuales”.

Jerarquía de niveles

Cada capa es una máquina virtual que abstrae a las maquina del nivel inferior.

Las máquinas, en su nivel, “interpretan” sus instrucciones particulares, utilizando servicios de su capa inferior para implementarlas.

En última instancia los circuitos terminan haciendo el trabajo.

Nivel 6: Nivel Usuario

Ejecución de programas e interfaces de usuario.

Pensamos en términos de la aplicación que se ejecuta

Nivel 5: Lenguajes de alto nivel

El nivel donde interactuamos cuando escribimos programas en Haskell, C, Java, etc.

Pensamos en algoritmos, TADs, etc.

Nivel 4: Nivel de Lenguaje Ensamblador

Lenguaje ensamblador, en general producido por compiladores, o escrito directamente por programadores.

Muy cercano a la arquitectura de la computadora.

Nivel 3: Nivel del software del Sistema

Controla la ejecución de los procesos del sistema.

Protege los recursos.

Brinda servicios para acceder a dispositivos de E/S.

Muchas instrucciones en Assembler pasan este nivel sin modificación.

Nivel 2: Nivel del Lenguaje de máquina

También conocido como nivel ISA (Instruction Set Architecture).

Consiste en las instrucciones particulares para la arquitectura de la máquina.

Los programas escritos en lenguaje de máquina no necesitan compilación ni ensamblado.

Nivel 1: Nivel de Control

La unidad de control (UC) decodifica y ejecuta instrucciones y mueve datos a través del sistema.

Puede ser microprogramada o “cableada”.

• Un microprograma es un programa escrito en un lenguaje de bajo nivel que puede ser implementado el hardware.

• Las UC “cableadas” tienen hardware que ejecuta directamente las instrucciones en código de maquina.

Page 32: Estructura Interna de as

20.- Modelo de Von Neumann

Los datos y programas se almacenan en una misma memoria de lectura-escritura

Los contenidos de esta memoria se direccionan indicando su posición sin importar su tipo.

Ejecución en secuencia (salvo que se indique lo contrario).

Representación Binaria.

Características principales

3 componentes principales:

CPU:

- Unidad de Control (UC)

Controla todos los componentes.

Interpreta instrucciones.

Decodifica y Ejecuta instrucciones.

Page 33: Estructura Interna de as

Transforma instrucciones en órdenes a otros componentes

Puede ser programada por hardware (cableada) y “microprogramada” (varias microinstrucciones por instrucción).

- Unidad aritmético lógica (ALU)

Realiza operaciones matemáticas y lógicas.

Sumas, restas, multiplicaciones.

And, Or, Xor.

Corrimientos.

- Registros

Almacenan datos binarios, acceso rápido.

De tamaño fijo.

De propósito general (programas) o específicos (acumulador, program counter, puntero a memoria, etc.).

- DataPath

Red interna que comunica la UC con las otras unidades y registros.

Mueve datos entre los diferentes componentes.

Controlada por un reloj.

Memoria principal:

Almacena programas y datos

Sistema de Entrada/Salida

Procesamiento secuencial de instrucciones

Datos binarios

Un sistema de interconexión

Conecta la memoria y unidad de control

Fuerza la alternación entre ciclos de lectura y ejecución

Page 34: Estructura Interna de as

Tipos de Operaciones

Procesador-memoria: Transferencia de datos entre la CPU y la memoria.

Procesador-E/S: Transferencia de datos entre la CPU y un modulo de E/S.

Procesamiento de datos: Alguna operación aritmética o lógica sobre los datos

Control: Alteración de la secuencia de operaciones. Ej.: jump

Harvard

El modelo de Harvard consta de 2 memorias; memoria de datos y memoria de instrucciones.

El CPU accede de manera independiente y simultánea a cualquiera de las memorias. Como los buses son independientes, éstos pueden tener distintos contenidos en la misma dirección.

21.- Los componentes físicos de una unidad de disco duro

· Cabeza de lectura / escritura: Es la parte de la unidad de disco que escribe y lee los datos del disco. Su funcionamiento consiste en una bobina de hilo que se acciona según el campo magnético que detecte sobre el soporte magnético, produciendo una pequeña corriente que es detectada y amplificada por la electrónica de la unidad de disco.

· Disco: Convencionalmente los discos duros están compuestos por varios platos, es decir varios discos de material magnético montados sobre un eje central. Estos discos normalmente tienen dos caras que pueden usarse para el almacenamiento de datos, si bien suele reservarse una para almacenar información de control.

· Eje: Es la parte del disco duro que actúa como soporte, sobre el cual están montados y giran los platos del disco.

· Impulsor de cabeza: Es el mecanismo que mueve las cabezas de lectura / escritura radialmente a través de la superficie de los platos de la unidad de disco.

Mientras que lógicamente la capacidad de un disco duro puede ser medida según los siguientes parámetros:

· Cilindro: Es una pila tridimensional de pistas verticales de los múltiples platos. El número de cilindros de un disco corresponde al número de posiciones diferentes en las cuales las cabezas de lectura/escritura pueden moverse.

Page 35: Estructura Interna de as

· Cluster: Es un grupo de sectores que es la unidad más pequeña de almacenamiento reconocida por el DOS. Normalmente 4 sectores de 512 bytes constituyen un Cluster (racimo), y uno o más Cluster forman una pista.

· Pista: Es la trayectoria circular trazada a través de la superficie circular del plato de un disco por la cabeza de lectura / escritura. Cada pista está formada por uno o más Cluster.

· Sector: Es la unidad básica de almacenamiento de datos sobre discos duros. En la mayoría de los discos duros los sectores son de 512 Bytes cada uno, cuatro sectores constituyen un Cluster.

Otros elementos a tener en cuenta en el funcionamiento de la unidad es el tiempo medio entre fallos, MTBF (Mean Time Between Failures), se mide en horas (15000, 20000, 30000..) y a mayor numero mas fiabilidad del disco, ya que hay menor posibilidad de fallo de la unidad. Otro factor es el AUTOPARK o aparcamiento automático de las cabezas, consiste en el posicionamiento de las cabezas en un lugar fuera del alcance de la superficie del disco duro de manera automático al apagar la computadora, esto evita posibles daños en la superficie del disco duro cuando la unidad es sometida a vibraciones o golpes en un posible traslado.

22.- Organización de la memoria semiconductora

El elemento básico de la memoria semiconductora es la celda de memoria, aunque existen muchas tecnologías utilizadas para su implementación, todas compartes algunas propiedades.

* Presentan 2 estados, los cuales se utilizan para representar un uno o un cero.

* Puede escribirse en ellas al menos una vez.

* Pueden leerse para saber su estado.

Lo más común es que posean tres terminales, uno para seleccionar la celda para lectura o escritura, otra para indicar el tipo de operación (lectura/escritura), y otro para los datos, como salida (lectura) o entrada (escritura).

Lógica del chip de memoria:

Las memorias semiconductoras vienen encapsuladas, y cada chip contiene una matriz de celdas de memoria.

Una de las características mas importantes de los chips de memoria, es la cantidad de bits que se pueden leer/escribir simultáneamente.

Tenemos muchas formas de organizar la memoria, en un extremo tenemos una memoria en la cual la organización física es igual a la lógica (igual a como la percibe el procesador), esto seria que el chip de memoria esta organizado en W palabras de B bits cada una. Por ejemplo una memoria de 16 Mbits podría estar organizada en 1Mpalabras de 16 bits cada una.

Page 36: Estructura Interna de as

En el otro extremo tenemos la estructura llamada "un bit por chip" en la cual los datos se lee/escriben por bits, y desarrollare a continuación.

23.- El Procesador

Ciclos de una instrucción:

Como ya hemos visto la función de un computador es la ejecución de un programa, el cual esta compuesto por un conjunto de instrucciones, y es el procesador el que se tiene que encargar de ejecutarlas. Dicha ejecución la voy a empezar a describir empezando por la forma mas simple, en 2 etapas, captación de la instrucción y ejecución de la instrucción, entonces la ejecución de un programa consta en la repetición del proceso de captación y ejecución de instrucciones.

Básicamente se capta la instrucción de memoria principal, se guarda el código de la instrucción en el registro IR, se incrementa el registro PC, la CPU interpreta la instrucción almacenada en IR y realiza las acciones necesarias para que se ejecute la acción requerida.

Como ya hemos visto anteriormente, en general las acciones que puede realizar la CPU se pueden agrupar en:

* Procesador-memoria: Transferencia de datos desde o hacia memoria.

* Procesador-E/S: Transferencia de datos desde o hacia el exterior a través de un modulo de E/S.

* Procesamiento de datos: Alguna operación aritmética o lógica con los datos.

* Control: Por ejemplo una instrucción de salto, que lo único que requiere es que se cambie el valor del registro PC.

Unas instrucciones requieren una combinación de algunas.

IAC - Instruction address calculation: En general consiste en sumar 1 al registro PC, pero no siempre. Supongamos que las instrucciones tienen un largo de 16 bits y la memoria esta direccionada de a 16 bits, en ese caso sumariamos 1 al PC, pero si la memoria estuviera direccionada de byte, cada instrucción ocuparía 2 posiciones de memoria, en ese caso tendríamos que sumar 2 al PC.

IF - Instruction fetch: La CPU lee la instrucción desde su posición en la memoria.

IOD - Instruccion operation decoding: Decodifica la instrucción para saber el tipo de operación a realizar y los operandos a utilizar.

OAC - Operand address calculation: Si el o los operandos se encuentran en memoria o se accede a ellos a través de E/S, se determina la dirección.

OF - Operand fetch: Se capta el operando de memoria o a través de E/S.

DO - Data operation: Se realiza la operación que requiere la instrucción.

OS - Operand store: Se almacena el operando en memoria o a través de E/S.

En el gráfico podes observar varias cosas, las etapas están dispuestas tal que en la parte de arriba están las etapas que requieren salir del procesador, y la la parte inferior están las etapas que se solucionan internamente.

Otra cosa para destacar son las flechas dobles en el momento de ir a buscar un operando o al almacenarlo, esto se debe porque hay instrucciones que requieren varios operandos y hay otras que generan mas de un resultado.

Page 37: Estructura Interna de as

Por ultimo hay instrucciones que realizan una misma operación con distintos valores de un vector, por eso, al terminar de almacenar el resultado no captan la siguiente instrucción, en vez de eso, captan el próximo valor del vector realiza lo mismo con otros valores.

Interrupciones:

Una interrupción es un mecanismo, con el cual un modulo de E/S puede interrumpir el procesamiento normal de la CPU.

Esto sirve para mejorar el rendimiento del sistema. Este mecanismo puede llegar deshabilitarse si es necesario.

Ejemplo, ya sabemos que la mayoría de los dispositivos externos son las lentos que la CPU, imaginemos la CPU imprimiendo un documento

Procesador a 200 MHz (tiempo ciclo reloj = 5 ns; Ciclos por instrucción CPI = 2 , en promedio)

• Una instrucción tarda en promedio 2 x 5 ns = 10 ns =>lla computadora puede ejecutar ~100 Mips

Queremos imprimir un archivo de 10 Kbytes en una impresora láser de 20 páginas por minuto

• 1 página ≅ 3.000 caracteres (1 carácter = 1 byte)

• La impresora imprime 60.000 caracteres por minuto = 1 Kbyte/s

Hasta hora lo único que podíamos hacer era que la CPU envíe los datos que pudiera recibir la impresora y esperar que termine de imprimir o que solicite mas datos.

Sin interrupciones:

• La CPU entra en un bucle y envía un nuevo byte cada vez que la impresora está preparada para recibirlo.

• La impresora tarda 10 seg en imprimir 10 Kbytes

• La CPU está ocupada con la operación de E/S durante 10 seg.

(en ese tiempo la CPU podría haber ejecutado 1000 millones de instrucciones)

Con el uso de interrupciones la CPU no tiene que esperar, mandaría los datos a la impresora y seguiría haciendo alguna tarea productiva.

Con interrupciones:

La impresora genera una interrupción cada vez que está preparada para recibir un nuevo byte.

• Si la gestión de interrupción (ATI) tiene 10 instrucciones (salvar contexto, comprobar estado, transferir byte, restaurar contexto, rti)

• Para transferir 10 Kbytes tenemos que ejecutar 10.000 veces la ATI

⇒ ejecutar 100.000 instrucciones para atender al periférico la CPU tarda 0,001 seg. ⇒

• La CPU está ocupada con la operación de E/S durante 0,001 seg.

• La E/S por interrupciones reduce en 10.000 veces el tiempo que la CPU está ocupada gestionando la impresora.

Esta diferencia es tan marcada porque el periférico es realmente muy lento, con periféricos rápidos, solo con las interrupciones no alcanza para solucionar el problema.

En este gráfico se muestra el tiempo que utiliza la CPU en el periférico, la linea punteada nos marca en que se estaría utilizando el CPU.

Page 38: Estructura Interna de as

Cuando se atiende, un periférico el procesador ejecuta un programa que atiende al modulo de entrada salida, este programa se carga, prepara lo necesario para que se pueda realizar la operación requerida con el periférico, seguido a esto se ejecuta la instrucción solicitada, cuando termina el periférico su tarea, en algunos casos el programa cargado puede realizar alguna otra tarea relacionada, para el lado del periférico o para el lado de los buses, por ejemplo mandar información de algún error que se halla detectado en el periférico, para luego proseguir con la ejecución del programa original.

Se puede ver, en la primera sección, que mientras esta funcionando el periférico (entre los círculos 4 y 5) el CPU no hace nada, solo espera que termine, en cambio se puede apreciar en la segunda seccione del gráfico, que luego de que el programa que atiende la E/S pone en funcionamiento el periférico, el procesador dedica su tiempo en procesar el programa original hasta que reciba una nueva interrupción, las 2 cruces identifican las interrupciones.

Bien, que sucedería si ocurre una interrupción mientras se esta ejecutando una interrupción?

Hay 2 alternativas, la primera es que mientras se esta atendiendo una interrupción se desactivan las demás, luego que se termina de atender la interrupción el procesador, antes de proseguir con la ejecución del programa principal, chequea si hay alguna interrupción pendiente, y así las va ejecutando secuencialmente.

La desventaja es que no se tiene en cuenta ninguna prioridad, y es necesario porque hay peticiones que en la que es importante atenderlas rápidamente y hay otras que no.

La otra alternativa es que las interrupciones tengan prioridad, entonces, si una interrupción es interrumpida por otra que posee mayor prioridad, se almacena el contexto de ejecución de la interrupción en curso, se carga el PC con la nueva dirección y se empieza a ejecutar las instrucciones del programa que atiende la nueva interrupción, al terminar se continua atendiendo la interrupción anterior, y cuando se termina de atender esta, se vuelve a la ejecución del programa principal.

En la primera parte del gráfico se muestra como seria una atención secuencial de interrupciones, y en la segunda parte muestra el procesamiento de interrupciones anidadas, una dentro de otra, obviamente la interrupción "Y" es de mayor prioridad que la "X", en caso contrario, el gráfico hubiese sido similar al de la primera parte.

Sabiendo un poco de las interrupciones ahora podemos agregar una nueva etapa al ciclo de la instrucción básico.

En este gráfico podemos ver que si las interrupciones están deshabilitadas, el ciclo es igual, pero si están habilitadas antes de captar la próxima instrucción, chequea si hay alguna interrupción pendiente, si lo hay, en la etapa "Check for Interrupt" el procesador guardara el contexto (registro que contiene los flags, registro PC, etc) cargara en el registro PC la dirección donde esta el programa que atiende la interrupción, y empezara a captar y ejecutar las instrucciones del programa de atención a la interrupción.

También vamos a agregar la etapa de detección de interrupciones el gráfico más detallado:

A esto faltaría agregarle una etapa.

Las instrucciones pueden contener uno, varios o ningún operando, este operando puede pasado de distintas modos de direccionamiento, los más comunes son:

* Direccionamiento inmediato: El valor del operando se encuentra incluido en la instrucción.

* Direccionamiento directo: En la instrucción se encuentra la dirección efectiva en donde se encuentra el operando o el registro donde se encuentra el operando.

Page 39: Estructura Interna de as

* Direccionamiento indirecto a través de registro: En la instrucción se hace referencia implícitamente o explícitamente al registro en donde se encuentra la dirección efectiva del operando.

* Direccionamiento indirecto a través de memoria: En la instrucción se encuentra la dirección en donde se encuentra el operando, este operando contiene la dirección de donde se encuentra el valor a procesar.

Flujo de datos:

Veamos un poco como se usan los buses en el ciclo de una instrucción:

Ciclo de captación: En el momento de captar la próxima instrucción, s toma la dirección contenida en el PC y se coloca en el MAR, luego la unidad de control manda señal de lectura por el bus de control, y entonces la memoria coloca en el bus de datos la información requerida. A continuación el MBR copia la información que se encuentra en el bus de datos al cual esta conectado, y como paso final el dato contenido en MBR pasa a IR.

Ciclo indirecto: Si el operando utiliza direccionamiento indirecto, entonces se toma los N bits mas a la derecha del registro MBR, los cuales corresponden a la dirección de referencia del operando, estos bits se pasan al MAR, la unidad de control manda señal de lectura, la memoria pone los datos solicitados en el bus de datos, la MBR capta la información del bus de datos

El ciclo de ejecución no tan fácil y predecible como los dos anteriores, todo depende de la instrucción que el ciclo de captación halla dejado en IR, son muchas las posibilidades de flujos posibles.

En cambio, el ciclo de interrupción es predecible como los 2 primeros.

Ciclo de interrupción: Antes de atender a la subrutina que atenderá la interrupción, el contexto del CPU debe guardarse (flags y PC), para eso la unidad de control coloca en MAR la dirección en donde hace el resguardo de esos datos, podría ser la pila, luego de esto se coloca el dato a guardar en MBR, la unidad de control envía señal de escritura, la memoria detecta la señal y copia en la dirección que se encuentra en el bus de direcciones el dato que se encuentra en el bus de datos, dependiendo del tamaño del dato a guardar puede que este proceso ser repita mas de una vez. Luego de eso, se coloca en el PC la dirección donde comienza la subrutina de atención a la interrupción, gracias a lo que se realizo, en el próximo ciclo se empezara a captar instrucciones de la rutina de atención a la interrupción.

Para realizar las operaciones o instrucciones un microprocesador necesita sincronizar todas sus señales internas y externas y disponer, por tanto, de un patrón de tiempo. Es lo que se denomina: Reloj del microprocesador.

Ciclos del microprocesador

- Ciclo máquina:

Es el tiempo que utiliza el microprocesador en leer una instrucción o en su defecto escribir dicha instrucción en un dispositivo de E/S ó en una localidad de memoria.

Un ciclo de máquina es el tiempo durante el cual el microprocesador realiza una operación elemental. Cada ciclo de máquina emplea varios ciclos (impulsos) de reloj.

- Ciclo búsqueda:

Tiempo que tarda el microprocesador en tomar un dato y decodificarlo.

- Ciclo de instrucción:

Page 40: Estructura Interna de as

Se denomina Ciclo de instrucción al tiempo durante el cual el microprocesador ejecuta una instrucción completa.

Es posible calcular el tiempo de ejecución de una determinada operación, siempre que se conozca el número de ciclos de reloj que emplea cada una de sus instrucciones.

- Ciclo de ejecución:

Es el tiempo que tarda el microprocesador en tomar un dato, decodificarlo y ejecutarlo.

Procesadores CISC/RISC

Según el tipo de juego de instrucciones que utilicen, podemos clasificar los microprocesadores en dos tipos distintos:

-RISC: Aquellos que utilizan un juego reducido de instrucciones. Un ejemplo de ello sería el ensamblador del Motorola 88110, que carece por ejemplo de más saltos condicionales que "salta si este bit es 1" y "salta si este bit es 0". Por un lado se obtiene la ventaja de que en cierto modo uno se fabrica las cosas desde un nivel más profundo, pero a veces llega a hacer la programación excesivamente compleja.

-CISC: Son los que usan un juego de instrucciones ampliado, incluyéndose en esta clasificación el lenguaje ensamblador de los 80x86 (el PC común de Intel, AMD, Cyrix...). Para el ejemplo usado antes, en el asm de Intel tenemos 16 tipos distintos de salto que abstraen el contenido del registro de flags y permiten comparaciones como mayor que, mayor o igual que, igual, menor, etc.

24.- Lenguaje ensamblador

El lenguaje ensamblador es un tipo de lenguaje de bajo nivel utilizado para escribir programas informáticos, y constituye la representación más directa del código máquina específico para cada arquitectura de computadoras legible por un programador.

Características

El código escrito en lenguaje ensamblador posee una cierta dificultad de ser entendido directamente por un ser humano ya que su estructura se acerca mas bien al lenguaje máquina, es decir, lenguaje de bajo nivel.

El lenguaje ensamblador es difícilmente portable, es decir, un código escrito para un microprocesador en particular necesita ser modificado muchas veces en su totalidad para poder ser usado en otro microprocesador.

Los programas hechos en lenguaje ensamblador son generalmente más rápidos y consumen menos recursos del sistema (memoria RAM y ROM). Al programar cuidadosamente en lenguaje ensamblador se pueden crear programas que se ejecutan más rápidamente y ocupan menos espacio que con lenguajes de alto nivel.

Con el lenguaje ensamblador se tiene un control muy preciso de las tareas realizadas por un microprocesador por lo que se pueden crear segmentos de código difíciles de programar en un lenguaje de alto nivel.

Ensambladores: Un ensamblador (assembler en inglés) es un programa que crea código objeto traduciendo instrucciones nemónicas de un programa fuente escrito en ensamblador a códigos ejecutables e interpretando los nombres simbólicos para direcciones de memoria y otras entidades (ensamblado). El uso de referencias simbólicas es una característica básica del lenguaje ensamblador, evitando tediosos cálculos y direccionamiento manual después de cada modificación del programa. La mayoría de los ensambladores también incluyen facilidades para crear macros, a

Page 41: Estructura Interna de as

fin de generar series de instrucciones cortas que se ejecutan en tiempo real, en lugar de utilizar subrutinas.

Los ensambladores son por lo general más fáciles de programar que los compiladores de lenguajes de alto nivel, y han estado disponibles desde la década de 1950. Los ensambladores modernos, especialmente para arquitecturas basadas en RISC, como por ejemplo MIPS, SPARC y PA-RISC optimizan las instrucciones para explotar al máximo la eficiencia de segmentación[2] de la CPU.

Los ensambladores avanzados ofrecen posibilidades de abstracción que incluyen:

Control avanzado de estructuras.

Procedimientos de alto nivel, declaración de funciones.

Tipos de datos que incluyen estructuras, registros, uniones, clases y conjuntos.

Sofisticado procesamiento de macros.

Lenguaje: Un programa escrito en lenguaje ensamblador consiste en una serie de instrucciones que corresponden al flujo de órdenes ejecutables que pueden ser cargadas en la memoria de un sistema basado en microprocesador.

Por ejemplo, un procesador x86 puede ejecutar la siguiente instrucción binaria como se expresa en código de máquina:

Binario: 10110000 01100001 (Hexadecimal: 0xb061)

La representación equivalente en lenguaje ensamblador es más fácil de recordar:

MOV al, 061h

Esta instrucción significa:

Asigna el valor hexadecimal 61 (97 decimal) al registro "al".

El mnemónico "mov" es un código de operación u "opcode", elegido por los diseñadores de la colección de instrucciones para abreviar "move" (mover, pero en el sentido de copiar valores de un sitio a otro). El opcode es seguido por una lista de argumentos o parámetros, completando una instrucción de ensamblador típica.

La transformación del lenguaje ensamblador en código máquina la realiza un programa Ensamblador, y la traducción inversa la puede efectuar un desensamblador. A diferencia de los lenguajes de alto nivel, aquí hay usualmente una correspondencia 1 a 1 entre las instrucciones simples del ensamblador y el lenguaje de máquina. Sin embargo, en algunos casos, un ensamblador puede proveer "pseudo instrucciones" que se expanden en un código de máquina más extenso a fin de proveer la funcionalidad necesaria. Por ejemplo, para un código máquina condicional como "si X mayor o igual que" , un ensamblador puede utilizar una pseudoinstrucción al grupo "haga si menor que" , y "si = 0" sobre el resultado de la condición anterior. Los Ensambladores más completos también proveen un rico lenguaje de macros que se utiliza para generar código más complejo y secuencias de datos.

El uso del ensamblador no resuelve definitivamente el problema de cómo programar un sistema basado en microprocesador de modo sencillo ya que para hacer un uso eficiente del mismo, hay que conocer a fondo el microprocesador, los registros de trabajo de que dispone, la estructura de la memoria, y muchas cosas más referentes a su estructura básica de funcionamiento.

Cada arquitectura de microprocesadores tiene su propio lenguaje de máquina, y en consecuencia su propio lenguaje ensamblador ya que este se encuentra muy ligado al la estructura del hardware para el cual se programa. Los microprocesadores difieren en el tipo y número de operaciones que

Page 42: Estructura Interna de as

soportan; también pueden tener diferente cantidad de registros, y distinta representación de los tipos de datos en memoria. Aunque la mayoría de los microprocesadores son capaces de cumplir esencialmente las mismas funciones, la forma en que lo hacen difiere y los respectivos lenguajes ensamblador reflejan tal diferencia.

Pueden existir múltiples conjuntos de mnemónicos o sintaxis de lenguaje ensamblador para un mismo conjunto de instrucciones, instanciados típicamente en diferentes programas en ensamblador. En estos casos, la alternativa más popular es la provista por los fabricantes, y usada en los manuales del programa.

Código máquina: El código máquina, o lenguaje de máquina, está formado por instrucciones sencillas, que -dependiendo de la estructura del procesador pueden especificar:

Registros específicos para operaciones aritméticas, direccionamiento o control de funciones.

Posiciones de memoria específicas (offset).

Modos de direccionamiento usados para interpretar operandos.

Las operaciones más complejas se realizan combinando estas instrucciones sencillas, que pueden ser ejecutadas secuencialmente o mediante instrucciones de control de flujo.

Las operaciones disponibles en la mayoría de los conjuntos de instrucciones incluye:

mover

llenar un registro con un valor constante

mover datos de una posición de memoria a un registro o viceversa

escribir y leer datos de dispositivos

computar

sumar, restar, multiplicar o dividir los valores de dos registros, colocando el resultado en uno de ellos o en otro registro

realizar operaciones binarias, incluyendo operaciones lógicas (AND/OR/XOR/NOT)

comparar valores entre registros (mayor, menor, igual)

afectar el flujo del programa

saltar a otra posición en el programa y ejecutar instrucciones allí

saltar si se cumplen ciertas condiciones (IF)

saltar a otra posición, pero guardar el punto de salida para retornar (CALL, llamada a subrutinas)

Algunas computadoras incluyen instrucciones complejas dentro de sus capacidades. Una sola instrucción compleja hace lo mismo que en otras computadoras puede requerir una larga serie de instrucciones, por ejemplo:

salvar varios registros en la pila de una sola vez

mover grandes bloques de memoria

operaciones aritméticas complejas o de punto flotante (seno, coseno, raíz cuadrada)

25.- Bibliografía:

http://www.monografias.com/trabajos17/arquitectura-computadoras/arquitectura-computadoras.shtml

Page 43: Estructura Interna de as

http://html.rincondelvago.com/arquitectura-de-computadoras_2.html

http://www.taringa.net/posts/apuntes-y-monografias/2059091/Arquitectura-y-organizacion-de-computadoras-1.html

http://www.taringa.net/posts/apuntes-y-monografias/2097028/Arquitectura-y-organizacion-de-computadoras-2.html

http://www.monografias.com/trabajos16/memorias/memorias.shtml

http://www.alegsa.com.ar/Dic/memoria%20externa.php

http://docs.google.com/viewer?a=v&q=cache:HIv81PiJg7kJ:www.dc.uba.ar/people/materias/oc1/files/teorica/TD02B.pdf+jerarquia+de+computadoras+nivel+del+lenguaje+ensamblador&hl=es&gl=mx&pid=bl&srcid=ADGEESjkiYUHpKzXO7D1s6iB6riv2M3vPhjbSfXxaV0B5gCscn6bTqwP1G0zaBGfhy1mLXZzstEvFp16SJI5rzqRg2_OJXnrCUNe7O67l7g1edA55vbAzanJO7QhyYaoJlSoMooFuTDR&sig=AHIEtbQlG2jz_FEgUltYEHre1GBaM-dvGw

http://iteso.mx/~jluis/acpdf/oto-04/14-Memoria-externa.PDF

http://www.wikilearning.com/curso_gratis/b_curso_b_de_programacion_de_virus-ensamblador_i_conceptos_basicos/4312-5