Sunteți pe pagina 1din 8

DIRECCIONAMIENTO DE MEMORIA EN MODO REAL El campo o campos de direcciones en un formato de instruccin usual est bastante limitado.

El modo real (tambin llamado modo de direccin real en los manuales de Intel) es un modo de operacin del 80286 y posteriores CPU compatibles de la arquitectura x86. El modo real est caracterizado por 20 bits de espacio de direcciones segmentado (significando que solamente se puede direccionar 1 MB de memoria), acceso directo del software a las rutinas del BIOS y el hardware perifrico, y no tiene conceptos de proteccin de memoria o multitarea a nivel de hardware. Todos los CPU x86 de las series del 80286 y posteriores empiezan en modo real al encenderse el computador; los CPU 80186 y anteriores tenan solo un modo operacional, que era equivalente al modo real en chips posteriores. La operacin de modo real permite a los microprocesadores direccionar solamente el primer megabyte del espacio de memoria, aun en el caso del microprocesador Pentium II. El primer megabyte de memoria se conoce como sistema de memoria real o de memoria convencional.

SEGMENTOS Y DESPLAZAMIENTOS La combinacin de una direccin de segmento y una direccin de desplazamiento acceden a una localidad de memoria en el modo real. Todas las direcciones de memoria en modo real deben constar de una direccin de segmento ms una de desplazamiento. La direccin de segmento localizada dentro de uno de los registros de segmento define la direccin inicial de cualquier segmento de memoria de 64 KB. La direccin de desplazamiento selecciona cualquier localidad dentro del segmento de memoria de 64 KB. (En el modo real, los segmentos siempre tienen una longitud de 64 KB.) Dado que un segmento de memoria en modo real tiene una longitud de 64 KB, una vez conocida la direccin inicial, la direccin final se encuentra sumando FFFFH a la inicial. La direccin de desplazamiento, que es parte de la direccin, es sumada al inicio del segmento para direccionar a una localidad de memorias seleccionadas por cada direccin de segmento. La direccin de desplazamiento siempre se suma a la direccin inicial del segmento para localizar los datos. Algunos modos de direccionamiento combinan ms de un registro y un valor de desplazamiento para integrar una direccin de desplazamiento. El esquema de direccionamiento por segmentos y desplazamiento parece innecesariamente complicado. En efecto, este esquema es complicado, pero tambin representa una ventaja para el sistema. Este esquema de direccionamiento por segmento ms desplazamiento permite la reubicacin de programas en el sistema de memoria. Tambin permite que los programas escritos para operar en el modo real funcionen en un sistema de modo protegido. Un programa reubicable es aquel que puede ser colocado en cualquier rea de la memoria y ser ejecutado sin ningn cambio. Los datos reubicables son aquellos que pueden ser colocados en cualquier rea de la memoria y ser utilizados sin modificar el programa. El esquema de direccionamiento por segmento y desplazamiento permite reubicar tanto programas como datos sin ningn cambio en ellos. Esto es ideal para uso en un sistema de cmputo de propsito general, en el cual no todas las maquinas contienen las mismas reas de memoria. La estructura de memoria de las computadoras personales varia de una maquina a otra, lo que hace necesarios software y datos reubicables. SEGMENTACION La segmentacin es un esquema de administracin de la memoria que soporta la visin que el usuario tiene de la misma. Un espacio de direcciones lgicas es una coleccin de segmentos. Cada segmento tiene un nombre y una longitud. Las direcciones especifican tanto el nombre del segmento como el desplazamiento dentro del segmento. Por lo tanto, el usuario especifica cada direccin mediante dos cantidades: un nombre de segmento y un desplazamiento. (Comprese este esquema con la paginacin, donde el usuario especificaba solamente una nica direccin, que el hardware particionaba en nmero de pgina y desplazamiento, siendo todo ello invisible al programador). Por simplicidad de implementacin, los segmentos estn numerados y se referencian por un nmero de segmento en lugar de por un nombre. Normalmente el programa de usuario se ensambla (o compila), y el ensamblador (o el compilador) construye automticamente segmentos que reflejan el programa de entrada. Un compilador de Pascal podra crear segmentos separados para (1) las variables globales, (2) la pila de llamada de procedimientos, para almacenar parmetros y devolver direcciones, (3) el cdigo de cada

