ggg

Upload: jose-antonio-vazquez

Post on 19-Oct-2015

43 views

Category:

Documents


0 download

TRANSCRIPT

  • INSTITUTO TECNOLOGICO DE TAPACHULA

    ARQUITECTURA DE COMPUTADORAS

    ING. ROSEL MUOZ LPEZ

    ING. EN SISTEMAS COMPUTACIONALES

    EZEQUIEL DIAZ DIAZ

    JOSE ANTONIO VAZQUEZ MORAN

    ARQUITECTURA DE CMPUTO

    5 SEMESTRE

    1 UNIDAD

    11 de AGOSTO DEL 2013

  • Introduccin.

    1.1 Modelos de arquitecturas de cmputo.

    3

    4

    1.1.1 Clsicas. 6

    1.1.2 Segmentadas. 6

    1.1.3 De multiprocesamiento. 9

    1.2 Anlisis de los componentes. 11

    1.2.1 CPU. 12

    1.2.1.1 Arquitecturas. 13

    1.2.1.2 Tipos. 14

    1.2.1.3 Caractersticas. 15

    1.2.1.4 Funcionamiento (ALU, unidad de control, Registros y buses

    internos).

    17

    1.2.2 Memoria 18

    1.2.2.1 Conceptos bsicos del manejo de la memoria. 18

    1.2.2.2 Memoria principal semiconductora. 19

    1.2.2.3 Memoria cache. 23

    1.2.3 Manejo de la entrada/salida. 24

    1.2.3.1 Mdulos de entrada/salida. 25

    1.2.3.2 Entrada/salida programada. 27

  • 1.2.3.3 Entrada/salida mediante interrupciones. 28

    1.2.3.4 Acceso directo a memoria. 30

    1.2.3.5 Canales y procesadores de entrada/salida. 32

    1.2.4 Buses 34

    1.2.4.1 Tipos de buses 36

    1.2.4.2 Estructura de los buses 36

    1.2.4.3 Jerarquas de buses 37

    1.2.5 Interrupciones. 39

    Conclusiones

    Cuestionario

    42

    43

    Bibliografa 44

  • INTRODUCCIN

    La arquitectura de computadoras es el diseo conceptual y la estructura

    operacional fundamental de un sistema de computadora. Es decir, es un modelo y

    una descripcin funcional de los requerimientos y las implementaciones de diseo

    para varias partes de una computadora, con especial inters en la forma en que la

    unidad central de proceso (CPU) trabaja internamente y accede a las direcciones

    de memoria.

    En el entorno informtico proporciona una descripcin de la construccin y

    distribucin fsica de los componentes de la computadora.

    La arquitectura de una computadora explica la situacin de sus componentes y

    permite determinar las posibilidades de que un sistema informtico, con una

    determinada configuracin, pueda realizar las operaciones para las que se va a

    utilizar.

    Tambin suele definirse como la forma de seleccionar e interconectar

    componentes de hardware para crear computadoras segn los requerimientos de

    funcionalidad, rendimiento y costo. Existen tres modelos de arquitectura: la

    clsica, la segmentada y la de multiprocesamiento.

  • 1.- ARQUITECTURA DE COMPUTADORAS

    Se puede definir la arquitectura de computadoras como el estudio de la estructura, funcionamiento y diseo de computadoras. Esto incluye, sobre todo a aspectos de hardware, pero tambin afecta a cuestiones de software de bajo nivel.

    Computadora, dispositivo electrnico capaz de recibir un conjunto de instrucciones y ejecutarlas realizando clculos sobre los datos numricos, o bien compilando y correlacionando otros tipos de informacin.

    1.1 RESEA HISTRICA DE LOS COMPUTADORES

    La era mecnica de los computadores: podramos decir que las mquinas mecnicas de calcular constituyendo la "era arcaica" o generacin 0 de los computadoras. Una evolucin de estas mquinas son las mquinas registradoras mecnicas que an existen en la actualidad. Otro elemento de clculo mecnico que se utiliz hasta hace pocos aos fue la regla de clculo que se basa en el clculo logaritmo y cuyo origen son los crculos de proporcin de Neper. Ingenios clsicos de esa etapa fueran la mquina de Pascal, que poda realizar sumar, restas y, posteriormente, multiplicaciones y divisiones, y las dos mquinas de Charles Babbage: la mquina de diferencias y la analtica. Esta ltima fue la precursora de los computadores actuales.

    La fase final en la mecnica de la informtica y la constituyen las computadoras electromecnicos basados en lgica de rels (dcada de los 30).

    La era electrnica de las computadoras: Las computadoras envasadas en elementos mecnicos planteaban ciertos problemas:

    La velocidad de trabajo est limitada a inercia de la parte mvil.

    La transmisin de la informacin por medios mecnicos (engranajes, palancas, etctera.) es poco fiable y difcilmente manejable.

  • Los computadores electrnicos salvan estos inconvenientes ya que carecen de partes mviles y la velocidad de transmisin de la informacin por mtodos elctricos no es comparable a la de ningn elemento mecnico.

    El primer elemento electrnico usado para calcular fue la vlvula de vaco y, probablemente, el primer computador electrnico de uso general fue el E.N.I.A.C. (Electronic Numerical Integrator Calculator) construido en Universidad de Pennsylvania (1943-46). El primer computador de programa al-macenado fue el E.D.V.A.C. (Electronic Discrete Variable Computer, 1945-51) basado en la idea de John Von Neumann, que tambin particip en el proyecto E.N.I.A.C. de que el programa debe almacenarse en la misma memoria que los datos.

    2. MODELOS DE ARQUITECTURAS DE COMPUTOS

    La arquitectura de una computadora explica la situacin de sus componentes y permite determinar las posibilidades de

    que un sistema informtico, con una determinada configuracin, pueda realizar las operaciones para las que se va a

    utilizar.

    La arquitectura de computadoras se refiere a los atributos de un sistema que son visibles a un programador, es decir

    aquellos atributos que tienen un impacto directo en la ejecucin lgica de un programa.

    Es decir, es un modelo y una descripcin funcional de los requerimientos y las implementaciones de diseo para varias

    partes de una computadora, con especial inters en la forma en que la unidad central de proceso (CPU) trabaja

    internamente y accede a las direcciones de memoria.

    2.1.1 TIPOS DE COMPUTADORAS

    Ahora el uso de la computadora es muy comn, tanto en empresas, negocios y algunos hogares. Pero cuando personas

    relacionadas con las antes mencionadas interactan con la computadora la mayora de las veces solo piensan que todas

    las computadoras son del mismo tipo.

    Adems que quieren tener ms informacin acerca de las computadoras y no saben los tipos de computadoras que

    existen y esto es una limitante para que las personas, que interactan con ellas, sepan acerca de la computacin

  • Las computadoras se clasifican en sper computadoras, macro computadoras o mainframes, mini computadoras y micro

    computadoras o PC.

    Las clasificaciones contienen un cierto tipo de computadoras con caractersticas especficas.

    Supercomputadoras

    Una supercomputadora es el tipo de computadora ms potente y ms rpida que existe en un momento dado. Estas

    mquinas estn diseadas para procesar enormes cantidades de informacin en poco tiempo y son dedicadas a una

    tarea especfica.

    Un ejemplo de sper computadora es una computadora que se utiliza para el manejo de un grupo de mquinas

    ensambladoras de productos metlicos.

    Macro computadoras o mainframes

    Las macro computadoras son tambin conocidas como mainframes. Los mainframes son grandes, rpidos y caros

    sistemas que son capaces de controlar cientos de usuarios simultneamente, as como cientos de dispositivos de entrada

    y salida.

    De alguna las mainframes son ms poderosas que las sper computadoras porque soportan ms programas

    simultneamente. Pero las sper computadoras pueden ejecutar un solo programa ms rpido que mainframe.

    En el pasado las mainframes ocupaban cuartos completos hasta pisos enteros de algn edificio, hoy en da, un

    mainframe es parecido a una hilera de archiveros en algn cuarto con piso falso, esto para ocultar los cientos de cables

    de los perifricos, y su temperatura tiene que estar controlada.

  • Mini computadoras

    En 1960 surgi la mini computadora, una versin ms pequea de la macro computadora. Al ser orientada a tareas

    especficas, no necesitaba de todos los perifricos que necesita un mainframe, y esto ayudo a reducir el precio y costo de

    mantenimiento. Las mini computadoras, en tamao y poder de procesamiento, se encuentran entre los mainframes y las

    estaciones de trabajo. En general, una mini computadora, es un sistema multiproceso (varios procesos) capaz de

    soportar de 10 hasta 200 usuarios simultneamente. Actualmente se usan para almacenar grandes bases de datos, y

    otras aplicaciones.

    Micro computadoras o PC

    Las microcomputadoras o computadoras personales (PC) tuvieron su origen con la creacin de los microprocesadores.

    Un microprocesador es una computadora en un chip, o sea un circuito integrado independiente. Las PC son

    computadoras para uso personal y relativamente son baratas y actualmente se encuentran en las oficinas, escuelas y

    hogares.

  • 2.2 ARQUITECTURA DE CMPUTO CLSICAS.

    El modelo clsico de arquitectura de computadoras fue diseado por Jhon Von Newman que consta de los siguientes

    elementos: Dispositivos de entrada, de proceso, de almacenamiento y de salida.

    Esta idea conocida como concepto de programa almacenado, se atribuye a los diseadores de la ENIAC, sobre todo al

    matemtico John von Neumann. En 1946 von Neumann y colegas empezaron el diseo de la nueva computadora que

    llamaron IAS (IAS - Institute of Advanced Studies) y terminada hasta 1952, siendo el prototipo de toda una secuencia de

    computadoras de uso general.

    La ENIAC (Electronic Numerical Integrator And Computer) fue la primera computadora electrnica de uso general

    en el mundo. Uno de los inconvenientes ms grandes de la ENIAC era que tena que ser programada manualmente

    mediante conmutadores y conectando y desconectando cables.

    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.

  • 2.2.1 ARQUITECTURA MAUCHLY-ECKERT (VON NEWMAN) 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.

    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.

    Figura 2.2. Computadora con tubos de

  • 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 mquina 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.

    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.

    Figura 2.2.1. Arquitectura Vonn Newman

  • 2.2.2 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.

    Esta idea conocida como concepto de programa almacenado, se atribuye a los diseadores de la ENIAC, sobre todo al

    matemtico John von Neumann. En 1946 von Neumann y colegas empezaron el diseo de la nueva computadora que

    llamaron IAS (IAS - Institute of Advanced Studies) y terminada hasta 1952, siendo el prototipo de toda una secuencia de

    computadoras de uso general.

    Salvo raras excepciones, todas las computadoras de hoy da tienen la misma estructura general y funcionamiento que las mquinas de von Neumann.

    Figura 2.2.2. Arquitectura Harvard

  • La ENIAC (Electronic Numerical Integrator And Computer) fue la primera computadora electrnica de uso general en el mundo. Uno de los inconvenientes ms grandes de la ENIAC era que tena que ser programada manualmente mediante conmutadores y conectando y desconectando cables. El proceso de programacin podra ser ms fcil si el programa se representar en una forma adecuada para ser guardado en la memoria junto con los datos. Entonces, la computadora conseguira sus instrucciones leyndolas de la memoria, y se podra hacer o modificar un programa escribiendo en una zona de memoria.

    La memoria de la IAS (Institute of Advanced Studies) consiste de 1000 localidades de almacenamiento, llamadas palabras de 40 bits, guardando tanto instrucciones como datos. Cada palabra poda contener un nmero representado con un bit de signo y 39 de magnitud, o bien dos instrucciones de 20 bits cada una. La unidad de control de la IAS trae instrucciones de la memoria y las ejecuta una por una. La figura 1 muestra que tanto la unidad de control como la ALU contienen localidades de almacenamiento llamadas registros, definidos de la siguiente manera:

    Registro Temporal de Memoria Buffer (MBR): Contiene una palabra que debe ser almacenada en memoria, o recibe una palabra procedente de la memoria.

    Registro Temporal de Instruccin (IBR): Almacena temporalmente la instruccin contenida en la parte derecha de una palabra.

    Registro de Instruccin (IR): Contiene el cdigo de operacin de la instruccin que se va a ejecutar.

    Registro de Direccin de Memoria (MAR): Especifica la direccin de memoria de la palabra que va a ser escrita o leda en MBR.

  • Contador de Programa (PC): Contiene la direccin de la siguiente pareja de instrucciones que se traern de memoria.

    Acumulador (AC) Multiplicador Cociente (MQ): Se emplean para almacenar temporalmente operandos y resultados de operaciones de la ALU.

    Virtualmente todas las computadoras se han diseado basndose en los conceptos desarrollados por von Neumann. Tal diseo se conoce como Arquitectura de von Neumann y se basa en tres conceptos clave:

    Los datos y las instrucciones se almacenan en una sola memoria de lectura - escritura.

    Los contenidos de esta memoria se direccionan indicando su posicin, sin considerar el tipo de dato contenido en la misma.

    La ejecucin se produce siguiendo una secuencia de instruccin tras instruccin (a no ser que dicha instruccin se

    modifique explcitamente).

    El modelo clsico de arquitectura de computadoras fue diseado por Jhon Von Newman que consta de los siguientes

    elementos: Dispositivos de entrada, de proceso, de almacenamiento y de salida.

    2.3 ARQUITECTURAS DE COMPUTO SEMENTADAS

    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. En un

    procesador sin segmentacin del cauce, las dos etapas se realizaran de manera secuencial para cada una de las

    instrucciones, como lo muestra la siguiente figura.

  • En un procesador con segmentacin del cauce, cada una de estas etapas se asigna a una unidad funcional diferente, la

    bsqueda a la unidad de bsqueda y la ejecucin a la unidad de ejecucin. Estas unidades pueden trabajar en forma

    paralela en instrucciones diferentes. Estas unidades se comunican por medio de una cola de instrucciones en la que la

    unidad de bsqueda coloca los cdigos de instruccin que ley para que la unidad de ejecucin los tome de la cola y los

    ejecute. Esta cola se parece a un tubo donde las instrucciones entran por un extremo y salen por el otro. De esta

    analoga proviene el nombre en ingls: Pipelining o entubamiento. En general se divide al procesador segmentado en

    una unidad independiente por cada etapa del ciclo de instruccin.

    Completando el ejemplo anterior, en un procesador con segmentacin, la unidad de bsqueda comenzara buscando el

    cdigo de la primera instruccin en el primer ciclo de reloj. Durante el segundo ciclo de reloj, la unidad de bsqueda

    obtendra el cdigo de la instruccin 2, mientras que la unidad de ejecucin ejecuta la instruccin 1 y as sucesivamente.

    La siguiente figura muestra este proceso.

  • En este esquema sigue tomando el mismo nmero de ciclos de reloj (el mismo tiempo), pero como se trabaja en varias

    instrucciones al mismo tiempo, el nmero promedio de instrucciones por segundo se multiplica. En teora, el rendimiento

    de un procesador segmentado mejora con respecto a uno no segmentado en un factor igual al nmero de etapas

    independientes. Sin embargo, la mejora en el rendimiento no es proporcional al nmero de segmentos en el cauce debido

    a que cada etapa no toma el mismo tiempo en realizarse, adems de que se puede presentar competencia por el uso de

    algunos recursos como la memoria principal. Otra razn por la que las ventajas de este esquema se pierden es cuando

    se encuentra un salto en el programa y todas las instrucciones que ya se buscaron y se encuentran en la cola, deben

    descartarse y comenzar a buscar las instrucciones desde cero a partir de la direccin a la que se salt. Esto reduce el

    desempeo del procesador y an se investigan maneras de predecir los saltos para evitar este problema.

    Otra aportacin frecuente que aumenta el rendimiento del computador es el fomento del paralelismo implcito, que consiste en la segmentacin del procesador (pipe-line), descomponindolo en etapas para poder procesar una instruccin diferente en cada una de ellas y trabajar con varias a la vez. La arquitectura en pipeline (basada en filtros) consiste en ir transformando un flujo de datos en un proceso comprendido por varias fases secuenciales, siendo la entrada de cada una la salida de la anterior. Esta arquitectura es muy comn en el desarrollo de programas para el intrprete de comandos, ya que se pueden concatenar comandos fcilmente con tuberas (pipe). Tambin es una arquitectura muy natural en el paradigma de programacin funcional, ya que equivale a la composicin de funciones matemticas La arquitectura pipe-line se aplica en dos lugares de la mquina, en la CPU y en la ALU. Veamos en que consiste el pipe-line y tratemos de entender porque el pipe-line mejora el rendimiento de todo el sistema. Un pipeline o tubera es un conjunto de elementos procesadores de datos conectados en serie, en donde la salida de un elemento es la entrada del siguiente. Los elementos del pipeline son generalmente ejecutados en paralelo, en esos casos, debe haber un almacenamiento tipo buffer insertado entre elementos

  • En informtica, pipeline es sinnimo de segmentacin.

    2.3.1 Aplicaciones de pipelines en informtica

    Pipelines grficos, se encuentran en la mayora de las tarjetas grficas, consiste en mltiples unidades aritmticas o CPU completas, que implementan variados escenarios de operaciones tpicas de renderizado, por ejemplo, clculos de luz y colores, renderizado, proyeccin de perspectiva, etc.

    Pipelines de software o tuberas, consiste en mltiples procesos ordenados de tal forma que el flujo de salida de un proceso alimenta la entrada del siguiente proceso. Por ejemplo, los pipelines de Unix.

    EJEMPLO Veamos una CPU no organizada en pipe-line: Si se trata de una instruccin a ser ejecutada por la ALU podemos decir que la CPU realiza a lo largo del ciclo de mquina estas 5 tareas. Una vez que termina de ejecutar una instruccin va a buscar otra y tarda en ejecutarla un tiempo T, es decir cada T segundos ejecuta una instruccin.

    Qu sucede si dividimos en 5 unidades segn las 5 cosas que realiza la CPU? Supongamos la CPU dividida en 5 unidades, de tal forma que c/u tarde lo mismo en realizar su partecita. Es decir

    c/u tardar T/5. Para que una instruccin se ejecute se necesita T segundos entonces para que usar pipe-line?

    Si ocurre esto en una CPU normal a una con pipe-line, la cantidad de instrucciones que se hacen por segundo aumenta, es decir aumenta el flujo de instrucciones que se ejecutan por segundo.

    La arquitectura paralela o de lneas paralelas (pipe-line), es una tcnica en la que se descomponen un proceso secuencial en sub operaciones, y cada subproceso se ejecuta en un segmento dedicado especial que opera en forma concurrente con los otros segmentos. Una lnea puede considerarse como un conjunto de segmentos de procesamiento por el que fluye informacin binaria. Cada segmento ejecuta un procesamiento parcial, dictado por la manera en que se divide la tarea. El resultado obtenido del clculo en cada segmento se transfiere al siguiente segmento

  • en la lnea. El resultado final se obtiene despus de que los datos han recorrido todos los segmentos. El nombre "lnea" implica un flujo re-informacin similar a una lnea de ensamblado industrial. Es caracterstico de las lneas que varios clculos puedan estar en proceso en distintos segmentos, al mismo tiempo. La simultaneidad de los clculos es posible al asociar un registro con cada segmento en la lnea. Los registros proporcionan aislamiento entre cada segmento para que cada uno pueda operar sobre datos distintos en forma simultnea.

    Tal vez la manera ms simple de apreciar la arquitectura de lneas paralelas es imaginar que cada segmento consta de un registro de entrada seguido de un circuito combinatorio. El registro contiene los datos y el circuito combinatorio ejecuta las sub operacin en el segmento particular. La salida del circuito combinacional es un segmento dado se aplica al registro de entrada del siguiente segmento. Se aplica un reloj a todos los registros despus de que se ha transcurrido un tiempo suficiente para ejecutar toda la actividad del segmento. De esta manera la informacin fluye por la lnea un paso a la vez.

    2.4 ARQUITECTURA DE COMPUTO DE MULTIPROCESAMIENTO

    Cuando se desea incrementar el desempeo ms all 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: 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 sobre los que se deben se aplicar el mismo algoritmo numrico.

  • Sistemas SMP (Simetric Multiprocesesors)- Son varios procesadores que 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.

    SMP es el acrnimo de Symmetric Multi-Processing, multiproceso simtrico. Se trata de un tipo de arquitectura de ordenadores en que dos o ms procesadores comparten una nica memoria central.

    La arquitectura SMP (Multi-procesamiento simtrico, tambin llamada UMA, de Uniform Memory Access), se caracteriza por el hecho de que varios microprocesadores comparten el acceso a la memoria.

    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.

    Todos los microprocesadores compiten en igualdad de condiciones por dicho acceso, de ah la denominacin simtrico.

    Los sistemas SMP permiten que cualquier procesador trabaje en cualquier tarea sin importar su localizacin en memoria; con un propicio soporte del sistema operativo, estos sistemas pueden mover fcilmente tareas entre los procesadores para garantizar eficientemente el trabajo.

    Una computadora SMP se compone de microprocesadores independientes que se comunican con la memoria a travs de un bus compartido.

    Dicho bus es un recurso de uso comn. Por tanto, debe ser arbitrado para que solamente un microprocesador lo use en cada instante de tiempo.

    Si las computadoras con un solo microprocesador tienden a gastar considerable tiempo esperando a que lleguen los datos desde la memoria, SMP no mejora ni empeora lo que s es que hay varios parados en espera de datos.

  • 3 ANALISIS DE COMPONENTES

    3.1.1CPU

    El primer microprocesador (Intel 4004) se invent en 1971. Era un dispositivo de clculo de 4 bits, con una velocidad de 108 kHz. Desde entonces, la potencia de los microprocesadores ha aumentado de manera exponencial.

    La unidad central de procesamiento, UCP o CPU (por el acrnimo en ingls de

    central processing unit), o simplemente el procesador o microprocesador, es el

    componente del computador y otros dispositivos programables, que interpreta las

    instrucciones contenidas en los programas y procesa los datos. Los CPU

    proporcionan la caracterstica fundamental de la computadora digital (la

    programabilidad) y son uno de los componentes necesarios encontrados en las

    computadoras de cualquier tiempo, junto con el almacenamiento primario y los

    dispositivos de entrada/salida. Se conoce como microprocesador el CPU que es

    manufacturado con circuitos integrados. Desde mediados de los aos 1970, los

    microprocesadores de un solo chip han reemplazado casi totalmente todos

    los tipos de CPU, y hoy en da, el trmino "CPU" es aplicado usualmente a todos los microprocesadores.

    La expresin "unidad central de proceso" es, en trminos generales, una descripcin de una cierta clase de mquinas de

    lgica que pueden ejecutar complejos programas de computadora. Esta amplia definicin puede fcilmente ser aplicada a

    muchos de los primeros computadores que existieron mucho antes que el trmino "CPU" estuviera en amplio uso. Sin

  • embargo, el trmino en s mismo y su acrnimo han estado en uso en la industria de la informtica por lo menos desde el

    principio de los aos 1960. La forma, el diseo y la implementacin de los CPU ha cambiado drsticamente desde los

    primeros ejemplos, pero su operacin fundamental ha permanecido bastante similar.

    Los primeros CPU fueron diseados a la medida como parte de una computadora ms grande, generalmente una

    computadora nica en su especie. Sin embargo, este costoso mtodo de disear los CPU a la medida, para una

    aplicacin particular, ha desaparecido en gran parte y se ha sustituido por el desarrollo de clases de procesadores

    baratos y estandarizados adaptados para uno o muchos propsitos. Esta tendencia de estandarizacin comenz

    generalmente en la era de los transistores discretos, computadoras centrales, y microcomputadoras, y fue acelerada

    rpidamente con la popularizacin del circuito integrado (IC), ste ha permitido que sean diseados y fabricados CPU

    ms complejos en espacios pequeos (en la orden de milmetros). Tanto la miniaturizacin como la estandarizacin de

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

  • La Unidad Central de Procesos (CPU) contiene unas series de registros de memoria que contiene los operadores y el

    resultado de las operaciones.

    Los datos de los registros generales que contienen los operandos se llevan a los registros de entrada de la Unidad

    Aritmetica-Logica (ALU), la cual realiza la operacin sobre los datos de entrada.

    El resultado de la operacin realizada se obtiene en el registro de salida de la ALU, que posteriormente se almacena en

    otro de los registros de memoria. Todo esto se realiza bajo la coordinacin de la Unidad de Control.

  • Tambin hay conexin entre el CPU y la memoria principal (y los dispositivos de E/S) pues de ella se a las instrucciones y

    los operandos, y a ella suelen ir a parar los resultados de las operaciones.

    El chip ms importante de cualquier placa madre es el microprocesador o simplemente procesador. Sin l, un ordenador

    no podra funcionar. A menudo a este componente se le denomina CPU (Central Processing Unit, Unidad de

    procesamiento central), que descrbe a la perfeccin su papel dentro del sistema. El procesador es realmente el elemento

    central del proceso de tratamiento de datos.

    La CPU gestiona cada paso en el proceso de los datos. Acta como el conductor y el supervisor de los componentes de

    hardware del sistema. Asimismo, est unida, directa o indirectamente, con todos los dems componentes de la placa

    prncipal. Por lo tanto, muchos grupos de componentes reciben rdenes y son activados de forma directa por la CPU.

    El procesador est equipado con buses de direcciones, de datos y de control, que le permiten llevar a cabo sus tareas.

    Estos sistemas de buses varan dependiendo de la categora del procesador, lo cual se analizar ms adelante.

    Tambin durante el desarrollo de los ordenadores personales han ido variando las unidades funcionales internas de los

    procesadores, evolucionando drsticamente. Se ha incorporado un nmero de transistores y circuitos integrados cada

    vez mayor, y dentro de un espacio cada vez ms reducido, a fin de satisfacer las demandas cada vez ms exigentes de

    mayores prestaciones por parte del software. Por ejemplo, el microprocesador Pentium contiene, ubicados sobre una

    placa de cermica de aproximadamente 6 milmetros cuadrados, ms de tres millones de transistores.

    Por todo lo expuesto, se hacen lgicamente necesarios unos procesos de fabricacin tambin complejos y especiales.

    Esta tcnica permite construir elementos casi microscpicos (un micrmetro, o la millonsima parte de un metro). Esta

    tcnica desarrollada por Intel se conoce como CHMOS-IV .Para apreciar la miniaturizacin en cuestin, pensemos que un

    solo pelo humano tiene una anchura que se extendera sobre 100 unidades de este tipo.

    La configuracin y capacidad de este procesador son los criterios fundamentales que determinan el rendimiento de todo

    el ordenador.

  • Figura 3.1. Estructura interna del CPU

    La unidad central de proceso (CPU), procesador o microprocesador, es el verdadero cerebro del ordenador. Su misin

    consiste en controlar y coordinar todas las operaciones del sistema. Para ello extrae, una a una, las instrucciones del

    programa que est en la memoria central del ordenador (memoria RAM), las analiza y emite las rdenes necesarias para

    su completa realizacin.

  • 3.1.1.1 Estructura bsica de la CPU

    La Figura muestra la estructura interna de un procesador sencillo con arquitectura Von Neumann. El diseo es bsico (se

    corresponde con el presentado por algunos procesadores sencillos de 8 bits) pero su comprensin permitir entender el

    funcionamiento de procesadores ms complejos, que amplan la estructura presentada, donde se pueden apreciar los

    siguientes elementos:

    Bus de direcciones. Permite enviar direcciones a la memoria y perifricos. Las direcciones son nmeros que indican la posicin de memoria donde se desea escribir un dato, o de donde se desea leerlo. La memoria se abordar con detalle en prximos captulos, al igual que los perifricos.

    Figura 3.1.1.1.Estructura de un procesador bsico.

  • Bus de datos. Permite al procesador enviar datos a la memoria y perifricos. De la misma forma, permite que el procesador reciba datos de dichos elementos. Para escribir (o leer) un dato, primero es necesario colocar la direccin donde escribirlo (o de donde leerlo) en el bus de direcciones.

    Registro de instruccin. En cada momento, este registro almacena la instruccin que est siendo ejecutada por la CPU.

    Archivo de registros. Son almacenes temporales de datos, de acceso muy rpido. En general, almacenan los operandos sobre los que actan las instrucciones, y tambin los resultados de stas (para un futuro uso). Tambin existen registros de aplicacin especfica, como se ver ms adelante.

    Unidad Aritmtico-Lgica. Ms conocida por el acrnimo ingls ALU (Arithmetic-Logic Unit). La ALU es el motor de clculo del procesador, ya que se encarga de realizar las operaciones para las que est capacitado. Como se aprecia en la Figura 1, la ALU es capaz de tomar 2 datos como operandos y producir una salida, resultado de aplicar una operacin (seleccionable mediante unas lneas de control). Las operaciones soportadas pueden ser aritmticas (suma, resta, etc.), lgicas (and, or, etc.) y otras operaciones como desplazamientos de bits. Sin duda, la ALU es un elemento muy importante, ya que define las operaciones de clculo que la CPU puede realizar.

    Contador de programa. Se trata de un registro especial, al que se denomina normalmente PC (del ingls Program Counter). El PC contiene, en cada momento, la direccin de memoria en la que se encuentra la siguiente instruccin a ejecutar. Cada vez que se obtiene una nueva instruccin de la memoria, el PC se actualiza para apuntar a la prxima instruccin a ejecutar. Normalmente, dicha actualizacin consiste en un simple incremento, para apuntar a la celda de memoria siguiente (tngase en cuenta que, en general, las instrucciones de un programa se almacenan en posiciones de memoria consecutivas). Este comportamiento cambia cuando se ejecuta una instruccin de salto. En ese caso, el PC se actualiza con la direccin de destino del salto, donde se encuentra la siguiente instruccin a ejecutar.

  • Registro de direcciones de memoria. Tambin denominado MAR (Memory AddressRegister). Este registro almacena la prxima direccin de memoria de la que leer (o en la que escribir) un dato. Se trata de un registro que complementa al PC: mientras que este ltimo apunta a instrucciones, el MAR apunta a datos.

    Multiplexor. No se trata de un elemento exclusivo de las CPU, sino de una pieza fundamental del diseo de sistemas digitales. En el esquema de la Figura 1, el multiplexor acta como una especie de conmutador, transporta el contenido del PC o del MAR hacia el bus de direcciones. La lnea roja de la parte izquierda es el terminal que permite seleccionar si es el contenido del PC o el del MAR el que llegar al bus (colocando en l un 1 o un 0 lgico).

    Reloj. En la actualidad, prcticamente todos los procesadores son sistemas digitales sncronos. Esto significa que trabajan al ritmo marcado por una seal de reloj. Dicha seal no es ms que un conjunto de pulsos distanciados por igual en el tiempo. Ms adelante se comprobar que una mayor velocidad de reloj no siempre implica un mayor rendimiento del procesador.

    Unidad de control. Es el bloque encargado de coordinar el funcionamiento interno de la CPU. Indica a cada componente interno cmo debe funcionar y cundo tiene permiso para entrar en accin. En otras palabras, la unidad de control se puede entender como el director de orquesta de la CPU.

  • 3.1.1.2 Funcionamiento del CPU

    Considere una posible instruccin a ejecutar por el procesador (denominada, por ejemplo, "ADD Rl, R2, R3"). Suponga

    que dicha instruccin toma los datos almacenados en los registros denominados R 1 y R2, realiza la suma, y almacena el

    resultado en el registro R3. Como ya habr intuido, R 1, R2 y R3 se encuentran en el archivo de registros. El proceso

    completo para ejecutar dicha instruccin es el siguiente:

    1. El PC se actualiza con la direccin de memoria donde se halla la siguiente instruccin a ejecutar ("ADD R1, R2, R3").

    2. La unidad de control (UC) modifica el estado del multiplexor, de forma que el contenido del PC se dirija hacia el bus de direcciones.

    3. La memoria recibe la direccin contenida en el PC, y responde devolviendo el dato contenido en dicha celda a travs del bus de datos. Dicho dato representa a la instruccin "ADD R1, R2, R3" mediante un valor numrico binario.

    4. La instruccin recibida se almacena en el registro de instruccin.

    5. La UC descodifica la instruccin. Es decir, averigua cul es la instruccin (ADD) y cules son los operandos sobre los que sta trabaja (Rl, R2 y R3).

  • Se debe tener presente que una instruccin se representa por un nmero binario, que ofrece informacin sobre la

    operacin a realizar (mediante un un grupo de bits), y los operandos sobre los que trabajar (en otros grupos de bits). Para

    facilitar su comprensin, las instrucciones se suelen etiquetar mediante mnemnicos (por ejemplo, "ADD"), formando lo

    que se denomina "lenguaje ensamblador", propio de cada procesador.

    6. La UC se comunica con el archivo de registros (vase la conexin en rojo), hace que el contenido de los registros R1 y R2 vaya a parar a las 2 entradas de la ALU.

    7. La UC configura la ALU (mediante la lnea de control en rojo, que realmente son varias lneas) indicando que se desea realizar la operacin suma.

    8. La UC configura el archivo de registros, de forma que el resultado de la suma se conduzca hacia el registro R3.

    9. La UC ordena a la ALU que realice la operacin actualmente configurada. Tal y como se pretenda, en el registro R3 se dispone de la suma de los valores contenidos en Rl y R2, con lo que la instruccin ha sido completada. Como conclusin importante del ejemplo, conviene remarcar que la ejecucin de una instruccin sencilla se compone de una serie de operaciones internas a la CPU, todas controladas por la UC. Esta ltima sabe cul es la secuencia de tareas a aplicar para cada instruccin, tras la etapa de descodificacin. Como imaginar, las operaciones a realizar para ejecutar una misma instruccin dependen de la arquitectura de la CPU en uso. Imagine dos CPU con diferente diseo, pero que soportan el mismo juego de instrucciones. En ese caso, un mismo programa sera vlido para ambas, y dara lugar a los mismos resultados. Pero es importante notar que el rendimiento del programa podra ser diferente en cada CPU, ya que el hardware es diferente (por ejemplo, el nmero de tareas internas a realizar y la duracin de las mismas puede ser diferente). En otras palabras: el juego de instrucciones condiciona la compatibilidad de los programas, pero el diseo de la CPU decide el rendimiento.

  • 3.2 ARQUITECTURAS

    Unidad aritmtica y lgica o ALU: Es la parte del microprocesador que realiza operaciones aritmtica, como adicin

    y sustraccin. Tambin realiza operaciones lgicas, como comparar 2 nmeros para ver si son los mismos, La ALU

    usa registros para mantener los datos que se estn procesando, del mismo modo que puede ver un tazn que

    contiene los ingredientes para preparar galletas.

    Unidad de control (UC) o Decodificador de instrucciones: Del microprocesador busca cada instrucciones, igual

    que como toma cada ingrediente de una alacena o el refrigerador. Los datos se cargan en los registros de la ALU, y

    de la misma forma en que agrega todos los ingredientes al tazn, por ltimo, la unidad de control da a la ALU luz

    verde para iniciar el procesamiento como cuando oprime el interruptor de su mescladora elctrica para empezar a

    mesclar los ingredientes de la galletas.

    Smbolo esquemtico para una

    ALU

  • Bus (interno): No son circuitos en s, sino zonas conductoras en paralelo que transmiten datos, direcciones,

    instrucciones y seales de control entre las diferentes partes del mp.

    3.2.1 Registros

    Los Registros son un medio de ayuda a las operaciones realizadas por la unidad de control y la unidad aritmtica y lgica. Permiten almacenar informacin, temporalmente, para facilitar la manipulacin de los datos por parte de la CPU. Realizando una similitud con el resto del sistema informtico, los registros son a la CPU como la memoria principal es a la computadora. Los registros se dividen en tres grupos principales: Registros de Propsito General. Registros de Segmento de Memoria. Registros de Instrucciones.

  • 3.2.3 Registros de Propsito General

    Registro Caractersticas

    EAX (Acumulador) Se define como un registro de 32 bits (EAX), como un registro de 16 bits (AX) o como uno de dos registros de 8 bits (AH y AL). Si se direcciona un registro de 8 o de 16 bits, slo cambia esa porcin del registro de 32 bits sin afectar a los bits restantes. El acumulador se emplea para instrucciones como multiplicacin, divisin y algunas de las instrucciones de ajuste. En procesadores 80386 y superiores, el registro EAX puede almacenar tambin la direccin de desplazamiento de una posicin e en el sistema de memoria.

    EBX (ndice base) ste puede direccionarse como EBX, BX, BH o BL. Algunas veces guarda la direccin de desplazamiento de una posicin en el sistema de memoria, en todas las versiones del microprocesador. Tambin permite direccionar datos de la memoria.

    ECX (Conteo) Almacena la cuenta de varias instrucciones. Adems puede guardar la direccin de desplazamiento de datos en la memoria. Las instrucciones utilizadas en un conteo son las instrucciones de cadena repetida (REP/REPE/REPNE); y las instrucciones desplazamiento (shift), rotacin (rtate) y LOOP/LOOPD.

    EDX (Datos) Guarda una parte del resultado de una multiplicacin, o parte del dividendo antes de una divisin. En el 80386 y superiores, este registro tambin puede direccionar datos de la memoria.

    EBP (apuntador de la base)

    Apunta a una posicin de memoria en todas las versiones del microprocesador para las transferencias de datos de memoria. Este registro se direcciona como BP o EBP.

  • 3.2.4 Registro de Segmento de Memoria

    Registro Caractersticas

    CS (cdigo) Es una seccin de la memoria que almacena el cdigo (procedimientos y programas) utilizado por el microprocesador. As mismo define la direccin inicial de la seccin de memoria que guarda el cdigo. En la operacin en modo real, define el inicio de una seccin de 64 Kbytes de memoria. El segmento de cdigo est limitado a 64 Kbytes en los microprocesadores del 8088 y al 80286, y a 4 Gbytes en los microprocesadores 80386 y superiores cuando stos operan en modo protegido.

    DS (Datos) Es una seccin de memoria que contiene la mayor parte de los datos utilizados por un programa. Se accede a los datos en el segmento de datos mediante una direccin de desplazamiento o el contenido de otros registros que guardan la direccin de desplazamiento. La longitud est limitada a 64 Kbytes en los microprocesadores del 8086 al80286, y a 4 Gbytes en los microprocesadores 80386 y superiores.

    ES (extra) Es un segmento de datos adicional utilizado por algunas de las instrucciones de cadena para guardar datos de destino.

    SS (pila) Define el rea de memoria utilizada para la pila. El punto de entrada de la pila se determina mediante los registros segmento de pila y apuntador de pila. El registro BP tambin direcciona datos dentro del segmento de pila.

    FS y GS Son registros de segmento suplementario, disponibles en los microprocesadores del 80386 al Pentium 4 para que los programas puedan acceder a dos segmentos de memoria adicionales. Windows utiliza estos segmentos para operaciones internas, no existe una definicin disponible de su uso.

  • 3.2.5 Registro de Instrucciones

    Es un registro que conserva el cdigo de operacin de la instruccin en todo el ciclo de la mquina. El cdigo es

    empleado por la unidad de control de la CPU para generar las seales apropiadas que controla le ejecucin de la

    instruccin. La longitud del ER es la longitud en bit del cdigo de operacin.

    (FL) Registro de Flags o tambin denominado registro de estado (IP) Registro Puntero de Instruccin o tambin denominado registro Contador de Programa (PC) De esta relacin de registros los cuatro ms 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 realizacin, apuntando a la direccin de memoria en que se encuentra la instruccin a ejecutar. Dado que las instrucciones de un programa se ejecutan de forma secuencial, el procesador incrementar en una unidad este registro cada vez que ejecute una instruccin, para que apunte a la siguiente. La informacin que almacena este registro se puede modificar cuando una interrupcin externa, o la propia ejecucin del proceso en curso, provoquen una alteracin en la secuencia de operaciones. Esta alteracin transferir el control del sistema informtico a otro proceso diferente al que est en ejecucin. El Registro Acumulador. Es el Registro donde se almacenan los resultados obtenidos en las operaciones realizadas por la unidad aritmtica y lgica. Su importancia radica en las caractersticas de la informacin que almacena, ya que con su contenido se realizan todas las operaciones de clculo que ha de ejecutar la unidad aritmtica y lgica. 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 tamao; este tamao 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 informtico. Estos cambios en la situacin de los dems registros se producen debido a las modificaciones del entorno a lo largo de la ejecucin de los procesos realizados por el sistema informtico.

  • El Registro Puntero de la Pila. Este Registro almacena la direccin 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 aritmtica y lgica 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 envan a la pila, donde se almacenan hasta que la unidad de control recupera la informacin para que la procese la unidad aritmtica y lgica. La ventaja de manejar una pila como almacn de informacin es que la informacin que se guarda en ella tiene que entrar y salir, obligatoriamente, por una sola direccin de memoria. Esto permite que la unidad de control no necesite conocer ms que esa direccin para poder manejar los datos almacenados en la pila.

    3.2.6 Arquitectura de tipo Complex Instruction Set Computers (CISC).

    La tendencia tradicional, 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.

  • La tcnica de las arquitectura CISC consiste en hacer que cada instruccin sea interpretada por un microprograma

    localizado en una seccin de memoria en el circuito integrado del procesador. A su vez, las instrucciones compuestas

    se decodifican para ser ejecutadas por microinstrucciones almacenadas en una ROM interna, todas las operaciones se

    realizan al ritmo de los ciclos de reloj.

    Entre las bondades de la arquitectura CISC:

    Ausencias de Compiladores.

    Mejora la compactacin de cdigo.

    Facilita la depuracin de errores.

    Considerando la extraordinaria cantidad de instrucciones que la CPU puede manejar, la construccin de una CPU con

    arquitectura CISC es relativamente complejo. A este grupo pertenecen los microprocesadores de INTEL (Celeron,

    Pentium, Pentium II, Pentium II) y AMD (Duron, Athlon).

    El origen de la arquitectura CISC se remonta a los inicios de la programacin ubicada en los aos 60 y 70. para

    contrarrestar la crisis del software en ese entonces, empresas electrnicas fabricantes de hardware pensaron que una

    buena solucin era crear una CPU con un amplio y detallado manejo de instrucciones, a fin que los programas fueran

    mas sencillos. Los programadores en consecuencia crearon multitud de programas para esa arquitectura. La posterior

    masificacin de los PCs, permiti que el mercado fuera luego copado de software creado para procesadores CISC.

  • 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. Adems, se observ 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 busc dotarlo con un amplio nmero de

    registros, a travs de los cuales se pueden pasar dichos parmetros.

    3.2.7 Arquitectura de tipo Reduced Instruction Set

    Computers (RISC).

    En este tipo de arquitectura 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.

    Adems, se observ 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 busc dotarlo con un amplio nmero de registros,

    a travs de los cuales se pueden pasar dichos parmetros.

    La arquitectura RISC ha sido la consecuencia evolutiva de las CPU. Considerada como una innovacin tecnolgica

    creada a partir del anlisis de la primitiva arquitectura CISC, RISC ha dado origen a la aparicin de microprocesadores

    poderosos cuya principal aplicacin a la fecha, ha sido el trabajo en las grandes mquinas (servidores), aunque tambin

    han llegado a posicionarse en ciertas mquinas desktop (Apple), computadoras de mano, mquinas de juego y

    artefactos elctricos.

    Ejemplos de tecnologia RISC son los sistemas MIPS (Millons Instruction Per Second), SPARC o Scalable Processor

    Architecture de la SUN, Power PC (Apple, Motorola e IBM) usadas en PCs de Apple, Macinstosh y Mainframes de IBM,

    entre otros.

    Como su nombre lo indica se trata de microprocesadores con un conjunto de instrucciones muy reducidas en

    contraposicin a CISC, entre las bondades de esta arquitectura tenemos que:

    La CPU trabaja mas rpido.

    Manejo de Compiladores.

    Utiliza un sistema de direcciones no destructivas en RAM.

    Casi inexistente el microcdigo.

    Implementacin de la segmentacin. Una forma de clasificar los microprocesadores es en funcin de las instrucciones que son capaces de ejecutar. Podemos

  • encontrar dos tipos: microprocesadores: con tecnologa CISC y RISC.

    3.3 Tipos

    De un solo ncleo.

    Las CPU de un solo ncleo son el tipo ms antiguo disponible y en un principio este fue el nico tipo de CPU que podra

    ser utilizado en las computadoras.

    De dos ncleos

    Una CPU de doble ncleo es una sola CPU que tiene dos ncleos y por lo tanto funciona como como dos CPU en una

    sola. A diferencia de las de ncleo nico en el que el procesador tena que alternarse entre diferentes conjuntos de flujos

    de datos, si ms de una operacin estaba en marcha, las de doble ncleo podan manejar mltiples tareas de manera

    ms eficiente. Para sacar el mximo provecho de una CPU de doble ncleo, tanto el sistema operativo como los

    programas que se ejecutan en l deban tener un cdigo especial llamado SMT (Tecnologa Multihilo Simultneo).

    De cuatro ncleos

    Las CPU de cuatro ncleos son el perfeccionamiento del diseo de la CPU multincleo y disponen de cuatro ncleos en una sola CPU. As como las CPU de doble ncleo podan dividir la carga de trabajo entre los dos ncleos, los cuatro ncleos permiten realizar an ms tareas a la vez. Esto no significa que una sola operacin ser cuatro veces ms rpida y, a menos de que los programas y aplicaciones que se ejecutan en ella tengan el cdigo de SMT, el aumento de velocidad no ser tan notable

    Los CPU modernos pueden clasificarse de acuerdo a varias caractersticas, tales como: el tamao del ALU o del Bus de

    conexin al exterior (8, 16, 32, 64 bits), si tienen cauce segmentado o no segmentado, si con tipo CISC o RISC, Von

    Newman o Harvard y si solo tienen instrucciones enteras o implementan tambin instrucciones de punto flotante

    La otra forma que pueden clasificarse es acuerdo a varias caractersticas como son:

    El tamao del ALU o del Bus de Conexin al exterior, que pueden ser de: 8, 16, 32 y hasta 64 bits. Si tienen cauce segmentado o no segmentado.

  • Si son tipo CISC o RISC. Si solo tienen instrucciones enteras o implementan tambin instrucciones de punto flotante.

    3.3.1. Por su tamao El tamao de las carcasas viene dado por el factor de forma de la placa base. Sin embargo el factor de forma solo

    especifica el tamao interno de la caja.

    Barebone: Gabinetes de pequeo tamao cuya funcin principal es la de ocupar menor espacio y crea un diseo ms

    agradable. Son tiles para personas que quieran dar buena impresin como una persona que tenga un despacho en el

    que reciba a mucha gente. Los barebone tienen el problema de que la expansin es complicada debido a que admite

    pocos (o ningn) dispositivos. Otro punto en contra es el calentamiento al ser de tamao reducido aunque para una

    persona que no exija mucho trabajo al ordenador puede estar bien. Este tipo de cajas tienen muchos puertos USB para

    compensar la falta de dispositivos, como una disquetera (ya obsoleta), para poder conectar dispositivos externos como un

    disco USB o una memoria.

    Minitorre: Dispone de una o dos bahas de 5 y dos o tres bahas de 3 . Dependiendo de la placa base se pueden

    colocar bastantes tarjetas. No suelen tener problema con los USB y se venden bastantes modelos de este tipo de torre ya

    que es pequea y a su vez hace las paces con la expansin. Su calentamiento es normal y no tiene elproblema de

    los barebone.

    Sobremesa: No se diferencian mucho de las minitorres, a excepcin de que en lugar de estar en vertical se colocan en

    horizontal sobre el escritorio. Antes se usaban mucho, pero ahora estn cada vez ms en desuso. Se sola colocar sobre

    ella el monitor.

    Mediatorre o semitorre: La diferencia de sta es que aumenta su tamao para poder colocar ms dispositivos.

    Normalmente son de 4 bahas de 5 y 4 de 3 y un gran nmero de huecos para poder colocar tarjetas y dems

    aunque esto depende siempre de la placa base.

  • Torre: Es el ms grande. Puedes colocar una gran cantidad de dispositivos y es usado cuando se precisa una gran

    cantidad de dispositivos.

    Servidor: Suelen ser gabinetes ms anchos que los otros y de una esttica inexistente debido a que van destinadas a

    lugares en los que no hay mucho trnsito de clientes como es un centro de procesamiento de datos. Su diseo est

    basado en la eficiencia donde los perifricos no es la mayor prioridad sino el rendimiento y la ventilacin. Suelen tener

    ms de una fuente de alimentacin de extraccin en caliente para que no se caiga el servidor en el caso de que se

    estropee una de las dos y normalmente estn conectados a un SAI que protege a los equipos de los picos de tensin y

    consigue que en caso de cada de la red elctrica el servidor siga funcionando por un tiempo limitado.

    Rack: Son otro tipo de servidores. Normalmente estn dedicados y tienen una potencia superior que cualquier

    otro ordenador. Los servidores rack se atornillan a un mueble que tiene una medida especial: la "U". Una "U" es el ancho

    de una ranura del mueble. Este tipo de servidores suele colocarse en salas climatizadas debido a la temperatura que

    alcanza.

    Modding: El modding es un tipo de gabinete que es totalmente esttico incluso se podra decir en algunos casos que son

    poco funcionales. Normalmente este tipo de gabinetes lleva incorporado un montn de luces de nen, ventiladores,

    dibujos y colores extraos pero tambin los hay con formas extravagantes que hacen que muchas veces sea difcil

    la expansin (como una torre en forma de pirmide en la que colocar componentes se complica.

    Porttiles: Son equipos ya definidos. Poco se puede hacer para expandirlos y suelen calentarse mucho si son muy

    exigidos. El tamao suele depender del monitor que trae incorporado y con los tiempos son cada vez ms finos. Su

    utilidad se basa en que tenemos todo el equipo integrado en el gabinete: Teclado, monitor, y mouse, y por lo tanto lo

    hacen porttil

  • 3.3.2. Procesadores en la historia

    Microprocesador Ao Datos Fabricante 4004 1971 CPU de 4 bits creado en un simple chip e impulso la

    calculadora Busicom.

    Intel 8008 1972 Pedido a Intel por Computer Terminal Corporation

    para usarlo en su terminal. Intel

    SC/MP 1974 Bus de direcciones de 16 bits y un bus de datos de 8 bits.

    NACIONAL SEMI

    CONDUCTOR 8080 1974 Se convirti en la CPU de la primera computadora

    personal. Intel

    6800 1975 Fue lanzada al mercado poco despus del Intel 8080, comprendia de 6800 transistores.

    Motorola

    Z80 1976 Microprocesador de 8 bits construida en tecnologa NMOS.

    Motorola

    8086 y 8088 1978 Una venta de Intel a IBM la cual hizo que las computadoras dieran un gran golpe al mercado con la 8088

    Intel

    80286 1982 Conocida como 286, fue el primer procesador de Intel que poda ejecutar todo el software escrito para su procesador.

    Intel

    80386 1985 Llamado 386, se integr con 27500 transistores, mas de 100 veces tanto como el original 4004.

    Intel

    VAX 78032 1985 nico chip de 32 bits, instalados en los equipos VAX ll.

    DEC

    80486 1989 Fue el primero en ofrecer el coprocesador matemtico o FPU integrado.

    Intel

    AMx86 1991 Compatible con los cdigos de Intel de ese momento, llamados clones de Intel.

    AMD

    PowerPC 601 1993 Es un procesador de tecnologa RISC de 32 bits en 50 y 66MHz, interfaz del bus del Motorola 88110

    PowerPC

    Intel Pentium 1993 Posea una arquitectura capaz de ejecutar dos Intel

  • operaciones a la vez.

    PowerPC 620 1994 Fue diseado para su utilizacin en servidores, optimizado para usarlo en configuraciones de 4 o hasta 8 servidores de aplicaciones.

    IBM y Motorola

    Intel Pentium Pro 1995 Se dise con una arquitectura de 32 bits. Se us en servidores y programas.

    Intel

    AMD K5 1996 La arquitectura RISC86 del AMD K5 era mas semejante a la arquitectura del Intel Pentium Pro a la del Pentium.

    AMD

    AMD K6 y AMD K6-2

    1996 Con el K6, AMD no solo consigui hacerle competencia a los Pentium MMX de Intel, si no que adems lo amargo lo que de otra forma hubiese sido un placido dominio del mercado, ofreciendo un procesador ala altura del Pentium ll.

    AMD

    Pentium ll 1997 Gracias al nuevo diseo de este procesador, los usuarios de PC pueden capturar, revisar y compartir fotografas digitales con los amigos

    Intel

    Pentium ll Xeon 1999 Se disearon para cumplir los requisitos de desempeo en computadoras de medio-rango, servidores ms potentes y estaciones de trabajo.

    Intel

    Celeron 1999 Intel en el desarrollo de procesadores para los segmentos del mercado especifico, el procesador Celeron el es el nombre que lleva la lnea bajo costo de Intel.

    Intel

    Athlon K7 1999 Internamente el Athlon es un rediseo de su antecesor, pero se le mejoro substancialmente el sistemas de coma flotante, ahora con 3 unidades de coma flotante que puede trabajar simultneamente y se le aumento la memoria cahce de primer nivel a 128KiB 64KiB para datos y 64 KiB para instruccuiones.

    AMD

    Pentium lll 1999 Ofrece 7 nuevas instrucciones de internet streaming , las extensiones de SIMD que refuerza

    Intel

  • dramticamente el desempeos con imgenes avanzadas.

    Pentium lll Xeon 1999 Amplia las fortalezas de Intel en cuanto a las estaciones de trabajo y segmentos de mercado de servidores y aade una actuacin mejorada en las aplicaciones del comercio electrnico e informtica comercial avanzada.

    Intel

    Pentium 4 2000 Es un microprocesador de sptima generacin basada en la arquitectura del x86 y fabricado por Intel. Es el primero con un diseo completamente nuevo desde el Pentium Pro.

    Intel

    Athlon XP 2001 Intel saco el Pentium 4 a 1.7GHz adems no era practico para el overclocking, entonces para seguir estando a la cabeza en cuanto al rendimiento de los procesadores x86, AMD tuvo que disear un nuevo ncleo, y saco en Athlon XP

    AMD

    Intel Pentium 4 (Prescott)

    2004 Intel introdujo una nueva versin de lintel Pentium 4 denominada Prescott, primero se utilizo en su mano factura un proceso de fabricacin de 90 nm y luego se cambio a 65 nm, su diferencia con los anteriores es que estos poseen 1 MiB o 2 MiB de cache L2 y 16 Kib de cache

    Intel

    AMD Athlon 64 2004 El AMD Atholn 64 es un microprocesador x86 de octava generacin que implementa el conjunto de instrucciones AMD 64, que fueron introducidas con el procesador Opteron.

    AMD

    Intel CoreDuo 2006 Intel lanza esta gama de procesadores de doble ncleo y CPU 2x2 MCM de cuatro ncleos con el conjunto de instruccines x86-64, basada en la nueva arquitectura core de Intel.

    Intel

    IAMD Phenom 2007 Phenom fue el nombre dado por Advance Micro Divices(AMD) a la primera generacin de procesadores de tres y cuatro ncleos basados en la microarquitectura K10

    AMD

  • Intel core Nehate m

    2008 Intel core i7 es una familia de procesadores de cuatro ncleos de la arquitectura Intel x86-64, los Core i7 son las primeros procesadores que usan la microaequitectura Nehale m de Intel y es el sucesor de la familia core 2.

    Intel

    AMD Phenom II y Athlon II

    2008 Phenom II es el nombre dado por AMD a una familia de micro procesadores fabricados en 45nm,la cual sucede al Phenom original y dieron soporte a DDR3. Una de las ventajas del paso de los 65 nm a los 45 nm, es que permiti aumentar la cantidad de cache L3.

    AMD

    Intel Core Sandy Bridge

    2011 Llegan para remplazar los chips Nehalem, con Intel Core i3, Intel Core i5 y Intel Core i7 serie 2000 y Pentium G. Intel lanzo sus procesadores que se conocen con el nombre clave Sandy Bridge

    Intel

    AMD Fusion 2011 AMD Fusion es el nombre clave para su diseo futuro de microprocesadores Turion, producto de la fusin entre AMD Y ATI

    AMD

  • MICROPROCESADOR REGISTROS(bits) BUS DE

    DATOS(bits)

    BUS DE

    DIRECCIONES(bits)

    COPROCESADOR

    MATEMATICO

    8086 16 8 20 NO

    8088 16 16 20 8087

    80286 16 16 24 80287

    80386SX 32 16 24 80387SX

    386SL 32 16 24 387SX

    386SLC 32 16 32 387SX

    80386DX 32 32 32 80387DX

    80486SX 32 32 32 80487SX

    80486DX 32 32 32 Incluido en el

    mismo chip

    80486DX2 32 32 32 Incluido en el

    mismo chip

    80486DX4 32 32 32 Incluido en el

    mismo chip

    PENTIUM 64 64 32 Incluido en el

    mismo chip

    PENTIUM PRO 64 64 32 Incluido en el

    mismo chip

    PENTIUM MMX 64 64 32 Incluido en el

    mismo chip

    PENTIUM II 64 64 32 Incluido en el

    mismo chip

  • 3. 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.

    Un dispositivo de memoria completo se forma con varias celdas bsicas y los circuitos asociados para poder leer y

    escribir dichas celdas bsicas, agrupadas como localidades de memoria que permitan almacenar un grupo de N bits. El

    nmero de bits que puede almacenar cada localidad de memoria es conocido como el ancho de palabra de la memoria.

    Coincide con el ancho del bus de datos. Uno de los circuitos auxiliares que integran la memoria es el decodificador de

    direcciones. Su funcin es la de activar a las celdas bsicas que van a ser ledas o escritas a partir de la direccin

    presente en el bus de direcciones. Tiene como entradas las n lneas del bus de direcciones y 2N lneas de habilitacin

    de localidad, cada una correspondiente a una combinacin binaria distinta de los bits de direcciones. Por lo tanto, el

    nmero de localidades de memoria disponibles en un dispositivo (T) se relaciona con el nmero de lneas de direccin N

    por T= 2N.

    La memoria es uno de los principales recursos de la computadora, la cual debe de administrarse con mucho cuidado. Aunque actualmente la mayora de los sistemas de cmputo cuentan con una alta capacidad de memoria, de igual manera las aplicaciones actuales tienen tambin altos requerimientos de memoria, lo que sigue generando escasez de memoria en los sistemas multitarea y/o multiusuario.

    La parte del sistema operativo que administra la memoria se llama administrador de memoria y su labor consiste en llevar un registro de las partes de memoria que se estn utilizando y aquellas que no, con el fin de asignar espacio en memoria

  • a los procesos cuando stos la necesiten y liberndola cuando terminen, as como administrar el intercambio entre la memoria principal y el disco en los casos en los que la memoria principal no le pueda dar capacidad a todos los procesos que tienen necesidad de ella.

    Los sistemas de administracin de memoria se pueden clasificar en dos tipos: los que desplazan los procesos de la memoria principal al disco y viceversa durante la ejecucin y los que no.

    El propsito principal de una computadora es el de ejecutar programas, estos programas, junto con la informacin que accesan deben de estar en la memoria principal (al menos parcialmente) durante la ejecucin. Para optimizar el uso del CPU y de la memoria, el sistema operativo debe de tener varios procesos a la vez en la memoria principal, para lo cual dispone de varias opciones de administracin tanto del procesador como de la memoria. La seleccin de uno de ellos depende principalmente del diseo del hardware para el sistema. A continuacin se observarn los puntos correspondientes a la administracin de la memoria.

    El propsito del almacenamiento es guardar datos que la computadora no est usando. El almacenamiento tiene tres ventajas sobre la memoria:

    1. Hay ms espacio en almacenamiento que en memoria. 2. El almacenamiento retiene su contenido cuando se apaga el computador 3. El almacenamiento es ms barato que la memoria.

    El medio de almacenamiento ms comn es el disco magntico. El dispositivo que contiene al disco se llama unidad de disco (drive). La mayora de las computadoras personales tienen un disco duro no removible. Adems usualmente hay una o dos unidades de disco flexible, las cuales le permiten usar discos flexibles removibles. El disco duro normalmente puede guardar muchos ms datos que un disco flexible y por eso se usa disco duro como el archivero principal de la computadora. Los discos flexibles se usan para cargar programas nuevos, o datos al disco duro, intercambiar datos con otros usuarios o hacer una copia de respaldo de los datos que estn en el disco duro.

    Una computadora puede leer y escribir informacin en un disco duro mucho ms rpido que en el disco flexible. La diferencia de velocidad se debe a que un disco duro est construido con materiales ms pesados, gira mucho ms rpido

  • que un disco flexible y est sellado dentro de una cmara de aire, las partculas de polvo no pueden entrar en contacto con las cabezas.

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

    3.1. CONCEPTOS BSICOS DEL MANEJO DE LA MEMORIA

    La cantidad de memoria es medida a travs de un sistema especfico:

    - Bit: Dgito binario. Es la unidad ms pequea de informacin a almacenar, puede tener dos valores: un cero o un

    uno.

    - Byte: Corresponde a 8 bits y en general, equivale a un carcter (letra, nmero o signo).

    - Kilobyte (Kb): Representa 1024 bytes. Muchas veces se aproxima a 1000.

    - Megabytes (Mb): Representa a 1000 Kb 1048576 bytes.

    -Gigabyte (Gb): Representa a 1000 Mb.

    -Terabyte (Tb): Representa 1000 Gb.

    Trminos bsicos que se manejan cuando se trabaja con memorias.

    - Palabra de memoria. Unidad mnima de acceso. - Ancho de la palabra de memoria. Tamao de la palabra de memoria, coincide con el nmero de bits del bus de

    datos del chip de memoria. - Celda de memoria. Corresponde a un bit de la memoria.

  • - Capacidad de una memoria. Cantidad de informacin que la memoria puede almacenar. Viene determinado por el tamao del bus de direcciones (AB) y del de datos (DB) segn la frmula Capacidad = 2ABDB bits. Es decir, la memoria est formada por 2AB posiciones de DB bits cada una de ellas.

    - Tiempo de escritura. Tiempo transcurrido desde que la memoria recibe la orden de escritura hasta que son almacenados en la misma.

    - Tiempo de lectura. Tiempo transcurrido desde la orden de lectura hasta que la memoria vuelca los datos solicitados en su bus de datos.

    - Tiempo de acceso. Media de los dos tiempos de lectura y escritura definidos.

    CLASIFICACION

    MEMORIA

    PRINCIPAL

    RAM

    DRAM

    SRAM

    ROM

    PROM

    EPROM

    EEPROM

    INTERMEDIA

    CACHE

    VIRTUAL

    SECUNDARIA

    OPTICAS CD Y DVD

    MAGNETICAS

    DISCO DURO

    PENDRIVE

    TARJETAS DE MEMORIA

  • 3.2. MEMORIA PRINCIPAL 3.2.1. RAM

    RAM son las siglas de Random Access Memory, un tipo de memoria de ordenador a la que

    se puede acceder aleatoriamente; es decir, se puede acceder a cualquier byte de memoria

    sin acceder a los bytes precedentes. La memoria RAM es el tipo de memoria ms comn en

    ordenadores y otros dispositivos como impresoras.

    Se llama de acceso aleatorio porque el procesador accede a la informacin que est en la memoria en cualquier punto sin tener que acceder a la informacin anterior y posterior. Es la memoria que se actualiza constantemente mientras el ordenador est en uso y que pierde sus datos cuando el ordenador se apaga.

    Cuando las aplicaciones se ejecutan, primeramente deben ser cargadas en memoria RAM. El procesador entonces efecta accesos a dicha memoria para cargar instrucciones y enviar o recoger datos. Reducir el tiempo necesario para acceder a la memoria, ayuda a mejorar las prestaciones del sistema. La diferencia entre la RAM y otros tipos de memoria de almacenamiento, como los disquetes o discos duros, es que la RAM es mucho ms rpida, y se borra al apagar el ordenador.

    Es una memoria dinmica, lo que indica la necesidad de "recordar" los datos a la memoria cada pequeo periodo de tiempo, para impedir que esta pierda la informacin. Eso se llama Refresco. Cuando se pierde la alimentacin, la memoria pierde todos los datos. "Random Access", acceso aleatorio, indica que cada posicin de memoria puede ser leda o escrita en cualquier orden. Lo contrario sera el acceso secuencial, en el cual los datos tienen que ser ledos o escritos en un orden predeterminado.

    Es preciso considerar que a cada BIT de la memoria le corresponde un pequeo condensador al que le aplicamos una pequea carga elctrica y que mantienen durante un tiempo en funcin de la constante de descarga. Generalmente el refresco de memoria se realiza cclicamente y cuando est trabajando el DMA. El refresco de la memoria en modo normal est a cargo del controlador del canal que tambin cumple la funcin de optimizar el tiempo requerido para la operacin del refresco. Posiblemente, en ms de una ocasin en el ordenador aparecen errores de en la memoria debido a que las memorias que se estn utilizando son de una velocidad inadecuada que se descargan antes de poder ser refrescadas.

  • Las posiciones de memoria estn organizadas en filas y en columnas. Cuando se quiere acceder a la RAM se debe empezar especificando la fila, despus la columna y por ltimo se debe indicar si deseamos escribir o leer en esa posicin. En ese momento la RAM coloca los datos de esa posicin en la salida, si el acceso es de lectura o coge los datos y los almacena en la posicin seleccionada, si el acceso es de escritura.

    La cantidad de memoria RAM de nuestro sistema afecta notablemente a las prestaciones, fundamentalmente cuando se emplean sistemas operativos actuales. En general, y sobre todo cuando se ejecutan mltiples aplicaciones, puede que la demanda de memoria sea superior a la realmente existente, con lo que el sistema operativo fuerza al procesador a simular dicha memoria con el disco duro (memoria virtual). Una buena inversin para aumentar las prestaciones ser por tanto poner la mayor cantidad de RAM posible, con lo que minimizaremos los accesos al disco duro.

    Los sistemas avanzados emplean RAM entrelazada, que reduce los tiempos de acceso mediante la segmentacin de la memoria del sistema en dos bancos coordinados. Durante una solicitud particular, un banco suministra la informacin al procesador, mientras que el otro prepara datos para el siguiente ciclo; en el siguiente acceso, se intercambian los papeles.

    Los mdulos habituales que se encuentran en el mercado, tienen unos tiempos de acceso de 60 y 70 ns (aquellos de tiempos superiores deben ser desechados por lentos). Es conveniente que todos los bancos de memoria estn constituidos por mdulos con el mismo tiempo de acceso y a ser posible de 60 ns.

    Hay que tener en cuenta que el bus de datos del procesador debe coincidir con el de la memoria, y en el caso de que no sea as, esta se organizar en bancos, habiendo de tener cada banco la cantidad necesaria de mdulos hasta llegar al ancho buscado. Por tanto, el ordenador slo trabaja con bancos completos, y stos slo pueden componerse de mdulos del mismo tipo y capacidad. Como existen restricciones a la hora de colocar los mdulos, hay que tener en cuenta que no siempre podemos alcanzar todas las configuraciones de memoria. Tenemos que rellenar siempre el banco primero y despus el banco nmero dos, pero siempre rellenando los dos zcalos de cada banco (en el caso de que tengamos dos) con el mismo tipo de memoria. Combinando diferentes tamaos en cada banco podremos poner la cantidad de memoria que deseemos.

  • 3.2.1.1. ESTRUCTURA DE LA MEMORIA RAM

    RAM proviene de ("Read Aleatory Memory") memoria de lectura aleatoria: es un dispositivo electrnico que se encarga

    de almacenar datos e instrucciones de manera temporal, de ah el trmino de memoria de tipo voltil ya que pierde los

    datos almacenados una vez apagado el equipo; pero a cambio tiene una muy alta velocidad para realizar la transmisin

    de la informacin.

  • En la memoria RAM se carga parte del sistema operativo (Linux Ubuntu, Apple MacOS, Microsoft Windows 7, etc.),

    los programas como (Office, Winzip, Nero, etc.), instrucciones desde el teclado, memoria para desplegar el video y

    opcionalmente una copia del contenido de la memoria ROM.

    3.2.1.2. SEGMENTACION

    Cuando se usa paginacin, el sistema divide la memoria para

    poder administrarla, no para facilitarle la vida al programador. La

    vista lgica que el programador tiene de la memoria no tiene

    nada que ver con la vista fsica que el sistema tiene de ella. El

    sistema ve un slo gran arreglo dividido en pginas, pero el

    programador piensa en trminos de un conjunto de subrutinas y

    estructuras de datos, a las cuales se refiere por su nombre: la

    funcin coseno, el stack, la tabla de smbolos, sin importar la

    ubicacin en memoria, y si acaso una est antes o despus que

    la otra.

    La segmentacin es una forma de administrar la memoria que permite que el usuario vea la memoria como una coleccin

    de segmentos, cada uno de los cuales tiene un nombre y un tamao (que, adems, puede variar dinmicamente). Las

    direcciones lgicas se especifican como un par (segmento, desplazamiento).

  • 3.2.1.3. IMPLEMENTACIN

    Similar a paginacin: en vez de tabla de pginas, tabla de segmentos; para cada segmento, hay que saber su tamao y

    dnde comienza (base). Una direccin lgica (s,d), se traduce a base(s)+d. Si d es mayor que el tamao del segmento,

    entonces ERROR.

    3.2.1.4. VENTAJAS

    Al usuario se le simplifica el manejo de estructuras de datos de tamao dinmico.

    Se facilita el que los procesos compartan memoria.

    Los segmentos pueden estar protegidos segn la semntica de su contenido.

    Por ejemplo, un segmento que contiene cdigo, puede especificarse como slo para ejecucin (y nadie puede copiarlo ni

    sobrescribirlo); un arreglo puede especificarse como read/write but not execute. Esto facilita enormemente la deteccin de

    errores en el cdigo. Libreras compartidas de enlace dinmico (DLLs).

    Pero la memoria sigue siendo, fsicamente, un slo arreglo de bytes, que debe contener los segmentos de todos los

    procesos. A medida que se van creando y eliminando procesos, se va a ir produciendo, inevitablemente fragmentacin

    externa.

  • Si consideramos cada proceso como un slo gran segmento, tenemos el mismo caso que el de las particiones variables.

    Como cada proceso tiene varios segmentos, puede que el problema de la particin externa se reduzca, pues ya no

    necesitamos espacio contiguo para todo el proceso, sino que slo para cada segmento. Para eliminar completamente el

    problema de la fragmentacin interna, se puede usar una combinacin de segmentacin y paginacin, en la que los

    segmentos se paginan.

    3.2.1.5. SEGMENTACIN PAGINADA EN LOS 386

    En una 80386 puede haber hasta 8K segmentos privados y 8K segmentos globales, compartidos con todos los otros

    procesos. Existe una tabla de descripcin local (LDT) y una tabla de descripcin global (GDT) con la informacin de cada

    grupo de segmentos. Cada entrada en esas tablas tiene 8 bytes con informacin detallada del segmento, incluyendo su

    tamao y direccin. Una direccin lgica es un par (selector, desplazamiento), donde el desplazamiento es de 32 bits y el

    selector de 16, dividido en: 13 para el segmento, 1 para global/local, y 2 para manejar la proteccin. La CPU tiene un

    cach interno para 6 segmentos.

    A continuacin se presenta un cuadro de resumen

    Tcnica Descripcin Ventajas Desventajas

    Particin Fija

    La memoria principal se

    divide en varias particiones

    estticas durante la

    generacin del sistema. Un

    Sencillo de

    implementar;

    pequea sobre carga

    del Sistema

    Uso

    ineficiente de

    la memoria

    por la

  • proceso puede cargarse en

    una particin de igual o

    mayor tamao

    Operativo fragmentacin

    interna, el

    nmero de

    procesos

    activos es fijo.

    Particin

    Dinmica

    Las particiones se

    crean en forma

    dinmica, de

    manera que cada

    proceso se cargue

    en una parte del

    mismo tamao

    exacto que el

    proceso.

    Sin fragmentacin interna;

    uso ms ineficiente de la

    memoria principal.

    Uso ineficiente del

    procesador por la

    necesidad de

    compactacin para

    contrarrestar la

    fragmentacin

    externa.

    Paginacin

    Simple

    La memoria principal se

    divide en varios marcos del

    mismo tamao. Cada

    proceso se divide en varias

    pginas iguales del mismo

    tamao que los marcos. Un

    proceso carga todas sus

    pginas en marcos

    Sin segmentacin

    externa.

    Una pequea

    cantidad de

    fragmentacin

    externa.

  • disponibles n

    necesariamente contigua.

    Segmentacin

    Simple

    Cada proceso est dividido

    en varios segmentos. Un

    proceso carga todos sus

    segmentos en partes

    dinmicas que no necesitan

    ser contiguas.

    Sin fragmentacin

    interna

    Necesidad de

    compactacin.

    Paginacin de

    memoria virtual

    Cmo la paginacin simple

    excepto que no es necesario

    cargar todas las pginas de

    un proceso. Las paginas no

    residentes necesarias se

    traen despus en forma

    automtica

    Sin fragmentacin

    externa un grado

    ms alto de

    multiprogramacin;

    espacio de proceso

    virtual grande.

    Sobrecarga

    de

    administracin

    de memoria

    compleja.

    Segmentacin de

    memoria virtual

    Como la segmentacin

    simple, excepto que no es

    necesario cargar todos los

    segmentos de un proceso.

    Los segmentos no

    residentes necesarios se

    traen despus en

    formaauomtica.

    Sin fragmentacin

    interna un grado ms

    alto de

    multiprogramacin;

    espacio de direccin

    virtual grande;

    soporte de proteccin

    y compartimento

    Sobrecarga

    de

    administracin

    de memoria

    compleja.

  • 3.2.1.6. TIPOS DE MEMORIA RAM

    a) DRAM

    (Dynamic random access memory - Memoria de acceso aleatorio dinmica). Tipo de memoria RAM ms usada. Almacena cada bit de datos en un capacitor separado dentro de un circuito integrado. Dado que los capacitores pierden carga, eventualmente la informacin se desvanece a menos que la carga del capacitor se refresque y cargue peridicamente (perodos cortsimos de refresco). Por este requerimiento de refresco es llamada memoria dinmica que es opuesta a las SRAM y otras memorias estticas.

    Su ventaja sobre las SRAM es la simplicidad de su estructura: slo un transistor y un capacitor son requeridos por bit, comparado a los cinco transistores en las SRAM. Esto permite a las DRAM alcanzar muy alta densidad.

    Las DRAM fueron creadas por el Dr. Robert Dennard en el centro de investigacin de IBM Thomas J. Watson en 1966 y patentadas en 1968.

    b) SRAM

    (Static random access memory - Memoria de acceso aleatorio esttica) Tipo de memoria RAM. La palabra "esttica" indica que estas memorias retienen su contenido el tiempo que reciben energa, a diferencia de las RAM (DRAM) que necesitan refrescarse peridicamente (SRAM no debe ser confundida con las ROM y las memorias flash, dado que es una memoria voltil y preserva los datos slo cuando recibe energa).

    Es un tipo de memoria que es ms rpida y ms fiable que las ms comunes DRAM.

    SRAM tiene un tiempo de acceso de 10 nanosegundos, en cambio en las DRAM es de 60 nanosegundos.

    Adems, su ciclo es mucho ms corto que el de las DRAM porque no necesitan una pausa entre accesos. Desafortunadamente estas son mucho ms caras de producir que las DRAM; debido a su alto costo las memorias SRAM

  • slo son usadas en pequeas memorias cach.

    3.2.2. ROM

    La memoria ROM, (Read-Only Memory) o memoria de slo lectura, es la memoria que se utiliza para almacenar los programas que ponen en marcha el ordenador y realizan los diagnsticos. La mayora de los ordenadores tienen una cantidad pequea de memoria ROM (algunos miles de bytes).

    Existe un tipo de memoria que almacena informacin sin necesidad de corriente

    elctrica; se trata de la ROM (Read Only Memory, o Memoria de Slo Lectura), a

    veces denominada memoria no voltil, dado que no se borra cuando se apaga el

    sistema.

    Este tipo de memoria permite almacenar la informacin necesaria para iniciar el

    ordenador. De hecho, no es posible almacenar esta informacin en el disco duro, dado que los parmetros del disco

    (vitales para la inicializacin) forman parte de dicha informacin y resultan esenciales para el arranque.

  • Existen diferentes mem orias de tipo ROM que contienen dichos datos esenciales para iniciar el ordenador, entre ellas