A Rq Computadora s

22
ARQUITECTURA DE COMPUTADORAS INGENIERIA EN SISTEMAS COMPUTACIONALES DOCENTE: ISC. JOSE AURELIO RAMIREZ GONZALEZ Unidad 1 Modelo de arquitecturas de cómputo. 1.1 Modelos de arquitecturas de cómputo. 1.1.1 Arquitecturas Clásicas. Estas arquitecturas se desarrollaron en las primeras computadoras electromecánicas y de tubos de vacío. Aun son usadas en procesadores empotrados de gama baja y son la base de la mayoría de las arquitecturas modernas Arquitectura Mauchly-Eckert (Von Newman) Esta arquitectura fue utilizada en la computadora ENIAC. Consiste en una unidad central de proceso que se comunica a través de un solo bus con un banco de memoria en donde se almacenan tanto los códigos de instrucción del programa, como los datos que serán procesados por este. Esta arquitectura es la más empleada en la actualidad ya, que es muy versátil. Ejemplo de esta versatilidad es el funcionamiento de los compiladores, los cuales son programas que toman como entrada un archivo de texto conteniendo código fuente y generan como datos de salida, el código maquina que corresponde a dicho código fuente (Son programas que crean o modifican otros programas). Estos datos de salida pueden ejecutarse como un programa posteriormente ya que se usa la misma memoria para datos y para el código del programa. Procesador Unidad de Control Bus principal Memoria Principal Almacena el programa y los datos ALU Registros Entrada y salida

description

Unidad uno de la materia de arquitectura de computadoras