procedimiento o funcin, y (4) las variables locales de cada procedimiento y funcin. El cargador tomara todos esos segmentos y les asignara nmeros de segmento.

ARQUITECTURAS 1.1.1 Clsicas Estas arquitecturas se desarrollaron en las primeras computadoras electromecnicas y de tubos de 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 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

BUS PRINCIPAL

UNIDAD DE CONTROL
ALU
REGISTROS

MEMORIA PRINCIPAL ALMACENA EL PROGRAMA Y LOS DATOS

ENTRADA Y SALIDA

Diagrama a bloques de la arquitectura 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 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 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 bits en la memoria de programa, mientras los datos de almacenan en 8 bits en una memoria aparte

Bus de programa MEMORIA DE PROGRAMA

PROCESADOR Unidad de control ALU

Bus de datos

Memoria de datos

REGISTRO

Entrada y Salida

Diagrama a bloques de la arquitectura de Harvard

El hecho de tener un bus separado para el programa y otro para los datos permite que se lea el cdigo 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 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 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. 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. La Unidad Central de Proceso es el lugar donde se realizan las operaciones de clculo y control de los componentes que forman la totalidad del conjunto del sistema informtico. Las CPU de las actuales computadoras son microprocesadores construidos sobre un cristal de silicio semiconductor donde se crean todos los elementos que forman un circuito electrnico (transistores, etc.) y las conexiones necesarias para formarlo.

B1

E1

B2

E2

B3

E3

Bsqueda y ejecucin en secuencia de tres instrucciones en un procesador En un procesador con segmentacin del cause, 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 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 ingles: Pipelining o entubamiento

UNIDAD DE BUSQUEDA

Cola de instruccin

UNIDAD DE EJECUCION

Comunicacin entre las unidades en un procesador con segmentacin de cauce 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

B1

B2

B3

B3

Unidad de bsqueda

E1

E2

E3

Unidad de ejecucin

Bsqueda y ejecucin en secuencia de tres instrucciones en un procesador sin segmentacin del cause En este esquema sigue tomando el mismo numero 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. 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 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 salto. Esto reduce el desempeo del procesador y an se investigan maneras de predecir los saltos para evitar este problema.

ESPERA

ESPERA

Consecuencias de la competencia por un recurso 1.1.3 De multiprocesamiento Cuando se desea incrementar el desempeo ms haya 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 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. ARQUITECTURAS CPU Existen dos tipos ms comunes: CISC: Su sistema de trabajo se basa en la microprogramacin. Consiste en hacer que cada instruccin sea interpretada por un miniprograma. RISC: Microprocesador con un conjunto de instrucciones muy reducidas en contraposicin. Se basan en estructuras simples y por lo tanto su complejidad total de la CPU es menor. TIPOS: Supercomputadoras minicomoutadoras macrocomputadoras

Unidad de memoria Las memorias se refieren al rea donde se almacenan los datos y programas que son utilizados por la CPU. Fisicamente consiste en unos chips o pequeos tableros de circuitos conectaddos a la tarjeta madre(placa base). Tiene por objetivo permitir a la CPU el almacenar y recuperar datos muy rpidamente, sin que tengan que realizarse accesos al disco duro en busca de datos.

