You are on page 1of 19

Arquitectura y Organización del Computador II

Introducción
Un Sistema Operativo es una parte importante de cualquier sistema de computación. Un sistema de computación puede dividirse en cuatro componentes: el hardware, el Sistema Operativo, los programas de aplicación y los usuarios. El hardware (Unidad Central de Procesamiento (UCP), memoria y dispositivos de entrada/salida (E/S)) proporciona los recursos de computación básicos. Los programas de aplicación (compiladores, sistemas de bases de datos, juegos de video y programas para negocios) definen la forma en que estos recursos se emplean para resolver los problemas de computación de los usuarios. Esto es a grandes rasgos un concepto de sistemas operativos en el contenido que a continuación presentamos desarrollaremos de una forma amplia lo que significa el paralelismo en ejecución y terminación el cual nos orienta en el concepto de cómo se ejecutan las instrucciones en un computador, más adelante se explica la carga en memoria, la memoria RAM, la Caché y la procesador.

3

haciendo detener al CPU mientras espera que la instrucción sea retornada. la instrucción es dividida en partes que tienen significado para otras unidades del CPU. Diagrama mostrando como es decodificada una instrucción Technologies 2005). Paralelismo en ejecución y terminación Antes de comenzar a indagar en lo que significa Paralelismo en Ejecución es importante saber como opera un CPU. (MIPS El primer paso. Frecuentemente la instrucción a ser leída debe ser recuperada de memoria relativamente lenta. En el paso de decodificación. execute. decodificar. Después de que se lee una instrucción. ejecutar. decode. Este problema es tratado en procesadores modernos en gran parte por los cachés y las arquitecturas pipeline. La instrucción que el CPU lee desde la memoria es usada para determinar qué deberá hacer el CPU. es por ello que a continuación se dará una breve descripción sobre este tópico. de la memoria de programa. Hay cuatro pasos que casi todos los CPU de arquitectura de von Neumann usan en su operación: fetch. La localización en la memoria del programa es determinada por un contador de programa (PC). del MIPS32. el Contador de Programa es incrementado por la longitud de la palabra de instrucción en términos de unidades de memoria. es ejecutar una secuencia de instrucciones almacenadas llamadas "programa".Arquitectura y Organización del Computador II 1. que almacena un número que identifica la posición actual en el programa. y writeback. (que es representada por un número o una secuencia de números). implica el recuperar una instrucción. (leer. el contador de programa indica al CPU. El programa es representado por una serie de números que se mantienen en una cierta clase de memoria de computador. La manera en que el valor de la instrucción numérica es 4 . y escribir). el lugar de la instrucción en el programa actual. leer (fetch). En otras palabras. La operación fundamental de la mayoría de los CPU.

Las partes restantes del número usualmente proporcionan información requerida para esa instrucción. A menudo. que según lo determinado por algún modo de dirección. varias unidades del CPU son conectadas de tal manera que ellas pueden realizar la operación deseada.Arquitectura y Organización del Computador II interpretado está definida por la arquitectura del conjunto de instrucciones (el ISA) del CPU. un grupo de números en la instrucción. operandos para una operación de adición. como por ejemplo. Sin embargo. En diseños más viejos las unidades del CPU responsables de decodificar la instrucción eran dispositivos de hardware fijos. puede ser un registro o una dirección de memoria. por ejemplo. en CPUs e ISAs más abstractos y complicados. es frecuentemente usado un microprograma para ayudar a traducir instrucciones en varias señales de configuración para el CPU. o como un lugar para localizar un valor. una operación de adición fue 5 . es llevado a cabo el paso de la ejecución de la instrucción. llamados opcode. Este microprograma es a veces reescribible de tal manera que puede ser modificado para cambiar la manera en que el CPU decodifica instrucciones incluso después de que haya sido fabricado. indica qué operación realizar. Durante este paso. Diagrama de bloques de un CPU simple Después de los pasos de lectura y decodificación. Si. Tales operandos se pueden dar como un valor constante (llamado valor inmediato).

La ALU contiene la circuitería para realizar operaciones simples de aritmética y lógica en las entradas. la escritura (writeback). Las entradas proporcionan los números a ser sumados. y funciones en programas. de acuerdo a cuál es el mayor. normalmente leyendo la siguiente instrucción en secuencia debido al valor incrementado en el contador de programa. y las salidas contendrán la suma final. Estas banderas pueden ser usadas para influenciar cómo se comporta un programa. los resultados son escritos a algún registro interno del CPU para acceso rápido por subsecuentes instrucciones. simplemente "escribe" los resultados del paso de ejecución a una cierta forma de memoria. una unidad aritmético lógica (ALU) será conectada a un conjunto de entradas y un conjunto de salidas. como adición y operaciones de bits (bitwise). decodificadas. y ejecutadas simultáneamente. El paso final. Algunos tipos de instrucciones manipulan el contador de programa en lugar de directamente producir datos de resultado. el proceso entero se repite con el siguiente ciclo de instrucción. un tipo de instrucción de "comparación" considera dos valores y fija un número. Por ejemplo. esta bandera puede ser usada por una posterior instrucción de salto para determinar el flujo de programa. también puede ser ajustada una bandera (flag) de desbordamiento aritmético localizada en un registro de banderas (ver abajo la sección sobre rango de números enteros). la ejecución condicional de programas (con el uso de saltos condicionales). Muy a menudo.Arquitectura y Organización del Computador II solicitada. el contador de programa será modificado para contener la dirección de la instrucción a la cual se saltó. Si la operación de adición produce un resultado demasiado grande para poder ser manejado por el CPU. que de 6 . Muchas instrucciones también cambiarán el estado de dígitos en un registro de "banderas". Después de la ejecución de la instrucción y la escritura de los datos resultantes. En otros casos los resultados pueden ser escritos a una memoria principal más lenta pero más barata y más grande. Entonces. múltiples instrucciones pueden ser leídas. Si la instrucción completada era un salto. Éstas son llamadas generalmente "saltos" (jumps) y facilitan comportamientos como bucles (loops). En CPUs más complejos que el descrito aquí. puesto que a menudo indican el resultado de varias operaciones. y la ejecución del programa continúa normalmente. Esta sección describe lo que es referido generalmente como el "entubado RISC clásico" (Classic RISC pipeline). en el registro de banderas.

7 . Este diseño. todo el CPU debe esperar que esa instrucción se complete antes de proceder a la siguiente instrucción. usualmente referido como subescalar. han resultado en una variedad de metodologías de diseño que hacen comportarse al CPU menos linealmente y más en paralelo. ahora dos caminos se paralizan y aumenta el número de transistores no usados. Sin embargo. alcanzar el desempeño escalar (una instrucción por ciclo de reloj). Las tentativas de alcanzar un desempeño escalar y mejor. posiblemente. aumentar la utilización de los recursos de ejecución en la pastilla  El paralelismo a nivel de hilo de ejecución. solo puede. que se propone incrementar el número de hilos (efectivamente programas individuales) que un CPU pueda ejecutar simultáneamente. Este tipo de CPU. Incluso la adición de una segunda unidad de ejecución no mejora mucho el desempeño. el CPU subescalar queda "paralizado" en instrucciones que toman más de un ciclo de reloj para completar su ejecución. busca aumentar la tasa en la cual las instrucciones son ejecutadas dentro de un CPU. opera sobre y ejecuta una sola instrucción con una o dos piezas de datos a la vez. Como resultado. en donde los recursos de ejecución del CPU pueden operar con solamente una instrucción a la vez. es decir. En lugar de un camino quedando congelado.  Paralelismo en Ejecución La descripción de la operación básica de un CPU ofrecida en la sección anterior describe la forma más simple que puede tomar un CPU. el desempeño casi siempre es subescalar (menos de una instrucción por ciclo). en inglés Instruction Level Parallelism (ILP). Cuando se refiere al paralelismo en los CPU. a menudo llamados microcontroladores. en inglés thread level parallelism (TLP).  El paralelismo a nivel de instrucción.Arquitectura y Organización del Computador II hecho es bastante común entre los CPU simples usados en muchos dispositivos electrónicos. Puesto que solamente una instrucción es ejecutada a la vez. generalmente son usados dos términos para clasificar estas técnicas de diseño. Este proceso da lugar a una ineficacia inherente en CPUs subescalares.

correspondientes a tres ciclos por cada una de las 5 fases que hemos descrito. el paralelismo consiste en ejecutar más instrucciones en menos tiempo. Un microprocesador ejecuta instrucciones de código máquina. erróneamente. por una sencilla razón. aunque algo difícil de explicar en detalle.Arquitectura y Organización del Computador II Cada metodología se diferencia tanto en las maneras en las que están implementadas. Se tiende a pensar. Se puede dividir cualquier instrucción en fases más o menos comunes a todas: -fetch (carga de la instrucción desde la memoria al procesador) -decodificación (identificación de qué instrucción nos hemos encontrado) -carga de operandos -operación en sí -escritura de resultados Este esquema. algunas instrucciones tardan bastantes más ciclos. según el siguiente esquema: 8 . expresamente simplificado. mediante un simple truco. y como debe ir modificando el flujo de ejecución. Si ejecutáramos tres de estas operaciones sin ningún tipo de paralelismo. Aquí es donde entra el paralelismo para solucionar este problema. nos da una idea de las fases que todo microprocesador tiene. tardaríamos 45 ciclos. Esto no es así. las más rápidas se ejecutan en tan sólo 3 o 4 ciclos de reloj. como en la efectividad relativa que producen en el aumento del desempeño del CPU para una aplicación. Vamos a suponer un microprocesador ideal donde todas las operaciones que se pueden ejecutar en él tardan 15 ciclos. aunque las instrucciones sigan tardando lo mismo en ejecutarse.  Funcionamiento del Paralelismo Como ya dijimos anteriormente. que un procesador con un reloj a 200 MHz (200 millones de ciclos por segundo) ejecuta 200 millones de estas operaciones por segundo. estas instrucciones le dicen como tiene que ir modificando diferentes posiciones de memoria. Una instrucción no se ejecuta en un solo ciclo de reloj. En cambio. salvo alguna rara excepción. llegando algunas a necesitar 50 o más ciclos para completarse. De hecho.

cuando la instrucción uno ha acabado ya la fase de fetch y pasa a la decodificación. sin embargo. más de una instrucción por ciclo de reloj. Más de un 45% de incremento en el rendimiento.Arquitectura y Organización del Computador II instr. Si logramos que sean independientes. En estos problemas ya no entraremos. De esta forma es como algunos procesadores muy paralelizados logran ejecutar. más de un ciclo en ejecutarse. si ante este problema detuviéramos la anterior instrucción. o lo que es lo mismo.2:_________111222333444555 instr. se comunican diferentes fases del microprocesador internamente para pasarse antes los datos. sino solo 21 ciclos. por separado. y 9 .2:___111222333444555 instr. siguen ejecutándose en el mismo tiempo. instr. en promedio. pero en conjunto ya no tardan 45 ciclos. no todo es tan fácil y hay muchos problemas al diseñar un procesador con paralelismo. aunque estas instrucciones tarden. hay veces que una instrucción no se puede ejecutar ya que requiere un dato que quizás calculaba la operación anterior (cosa muy habitual). como el encontrarnos con que hay que decidir que datos son los correctos en cada momento. En la realidad. De esta forma.1:111222333444555 instr. logramos paralelizar las instrucciones. también nos da otros problemas. 3:________111222333444555 Ahora supongamos que somos capaces de dividir el microprocesador en circuitos separados capaces cada uno de trabajar independientemente y ejecutar cada una de las 5 fases anteriores. deja libre el módulo que se encarga del fetch. por sí mismas. ya mucho más complicados.1111222333444555 instr. bloquearía el procesador y se acabaría el paralelismo hasta que acabara la primera instrucción y con ella se pudiera reanudar la segunda. 3:______111222333444555 Resultado: las tres instrucciones. Claro. como siempre. Para evitar estos problemas se recurre a cortocircuitos. donde puede ir ya ejecutándose la segunda instrucción. Esto. Por citar algunos de los problemas más comunes.

ya que no toma en cuenta las limitantes del hardware con que el mismo va ser ejecutado. Además. queda libre más espacio para incluir aún más registros y hacer los buses internos más anchos. En el paralelismo explícito. Esto también redunda en una simplificación de la circuitería de control del microprocesador. Por otro lado podemos observar las limitantes que genera la ejecución de este mismo programa con un hardware en particular (procesador Superescalar con capacidad de ejecutar un acceso a la memoria y una operación aritmética simultáneamente) obteniendo 6 ciclos de maquina para ejecutar el programa. lo que permite acelerar aún más las instrucciones. Paralelismo en software Definamos como paralelismo en software como la ejecución de un programa sin tomar en cuenta el hardware con que va ser ejecutado. Intel implementa una solución que de hecho ya deriva de ideas de principios de los años 80. El paralelismo en software es considerado como el caso ideal de la ejecución de las instrucciones que forman parte de un programa. todo lo que hemos visto sobre el paralelismo involucra única y exclusivamente al microprocesador en sí. el procesador ya no es el que decide cómo paralelizar las instrucciones. Por el contrario. El software que se ejecuta sobre él ignora totalmente si hay paralelismo o no. esta manera es mucho más eficiente. El diagrama de paralelismo en Software representa el caso ideal con que dicho programa puede ser ejecutado. Esto es el paralelismo implícito. Nótese que la ejecución de las 8 instrucciones se realiza solamente en tres ciclos de máquina. la lógica que puede aplicar es infinitamente más potente que la que podemos encontrar implementada en cualquier microprocesador. De hecho. y más bien a su diseño.Arquitectura y Organización del Computador II se podrían resumir en que el procesador ha de decidir como paralelizar las instrucciones. sino que es el compilador del software el que ha empaquetado las instrucciones para que el microprocesador pueda ejecutarlas paralelamente sin tantos problemas. Paralelismo en hardware Definamos como paralelismo en hardware como la ejecución de un programa tomando en consideración el hardware con que va a ser ejecutado. 10 . porque el compilador tiene todo el tiempo del mundo para decidir cómo paralelizar y por supuesto. lo que permite ejecutar aún más instrucciones en paralelo. Bien.

Planificación de instrucciones de lazos iterativos continuos y planificación de instrucciones global. de Instrucciones / No. La técnica de lazos iterativos consiste planificar las instrucciones que forman parte de los lazos continuos de un programa. Y 11 . Este parámetro se define como la relación entre el número de instrucciones del programa y el número de ciclos de máquina realizados en su ejecución. El proceso de detección y resolución de dependencias entre instrucciones se conoce como el proceso de planificación de instrucciones. Esta técnica esta compuesta básicamente por dos técnicas: Unrolling y Software Pipeline. Y cuando la planificación de instrucciones es llevada a cabo únicamente por hardware (Ejemplo: microprocesador) se dice que la planificación de instrucciones es dinámica. Esta técnica es la mas utilizada en los últimos 20 años ya que es la más simple de implementar.333.667 y el promedio de ejecución paralela de instrucciones en hardware es: 8/6 = 1. el promedio de ejecución paralela de instrucciones en software para este ejemplo es: 8/3 = 2. Cuando la planificación de instrucciones es llevada a cabo únicamente por el compilador se dice que la planificación de instrucciones es estática. La planificación de instrucciones en los microprocesadores súper escalares es un proceso de planificación de instrucciones estático y dinámico. de Ciclos de Máquina Por consiguiente. El desarrollo de hardware y software es un proceso integral que busca soluciones que permitan satisfacer cada vez más las condiciones de paralelismo con el fin de incrementar el promedio de ejecución paralela de instrucciones. Las técnicas estáticas de planificación de instrucciones están compuestas por tres grupos: Planificación de instrucciones de bloques de un programa.Arquitectura y Organización del Computador II Tomando como base este ejemplo. la ejecución paralela de las instrucciones de un programa se mide mediante el parámetro conocido como Promedio de Ejecución Paralela de instrucciones (PEP). Para lograr este objetivo es necesario detectar y resolver las dependencias entre instrucciones. La técnica de bloques consiste en dividir un programa en bloques para luego detectar y resolver solamente las dependencias entre las instrucciones de cada bloque. Su expresión matemática es: PEP = No.

Hay un primer programa especial (stand-alone).O. una vez que se encuentra en memoria. el residente. Se llama de acceso aleatorio porque el procesador accede a la información que está 12 . La parte que reside siempre en memoria durante la ejecución de los distintos programas se llama residente o supervisor. Finalmente. momento en el que el S.O. es al arrancar una PC. llamado IPL o BOOT. Memoria de Acceso Aleatorio) es donde el ordenador guarda los datos que está utilizando en el momento presente. La memoria principal o RAM (acrónimo de Random Access Memory. Prcesador). se comienza a ejecutar cumpliendo una serie de tareas que difieren de acuerdo al computador. entre ellas: pedir la fecha del día al operador (la primera y más común).. Carga de trabajo en memoria (RAM. está en memoria permanentemente. puede obtener estos datos: por parte del operador. permitir la ejecución de programas stand-alone (todavía no se ha cargado el supervisor).O. que forma parte del S. Este programa puede ser llamado pulsando una tecla. Caché.  Carga en memoria. Una vez cargado el residente en memoria. Casi todas las máquinas tienen una parte de su S. en la ROM y lo demás se carga en memoria durante el proceso de arranque.Arquitectura y Organización del Computador II por ultimo la técnica global consiste en planificar todas las instrucciones que forman parte de un programa. recibir la configuración del equipo y la asignación de memoria a las particiones. solicitará al operador el dispositivo donde deberá buscar al residente para traerlo a memoria. 2. cuya única misión es traer a memoria al segundo y principal programa.  La RAM.O. No todo el S. Una de las pocas ocasiones en que el usuario debe comunicarse directamente con el S. este programa desaparece. Por tanto el IPL o BOOT es un programa transiente del sistema operativo. aparece en primer plano y espera instrucciones.O. Una vez encendido el computador habrá que cargar el residente en memoria para poder comenzar a ejecutar los distintos programas. o directamente de un archivo creado al efecto por un programa stand-alone (utilitario configurador).

Reducir el tiempo necesario para acceder a la memoria. La necesidad de los refrescos de las memorias dinámicas se debe al funcionamiento de las mismas. como los disquetes o discos duros. Cuando se pierde la alimentación. acceso aleatorio. El inconveniente es que precisan una electrónica especial para su utilización. lo que indica la necesidad de ³recordar´ los datos a la memoria cada pequeños periodos de tiempo.Arquitectura y Organización del Computador II en la memoria en cualquier punto sin tener que accederá la información anterior y posterior. es necesario que antes que transcurra el tiempo máximo que la memoria puede mantener la señal se realice una lectura del valor que tiene y se recargue la misma. en el cual los datos tienen que ser leídos o escritos en un orden predeterminado. se carga en memoria (DMA). la memoria pierde todos los datos.  Proceso de carga en la memoria RAM: Cuando las aplicaciones se ejecutan. la señal que contenía la célula biestable se va perdiendo. El procesador entonces efectúa accesos a dicha memoria para cargar instrucciones y enviar o recoger datos. indica que cada posición de memoria puede ser leída o escrita en cualquier orden. ya que este se basa en generar durante un tiempo la información que contiene. y se borra al apagar el ordenador. Es una memoria dinámica. En contra partida presentan el CPU. La diferencia entre la RAM y otros tipos de memoria de almacenamiento. 13 . es que la RAM es mucho más rápida. ayuda a mejorar las prestaciones del sistema. Es la memoria que se actualiza constantemente mientras el ordenador está en uso y que pierde sus datos cuando el ordenador se apaga. Lo contrario seria el acceso secuencial. mayor capacidad de almacenamiento y un menor consumo. primeramente deben ser cargadas en memoria RAM. Eso se llama Refresco. Para que no ocurra esta perdida. Transcurrido este lapso. Las memorias poseen la ventaja de contar con una mayor velocidad. para impedir que esta pierda la información. Memoria y Disco Duro los datos de instrucciones cuando se carga un programa. ³Random Access´. la función de esta electrónica es generar el refresco de la memoria.

Los módulos habituales que se encuentran en el mercado. si el acceso es de escritura. si el acceso es de lectura o coge los datos y los almacena en la posición seleccionada. El refresco de la memoria en modo normal esta a cargo del controlador del canal que también cumple la función de optimizar el tiempo requerido para la operación del refresco. en el siguiente acceso. Generalmente el refresco de memoria se realiza cíclicamente y cuando esta trabajando el DMA. que reduce los tiempos de acceso mediante la segmentación de la memoria del sistema en dos bancos coordinados. un banco suministra la información al procesador. con lo que minimizaremos los accesos al disco duro. con lo que el sistema operativo fuerza al procesador a simular dicha memoria con el disco duro (memoria virtual). En general. se intercambian los papeles. mientras que el otro prepara datos para el siguiente ciclo. Posiblemente. En ese momento la RAM coloca los datos de esa posición en la salida. y sobretodo cuando se ejecutan múltiples aplicaciones. Los sistemas avanzados emplean RAM entrelazada.Arquitectura y Organización del Computador II Es preciso considerar que a cada bit de la memoria le corresponde un pequeño condensador al que le aplicamos una pequeña carga eléctrica y que mantienen durante un tiempo en función de la constante de descarga. en más de una ocasión en el ordenador aparecen errores de en la memoria debido a que las memorias que se están utilizando son de una velocidad inadecuada que se descargan antes de poder ser refrescadas. La cantidad de memoria Ram de nuestro sistema afecta notablemente a las prestaciones. después la columna y por último se debe indicar si deseamos escribir o leer en esa posición. fundamentalmente cuando se emplean sistemas operativos actuales. 14 . puede que la demanda de memoria sea superior a la realmente existente. Una buena inversión para aumentar las prestaciones será por tanto poner la mayor cantidad de RAM posible. tienen unos tiempos de acceso de 60 y 70 ns (aquellos de tiempos superiores deben ser desechados por lentos). Durante una solicitud particular. Las posiciones de memoria están organizadas en filas y en columnas. Cuando se quiere acceder a la RAM se debe empezar especificando la fila.

hay que tener en cuenta que no siempre podemos alcanzar todas las configuraciones de memoria. que proporciona acceso rápido a los datos de uso más frecuente. Por eso su precio es elevado. el ordenador sólo trabaja con bancos completos. hace que sea suficientemente rápida para almacenar y transmitir los datos que el microprocesador necesita recibir casi instantáneamente. Combinando diferentes tamaños en cada banco podremos poner la cantidad de memoria que deseemos. La ubicación de la caché entre el microprocesador y la RAM.  La Caché. por eso su capacidad es mucho menor. hasta 10 ó 20 veces más que la memoria principal dinámica para la misma cantidad de memoria. los mismos datos repetidamente.Arquitectura y Organización del Computador II Es conveniente que todos los bancos de memoria estén constituidos por módulos con el mismo tiempo de acceso y a ser posible de 60 ns. La utilización de la memoria caché se describe a continuación:  Acelerar el procesamiento de las instrucciones de memoria en la CPU. se presenta de forma temporal y automática para el usuario. Por tanto. La memoria caché es una clase de memoria RAM estática (SRAM) de acceso aleatorio y alta velocidad. y en el caso de que no sea así. Hay que tener en cuenta que el bus de datos del procesador debe coincidir con el de la memoria. y éstos sólo pueden componerse de módulos del mismo tipo y capacidad. unas 5 ó 6 veces más que la DRAM (RAM dinámica). Los ordenadores tienden a utilizar las mismas instrucciones y (en menor medida). pero siempre rellenando los dos zócalos de cada banco (en el caso de que tengamos dos) con el mismo tipo de memoria. situada entre el CPU y la RAM. habiendo de tener cada banco la cantidad necesaria de módulos hasta llegar al ancho buscado. Como existen restricciones a la hora de colocar los módulos. Tenemos que rellenar siempre el banco primero y después el banco número dos. La memoria caché es rápida. por ello la caché contiene las instrucciones más usadas.  15 . esta se organizará en bancos.

2. el rendimiento mejora considerablemente. La memoria caché se carga desde la RAM con los datos y/o instrucciones que ha buscado la CPU en las últimas operaciones. La CPU siempre busca primero la información en la caché. Como estos fallos ocurren con una frecuencia relativamente baja. para ello se presentan dos casos: Una forma de entender el funcionamiento de la memoria caché consiste en la analogía de un videoclub. ya que la CPU accede más veces a la caché que a la RAM. se pierde un tiempo extra en acudir a la RAM y copiar dicha información en la caché para su disponibilidad. equipado con un mostrador y una habitación capaz de almacenar 16 .Arquitectura y Organización del Computador II Por lo tanto. lo normal es que va encontrar ahí la mayoría de las veces. En el siguiente diagrama se describe un proceso cuando la CPU requiere operación de lectura de una instrucción. Pero si no encuentra la información en la caché. con lo que el acceso será muy rápido. 1. a mayor instrucciones y datos la CPU pueda obtener directamente de la memoria caché. tanto más rápido será el funcionamiento del ordenador.

volver al mostrador y entregar la cinta al cliente. Si necesita ajustar los recursos informáticos de una máquina virtual.  Procesador. buscar la película solicitada. cada máquina virtual solo consume memoria cuando está en ejecución o pausada. Configuración de la memoria o los procesadores de una máquina virtual: Una máquina virtual debe tener asignada suficiente memoria para ejecutar la carga de trabajo. puede volverlos a configurar para satisfacer las necesidades cambiantes. Hyper-V ofrece una configuración de compatibilidad de procesadores para facilitar el uso de un sistema operativo antiguo y la realización de una migración en vivo de una máquina virtual a otro equipo físico con una versión de procesador distinta. Ante la petición de cada cliente. Esta carga de trabajo está formada por el sistema operativo invitado y todas las aplicaciones y los servicios que se ejecutarán simultáneamente en la máquina virtual. No ofrece compatibilidad entre distintos fabricantes de procesadores. No obstante.Arquitectura y Organización del Computador II cientos de vídeos.  Esta opción resulta útil para escenarios de alta disponibilidad y de copia de seguridad y recuperación porque hace que resulte más fácil mover una máquina virtual de alta 17 . También puede especificar controles de recursos para automatizar la asignación de los recursos a las máquinas virtuales. se configuran la memoria y el procesador con el fin de ofrecer los recursos informáticos apropiados para la carga de trabajo que se va a ejecutar en la máquina virtual. el dependiente deberá acudir hasta el almacén. El número de procesadores virtuales que se debe configurar depende del sistema operativo invitado. Cuando se crea una máquina virtual. Deben tenerse en cuenta las consideraciones siguientes sobre el escenario de migración:  La opción Migrar a un equipo físico con una versión de procesador distinta garantiza que la máquina virtual solo usa las características del procesador que están disponibles en todas las versiones de un procesador compatible con la virtualización del mismo fabricante de procesadores.

18 .Arquitectura y Organización del Computador II disponibilidad a otro nodo de un clúster o restaurar la máquina virtual en un hardware distinto.

Por otra parte. que amplía memoria física sobre un disco duro. una computadora sólo puede ejecutar un programa a la vez. En realidad. Cada ordenador viene con cierta cantidad de memoria física.O. Algunos ordenadores también utilizan la memoria virtual. (si prevé esta modalidad de trabajo). cada una de los cuales puede llevar a cabo un solo byte de información. La ventaja es que se puede intensificar el rendimiento total del sistema. Es posible aprovechar la gran velocidad de la unidad central y evitar los retrasos al esperar las operaciones de entrada/salida. Con relación a la carga de trabajo en memoria podemos decir que el término memoria identifica el almacenaje de datos que viene en forma chips. Esto hace que parezca que se ejecutan varios programas a la vez. 19 . que refiere a los chips reales capaces de llevar a cabo datos. otro puede iniciarse (o continuar) su realización. Cuando un trabajo necesita un proceso de entrada/salida. referida generalmente como memoria principal o RAM. y el almacenaje de la palabra se utiliza para la memoria que existe en las cintas o los discos. dos o más programas independientes se ejecutan durante el mismo lapso al intercalar su ejecución. el término memoria se utiliza generalmente como taquigrafía para la memoria física. Se puede pensar en memoria principal como arreglo de celdas de memoria.Arquitectura y Organización del Computador II Conclusión Para concluir se puede resumir que el paralelismo en ejecución no es otra cosa que la ejecución concurrente de más de un programa a la vez. Es decir que por medio de la multiprogramación o paralelismo se efectúa la administración en paralelo de dos o más programas que residen simultáneamente en la memoria del computador. El control de la ejecución de la intercalación o empalme lo realiza el S. pero la velocidad de su procesamiento interno es tan rápida que se pueden distribuir por turno "porciones" del tiempo de la computadora entre varios programas.

20 . De inmediato. el procesador primero envía la dirección para los datos. el controlador de la memoria encuentra los bits de información contenidos en el cubículo adecuado y los envía al bus de datos del procesador. puede llevar a cabo cerca de 1 millón de bytes (o caracteres) de la información.Arquitectura y Organización del Computador II Un ordenador que tiene 1 megabyte de la memoria. El controlador de memoria encuentra el cubículo adecuado y luego el procesador envía los datos a escribir. A cada bit de datos se asigna una dirección. el procesador envía la dirección para los datos requeridos. Para leer la memoria. por lo tanto. Cada dirección corresponde a un cubículo (ubicación) en la memoria. La memoria funciona de manera similar a un juego de cubículos divididos usados para clasificar la correspondencia en la oficina postal. Para guardar información en la memoria.

wikipedia.mitecnologico.com/ma/enwiki/es/Instruction_level_parallelism http://es.com/Main/ParalelismoMultiprocesamiento http://www.mailxmail.worldlingo.Arquitectura y Organización del Computador II Bibliografía http://www.org/wiki/Efecto_memoria http://www.com/curso-componentes-pc-s/carga-inicial-sistema-operativo 21 .