Clase 25 y 26 - Multiprogramación

Clase 25 y 26 - Multiprogramación - Pontificia

Info iconThis preview shows pages 1–3. Sign up to view the full content.

View Full Document Right Arrow Icon

Info iconThis preview has intentionally blurred sections. Sign up to view the full version.

View Full DocumentRight Arrow Icon
This is the end of the preview. Sign up to access the rest of the document.

Unformatted text preview: Pontificia Universidad Cat´olica de Chile Escuela de Ingenier´ ıa Departamento de Ciencia de la Computaci´on IIC2343 Arquitectura de Computadores Segundo Semestre 2010 Clase 25 y 26: Multiprogramaci´ on c circlecopyrt Alejandro Echeverr´ ıa 1. Motivaci´on Una de las ventajas de tener una m´ aquina multiprop´osito como un computador es la posibilidad de correr m´ultiples programas que realicen distintas operaciones. Para lograr que un computador ejecute y almacene m´ultiples programas son necesarias diversas mejoras y modificaciones al hard- ware para permitirlo. 2. Multiprogramaci´ on El concepto de multiprogramaci´ on se refiere a la idea general de poder cargar m´ultiples progra- mas dentro de un mismo computador para que sean ejecutados en un determinado momento. Para lograr manejar m´ultiples programas, es necesario primero definir que compone a un programa. En general, podemos decir que un programa est´ a compuesto por dos partes: su representaci´ on en memoria que incluye el c´ odigo, datos y stack del programa, y su estado de ejecuci´ on que incluye los valores almacenados en los registros de la CPU (PC, registros acumuladores, SP, Status register, etc.) que indican el estado actual del programa en la m´ aquina. Para lograr trabajar con m´ultiples programas, entonces, es necesario permitir el manejo de m´ultiples representaciones en memoria y de m´ultiples estados de ejecuci´ on. 2.1. Manejo de m´ultiples representaciones en memoria Supongamos que queremos representar en memoria dos programas que originalmente funciona- ban como programa ´unico de un determinado computador. Los c´ odigos de ambos programas (P1 y P2) se muestran a continuaci´ on: P1: MOV A, (100) MOV B, (101) ADD A,B MOV (102), A 1 P2: MOV A, (100) MOV B, (101) SUB A,B MOV (102), A Ambos programas tienen sus instrucciones y datos almacenados en memoria. En este caso particular, adem´ as, ambos programas ocupan las mismas direcciones de memoria para almacenar sus tres variables. Es claro que no es posible utilizar el mismo espacio f´ ısico de memoria para ambos programas, por lo que es necesario desarrollar alguna modificaci´ on para poder almacenar los dos programas. Una primera soluci´on que se puede pensar es modificar los programas de manera de que las instrucciones y datos est´ en en ubicaciones distintas de memoria. Con este esquema, se podr´ ıa almacenar en una parte de la memoria un programa completo, y en otra parte otro programa, como se observa en el diagrama de la figura 1 uU¡¢£¤¥ ¦§¨¤©¥ ª« ª¬ Figura 1: Esquema simple de almacenamieto de dos programas en memoria. Para lograr que este esquema funcione, es necesario colocar el c´ odigo del segundo programa luego del espacio del primer programa y adem´ as es necesario modificar las posicioens de las direcciones de memoria de las variables usadas por el programa, por ejemplo a las direcciones 200, 201 y 202, como se observa en el siguiente c´ odigo del programa 2 modificado:...
View Full Document

This note was uploaded on 03/09/2011 for the course INGENIERIA 111 taught by Professor Jorgevera during the Spring '10 term at Pontificia Universidad Católica de Chile.

Page1 / 18

Clase 25 y 26 - Multiprogramación - Pontificia

This preview shows document pages 1 - 3. Sign up to view the full document.

View Full Document Right Arrow Icon
Ask a homework question - tutors are online