Bsicamente hay 2 tipos de memoria: RAM Y ROM. Su propsito es conservar datos y programas en uso por el procesador y pierde su contenido si se desconecta la energa elctrica al computador. Memorias ROM: memoria de solo lectura. Siempre conservan los mismo datos, los cuales no pueden borrar, los datos grabados en las fabricas de estos chips, solo se pueden leer y usar. Su funcin es contener el conjunto de instrucciones de inicio de la computadora, tales como: verificar los dispositovs de hardaware, busca ala SO en las unidades de disco de las computadoras. Merira cache: su funcin es dar mayor rapidez entre el movimiento de datos de los registros de la CPU y la RAM, dado que esta ultima es mas lenta que la CPU. La memoria cache trabaja como auxiliar entre la CPU y la RAM. CPU Es el componente principal del computador y otros dispositivos programables, que interpreta las instrucciones contenidas en los programas y procesa los datos. Las 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 la memoria principal y los dispositivos deentrada/salida. La Unidad Central de Proceso es el lugar donde se realizan las operaciones de clculo y control de los componentes que forman la totalidad del conjunto del sistema informtico. Las CPU de las actuales computadoras son microprocesadores construidos sobre un cristal de silicio semiconductor donde se crean todos los elementos que forman un circuito electrnico (transistores, etc.) y las conexiones necesarias para formarlo. CARACTERIASTICAS LA UNIDAD DE CONTROL maneja y coordina todas las operaciones del sistema informtico, dando prioridades y solicitando los servicios de los diferentes componentes para dar soporte a la unidad aritmtico-lgica en sus operaciones elementales. LA UNIDAD ARITMTICO-LGICA realiza los diferentes clculos matemticos y lgicos que van a ser necesarios para la operatividad de la computadora; debe recordarse que todo el funcionamiento del sistema de una computadora se realiza sobre la base de una serie de operaciones matemticas en cdigo binario. LOS REGISTROS son una pequea memoria interna existente en la CPU que permiten a la ALU el manejo de las instrucciones y los datos precisos para realizar las diferentes operaciones elementales. De la misma forma que la placa principal tiene un bus para conectar la CPU con los diferentes dispositivos del sistema informtico, la unidad de control tiene un bus interno para conectar sus componentes Un DECODIFICADOR DE INSTRUCCIONES, que toma la instruccin desde el buscador y la traslada hasta que la CPU la entienda. Luego determina cuales son los pasos necesarios para cumplir con dicha instruccin. Buffer: espacio de memoria de almacenamiento PAGINACION: dividen los programas en pequeas partes o pginas. Selecciona bloques iguales. INICIO DE SEGMENTO: Indica donde se empieza a meter la informacin. COMPUTADORA: CPU, INTERCONEXION DEL SISTEMA, MEMORIA PRINCIPAL Y E/S. CPU: UNIDAD DE CONTROL, INTYERCONEXION INTERNA DE LA CPU, ALU, REGUSTROS. UNIDAD DE CONTROL: LOGICA SECUENCIAL, UNIDAD DE CONTROL, REGISTROS Y DECODIFICADORES Y MEMORIA PRINCIPAL. Memoria principal; Es una memoria direccionable por programa en la que se pueden cargar en posiciones, instrucciones y otros datos para su ejecucin o procesamiento posterior . Compilador; Es el programa que se encarga de compilar los cdigos fuentes escritos en un lenguaje de alto nivel y lo traduce a un lenguaje compresible por computadoras

. Ensamblador; Una CPU puede entender y ejecutar las instrucciones de maquina tales instrucciones tan solo son nmeros binarios almacenados en la computadora, su funcin el programa el fichero escrito en lenguaje ensamblador y sustituye a cada uno de los cdigos

FUNCION DEL MODULO ENTRADA/SALIDA Los mdulos de entrada/salida (E/S) tienen las siguientes funciones bsicas: Conectar con la CPU y memoria va bus del sistema. Conectar con los perifricos mediante conexiones de datos particularizadas. Las funciones o requerimientos principales de los mdulos de E/S se agrupan en las siguientes categoras: Control y temporizacin. Comunicacin con la CPU. Comunicacin con los perifricos. Buffer de datos. Deteccin de errores Un mdulo de E/S permite a la CPU controlar al perifrico nicamente con operaciones de lectura/escritura, ocultando otras funciones ms especficas (por ejemplo, rebobinar la cinta para acceder al dato). Cuando el mdulo asume funciones de alto nivel, se denomina canal E/S o procesador E/S. Los mdulos de bajo nivel, que requieren control detallado, se denominan controladores E/S o controlador de perifricos. E/S PROGRAMADA Son posibles tres tcnicas para las operaciones de E/S. Con la E/S programada, los datos se intercambian entre el procesador y el modulo de E/S. Cuando el procesador esta ejecutando un programa y encuentra una instruccin relacionada con una E/S, ejecuta dicha instruccin mandando una orden al modulo de E/S apropiado. Con el modulo E/S programada, el modulo E/S realiza la accin solicitada y despus activa los bits apropiados en el registro de estado de E/S. El modulo de E/S no lleva acabo otra accin para avisar a procesador, es decir, este mdulo no interrumpe al procesador y es as como el procesador es responsable de comprobar peridicamente el estado del modulo de E/S hasta que encuentre que la operacin ha terminado. Con E/S programable, el mdulo realiza la instruccin que le encarga la CPU y coloca los bits correspondientes en el registro de estado. Es responsabilidad de la CPU comprobar peridicamente el estado hasta que se complete la instruccin. E/S MEDIANTE INTERRUPCIONES Una alternativa a la E/S programada, que requiere repetidas consultas por parte de la CPU, es el control por interrupcin. La CPU encarga una operacin al mdulo y contina realizando otras tareas. Cuando el mdulo concluya la operacin, interrumpir a la CPU para tansferir los datos. La CPU realiza la transferencia y contina despus en el lugar en que se qued con la otra tarea. Desde el punto de vista del mdulo ACCESO DIRECTO A MEMORIA Cuando se necesita transferir grandes cantidades de datos, el acceso directo a memoria (DMA) es ms eficiente. Esto implica la inclusin de un mdulo adicional al bus del sistema. El mdulo de DMA es capaz de sustituir a la CPU tomando control del bus. Cuando la CPU desea leer o escribir un bloque de datos, enva un comando al mdulo DMA con la siguiente informacin: Peticin de lectura/escritura. (CONTROL) Direccin del mdulo E/S implicado. (REG. DIRECCIONES) La posicin de comienzo en memoria de la que leer/escribir. (REG. DIRECCIONES) El nmero de palabras a leer/escribir. (CONTADOR)