Transcript of A Rq Computadora s

  • ARQUITECTURA DE COMPUTADORAS INGENIERIA EN SISTEMAS COMPUTACIONALES

    DOCENTE: ISC. JOSE AURELIO RAMIREZ GONZALEZ

    Unidad 1 Modelo de arquitecturas de cmputo.

    1.1 Modelos de arquitecturas de cmputo. 1.1.1 Arquitecturas Clsicas.

    Estas arquitecturas se desarrollaron en las primeras computadoras electromecnicas y de tubos de vaco. Aun son usadas en procesadores empotrados de gama baja y son la base de la mayora de las arquitecturas modernas

    Arquitectura Mauchly-Eckert (Von Newman)

    Esta arquitectura fue utilizada en la computadora ENIAC. Consiste en una unidad central de proceso que se comunica a travs de un solo bus con un banco de memoria en donde se almacenan tanto los cdigos de instruccin del programa, como los datos que sern procesados por este. Esta arquitectura es la ms empleada en la actualidad ya, que es muy verstil. Ejemplo de esta versatilidad es el funcionamiento de los compiladores, los cuales son programas que toman como entrada un archivo de texto conteniendo cdigo fuente y generan como datos de salida, el cdigo maquina que corresponde a dicho cdigo fuente (Son programas que crean o modifican otros programas). Estos datos de salida pueden ejecutarse como un programa posteriormente ya que se usa la misma memoria para datos y para el cdigo del programa.

    Procesador

    Unidad de

    Control

    Bus principal Memoria Principal

    Almacena el programa y los datos

    ALU

    Registros

    Entrada y salida

  • ARQUITECTURA DE COMPUTADORAS INGENIERIA EN SISTEMAS COMPUTACIONALES

    DOCENTE: ISC. JOSE AURELIO RAMIREZ GONZALEZ

    La principal desventaja de esta arquitectura, es que el bus de datos y direcciones nico se convierte en un cuello de botella por el cual debe pasar toda la informacin que se lee de o se escribe a la memoria, obligando a que todos los accesos a esta sean secuenciales. Esto limita el grado de paralelismo (acciones que se pueden realizar al mismo tiempo) y por lo tanto, el desempeo de la computadora. Este efecto se conoce como el cuello de botella de Von Newman

    En esta arquitectura apareci por primera vez el concepto de programa almacenado. Anteriormente la secuencia de las operaciones era dictada por el alambrado de la unidad de control, e cambiarla implicaba un proceso de recableado laborioso, lento(hasta tres semanas) y propenso a errores. En esta arquitectura se asigna un cdigo numrico a cada instruccin. Dichos cdigos se almacenan en la misma unidad de memoria que los datos que van a procesarse, para ser ejecutados en el orden en que se encuentran almacenados en memoria. Esto permite cambiar rpidamente la aplicacin de la computadora y dio origen a las computadoras de propsito general

    Mas a detalle, el procesador se subdivide en una unidad de control (C.U.), una unidad lgica aritmtica (A.L.U.) y una serie de registros. Los registros sirven para almacenar internamente datos y estado del procesador. La unidad aritmtica lgica proporciona la capacidad de realizar operaciones aritmticas y lgicas. La unidad de control genera las seales de control para leer el cdigo de las instrucciones, decodificarlas y hacer que la ALU las ejecute.

    Arquitectura Harvard

    Esta arquitectura surgi en la universidad del mismo nombre, poco despus de que la arquitectura Von Newman apareciera en la universidad de Princeton. Al igual que en la arquitectura Von Newman, el programa se almacena como un cdigo numrico en la memoria, pero no en el mismo espacio de memoria ni en el mismo formato que los datos. Por ejemplo, se pueden almacenar las instrucciones en doce bits en la memoria de programa, mientras los datos de almacenan en 8 bits en una memoria aparte.

    Memoria de programa

    Bus de programa

    Procesador Unidad de

    Control ALU Registros

    Bus de datos

    Memoria de datos Entrada y salida

    Figura 1.1.1.2 Diagrama a bloques de la arquitectura Harvard

  • ARQUITECTURA DE COMPUTADORAS INGENIERIA EN SISTEMAS COMPUTACIONALES

    DOCENTE: ISC. JOSE AURELIO RAMIREZ GONZALEZ

    El hecho de tener un bus separado para el programa y otro para los datos permite que se lea el cdigo de operacin de una instruccin, al mismo tiempo se lee de la memoria de datos los operados de la instruccin previa. As se evita el problema del cuello de botella de Von Newman y se obtiene un mejor desempeo.

    En la actualidad la mayora de los procesadores modernos se conectan al exterior de manera similar a a la arquitectura Von Newman, con un banco de memoria masivo nico, pero internamente incluyen varios niveles de memoria cache con bancos separados en cache de programa y cache de datos, buscando un mejor desempeo sin perder la versatilidad.

    1.1.2 Arquitecturas Segmentadas.

    Las arquitecturas segmentadas o con segmentacin del cauce buscan mejorar el desempeo realizando paralelamente varias etapas del ciclo de instruccin al mismo tiempo. El procesador se divide en varias unidades funcionales independientes y se dividen entre ellas el procesamiento de las instrucciones. Para comprender mejor esto, supongamos que un procesador simple tiene un ciclo de instruccin sencillo consistente solamente en una etapa de bsqueda del cdigo de instruccin y en otra etapa de ejecucin de la instruccin.

    Unidad de Bsqueda

    Cola de Instrucciones

    Unidad de ejecucin

  • ARQUITECTURA DE COMPUTADORAS INGENIERIA EN SISTEMAS COMPUTACIONALES

    1.1.3 Arquitecturas de multiprocesamiento.

    Cuando se desea incrementar el desempeo ms aya de lo que permite la tcnica de segmentacin del cauce (limite terico de una instruccin por ciclo de reloj), se requiere utilizar ms de un procesador para la ejecucin del programa de aplicacin.

    Las CPU de multiprocesamiento se clasifican de la siguiente manera:

    SISO (Single Instruction, Single Operand ) computadoras independientes SIMO (Single Instruction, Multiple Operand ) procesadores vectoriales MISO (Multiple Instruction, Single Operand ) No implementado MIMO (Multiple Instruction, Multiple Operand ) sistemas SMP, Clusters

    Procesadores vectoriales Son computadoras pensadas para aplicar un mismo algoritmo numrico a una serie de datos matriciales, en especial en la simulacin de sistemas fsicos complejos, tales como simuladores para predecir el clima, explosiones atmicas, reacciones qumicas complejas, etc., donde los datos son representados como grandes nmeros de datos en forma matricial sobr los que se deben se aplicar el mismo algoritmo numrico.

    En los sistemas SMP (Simetric Multiprocesesors), varios procesadores comparten la misma memoria principal y perifricos de I/O, Normalmente conectados por un bus comn. Se conocen como simtricos, ya que ningn procesador toma el papel de maestro y los dems de esclavos, sino que todos tienen derechos similares en cuanto al acceso a la memoria y perifricos y ambos son administrados por el sistema operativo. Los Clusters son conjuntos de computadoras independientes conectadas en una red de rea local o por un bis de interconexin y que trabajan cooperativamente para resolver un problema. Es clave en su funcionamiento contar con un sistema operativo y programas de aplicacin capaces de distribuir el trabajo entre las computadoras de la red.

    1.2 Anlisis de los componentes. 1.2.1 CPU. La Unidad Central de Procesamiento (del ingls: Central Processing Unit, CPU) o procesador, es el

    componente principal del ordenador y otros dispositivos programables, que interpreta las instrucciones contenidas en los programas y procesa los datos. Tanto la miniaturizacin como la estandarizacin de las CPU han aumentado la presencia de estos dispositivos digitales en la vida moderna mucho ms all de las aplicaciones limitadas de mquinas de computacin dedicadas. Los microprocesadores modernos aparecen en todo, desde automviles, televisores, neveras, calculadoras, aviones,

    hasta telfonos mviles o celulares, juguetes, entre otros. En la actualidad muchas personas llaman CPU al armazn del computador (torre), confundiendo de esta manera a los principiantes en el mundo de la computacin.

  • ARQUITECTURA DE COMPUTADORAS INGENIERIA EN SISTEMAS COMPUTACIONALES

    1.2.1.1 Arquitecturas.

    Ademas de las arquitecturas clsicas mencionadas anteriormente, en la actualidad han aparecido arquitecturas hbridas entre la Von Newman y la Harvard, buscando conservar la flexibilidad, pero mejorando el rendimiento.

    El cambio ms importante de los ltimos aos en diseo de las computadoras de los ltimos aos se dio durante los aos 1980, con la aparicin de la corriente de diseo conocida como computadoras de conjunto reducido de instrucciones (RISC, por sus siglas en ingles). Esta escuela pretende aplicar un enfoque totalmente distinto al tradicional hasta entonces, que paso a conocerse como computadoras de conjunto complejo de instrucciones (CISC) para diferenciarla de la nueva tendencia.

    La tendencia tradional, representada por las arquitecturas CISC (Complex Instruction Set Computers) se caracterizan por tener un nmero amplio de instrucciones y modos de direccionamiento. Se implementan instrucciones especiales que realizan funciones complejas, de manera que un programador puede encontrar con seguridad, una instruccin especial que realiza en hardware la funcin que el necesita. El nmero de registros del CPU es limitado, ya que las compuertas lgicas del circuito integrado se emplean para implementar las secuencias de control de estas instrucciones especiales.

    Al investigar las tendencias en la escritura de software cientfico y comercial al inicio de los 80, ya se pudo observar que en general ya no se programaba mucho en ensamblador, sino en lenguajes de alto nivel, tales como C. Los compiladores de lenguajes de alto nivel no hacan uso de las instrucciones especiales implementadas en los procesadores CISC, por lo que resultaba un desperdicio de recursos emplear las compuertas del circuito de esta forma. Por lo anterior, se decidi que era mejor emplear estos recursos en hacer que las pocas instrucciones que realmente empleaban los compiladores se ejecutaran lo ms rpidamente posible. As surgi la escuela de diseo RISC (Reduced Instruction Set Computers) donde solo se cuenta con unas pocas instrucciones y modos de direccionamiento, pero se busca implementarlos de forma muy eficiente y que todas las instrucciones trabajen con todos los modos de direccionamiento. Ademas, se observo que una de las tareas que tomaban ms tiempo en ejecutarse en lenguajes de alto nivel, era el pasar los parmetros a las subrutinas a travs de la pila. Como la forma ms rpida de hacer este paso es por medio de registros del CPU, se busco dotarlo con un amplio nmero de registros, a travs de los cuales se pueden pasar dichos parmetros.

    1.2.1.2 Tipos. Veamos primero cual es el significado de los trminos CISC y RISC:

    CISC (complex instruction set computer) Computadoras con un conjunto de instrucciones complejo.

    RISC (reduced instruction set computer) Computadoras con un conjunto de instrucciones reducido.

  • ARQUITECTURA DE COMPUTADORAS INGENIERIA EN SISTEMAS COMPUTACIONALES

    Los atributos complejo y reducido describen las diferencias entre los dos modelos de arquitectura para microprocesadores solo de forma superficial. Se requiere de muchas otras caractersticas esenciales para definir los RISC y los CISC tpicos. Aun ms, existen diversos procesadores que no se pueden asignar con facilidad a ninguna categora determinada. As, los trminos complejo y reducido, expresan muy bien una importante caracterstica definitiva, siempre que no se tomen solo como referencia las instrucciones, sino que se considere tambin la complejidad del hardware del procesador. Con tecnologas de semiconductores comparables e igual frecuencia de reloj, un procesador RISC tpico tiene una capacidad de procesamiento de dos a cuatro veces mayor que la de un CISC, pero su estructura de hardware es tan simple, que se puede realizar en una fraccin de la superficie ocupada por el circuito integrado de un procesador CISC. Esto hace suponer que RISC reemplazar al CISC, pero la respuesta a esta cuestin no es tan simple ya que:

    Para aplicar una determinada arquitectura de microprocesador son decisivas las condiciones de realizacin tcnica y sobre todo la rentabilidad, incluyendo los costos de software.

    Existan y existen razones de compatibilidad para desarrollar y utilizar procesadores de estructura compleja as como un extenso conjunto de instrucciones.

    La meta principal es incrementar el rendimiento del procesador, ya sea optimizando alguno existente o se desee crear uno nuevo. Para esto se deben considerar tres reas principales a cubrir en el diseo del procesador y estas son:

    La arquitectura.

    La tecnologa de proceso.

    El encapsulado.

    TIPOS DE MICROPROCESADOR ACTUALES DEFINICION:

    Un microprocesador es el cerebro de una computadora. que va sobre un elemento llamado zocalo ( en inglees es socket) o estan soldados en la placa. El microprocesador esta compuesto por miles o millones , que contiene el ordenador.

    TIPOS DE MICROPROCESAORES

    AMD e INTEL son los unicos dos tipos de chips que abarcan la diversidad en el mercado. las caracteristicas mas importantes son:

    numeros de nucleos: entre mas nucleo un microprocesador, mayor cantidad de informacion sera procesada al mismo tiempo.

    memoria cache: es una memoria ultrarrapida utilizada por el microprocesador.

    bus de datos frontal: un bus son lineas (cables), trazadas sobre una placa, y se encarga de transporte de diferentes tipos de informacion.

    velocidad del procesador: se mide en megahertz o en gigahertz .

  • ARQUITECTURA DE COMPUTADORAS INGENIERIA EN SISTEMAS COMPUTACIONALES

    consumo de energia: mencionare los diferentes tipos de procesador actuales INTEL CELERON El equipo portatil: es apta para las necesidades informaticas basicas como procesar textos. caracteristicas

    64 bits del proceso

    1mb de memoria cache

    bus de datos frontal de 800 mshz

    un procesador con velocidad de hasta 2.2 ghz

    ahorra energia de acuerdo con las normas establecidas

    INTEL CORE 2 DUO El equipo portatil y computadora de escritorio: este procesador brinda el desempeo necesario para ejecutar multiples tareas al mismo tiempo. caracteristicas:

    memoria 2 nucleos de procesamiento

    memoria cache de 2mb hasta 6mb

    bus total frontal. en este caso,dependiendo el numero de procesador, el ancho de banda puede ser de 533 mhz, 800 mhz a 1066 mhz.

    INTEL CORE 2 QUAD Equipo portatil y computadora de escritorio: fue diseado con el fin de que su desempeo sea procesar entretenimientos como : videojuegos de alto nivel, editar videos, fotografias, reproducir peliculas y musica. caracteristicas:

    4 nucleos

    memoria cache de 4 mb, 6mb y 12 mb

    bus de datos frontal de 800 mhz y 1066 mhz

    procesadoir con velocidad de 2.53 ghz, 2,60ghz,2.80ghz y 3.06 ghz

  • ARQUITECTURA DE COMPUTADORAS INGENIERIA EN SISTEMAS COMPUTACIONALES

    INTEL CORE I3 Este microprocesador utiliza la tecnologia hyper thereading. caracteristicas:

    procesador de dos nucleos

    memoria cache de 3mb

    velocidad ddr3 de 800mhsz hasta 1066mhz. ddr3 es la habilidad de hacer trasferencia de datos ocho veces mas rapido.

    procesador con velocidad de 2.13ghz y 2.2ghz.

    INTEL CORE I5 Es para uso cotidiano, es posible trabajar en dos tareas a la vez, y tienen la capacidad de aumentar su velocidad. caracteristicas:

    posee 4 vias con impulso de velocidad.

    8mb de memoria cache

    velocidad ddr3 de 1333 mshz

    procesador con velocidad de 2.53 ghz

    INTEL CORE I7 Es apropiada para editar videos y fotografias, divertirse con juegos y por supuesto trabajr en varios al tiempo. caracteristicas: posee un nucleo memoria cache de 4mb, 6mb y 8mb velocidad ddr3 de 800mhz, 1066 mghz y 1333 mgz procesador con velocidad de 3.06 ghz, 2.93 ghz y 2.66 ghz por nucleo.

  • ARQUITECTURA DE COMPUTADORAS INGENIERIA EN SISTEMAS COMPUTACIONALES

    INTEL ATOM Se puede realizar las operaciones basicas, como escribir textos y navegar por internet desde cualquier sitio. caracteristicas:

    posee un nucleo

    memoria cache de 512kb

    un bus de datos frontal de 667 mhz

    velocidad del procesador de 1.66 mhz

    AMD PHENOM II: X3 Y X4 Es ideal para entretenimientos en alta definicion como, juegos, editar video y fotografia. caracteristicas:

    esta formando de tres a 4 nucleos

    memoria cache de 4mb y 6 mb

    un bus de datos frontal de 1066 mhz

    32 y 64 bits de proceso.

    AMD ATHLON II X2 Convierte de una manera rapida la musica y los videos a otros formatos. caracteristicas:

    posee 2 nucleos

    memoria cache de 2mb

    32 y 64 bits de proceso.

  • ARQUITECTURA DE COMPUTADORAS INGENIERIA EN SISTEMAS COMPUTACIONALES

    AMD SEMPROM Es capaz de realizar varias tareas a la vez, ideal para la reproduccion de video y musica. caracteristicas:

    memoria ddr2 de 2gb, expandible hasta 4gb, esta memoria es la que permite llevar a cabo varias tareas al mismo tiempo.

    tiene una memoria cache l2 de 512 kb

    un bus de datos frontal de 1600 mhz

    velocidad del procesador de hasta 2.3 ghz

    1.2.1.3 Caractersticas.

    Las caractersticas ms importantes a considerar al escoger un CPU para usarlo en una aplicacin, son:

    Modelo del programador (Conjunto de registros que el programador puede utilizar), forman el modelo mental del CPU que el programador utiliza al programar en ensamblador. Conjunto de instrucciones que puede ejecutar el CPU Modos de direccionamiento que pueden usarse para obtener los operandos de las instrucciones. Ciclo de instruccin (el conjunto de pasos que realiza el CPU para procesar cada instruccin) Buses de interconexin, usados para que el CPU lea y escriba a la memoria y a los dispositivos de entrada y salida.

    1.2.1.4 Funcionamiento.

    Debido a la gran variedad de CPU disponibles comercialmente, se explicara el funcionamiento de un unidad central de proceso imaginaria muy simple, pero que resume el funcionamiento bsico de la mayora de los CPUs. Este CPU es similar a las primeras computadoras existentes en los aos 1950s.

    Esta computadora contara con una memoria de 4096 palabras de 16 bits cada una. Esto corresponde a un bus de direcciones de 12 bits y un bus de datos de 16 bits). En cada localidad de

  • ARQUITECTURA DE COMPUTADORAS INGENIERIA EN SISTEMAS COMPUTACIONALES

    memoria se podr almacenar un entero de 16 bits o el cdigo de una instruccin, tambin de 16 bits.

    Todos los CPU tienen como funcin principal la ejecucin de un programa acorde a la aplicacin del mismo. Un programa es un conjunto de instrucciones almacenadas de acuerdo al orden en que deben ejecutarse. Por lo tanto, toda computadora debe ser capaz de procesar las instrucciones de su programa en un ciclo de instruccin, consistente en un nmero de etapas que varia con cada CPU, pero que tradicionalmente han sido tres:

    1-Bsqueda del cdigo de Instruccin. Esta consiste en leer de la memoria cual ser la siguiente instruccin a ejecutar, la cual esta almacenada en forma de un cdigo numrico que indica cual de todas las operaciones que puede realizar el CPU sera la siguiente y con que operandos se ejecutara.

    2- Decodificacin. Consiste en tomar el cdigo numrico e identificar a cual de las operaciones que puede realizar el CPU corresponde dicho cdigo. El proceso contrario, la codificacin, consiste en conociendo la instruccin, determinar el nmero que la va a representar. Esta etapa usualmente se realiza con un decodificador binario.

    3- Ejecucin. En esta etapa se lleva a cabo la operacin sobre los datos que se vallan a procesar. En general, la unidad de control (CU) genera las seales de control necesarias para llevar los datos a las entradas de la Unidad Aritmtica Lgica, la cual efectuar las operaciones aritmticas y lgicas. Posteriormente, la unidad de control generara las seales de control necesarias para transferir la salida de la Unidad Aritmtica Lgica al registro donde sern almacenados los resultados para su uso posterior.

    Bsqueda de la Instruccin

    Decodificacin de la Instruccin

    Ejecucin de la Instruccin

    Figura 1.2.1.4.1 Ciclo de instruccin

  • ARQUITECTURA DE COMPUTADORAS INGENIERIA EN SISTEMAS COMPUTACIONALES

    1.2.2 Memoria.

    Una memoria es un dispositivo que puede mantenerse en por lo menos dos estados estables por un cierto periodo de tiempo. Cada uno de estos estados estables puede utilizarse para representar un bit. A un dispositivo con la capacidad de almacenar por lo menos un bit se le conoce como celda bsica de memoria.

    Existen dos tipos de memoria RAM:

    DRAM (Dynamic RAM), RAM dinmica

    SRAM (Static RAM), RAM esttica La diferencia entre estos dos tipos de memoria RAM es que utilizan una tecnologa diferente para almacenar los datos. La RAM dinmica necesita ser refrescada cientos de veces por segundo, mientras que la RAM esttica no necesita ser refrescada tan frecuentemente, lo que la hace ms rpida, pero tambin ms cara que la RAM dinmica. Ambos tipos son voltiles, lo que significa que pueden perder su contenido cuando se desconectan de la alimentacin. La memoria RAM es sinnimo de memoria principal, es aquella memoria disponible para programas. La memoria ROM (Read Only Memory) es aquella memoria que se utiliza para almacenar los programas que realizan las tareas de arranque del ordenador y de diagnsticos. Ambos tipos de memoria (RAM y ROM) permiten el acceso aleatorio, sin embargo, la memoria RAM es una memoria de lectura y escritura, y la memoria ROM es una memoria de solo lectura. Tipos de memoria RAM

    VRAM: Son las siglas de Video RAM, una memoria especial utilizada por los adaptadores de video. A diferencia de la tradicional memoria RAM, la VRAM puede ser accedida por dos dispositivos diferentes de manera simultnea, es decir que mientras el monitor accede a la VRAM, un procesador grfico puede suministrar nuevos datos. La VRAM desarrolla un mejor rendimiento grfico, pero su valor es ms costoso que la de una memoria RAM tradicional.

    SIMM: Son las siglas que abrevian Single In line Memory, uno de los tipos de memoria RAM. La SIMM consiste en un tipo de encapsulado resistente en una pequea placa de circuito que almacena chips de memoria, y que se inserta en un zcalo SIMM en la placa madre o en la placa de memoria. Estos tipos de memoria RAM (SIMM) son ms sencillos de instalar que los antiguos chips de memoria individuales, y a diferencia de ellos, estos son medidos en bytes en lugar de bits.

  • ARQUITECTURA DE COMPUTADORAS INGENIERIA EN SISTEMAS COMPUTACIONALES

    DIMM: Las siglas hacen referencia a Dual In line Memory, un tipo de encapsulado consistente en una pequea placa de circuito impreso que almacena chips de memoria que se inserta en un zcalo DIMM en la placa madre y, generalmente, utiliza un conector de 168 contactos.

    DIP: Dual In line Package. Un tipo de encapsulado consistente que almacena un chip de memoria en una caja rectangular con dos filas de pines de conexin en cada lado.

    RAM Disk: Hace referencia a la memoria RAM que ha sido configurada para simular un disco duro. En estos tipos de memoria RAM se puede acceder a los ficheros de la misma manera en la que se acceden a los de un disco duro; sin embargo, los RAM Disk son miles de veces ms rpidos que los discos duros y adems son particularmente tiles para aplicaciones que precisan de frecuentes accesos a disco. El hecho de que estn constituidos por la RAM tradicional, ayuda a que los RAM Disk pierdan su contenido cada vez que la computadora es apagada. Para utilizar los RAM Disk es necesario copiar los ficheros desde un disco duro real al iniciar la sesin y copiarlos nuevamente al disco duro al finalizarla y apagar la computadora. Si por algn motivo la alimentacin elctrica del ordenador falla, los datos que estn almacenados en el RAM Disk se perdern. El sistema operativo DOS permite convertir la memoria extendida en un RAM Disk mediante el comando VDISK (siglas de Virtual Disk), otro de los tipos de memoria RAM Disks.

    Memoria Cach RAM Cach: Un cach es un sistema especial de almacenamiento de alta

    velocidad. Estos tipos de memoria RAM pueden ser un rea reservada de la memoria principal un dispositivo de almacenamiento de alta velocidad independiente. Las computadoras personales utilizan dos tipos de cach: memoria cach y cach de disco. La memoria cach es una parte de memoria RAM esttica de alta velocidad (SRAM) ms que la lenta y econmica RAM dinmica (DRAM) utilizada como memoria principal. Adems, la memoria cach es altamente efectiva, ya que los programas pueden acceder una y otra vez a los mismos datos o instrucciones. Gracias a estos tipos de memoria RAM, guardando dichos datos en la SRAM, la computadora evita tener que acceder una y otra vez a la DRAM. El cach de disco trabaja sobre los mismos principios que la memoria cach, pero en vez de utilizar la SRAM de alta velocidad, utiliza la tradicional memoria principal. Los datos ms recientes del disco duro a los que se ha accedido se almacenan en un buffer de memoria y cuando el programa necesita acceder a ciertos datos del disco lo primero que comprueba es la cach del disco, para corroborar si los datos ya estn alojados all. La cach de disco puede mejorar el rendimiento de las aplicaciones, ya que acceder a un byte de datos RAM es ms rpido que acceder a un byte del disco duro.

    SRAM: La Static Random Access Memory es uno de los tipos de memoria RAM ms fiable y rpida que la tradicional DRAM (Dynamic RAM). El trmino esttica de esta memoria proviene del hecho que necesita ser refrescada menos cantidad de veces que la RAM

  • ARQUITECTURA DE COMPUTADORAS INGENIERIA EN SISTEMAS COMPUTACIONALES

    dinmica. Las memorias RAM estticas no precisan circuitos de refresco como las memorias RAM dinmicas, pero necesitan ms espacio y utilizan una mayor cantidad de energa. Debido a su alta velocidad, estos tipos de memoria RAM (SRAM) son utilizados como memoria cach.

    DRAM: Son las siglas de Dynamic RAM; uno de los tipos de memoria RAM de gran capacidad que necesita ser refrescada constantemente, ya que si no se realiza dicho proceso pierde todo su contenido. Estos tipos de memoria RAM utilizan un transistor y un condensador para representar un bit. En este caso, los condensadores deber ser energizados cientos de veces por segundo para mantener las cargas.

    SDRAM: Son las siglas que definen a la Synchronous DRAM, uno de los tipos de memoria RAM ms dinmicas. La SRAM es 20% ms rpida que la RAM EDO, ya que entrelaza dos o ms matrices de memoria interna, es decir que mientras se est accediendo a una matriz, la siguiente se est preparando para el acceso.

    FPM: Fast Page Mode o memoria en modo paginado. Este es el diseo ms comn de chips de la RAM dinmica. En estos tipos de memoria RAM, el acceso a los bits de memoria se realiza mediante coordenadas, fila y columna. Antes de la creacin del FPM, el acceso a los bits se realizaba pulsando la fila y columna de las lneas seleccionas, pero con el modo pgina la fila se selecciona una vez para todas las columnas dentro de la fila, otorgando como resultado un rpido acceso.

    EDO: Extended Data Output es un chip de RAM dinmica que mejora alrededor de un 10% el rendimiento del modo de memoria Fast Page. Sin embargo, si el controlador de memoria no se encuentra diseado para los ms rpidos chips EDO, el rendimiento es el mismo que el modo Fast Page. La principal funcin de EDO es eliminar los datos de espera manteniendo activo el buffer de salida hasta que comience el prximo ciclo

    PB SRAM: Son las siglas de Pipeline Burst SRAM. Se denomina pipeline a una categora de tcnicas que proporcionan un acceso simultneo o paralelo dentro de la computadora; y se refiere a las operaciones de solapamiento movilizando datos o instrucciones dentro de una tubera conceptual con todas las fases del pipe procesando de manera

    simultnea. En el caso de los procesadores vectoriales, pueden procesarse simultneamente varios de operaciones de coma flotante. Estos tipos de memoria RAM (PB SRAM) trabajan de esta manera y se mueven en velocidad de 4 y 8 nanosegundos.

    Estos son los tipos de memoria RAM conocidos y utilizados hasta la actualidad.

    1.2.2.1 Arquitecturas.

    Desde hace unas decenas de aos, los procesadores han estado aumentando su velocidad de operacin a un paso mucho ms rpido que las memorias, lo que ha llevado a la situacin en que los procesadores actuales operan mucho ms rpidamente que la memoria principal de las computadoras. Esto hace que el procesador tenga que quedarse detenido por varios ciclos de reloj (estados de espera) cada vez que tiene que leer o escribir a la memoria principal.

    Para aliviar un poco esta situacin conservando el precio de la computadora razonablemente bajo, se ha organizado a la memoria como una jerarqua de diversos niveles con distintos tamaos y velocidades. Hay que recordar que la memoria ms rpida es mucho ms cara que la ms lenta y

  • ARQUITECTURA DE COMPUTADORAS INGENIERIA EN SISTEMAS COMPUTACIONALES

    que por lo tanto, es menor la cantidad de memoria de este tipo que se puede usar. De esta manera, la mayor parte de la capacidad de almacenamiento de la maquina se encuentra en el disco duro, que tiene un costo por Gbyte muy bajo, pero que tambin es muy lento debido a que hay que mover piezas mecnicas para leer o escribir en l. En seguida se encuentra la memoria principal, que normalmente es del tipo RAM dinmica. Es en esta memoria donde se almacenan los programas para que los pueda ejecutar el procesador, as como los datos con que trabajan dichos programas. Con el objetivo de mejorar la velocidad del procesador al ejecutar ciclos y al leer repetidamente datos de uso comn, se coloca una pequea cantidad de memoria RAM esttica entre el procesador y la memoria principal. Esta memoria es conocida como memoria cache y guarda una copia de una pequea regin de la memoria principal, para que si se requiere volver a leer los datos almacenados en esta regin de memoria, no se tenga que esperar a que se lea la memoria principal, que es mucho ms lenta que la cache y que el procesador. Finalmente, en la cima de la jerarqua, se encuentran los registros del procesador que aunque son muy pocos, son los que se pueden leer y escribir ms rpidamente.

    1.2.2.2 Tipos.

    Los diversos tipos de memorias se clasifican como memorias voltiles y memorias no voltiles. Las memorias voltiles pierden la informacin que almacenan al momento en que se les desconecta la energa, mientras que las no voltiles conservan su contenido aunque no estn alimentadas. Las memorias voltiles son conocidas desde las primeras computadoras como memorias de acceso aleatorio (RAM), ya que en esa poca las memorias voltiles eran de acceso secuencial. Dentro de las memorias voltiles se encuentran las subclases RAM Dinmica y RAM Esttica. Las memorias no voltiles conservan sus datos a pesar de que en este conectadas el voltaje del alimentacin. De hecho

  • ARQUITECTURA DE COMPUTADORAS INGENIERIA EN SISTEMAS COMPUTACIONALES

    pueden conservar sus datos por un periodo de tiempo relativamente largo, usualmente entre cien y 200 aos. Conforme evolucionado la tecnologa, se han desarrollado diversas familias de rumores no voltiles, entre las cuales se encuentran: la memoria de solo lectura (ROM - Read only Memory), la memoria de solo lectura programable (PROM -Programable Read only Memory), la memoria de solo lectura programable y borrable (EPROM - Erasable Read only Memory), la memoria de solo lectura programable y borrable elctricamente (EEPROM Electricaly Erasable Read only Memory) y la memoria flash.

    1.2.2.3 Caractersticas.

    En cuanto a las memorias voltiles, la memoria RAM dinmica es muy rpida pero muy cara. En contraste, la memoria RAM esttica es muy barata pero muy lenta.

    En general, las memorias no voltiles son baratas y su precio depende sobre todo de su capacidad de almacenamiento. Algunas de estas tecnologas son consideradas obsoletas y por lo tanto casi no son utilizadas en actualidad.

    1.2.2.4 Funcionamiento.

    El tipo ms comn de memorias voltiles es la RAM dinmica, que utiliza la capacitancia parsita de los transistores MOSFET con los que esta construida para almacenar un bit. Como solo se requiere de un transistor por celda de memoria, esta memoria es muy econmica, pero debido al tiempo que toma cargar la gran capacitancia de los transistores con los que esta construida, es muy lenta. En cuanto a las memorias no voltiles, histricamente han existido varios tipos. Los primeros

    slo podan ser ledos, por lo que fueron conocidos como memorias de solo lectura (ROM - Read Only Memory). A pesar de que los tipos ms modernos permiten que su contenido se ha modificado por el usuario, an son conocidos como memorias de solo lectura. En las memorias de solo lectura originales (ROM), el almacenar en uno o un cero, depende de si el fabricante coloc o no un diodo fsicamente en el circuito de la memoria. De esta manera, el contenido de la memoria queda establecido por el fabricante desde el momento de su construccin y no es posible que el usuario no modifique. Sin embargo, este tipo de memoria es an muy usada debido a que es muy econmica y por lo tanto, ideal para la produccin en masa de muchos artefactos de consumo masivo.

  • ARQUITECTURA DE COMPUTADORAS INGENIERIA EN SISTEMAS COMPUTACIONALES

    Con el objetivo de hacer a la memoria de solo lectura un dispositivo ms verstil, algunos fabricantes de memorias sustituyeron a los diodos por fusibles semiconductores que el usuario poda quemar usando un programador especial. Esto permiti a los usuarios tener dispositivos de memoria de solo lectura cuyo contenido ellos mismos podan programar, por lo que estos dispositivos fueron conocidos como memorias de solo lectura programables (PROM - Programable Read Only Memory). El nico inconveniente que presentaban estas memorias era que si se necesitaba hacer un pequeo cambio, deba descartarse a la memoria ya programada y utilizar un dispositivo nuevo en blanco.

    Este problema pudo eliminarse al sustituir los fusibles semiconductores por transistores con una compuerta flotante que les permita almacenar una carga elctrica por un tiempo muy grande. Esta compuerta flotante permite almacenar una carga elctrica que reduce el voltaje que debe ser aplicado a la compuerta principal para hacer que el rector conduzca. De esta manera, aplicando un voltaje de prueba a la compuerta principal y observando si el transistor conduce, se puede saber si un transistor no tiene carga en su compuerta flotante (est borrado o almacena un uno) o s (estaba programado o almacena un cero).

    La primera generacin de dispositivos que utiliz esta tecnologa, conocidos como memorias de solo lectura programables y borrables (EPROM), podan grabarse elctricamente aplicando un voltaje ms alto de lo normal a la compuerta principal. Sin embargo, para eliminar la carga tendra que aplicarse una luz ultravioleta intensa al dispositivo, lo cual eliminaba la carga almacenada en la compuerta flotante. Para realizar este proceso de borrado era necesario retirar al dispositivo del circuito de aplicacin y colocarlo en el borrador de luz ultravioleta por aproximadamente media hora .

    En la segunda generacin de dispositivos de memoria que utilizaban transistores con compuertas flotante se logr eliminar la carga elctricamente, con lo que dichos dispositivos se volvieron ms verstiles. Los dispositivos de esta generacin se conocieron como memorias de solo lectura programables y borrables elctricamente (EEPROM). Como cada byte de la memoria poda ser borrado de forma independiente, requeran de muchos circuitos auxiliares para permitir este tipo de borrado, lo que aumentaba su costo.

    Para la tercera generacin, se busc reducir el costo de los dispositivos reduciendo la cantidades circuitos auxiliares necesarios para el borrado. Esto se logr permitiendo nicamente el borrado de bloques de memoria de tamao relativamente grande. Tambin se busc almacenar ms de un bit por celda de memoria controlando la cantidad de carga almacenada en cada celda, de manera que con ocho voltajes discretos se pueden representar las ocho combinaciones correspondientes a tres bits. Los dispositivos de esta generacin son conocidos como memorias FLASH.

    1.2.3 Dispositivos de I/O.

    La familia de procesadores 80x86, presente en el IBM PC, utiliza la arquitectura Von Neumann, que puede verse en la figura 1. El denominado bus del sistema conecta las diferentes partes de una

  • ARQUITECTURA DE COMPUTADORAS INGENIERIA EN SISTEMAS COMPUTACIONALES

    maquina von Neumann, y en la familia 80x86 se diferencian 3 clases de buses: 1. Bus de datos, de 8, 16, 32 o 64 bits dependiendo del modelo (64 bits para los Pentiums de ultima generacion). El numero de bits se usa, en general, para determinar el tamano (size ) del procesador. 2. Bus de direcciones, para poder conectar la CPU con la memoria y con los dispositivos de entrada/salida. 3. Bus de control, para enviar senales que determinan como se comunica la CPU con el resto del sistema (por ejemplo, las lneas de lectura (read ) y escritura (write ) especifican que es lo que se esta haciendo en la memoria).

    Memoria

    CPU

    Dispositivos de

    Entrada/Salida

    Figura 1: Arquitectura tpica de una maquina Von Neumann

    Por tanto, los dispositivos de entrada/salida son una de las partes fundamentales de la arquitectura del computador y su objetivo es la eficiencia en la gestion de las operaciones de entrada/salida, descargando a la CPU de tanto trabajo como sea posible. Estos dispositivos tienen velocidades muy variadas: Dispositivos lentos (como el raton, el teclado, el joystick. . . ) Dispositivos de velocidad media (como una impresora) Dispositivos rapidos (como un disco duro, una tarjeta de red. . . ) Por tanto, un dispositivo concreto no puede aceptar datos enviados a una tasa arbitra- riamente alta (por ejemplo, una impresora no puede imprimir los millones de caracteres por segundo que sera capaz de enviarle un Pentium IV). Por ello, ha de haber alguna forma de coordinar el envo de datos entre la CPU y los perifericos. Esa es la mision de los circuitos de interfaz que aparecen

  • ARQUITECTURA DE COMPUTADORAS INGENIERIA EN SISTEMAS COMPUTACIONALES

    en la figura 2. Existen 2 formas basicas de conectar estos circuitos de interfaz, dependiendo del tipo de procesador en que se base la arquitectura. Ambos tipos de acceso requieren que la CPU realice el movimiento de los datos entre el periferico y la memoria principal: 1. Conexin mapeada en memoria (memorymapped I/O ), que usa direcciones espe- ciales en el espacio normal de direcciones. En este caso el circuito de interfaz se conecta en el computador como si fuera memoria. Presentan este tipo de entrada/salida, por ejemplo, aquellas arquitecturas basadas en el M68000 de Motorola. Cualquier instruc- cion que acceda a la memoria (como mov) puede acceder a un puerto I/O mapeado en memoria. 2. Conexion mediante puertos especiales de entrada/salida (I/Omapped I/O ), que usa instrucciones especiales de entrada/salida 1 y un espacio de direcciones es- pecfico. Este es el caso de las CPUs 80x86, y por tanto el que nos interesa para este proyecto.

    1.2.4 Buses Se denomina bus, en informtica, al conjunto de conexiones fsicas (cables, placa de circuito impreso, etc.) que pueden compartirse con mltiples componentes de hardware para que se comuniquen entre s.

    El propsito de los buses es reducir el nmero de rutas necesarias para la comunicacin entre los distintos componentes, al realizar las comunicaciones a travs de un solo canal de datos. sta es la razn por la que, a veces, se utiliza la metfora "autopista de datos". Su funcionamiento es sencillo: en un bus, todos los distintos nodos que lo componen reciben datos indistintamente, aquellos a

    los que estos datos no son dirigidos los ignoran y, en cambio, aquellos para los cuales los datos tienen relevancia, los comunican. Desde el punto de vista tcnico, un bus de datos es un conjunto de cables o conductores elctricos en pistas metlicas sobre la tarjeta madre o mother del ordenador. Sobre este conjunto de

    conductores circulan las seales que conduce los datos. Existen distintos tipos de buses. El bus de direcciones, por ejemplo, vincula el bloque de control de la CPU para colocar datos durante procesos de cmputo. El bus de control, por otro lado, transporta datos respecto de las operaciones que se encuentra realizando el CPU. El bus de datos propiamente dicho, transporta informacin entre dispositivos de hardware como teclado, mouse, impresora, monitor y tambin de almacenamiento como el disco duro o memorias mviles. En diferentes tipos de ordenadores se emplean diversos tipos de buses. Para PC, por ejemplo, son comunes el PCI, ISA, VESA, MCA, PATA, SATA y otros como USB o Firewire. En Mac, en cambio, se utilizan los mismos u otros como el NuBus.

  • ARQUITECTURA DE COMPUTADORAS INGENIERIA EN SISTEMAS COMPUTACIONALES

    1.2.5 Interrupciones Una interrupcin es una lnea que une el perifrico al procesador. Una interrupcin es una interrupcin de hardware cuando es solicitada por uno de los componentes de hardware de la PC. Por ejemplo, este es el caso al tocar una tecla y que el teclado llama la atencin del procesador sobre este hecho. No obstante, los 256 interruptores no pueden ser solicitados al mismo tiempo ya que se interrumpe el hardware y los diferentes perifricos siempre realizan interrupciones muy especficas. Por lo tanto, al instalar las tarjetas de expansin, debe asegurarse que, durante la configuracin, el mismo interruptor no se utilice para dos perifricos diferentes. Si esto sucediera, ocurrira un "conflicto del hardware" y ningn perifrico funcionaria. Verdaderamente, si dos perifricos utilizan el mismo interruptor, el sistema no sabr cmo distinguirlos. Un conflicto del hardware no sucede nicamente cuando dos perifricos poseen el mismo hardware. Tambin puede ocurrir un conflicto cuando dos perifricos poseen la misma direccin E/S o usan los mismos canales DMA. Configuracin IRQ

    La IRQ de una tarjeta de expansin puede modificarse para asignarle un nmero IRQ que no est siendo utilizado por otro perifrico.

    En los perifricos ms antiguos, este nmero IRQ se adjunta a los puentes que se encuentran en la placa. En las placas recientes (que poseen un BIOS Plug & Play), el parmetro de recurso

    (direcciones IRQ, DMA E/S) es automtico. Tambin puede ser realizado por el SO con la ayuda de utilidades que brinda la tarjeta de expansin. Este modo plug & play debe ser desactivado en ocasiones para que puedan modificarse los parmetros manualmente.

    An no resulta fcil hallar recursos disponibles para todos los perifricos. Por lo tanto, he aqu una lista incompleta de recursos que se utilizan generalmente, los que por consiguiente no pueden asignarse en forma manual:

    IRQ Perifrico

    0 Reloj interno

    1 teclado

    2 controlador de interrupcin programable Cascada de IRQ 8 a 15

    3 Puerto de comunicaciones COM2/COM4

    4 Puerto de comunicaciones COM1/COM3

    5 libre

    6 controlador de disquete

    7 Puerto de impresora LPT1

    8 CMOS (Reloj de tiempo real)

  • ARQUITECTURA DE COMPUTADORAS INGENIERIA EN SISTEMAS COMPUTACIONALES

    9 libre

    10 libre

    11 libre

    12 Puerto del ratn PS2/libre

    13 procesador de datos numricos (coprocesador matemtico)

    14 controlador de disco duro primario (IDE)

    15 controlador de disco duro secundario (IDE)

    Los puertos COM1 y COM4 as como los puertos COM2 y COM3 usan los mismos interruptores. Puede parecer ilgico en cuanto la misma interrupcin no puede ser utilizada por dos perifricos. En realidad, es posible utilizar el puerto COM1 tanto como el puerto COM4 (as como el puerto COM2 y el COM3) en tanto no se activen al mismo tiempo. De lo contrario, el equipo podra congelarse y funcionar defectuosamente.

    Resolucin de conflictos del hardware

    Si tiene un problema de hardware, primero trate de identificar el problema afn de poder determinar cul es el perifrico que lo est causando. Esto significa que debe tratar de eliminar tantas variables como sea posible hasta descubrir cul es el elemento responsable:

    abriendo la carcasa del equipo y retirando uno a uno los elementos que puedan estar causando el conflicto desactivando el software en el SO para desactivar los perifricos

  • ARQUITECTURA DE COMPUTADORAS INGENIERIA EN SISTEMAS COMPUTACIONALES

    DMA

    Los perifricos regularmente necesitan "pedir prestada memoria" del sistema para utilizarla como zona bfer, es decir, un rea de almacenamiento temporario que permita que los datos de E/S sean rpidamente guardados. Por lo tanto, el canal de acceso directo a la memoria, llamado DMA (Acceso Directo a Memoria fue definido precisamente para esto. El canal DMA designa un acceso a una de las ranuras (RAM) memoria de acceso aleatorio del equipo, ubicado por una "direccin de inicio RAM" y una "direccin de fin". Este mtodo permite a un perifrico pedir prestado canales especiales que le brindan un acceso directo a la memoria, sin necesidad de intervencin, por parte del microprocesador, para descargar estas tareas. Una PC tiene 8 canales DMA. Los primeros cuatro canales DMA poseen un ancho de banda de 8 bits mientras que los DMA 4 a 7 poseen a su vez un ancho de banda de 16 bits. Los canales DMA por lo general suelen asignarse de la siguiente manera:

    DMA0: libre DMA1: (tarjeta de sonido)/libre DMA2: controlador de disquete DMA3: puerto paralelo (puerto de la impresora) DMA4: controlador de acceso directo a memoria

    (conectado a DMA0) DMA1: (tarjeta de sonido)/libre DMA6: (SCSI)/libre DMA7: disponible