La CPU puede continuar con otra tarea, mientras el DMA transfiere el bloque de datos, palabra a palabra. Cuando la transferencia se ha completado, el DMA interrumpe a la CPU. El mdulo DMA necesita controlar el bus para realizar la transferencia, slo cuando la CPU no lo utiliza o suspendiendo temporalmente el funcionamiento de la CPU. Esta ltima tcnica se conoce como 'robo de ciclo'. BUSES Son espacios fsicos que permiten en transporte de informacin y energa entredos puntos de la computadora se clasifican en tres bus de datos de direccin ybus de control 2.1.2 BUS DE DATOS Mueve los datos entre los dispositivos del hardware de Entrada como el teclado, el ratn, etc.; de salida como la Impresora, el Monitor; y de Almacenamiento como el Disco Duro, el Disquete o la Memoria-Flash. Estas transferencias que se dan a travs del Bus de Datos son gobernadas por varios dispositivos y mtodos, de los cuales el Controlador PCI, "Peripheral Component Interconnect", Interconexin de componentes Perifricos, es uno de los principales. Su trabajo equivale, simplificando mucho el asunto, a una central de semforos para el trfico en las calles de una ciudad. 2.1.3 BUS DE DIRECCIONES El Bus de Direcciones, por otra parte, est vinculado al bloque de Control de la CPU para tomar y colocar datos en el Sub-sistema de Memoria durante la ejecucin de los procesos de cmputo. Para el Bus de Direcciones, el "ancho de canal" explica as mismo la cantidad de ubicaciones o Direcciones diferentes que el microprocesador puede alcanzar. Esa cantidad de ubicaciones resulta de elevar el 2 a la 32 potencia. "2" porque son dos las seales binarias, los bits 1 y 0; y "32 potencia" porque las 32 pistas del Bus de Direcciones son, en un instante dado, un conjunto de 32 bits. Nos sirve para calcular la capacidad de memoria en el CPU. 2.1.4 BUS DE CONTROL Este bus transporta seales de estado de las operaciones efectuadas por la CPU. El mtodo utilizado por el ordenador para sincronizar las distintas operaciones es por medio de un reloj interno que posee el ordenador y facilita la sincronizacin y evita las colisiones de operaciones (unidad de control).Estas operaciones se transmiten en un modo bidireccional. El bus es un sistema digital que transfiere datos entre los componentes de un computador o entre computadores. Estn formados por cables o pistas en un circuito impreso, dispositivos como resistencias y condensadores adems de circuitos integrados. Buses: representa las rutas entre los componentes de una compuitadora: principalmente los hay de dos tipos: Bus de datos: los datos viajan de un lugar a otro dentro de la computadora en un trayecto o circuito electrnico llamado bus de datos, es el encargado de conectar la CPU, la memoria RAM, los otros dispositivos del hardware en la tarjeta madre. Bus de direccin: son una red de lisneas de comucnicacion que conectan los elementos internos del procesador con la memoria RAM y transporta las direcciones de memoriua, dependiendo de la cantidad de cables en este, se determonina la cantidad mxima de direcciones de memoria.

S-ar putea să vă placă și