Está en la página 1de 756
PET oo piabatha ayaa eaeriiana pinpbirepnrrethesmnnerrmnnn Nett eed hana purepnontoeabysewemnyyerericte MIU T 1d ci sbithanaak allah bieneelanineirmne Treen elo ee ng Hireipreenrenete ea ote irre cad pre RernIenTSnT ST aaiearbeneta Harenieanareninrnay NORPPA CI erect Lau Pees Senha Teen ees ay Rematenyireer YT oT Oca phehiiabaeneier==enaneieinenti Eg ane ROr TRS Tr eee ee baadnaeecnenrebentr Te re ttt BS TL ct alad airsedaivenaivel senna eer NT pr salneborpemmeninrrnpereeres sere ol Eada peer etna A RsalaapenpeeelieseOnnPsey NT TT och hilaiiaibah inane patie spent Tt ane enero pxnereanir cases Serer tT Cra ealabaeanianberena ieee pempnpenr men ayer TT ot alk belaghpesi eee har eta pyran my rt Too cal ali mopman ne nnnenental Scaled renee mnernn eet Tn CT TL a anne begunenan beseapbrenipnion ever RN eCopt niceties Sasa eenpiosearne aN TON Ce Tiel pioshasrmret er nore Te acne peeepectempw mr ntrets et (1) alasichgaiaianiae openssh A edie eines biden EE ee cena aaeeepneneninl Heirs betonseennseiseemeer st) Con TT ee eternal amare emer ee tL ie Lance ae omapngamemmaet meortimees Tt TC LL LL sabia Reena as Leer Pe eT al cl tal niae portanreenentnrye mene ane el et aaa penne HNN CONTE Td ial pmerebenber er ea Cat tne da ($8 84208 7989.1 fl gs rae ne Patty ha | CE rye ra EUAN el See le Proyectos de imvestigaciéa: El manual incluye una serie de tareas de investigacidn que instruyen al estudiante en la busqueda de una materia concreta en la Web, en la biblio- grafla o en la escritura de informes. * Proyectos de simulaciéa: E! manual proporciona apoyo para el uso del paquete de si- mulacién SimpleScalar, que se puede utilizar para explorar las cuestiones de disefio en Ja organizacién y arquitectura de computadores. * Tareas de lectura/redacciéa: El manual incluye una lista de articulos, uno o mas por capitulo, que se pueden asignar a un alumno para que los lea y redacte uo informe corto. ‘Véase ef Apéndice B para mis detalles. De aera htled ak’ dead En los cuatro afios que han pasado desde la publicacién de {a cuarta edicidn de este libro han surgido continuas innovaciones y mejoras cn este campo. En esta nueva edicidn he trata- XXXVI Prétogo al texto con et estudio de procesadores 0 técnicas de vitima hora. Este apéndice serd actuali- tado conforme se vayan realizando reimpresiones del presente libro, sin necesidad de esperar 2 ediciones nuevas. Deseo destacar el esmerado trabajo de los traductores y Ia profesionalidad de Andrés Otero, editor de Informatica dei grupo editorial Pearson Educacidn, S. A. y responsable de la tdicidn en espafol. Alberto Prieto Coordinador de ta traduccion Granada, 1 de mayo de 2000 APiITULO 1 11, 1.2, Introduccién Organizacién y arquitectura Estructura y funcionamiento Funcionémiento Estructura Esquema det libro Evolucién y prestaciones de ios computadores Buses del sistema Memorie interna Memoria externa Entrada/salida Apoyo al sistema oparativo Aritmetica de computadores Repertorios de instrucciones Estructura y funcionamiento de la CPU Computadores de repertorio reducido de instrucciones Procesadores superescalares y paralelismo a nivel de instruccién Funcionamiento de ia unidad de control Control microprogramedo Procesamiento paraieio Logica digital Internet y recursos Web Sitios Web de este libro Ctros sitios Web Grupos de noticias USENET AE de PARTE | VISION GENERAL be a i ig objetivo de la Parte 1 es proporcionar una base y un contexto para el resto del libro. Se presentan los concepros fundamentales sobre arquitectura y organizacion de com— putadores. CAPITULO 1, INTRODUCCION E! Capitulo | introduce el concepto de computador como sistema jerérquico. Un computa- dor puede ser visto como una estructura de componentes, y su funcionamiento puede ser des- ento en términos del funcionamiento colectivo de sus componentes cooperantes.'Cada com ponente puede ser descrito, a su vez, segiin su estructura interna y fuocionamicntwo. Se introducen los niveles principales de esta visidn jerirquica. Et resto del libro esta organizado comenzando por el nivel superior y bajando hasta los inferiores, segun estos niveles. CAPITULO 2. EVOLUCION Y PRESTACIONES DE LOS COMPUTADORES Et Capitulo 2 contiene una breve historia del desarrollo de los computadores, desde sus ante- pasados mecdnicos a los sistemas de hoy en dia. Esta historia sieve para destacar algunos aspectos importantes del diseio de computadores, y para dat una visidn de alto nivel de ia estructura de un computador. El capitulo presenta luego un tenia clave de este libro: disedo para prestaciones. También %e sefiaia la importancia de lograr un equilibrio en la utilizacién de componentes con caracteristicas de funcionamiento muy dilerentes vrganuzacion y arquitectura de computadores SHH HHH HSS HH HHS HOE H EOFS SEH HOES Los elementos principales de un computador son: la unidad de procesamiento zentral (CPU), la memoria principal, e! subsisiema de entrada/salida y algunos nedios de interconexion de todos estos componentes, La CPU, por su parte, consta de una unidad de control, una unidad aritmético-Idgica (ALU, Arithme- ic and Logic Unit), registros internos ¢ interconexiones, iste libro se complementa con una pagina Web que proporciona enlaces a tras paginas Web relevantes y a otras informaciones utiles. Véase la Seccién »bre la pagina Web al principio del libro para mds detalles. PHS HHHSSHHHHH HHH HHHOSOEE HHO OHSD lntroduccién 5 es presentar, tan clara y completamente como sea posible, la naturaleza y las caracte- risticas de los computadores de hoy dia. Este objetivo es todo un reto por dos razones. En primer lugar, hay una gran variedad de sistemas que pueden recibir correctamente ei nombre de computador, desde microprocesadores de un solo chip, que cuestan unos pocos délares, a supercomputadores que cuestan decenas de millones de d6lares, Esta variedad es patente no sdlo en costes, sino también en tamaho, prestaciones y aplicaciones. En segundo lugar, la rapidez de tos cambios, que ha caracterizado siempre a la tecnologia de computado- res, continta sin pausa. Estos cambios cubren todos los aspectos de la tecnologia de compu- tndores, desde la tecnologia subyacente de circuitos integrados, usados para construir com- ponentes de computadores, hasta el creciente uso de conceptos de organizacién paralela para combinar esos componentes. A pesar de la variedad y rapidez de los cambios en el campo de los computadores. se aplican sistematicamente ciertos conceptos fundamentales. La apiicacién de estos conceptos depende del desarrollo actual de ta tecnologia y de los objetivos, en cuanto a precio y aplica- ciones, dei diseftador. La intencidn de este libro es ofrecer un concienzudo aniilisis de !os fun- damentos de la arquitectura y organizacién de los computadores y relacionar éstos con mate- tins de disefio actuaies. Este capitulo introductorio analiza brevemente ¢l enfoque descriptive que se va a considerar y ofrece una visidn global del resto del libro, Ez libro trata sobre {a estructura y funcionamienta de los computadores. Su objetivo See Nee eae Cuando se describe un computador, frecuentemente se distingue entre arquitectura y organi- racién del computador, Aunque es dificil dar una definicién precisa para estos términos, existe ‘un consenso sobre las dreas generales cubiertas por cada uno (véase [(VRANSO], (STEW82] y (BELL78a}). La arquitectura de computadores se refiere a los atributos de un sistema que son visibles para un programador. 0, para decirio de otra manera. a aquellos atributos que tienen un im- acto directo en la ejecucién Idgica de un programa. ta organizaciGa de itadOres $¢ fefiere a las unidades functoniles 7 Sus Inte eae oe Ta gat teeter iditectOnicgs se encuentran el, conjunto de instrucsiones. cl admero de bits ilar varios tipos de datos (por cjemplo, ‘nuimeros y caracter&y), 16 mecanismos de ES y las técnicas para direccionamiento de memo- fia. Entre los a 1s de organizacién se incluyen aquellos detalles de hacdware transparen- tes al programa ‘como sefales de control, interfaces entre el computador y los penifé- ricos y la tecnologia de memoria usada. Para poner un ejemplo, una cuestidn de disefio arquitecténico es si el computador tendré la instruccién de muitiplicar. Una cuestién de organizacién es si esa instruccidn serd imple- mentada por una unidad especializada en multiplicar, 0 por un mecanismo que haga un uso iterativo de ta unidad de suma de? sistema. La decisién de organizaciéa puede estar basada en la frecuencia prevista del uso de ia instruccién de multiplicar, !a velocidad relativa de las dos aproximaciones, y et coste y ei tamafio fisico de una unidad especializada en multiplicar. Histéricamente, y ain hoy dfa, la distincién entee arquitectura y organizacién ha sido im- portante. Muchos fabricantes de computadores ofrecen una familia de modelos, todos con la misma arquitectura, pero con diferencias en cuanto a la organizacién. Consecuentemente, os diferentes modelos de 1a familia tienen precios y prestaciones distintas. Mas atin, una arqui- tectura puede sobrevivir muchos aiios, pero su organizacién cambia con Ia evolucién de la tecnologia. Un ejemplo destacado de ambos fendmenos ¢s la arquitectura IBM Sisterna/370. Organizacin y arquitectura de computadores: Esta arquitectura aparecié por primera vez en 1970 e incluta varios modelos. Un cliente con Necesidades modestas podia comprar un modelo mas barato y lento, y si la demanda se in- crementaba, cambiarse mds tarde a un modelo mds caro y répido sin tener que abandonar el software que ya habia sido desarrollado. A través de los aftos, IBM ha introducido muchos modelos nuevos con tecnologia mejorada para reemplazar a modelos mds viejos, ofreciendo al consumidor mayor velocidad, precios mas bajos 0 ambas cosas a la vez. Estos modelos mas nuevos conservaban la misma arquitectura, para proteger asi la inversién en software de! consumidor. Podemos destacar que la arquitectura det Sistema/370, con unas pocas me- joras, ha sobrevivido hasta hoy dia como la arquitectura de la linea de grandes productos de computacién IBM. En una clase de sistemas, los ilamados microcomputadores, la relacién entre arquitectura y organizacidn es muy estrecha. Los cambios en fa tecnologia no sdlo influyen en la organi- zacidn, sino que también dan lugar a la introduccién de arquitecturas mds ricas y potentes. Generalmente. hay menos requisitos de compatibilidad, generacin a generacidn, para estas pequefias mdquinas. Asi, hay mis interaccidn entre las decisiones de disefio arquitecténicas y de organtzacién. Un ejemplo interesante de esto son los computadores de repertorio reduci- do de instricciones (RISC, Reduced Instruction Set Computer}, que veremos en e! Capitulo 12. En este libro se examina, tanto la organizacidn, como la arquitectura de un computador. Se da, quizds, mds énfasis a ta parte de organizacidn. Sin embargo, como la organizacion de un computador debe ser disetiada para implementar una especificacién de una arquitectura particular. un estudio exhaustivo de la organizacién requiere también un examen detallado de fa arquitectura ESTRUCTURSs Y FUNCIONAMIENTO: Un computader es un sistema complejo; los computadores de hoy en dia contienen millones de componented electrdnicos basicos. ;Cémo podriamos describirlos claramente? La clave est4 en reconocer la naturaleza jerdrquica de la mayorfa de los sistemas complejos, incluyen- do ei computador (SIMO69}. Un sistema jerdrquico ¢s un conjunto de subsistemas interrela- cionados, cada uno de los cuales, a su vez, $e organiza en una estructura jerdrquica, hasta que se alcanza e! nivel mds bajo del subsistema elemental. La naturaleza jerdequica de los sistemas complejos es esencial, tanto para su diseio, como para su descripcidn. El disehador necesita tratar sélamente con un nivel particular del siste- ma a la vez. En cada nivel, el sistema consta de un conjunto de componentes y sus interreia- stones. El comportamiento en cada nivel depende sdlo de una caracterizacién abstracta y simplificada del sistema que hay en ei siguiente nivel mas bajo. De cada nivel, al disefador Ie importa la estructura y el funcionamiento [KOES78}: + Estructura: ef modo en que los componentes estin interrelacionados. + Funcionamiento: la operacién de cada componente individual como parte de la estructura. En términos de descripeidn tenemos dos opciones: empezar por lo mds bajo y construir una descripcidn completa, 0 comenzar con una visién desde arriba y descomponer el sistema en sus subpartes. La experiencia a partir de muchos campos nos ha enseflado que la descripci6n de arriba a abajo («op-down») ¢s la més clara y efectiva [WEIN75]. El enfoque seguido en este libro considera este punto de vista. El computador sera descri- to de arriba a abajo. Comenzamos con ios componentes principales de! sistema, describiendo su estructura y funcionamiento, y seguimos, sucesivamente, hacia capas més bajas de le jerar- quia. Lo que queda de esta seccidn ofece una breve visién global de este plan de ataque. FUNCIONAMIENTO Tanto ia estructura como e! funcionamiento de un computador son. en esencia. sencillos. La Figura 1.1 sefala las funciones basicas que un computador puede llevar a cabo. En términos generales hay sdlo cuatro: + Procesamiento de datos * Almacenamienio de datos « Transferencias de datos * Control El computador, por supuesto. tiene que ser capaz de procesar datos. Los datos pueden adop- tar una gran variedad de formas, y el rango de los requisitos de procesado es amplio. Sin embargo, veremos que hay solo unos pocos métodos o tipos fundamentales de procesado de datos. También es esencial que un computador almacene datas. incluso si el computador est4 \do datos al vuelo (es decir, si los datos se introducen y se procesan. y los resultados $e obtienen inmediatamente), el computador tiene que guardar temporalmente, al menos aquellos datos con los que esté trabajando en’ un momento dado, Asf hay al menos una fun- cidn de almacenamiento de datos a corto plazo. Con igual importancia, el computador llev: a cabo una fucién de almacenamiento de datos a largo plazo. El computador almacena fiche- ros de datos para que se recuperea y actualicen en un futuro. ENTORNO OPERATIVO (Fuerue y desuno de tvs datos) Figura 1.1. Una visién funcional de un computador. Srganitacin y arquitectura de computadores El computador tiene que ser capaz de transferir datos entre é| mismo y el mundo exterior. Ei entorno de operacidn del computador se compone de dispositivos que sirven bien como fuente o como destino de datos. Cuando se reciben o se Hlevan datos a un dispositivo que est directamente conectado con el computador, el proceso se conocé como entrada-sali- da (E/S), y este dispositivo recibe ¢! nombre de periferico. El proceso de transferir datos a largas distancias, desde 0 hacia un dispositivo remoto, recibe el nombre de comunicacién de datos, Finalmente. debe haber un contro! de estas tres funciones. Este control es ejercido por el/ los entets) que proporcionain) a! computador instrucciones. Dentro del computador. una uni- dad de control gestiona los recursos del computador y dirige las prestaciones de sus partes funcionales en respuesta a estas instrucciones. e © 5 ip 5.6 8.8 Se © QR 2 SNS) SS Figura 1.2. Posibles operaciones de un computador. lntroduccion A exte nivel general de discusidn, ei nidmero de operactomes posibles que pueden ser reali- zadas ¢s pequeho. La Figura 1.2 muestea los cuatro posibles tipos de operaciones. E! compu. tador puede funcionar como un dispositive de transferencia de datos (Figura 12a), ‘simple- mente transfiriendo datos de un periférico o linea de comunicaciones a otro. También puede funsionar como un dispositivo de almacenumiento de datos {Figura 1.2b), con datos transfe- ridos desde un entorno externo al almacen de datos det computador (leer) ¥ viceversa (escr- bic Los dos disgramas siguientes muestran operaciones que implican procesamiento de da- tos. en datos almacenados (Figura 1.2c}. o bien ea trinsito entre el almacen y el entorno externo. La exposicién precedente puede parecer absurdamente generalizada. Es posible, incluso ea ¢| nivel mas alto de la estructura de un computador. diferenciar varias funciones. pero, citando [SIEWS2}- Hay. sorprendentemente, muy pocas formas de extructurss ue computadores que se ‘ajusten a ta funcidn que va a set llevada a cabo, En ls raiz de esto subvace el problema de la naturaicza de uso general de los computadores. en Ja cusl toda la especializacxdn fugcio- nal ocurre cuando se programa y no cuando se discfa. ESTRUCTURA La Figura 1.3 ¢s la representacién mds sencilla posible de un computador, El computador es una entidad que interactdu de alguna manera con su entorno exierno. En general. todas sus conexiones con ¢! entorno externo pueden ser clasificadas cocho” dispositivos periféricos 0 lineus de comunicacidn. Diremos algo sobre ambos tipos de conexiones. Pero es de mayor interds en este libro la estructura interna del computador mismo, la sual mostramos. en su nivel mds alto. en la Figura 1.4, Hay cuatro componentes estructurales principales: Unidad central de procesamiento (CPU, Central Processing Unit): controla el funciona- miento del computador y lleva a cabo sus funciones de procesamiento de datos. Fre- cuentemente se le llama simplemente procesador. Figura 1.3. 1 computador. Figura 1.4, EI computador: estructura del nivel superior. + Memoria principal: almacena datos, « ES: transfiere datos entre el computador y el entorno externo. « Sistema de interconexin: es un mecanismo que proporciona la comunicaciéa entre la CPU, fa memoria principal y la E/S. Puede que hi ino © mas de cada uno de estos componentes, Tradicionalmente. ha habido solo una CPU. En los Witimos aitos, ha habido un uso creciente de varios procesadores en un solo sistema. Surgen algunas cuestiones relativas a multiproctsadores y se discuten conforme el texto avanza; el Capitulo 16 se centra en tales sistemas, Cada uno de estos componentes serd examinado con cierto detalie en la Parte {I. Sin em- bargo, para nuestros objetivos. el componente mds interesante y, de algiin z10d0, el mas com- plejo es la CPU; su estructura se muestra en la Figura 1.5. Sus principales componenies es- tcucturales son: « Unidad de control: controla el funcionamiento de la CPU y, por tanto, del compu- tador. + Unidad aritmético-égica (ALU, Arithmetic Logic Unit): lleva a cabo las funciones de Procesamiento de datos del computador. Introduccion = 117 Figure 1.5. La unidad central de procesamniento (CPU). * Registros: proporcionan almacenamiento interno a la CPU. «+ Interconexiones CPU: son mecanismos que proporcionan comunicacién entre la unidad de control. !a ALU y los registros. Cada uno de estos componentes seré examinado con detalle en fa Parte II], donde veremos que la-complejidad aumenta con ¢l uso de técnicas de organizacién paralelas y de segmenta- ign de cauce, Finalmente, hay varias aproximaciones para la implementacién de ja unidad de control, pero sin duda la mas comun ¢s la implementacién microprogramada. Con esta ‘aproximaci6n, la estructura de la unidad de contro} puede ser como la mostrada en la Figura 1.6. Esta estructura serd examinada en la Parte IV. 2 Organizacién y arquitectura de computadores Figura 1.6. (a unidad de control. Este capituly sirve como introduccién al libro entero. Aqui se ofrece una breve sinopsis del resto de los capitulos. EVOLUCION Y PRESTACIONES DEL COMPUTADOR E! Capitulo 2 tiene dos objetivos. El primero es hacer una exposicidn de Ia historia de la tecnologia de compuradores, como un modo fdci! ¢ mteresante de familiarzarnos con los latroduccién = 13, conceptos bdsicos de organizacién y arquitectura de computadores. El capitulo también muestra las tendencias tecnoldgicas que han hecho de las prestaciones el centro del diseio de computadores y da una primera visin de las distintas técnicas y ‘estrategias que se usan para Jograr unas prestaciones equilibradas y eficientes. BUSES DEL SISTEMA En su nivel superior, un computador se compone de procesador, memoria y componentes de E/S. El funcionamiento del sistema consiste en el intercambio de datos y sefiales de control entre estos Componentes. Para realizar este intercambio. estos componentes deben estar interconectados. Ei Capitulo 3 comienza con un breve examen de los componentes del com- putador y sus requisitos de entrada/salida. £1 capitulo trata luego de temas clave. que afectan ai disesio de la interconexidn, especiaimente la necesidad de soportat interrupciones. El gruc- $0 del capitulo se dedica al estudio del tipo de interconexiones mds comuin: la estructura de buses. MEMORIA INTERNA. En memoria de computadores hay una amplia gama de tipos, recnologias. organizaciones, Prestaciones y precios. El computador tipico esta equipado con una jerarquia de subsistemas de memoria, alguaos de ellos internos {directamente accesibles por el procesador) y otros ex- ternos {accesibles por el procesador via un médulo de E/S). E1 Capitulo 4 comienza con una visiéa general de esta jerarquia. centrindose luego en materias de disedo relacionadas con la memonia interna. Primero, s¢ examina la naturaleza y organizacidn de la memoria principal semiconductora. Mas tarde, el capitulo trata con detalle del disefto de la memoria caché. in- cluyendo cachés de datos y de cddigos separadamente. y cachés de dos niveles, Finalmente, se exploran organizaciones de memoria DRAM. recientes y avanzadas. MEMORIA EXTERNA En el Capitulo 5 se examinan los diferentes pardmetros de disefio y prestaciones asociados a la memoria de disco. Luego, los esquemas RAID. que se estan volviendo cada ver mis comu- nes. Finalmente. se examinan ios sistemas de memoria dptica y de cinta magnética. ENTRADA/SALIDA Los médulos de E/S estin conectados con e! procesador y Ja memoria Principal, y cada uno controla uno o mds dispositivos exernos. En el Capitulo 6 se examinan los mecanismos por fos que un médulo de ES interactua con el resto del computador. usando las técnicas de E/S Programads, E.S por interrapcidn y acceso directo a memoria (DMA, Direct Memory Ate Sess). Tambien se describe ta interfaz entre un modulo de E.S y los disposuivos externos. APOYO AL SISTEMA OPERATIVO En este momento es apropiado estudiar el sistema operativo. para explicar cémo componen- tes bisicos del computador son gestionados para llevar a cabo trabajos utiles. y cémo ei hardware dei computador se organiza para dar apoyo al sistema operativo, El Capitulo 7 Somienza con una breve historia. que sirve para identificar los tipos principales de sistemas Orgenizacisn y arquitectura de computadores: operativos y para motivar las razones de su uso. Luego, se explica ta multiprogramacién, examinando las funciones de planificacién a corto y a largo plazo. Finalmente. un examen de la gestidn de memoria incluye ua anilisis de la segmentaciSn, paginacién y memoria virtual. ARITMETICA DE COMPUTADORES El Capitulo 8 comienza con un andlisis detallado de! procesador y un estudio de la aritmética de los computadores. Los procesadores, tradicionalmente, implementan dos tipos de aritmeé- tica: entera o de punto fijo, y de punto Motante, Para ambos casos, ¢l capfiulo examina pri- mero la representacidn de los mimeros, y discute luego las operaciones aritmeéticas. Se estudia con detalle el importante estindar de punto lotante [EEE 754. REPERTORIOS DE INSTRUCCIONES Desde el punto de visia del programador. el mejor modo para comprender e! funcionumiento de un procesador es aprender ei conjunto de instrucciones maquina que se ejecutan, E} Capitulo 9 examina las caracteristicas clave de los repertorios de intrucciones maquina. Cu- bre varios tipos de datos y de operaciones que se encuentran normalmente en un conjunto de instrucciones, Luego, se explica brevemente la relacién entre Jas instrucciones del procesador y el lenguaje ensamblador. En ei Capitulo 10 se examinan los posibles modos de direcciona- miento. Finalmente. se trata el tema del formato ce instruccidn. incluyendo un examen de compromisos. ESTRUCTURA Y FUNCIONAMIENTO DE LA CPU El Capitulo it estd dedicado a Ia discusién de la estructura interna y el funcionamiento de! Procesador, Se revisa [a organizacién general (ALU, unidad de control y banco de registros). Luego. se discute la organizacidn det banco de registros. El resto del capitulo describe ef fun- cionamuento del procesador en la ejecucidn de instrucciones maquina. Se examina el ciclo de instruccin, para mostrar la interrelacién de los ciclos de captaciéa de instrucciones, ciclos indirectos. ciclos de ejecucién y ciclos de interrupcidn. Por tiltimo, se expfora en profundidad el uso de segmentacion de cauce para la mejora de las prestaciones. COMPUTADORES DE REPERTORIO REDUCIDO DE INSTRUCCIONES Una de las innovaciones mds importantes en la organizacin y arquitectura de computadores en los uiltimos afios, es el computador de conjunto reducido de instrucciones {RISC}. La ar- quitectura RISC es una drdstica desviacidn de tas tendencias histéricas en arquitectura de res, Un andilisis de esta aproximacidn saca a la luz muchos de los temas importantes en ta organizacion y arquitectura de computadores, E! Capitulo 12 presenta la aproximacién RISC y la compara con la del computador de repertorio de instrucciones compiejo (CISC). PROCESADORES SUPERESCALARES Y PARALELISMO A NIVEL DE INSTRUCCION En el Capitulo 13 se examina una innovacidn atin més reciente ¢ igualmente importante: el Procesador superescalar, Aunque la tecnologia superescalar puede ser usada en cuaiquier procesador, es especialmente adecuada en ia arquitectura RISC. En el capitulo también se ven cuestiones generales sobre paraielismo a nivel de instruccién. Introduccion = 15 FUNCIONAMIENTO DE LA UNIDAD DE CONTROL El Capitulo 1¢ vuelve al tema de como s¢ lievan a cabo las funciones del procesador. 0, mas mente, cémo se controlan los distiatos elementos dei procesador para efcctuar esas funciones por medio de la unidad de control. Se muestra que cada ciclo de instruccién esté formado por un conjunto de microoperaciones que generan sefales de control. La ejecuciéa ¢s Hevada a cabo por el efecto de estas sefiales de control, que parten de la unidadade contro! hacia la ALU, los registros y ta estructura de interconexidn de los sistemas. Finalmente, se presenta una aproximacién de la realizacién de la unidad de control, denominada « £] significado del resto de las columnas de la Tabla 2.3 es claro tras la explicacién ante- nor. La Figura 2.5 muestra una configuracién (con muchos periféricos) del IBM 7094, que es tepresentativo de los computadores de la segunda generacién (BELL7 1a]. Merece la pena sebalar varias diferencias con el computador IAS. La mds importante es ¢! uso de canales de datos. Un canal de datos es un mddulo de E’S independiente. con su propio procesador y su “propio conjunto de instrucciones. En un computador con tales dispositivos. la CPU no ejecu- Ir-instfiicciones detalladas de E/S. Tales instrucciones son almacenadas en una memoria Principal. para ser ejecutadas CoH tin procesador de uso especifico para el canal de datos mis- mo. La CPU inicia una transferencia de E'S enviando sefiales de control al canal de datos. instruyéndolo para ejecutar una secueficia dé insirucciones en memoria. El canaf de datos_ realiza esta tarea independientemente de la CPU y de las sefales de la CPU hasta que la Senior completa. Esta disposicién libera a la CPU de una carga de procesamiento con- gow ‘ Nees Otra caracteristica es el multiplexor, que es el punto de conexidn central de tos canales de datos. ja CPU y la memoria. E] multiplexor organiza los accesos a la memoria desde la CPU y fos canales de datos. permitiendo a estos disposinivos actuar de forma independiente. cnasedaouiun ¥ arquitectura de cemputadores Tabla 2.3. Ejemplos de miembros de la serie 18M 700/7000 fem} L_ pas Lees Figura 2.5. Configuracién de un 18M 7034, LA TERCERA GENERACION: LOS CIRCUITOS INTEGRADOS A.un transistor simple y autocontenido se Ie llama componente discreto. A trayés de los attos 50 y principios de los 60, los equipos ¢lecirdnicos estaban compuestos en su mayoria por componentes discretos (transistores. resistencias, capacidades, stc.). Los componentes discre- tos s¢ fabricaban : is dos en sus propios comenedores,y soldadas 0 cor pan oo Be beparocaments, SACADGY " ne bleados junios en tarjetas de circuitos en forma dé ‘que eran instalados en computa- Evolucién y prestaciones de los computadores = 29 doves, osciloscopios y otros equipos electrdnicos. Cuando un dispositivo necesitaba un tran- sistor. habia que soldar éste. que tenfa una forma de un pequefio tubo de metal y contenia una pieza de silicio del tamafio de la cabeza de un alfiler, en una tarjeta de circuitos. Todo ef proceso de fabricacién, desde el transisior hasta ¢l panel de circuitos, era caro y engorroso. Estos hechos fueron el comieazo del surgimiento de problemas en la industry dé compu- tadores. Los primeros computadores de la segunda genetacién contenian alrededor de 10.000 transistores. Esto cantidad crecié a cientos de miles, haciendo cada vez mds dificil la fabrica~ cidn de mdquinas nuevas y mds potentes. En_1958 ocurrié algo que revolucions la electrdnica ¢ inaugurd la era de In microeiec- tz6nica; la invencidn del circuito integeads. El circuito integrado define la tercera genera- cidn de Computadores. En esta seccién haremos una breve introduccidn a la tecnologia de circuitos integrados. Después veremos los que. quizils. sean los dos miembros mas impor- ie a aoe generacidn, que surgieron al principio de la era: el IBM Sistema:360 y et -8. Microelectrénica Microelectrdnica significa literaimente «pequefia electrénica». Desde los comienzos de |a electronica digital y la industria de computadores, ha habido una tendencia. persistente y consistente, a la reduccién del tamafio de los circuitos electrénicos digitales, Antes de exami- nar las implicaciones y beneficios de esta tendencia. necesitamos decir algo sobre a naturale- za de la electronica digital. En el Apéndice A se encuentra-una discusién mds detallada. Los elementos biisicos de un computador digital, como ya sabemos, deben ofrecer alma- cenamiento. procesamiento y control de funciones. Sdlo se requieren dos tipos fundamentales de componentes (Figura 2.6): puertas y celdas de memona. Una puerta es un dispositivo que implementa una funcidn légica 0 booleana simple. coma: SI 4 AND B ES CIERTO. EN- TONCES C ES CIERTO (puerta AND). A lales dispositivos se les llama puertas. porque Controlan e} flujo en cierta manera. como Jo hacen las puertas de un canal. La celda de me- moria es un dispositive que puede almacenar un dato de un bit: es decir, el dispositive puede Funcisn urada yea ‘Sokca. dooteara ‘Seftal de nctvacion fa) Puerta (0) Cetda do momeria Enwaca ‘Salita Laer Esenbir Figura 2.6, Elementos de un computador basico, 0 Organizacicn y arquitectura de computadores estar, en un instante dado, en uno de dos estados estables. Interconectando muchos de estos dispositivos fundamentates, podemos consiruir un computador. Podemos telacionar esto con fuestras cuatro funciones basicas de la siguiente forma: « Almacin de datos: proporcionado por las celdas de memoria. + Procesamiento de datos: proporcionado por Jas puertas. © Transferencias de dates: los caminos entre componentes se usan para llevar datos de memoria @ memoria y de memoria. a través de las puertas, a memoria. ‘* Coatrot: tos caminos entre componentes pueden Hlevar las sefaies de control. Por ejem: plo, una puerta tended dos entradas de datos mas una entrada de control que activard la puerta, Cuando la sefai de control esié en ON, la puerta realiza su funcidn con los datos de entrada, y produce un dato de salida. De manera similar, las celdas de memo- tia almacenardn el bit en su entrada si la seal de control WRITE esta ON, y situardn el bit en la salida cuando la sefiat de control READ esté ON. Por tanto, un computador consta de puertas, celdas de memoria ¢ interconexiones entre estos elementos. Las puertas y Ins celdas de memoria estén constituidas por componentes electrd- nicos simples. Aunque la tecnologia de transistores introducida en Ia segunada generacidn de computa- dores fue una gran mejora respecto a los tubos de vacio, ain quedaban problemas. Los tran- sistores se montaban individualmente con encapsulados independientes interconectados con cables jas. en tarjetas de circuito impreso, Este proceso era complejo, consumia temi- PO y era propenso a errores. Figura 2.7. Reiacién entre oblea, chip y puera. Evolucién y prestaciones de los computadores «34 _ Los circuitos integrados utilizaron el hecho de que tales componentes (como transistores, resistencias y conductores) podian ser fabricados a parti: de un semiconductor como el silicio, Es simplemente un avancée del arte del estado sdlido consistente en fabricat ur circutto entero en un pequefio trozo de silicio,’en vez de ensamblar componentes discretos hechos a partir de trozos de silicio separados, en el mismo circuito. Se pueden construir cientos. ¢ incluso miles, de transistores a! mismo tiempo en una sola oblea de silicio. Igualmence imponante ¢s que estos transistores pueden ser conectados con un proceso de metalizacién para formar circuitos. La Figura 2.7 muestra los conceptos clave de un circuito integrado. Se divide una fina oblea de silicio en una matriz de pequefias dreas, cada una de unos pocos milimetros cuadra-. dos. Se fabrica ei mismo pairdn de cireuito en cada 4rea. y la oblea se divide en chips. Cada” chip consiste en muchas puertas, m4s una serie de puntos para conexiones de entrada y sali- da. El chip es encapsulado en una carcasa que lo protege y proporciona patas para conectar dispositivos fuera del chip. Varios de estos elementos pueden ser interconectados en una tare jeta de circuito impreso para producir circuitos mas complejos y mayores. Inicialmente sdlo podian fabricarse y encapsularse juntas. con fiabilidad. unas pocas puer- tas 0 celdas de memoria. A estos primeros circuitos integrados se les llama de pequerta escala de integracin (SSI. Small-Scale Integration). A medida que el tiempo pasd. fue posible encap- sular mds y mas componentes en un mismo chip. Este crecimiento en densidad se puede ver en la Figura 2.3; ésta es una de las tendencias tecnoldgicas mds importantes que nunca se ha visto. Esta figura refleja la famosa ley de Moore. que fue propuesta por Gordon Moore. co- fundador de Intel. en 1963 [(MOOR6S}. Moore observs que el nimero de transistores que se podrian integrar en un solo chip se duplicaba cada aiio y sé predécia. correctamente, que 60" continuaria en Uh futuro cercano. Para sorpresa de muchos. incluido Moore, este ritmo con- tinuaria afio tras afto y década tras década. El ritmo disminuys, duplicandose cada 18 meses en los 70, pero ha mantenido esta velocidad desde entonces. Figura 2.8. Evolucién del numero de transistores en los procesadores. 32 Crganizacion y arquitectura Ge computadores Las consecuencias de la ley de Moore son profundas: 1. Ei precio de un chip ha permanecido practicamente invariable a través de este perio. do de rdpido crecimiento en densidad. Esto significa que el costo de Ia ldgiea del com- putador y de la circuiteria de la memoria han caido a una velocidad dristica, Ya que tos elementos de la Idgica y la memoria estén mds prdximos en chips mds densamente cncapsulados, la longitud de las interconexiones eléctricas ha disminuido, incrementandose asi ia velocidad operativa. 3. El computador es ahora mds pequefio. lo que lo hace mds adecuado para mds en- tornos. 4. Hay una reduccidn de las necesidades de potencia y refrigeraci6n, 5. Las interconexiones de los circuitos integrados son mucho mis fiables que las cone- xiones soldadas, Con mds circuitos en cada chip. hay menos conexiones entre chips. 1BM Sistema/360 Eo 1964. 1BM tenia un firme dominio del mercado con sus maiquinas de la serie 7000. Aquei ato, ‘anuncid el Sistema/360, una nueva familia de productos de computadores. Aunque elanuncio mismo no fue ninguna sorpresa, contenia algunas noticias desagradables para los clientes habituales de IBM: la linea de productos 360 era incompatible con las maquinas 1BM anteriores. Por ello. la transicién al 360 seria dificil para los clientes de IBM, Este fue un paso audaz de IBM, pero sentian que era necesario romper con algunas de as limitacig- nes de la arquitectura 7000_y producir un sistema capaz de evolucionar junto con fa nueva enologia-de errewtos integradas (PADES1. GIFF87}. La esirategia resulté provechosa. fanio técnica como financieramente. E1 360 fue ei éuito de Ia década. y consolidé a IBM co- mo ef dominante absoluto en las ventas de computadores, con una cuota de mercado por encima del 70%, y, con algunas modificaciones y ampliaciones, la arquitectura del 360 per- manece hasta hoy en dia en la arquitectura de fos grandes computadores de (BM. A to largo del texto, se pueden encontrar ejemplos que utilizan esta arquitectara.. Et Sistemia/360 fue la primera familia de computadores de (a historia que se planes. La familia abarcaba un amptio rango de prestaciones y precios. La Tabla 24 indica alguna de Jas caracteristicas claves de los distintos modelos en 1965 (cade miembro de la familia se dis- tingue por un numero de modeto}. Los distintos modelos eran c ee era Pa un programa escrito para wn. . tenia que ser capazde Jo’ de Ia Serie. con la nica diferencia del tiempo de ejecucisn. Tabia 2.4, Caracteristicas clave de la familia Sistema/360 Tamano maximo de memoria (bytes) Velocidad de transferencia de datos proce- dentes de lz memoria (J ) Tarwpo ds tide el proorsador (wsegundos) Veloricad relative Nimara mximo de cansles de Gatos Maxima velocidad de vransterenca de detos en un canal (Kbytes/segundo} Evolucién y prestaciones de los computadores 33 El concepto de familia de computadores compatibles era a la vez novedoso y extremada- mente exitoso, Un cliente con necesidades modestas y ua presupuesto limitado podia empe- zar con el modeio 30. relativamente barato. Mas tarde, si las necesidades del cliente crecian. era posibie pasarse a una maquina mds rapida y con mas memoria, sin sacrificar ia inversién ya realizada. en software. Las caracteristicas de «ina-familia son: «(Conjunto de instrucciones simitar © idéntico: en muchos casos, se encutntran exacta- “Mente ef mismo conjunto de instrucciones maquina en todos los miembros de fa fami- Jiay Asf, un programa que se ejecuta en una maquina, s¢ podrd ejecutar en cualquier -otta/En algunos casos, el computador mis bajo de la familia tiene-un conjunto de ins- trucciones que ¢s un subconjunto del computador mds alto de la fis Eo quiere decir que los programas se pueden mover hacia arriba. pero no hacia abajo. «Sistemas operativos similares idénticos: ei mismo sistema operativo basico esté dispo- nible para todos los miembros de la familia. En algunos casos. se aftaden caracteristicas complementarias a los miembros mas altos. « Velocidad reciente! [a velocidad de ejecucidn de las instrucciones se incrementa confor- “me se sube desde Tos miembros mis bajos a los mas aitos de la familia. « Numero creciente de puertos de E/S:konforme se va desde lo mAs bajo a los mas alto de 4a familia, = + Tamaio de memoria creciente; conforme se va de lo mas bajo a lo mds alto de la familia. + Costo creciente; conforme sé va de lo mds bajo a lo mds alto de la familia. iCémo podria implementarse tal concepto de familia? Las diferencias enire los modelos se basaron en tres lactores: la velocidad bisica, ef tamana. yel grido de simulianeidad {STEV6S). Por ejemplo. podria lograrse mayor velocidad en ia ¢jecucion de una instruccidn dada usando ua circuiteria mis compleja en fa ALU. permitiendo que laySuboperaciones se Hlevaran a cabo en paralela” Otro modo dé incrementar Ia velocidad era iffe tar la am~ plitud del camino de los datos entre la memoria principal y la CPU..En ei Modelo 30, solo te podta captar un byte (8 bits) a la de la memoria. principal, mientras que en el Modelo 70 se podian/captar § bytes a la wed El Sistema/360 no solamente dictd la carrera hacia et futuro de IBM. sino que también tuvo un profundo impacto en toda la industria. Muchas de sus caracteristicas se han conver- ido en un estdndar para otros grandes computadores, DEC PDP-8 En el mismo afio que [BM lanzo su primer Sistema/360, tuvo lugar otro lanzamiento tras- cendentai: el PDP-$ de DEC. En aquelia época. cuando la mayoria de los computadores re- Querian una habitacién con aire acondicionado, el PDP-8 (llamado por la industna «min- computador en honor a la minifalda de aquellos tiempos) era lo bastante pequeno para ser colocade en lo alto de una mesa de laboratorio o embutidd en Otro equipo. No hacer todo io que hacian los grandes computadores. pero a 16.000 ddlares era suficientemente bi- rato para que cada técnico de laboratorio tuviera uno. Por contra, los Compuladores Ge la Serie Sistema/360. presentados sdlo unos meses ances, costaban cientos de miles de ddlares, El bajo costo y pequetio tamaiio del PDP-8 permitie a otros fabricantes comprarse un PDP-8 ¢ integrario en un sistema global para cevenderlo. Estos otros fabricantes se conocian como fabricantes de equipos originales (OEM). y el mercado de OEM Megé a tener, y aun tiene, la mayor cuota del mercado de computadores. El PDP-8 fue un éxito inmediato, y logré el enriquecimiento de DEC. Esta maquina. y los otros miembros de la familia PDP-8 que la siguieron ( véase.la Tabla 2.5), lograron un estatus a“ Organizacion y arquitectura de computadores Tabla 2.5. Evoiucién dei POP-8 [VOEL88) de produccidn antes reservado a los computadores IBM, con alrededor de 50.000 miquinas vendidas en los siguientes doce aitos. Como se dice en Ja historia oficial de DEC, el PDP-3 «establecié el concepto de minicomputador, abriendo el camino a una industria de miles de millones de délares». También establecid a DEC como el vendedor de miniordenadores nu- mero uno, y cuando e! PDP-8 alcanzé el fin de su vida util, DEC era ef segundo fabricante de computadores detras de IBM. En contraste con la arquitectura de conmutador central (Figura 2.5) usada por [BM en sus sistemas 700/7000 y 360, ios ultimos modelos del POP-8 usaban una estructura que ahora ¢s pricticamente universal para minicompotadorés 'y filetocomputadores: ta estructura de bus. Esto se muesira en ia Figura 2.9. El bus PDP-S. llamado Omnibus. consiste en. 96 hilds con-_ dustores separados, usados para control, direccionamiento y datos. Como todos los compo- ‘entes del sistema comparten un conjunto de caminos. su uso debe estar controlado por la CPU, Esta arquitectura ¢s altamente flexible, permitiendo conectar modulos al bus para crear varias coniguraciones. En la Figura 2.40-se-puede ver ia configutacién de! PDP-3/E. ULTIMAS GENERACIONES Mis alld de la tercera generacién. hay menos acuerdo general en la definicién de las genera- ciones de computadores, En la Tabla 2.2 se sugieren las que serian la cuarta y la quinta gene- racién, basadas en los avances de la tecnologia de los circuitos integrados. Can ja introduc- cidn de ta integracién a gran escala (LSI, Large-Scale Integration), podia haber mas de 1.000 cony en un simple chip de circuito integrado. la Figura 2.9. Estructura dei bus POP-8. iy i i il ae Se Evotucion y prestaciones de los computadores = 35 iy plete la creritura, La longitud de esta pausa puede ser del orden de muchos eentos incluso mules. de clos de insruccidn que ao implican acceso a memoria. Claramente, esto supone tn derroche en el uso del procesador. ‘La Figura 37a ilustea la situacidn del ejemplo relerido en e!pitrafo precedente. El progra- sa de usuario eaiza una yerie de lamadas de escitura (WRITE) entremezcladas con el proce- samiento. Los segmentos de ciigo |, 2, 3 coresponden a secuencias de instruciones qué no ‘casionan operaciones de E/S. Las Hamadas de escritura (WRITE) correponden a ilamadas a Jun programa de E’S que es una de las ullidades del sistema operativo y que se encarga de 1s ‘operacin de E/S considerada. El programa de E/S est consttuide por tres seeciones: ‘+ Una secuencia de instruceiones, rotulada con 4 er la figura. de prepacacicn para la ope * ‘acign de ES a realizar. Esto puede implica la copia del dato Que se va & proporcionar 8 un registro intermedio («buller») especial, y preperar los pardmetros de coatzoi del Eispositivo de ES. «+ La orden de E/S propiamente dicha. $i no se iilizan iaterrupciones. una ver que se jecuta esta orden. el programa debe esperar a que el duposiivo de E'S complete Is ‘operacidn solicitada. El programma esperaria simplemente comprobando repetidamente luna eondicign que indique st se ha realizado la operacién de F/S, ‘+ Una secvencia de instrueciones, rotulada con $ en la figura. que termioan la operacida de E/S. Estas pueden incuir la activacidn de un indicador (lage) que seal sla ope: raci6n se ha compierado correctamente 0 cop errores : Debido a que la operacién de E/S puede necesita un tiempo relativamente lago. el progra- mma de E/S debe detenerse a esperar que concluya dicha operscién: por consiguente. et programa de usuario ettard parado en las llamadas de escrtura (WRITE) durante ua perioe do de tiempo considerable. (2) Saree (nrg. expe I cna tome, teed 8 are Figura 37. Flujo ds contol un programa sin y con interuediones. Organizaidn y eraitactura de computedores Las interrupciones y e! cielo de instruceién Con el uso de interrupeiones'el procesador puede dedicarse » ejecutar otras iastrucciones ‘mientras wna opéracicn de EJS estd en curso. Considérese el Mujo de conirol de Ia Fig '4.3.7, Como antes. el programa de usuario llega 2 un pusto en el que cealiza una llamada al sistema para tealizar una escrtuca {WRITE} El programa de ES a! que se lama ef este ‘240, extd consttuido slo por el eddigo de preparacion y la orden de ES propiamente dicha, Después de que estas pocas instructions se hayan ejecutado, el conteol Se devuelve al pros arama de usuario. Mieatras tanto, ef disposiivo externo estf ocupado aceptands e1 date de | memoria del computador e imprimiéndoio. Esta operaciOn de €'S se realiza concatrente: mente con la ejecucin de insitucciones del programa de uauano Cuando el dispositive externa pasa a estar preparado para actuar. es decie, cuando esté listo para acept ‘via una seal de pericin de interrupcin al procesador. El prosesador respond suspendicn. 4 Ia operacion del programa que estaba ejceutando y salta a un programa, conocido como sgestor de interrupesin». que da servicio a ese dspositiva conereto ¥ prosigue con la Ser {36n det programa original despuds de haber dado dicho servicio al dispositvo. En la Tegura 3.7 los puntos en los que se producen las interrupciones se indican con um asterisco ("Tr Desde el punto de vista de programa de usuario, una ioterrupcida es precsamente eso: luna interrupeiga en a secvencia normal de funcionamiento. Cuando el procesamiento de la intecrupeién se completa, la ejecucisn prosigue (Figura 38) Asi, cl peograma de usvatio no tiene que incluir ningun cSdigo especial para posibtat las interrupeionen el procesador y el sistema operativo son los responsable de detener el programa de usuario y despueh percit ‘que prosiga en el mismo punto. Pra permit el uso de interrupciones. se aude un elo de iterruplin al ciclo de inse troccidn, como muestra Ia Figura 39, En el ciclo de imerrupei,e! procesador comprvcba ni 2 ha generado alguna interrupcion. indicada por Ia presencia de una seh de interapcase, Sino hay sehaies de interrupeidn pendientes. el procesador continua con e ciclo de eaprecsdn 4 accede a la siguiente instruccin del programa en curso. Si hay algyca intettupiga pen: ‘iente. el procesador hace Jo siguiente: Progam ae nar to 6 narnecionas Figura 3.8, Translerencia do conto! debide # une incarupcion. is datos del procesador. ef médulo de E/S de eate eispositivo exierno | Commence —__Casncoain —_cxmsnmamecin = peta | expen Semin Sree Seen ae) “nies Figura 28. Cicio de instuseion con intervociones. |. Suspend ia secucion del programa en curso y guarda su contesto. Euo significa al- ‘macenat la direccin dela siguiente instruccion a ejecuar feontenido actoal del con tador de programa) y evalquiet otro dato relacionado con la activided ea curso del procesador. 2 Carga el contador de programa con la direccién de comienz0 de na rutina de gestion de tcerrupcion [A continuacidn, el provesador prosigue con el ciclo de captacisa y accede ta primera ins- truceida del programa de gestin de iterrupeida. que dard servic & la interrupcidn. Gene ‘almente el programa de gestidn de interrupein fora parte dal sstema operativo. Normal mente. este programa determina el origen de la intecrupciGn y realiza todas las acciones que Sean aecesarias. Por ejemplo, en el caso que hemos estado analizando, el gestor determina (Qué médulo de £/S geners la intercupcion, y puede saltar a un programa que eseribe mas tos en ese médulo de E/S. Cuando la rutina de gestin de interrupciin se completa, el pro- czsador puede prosequir la ejecucién de! programa de usuario en el punto en el que #2 it~ ‘ecrumpid. Es clare que este proceso supone una cierta penalizacidn (aoverheads). Debes jecutarse instceiones extra fen el gestor de interrupcin) para determinar el ongea de la iverrupeisa ¥ para decdir la acziGm apropiada. No obsiante. debido a la cantidad relativamente grande ‘e'tiempo que se perderia simplemente pos la espera asociada ala operacisn de E/S, el peo cesedar puode empleacte de manera mucho mas eiciente uilizando inecrupeiones. Para apreciar el aumento de eficiencia, considérese (a Figusa 3.10, que et un diagrama de tiempos basado en el Nujo de control de las Figuras 37a y 3.7b, Las Figueat 3.7b y 310 asu- ‘men qu el tiempo necesario para la operacién de E’S es relativamente corte: menor que el ‘iempo para completar Ia ejecscién de les insteucciones del programa de usuario que hay et tre operaciones de escritura. La situacién més frecuente, especialmente para tn disppaivo Jeno como una impresora, es gue ia operacién de E S requiera mucho mds tiempo qu eee tar una secuencia de insrucciones de usuatio. La Figura 37e iustra extasituaci6n. En este caso, el programa de usuario llega a la segunda Hamada de escrtura (WRITE) antes de que la operaciSn de E/S generada por fa primera llamada se cqmplete. El resultado ex que e! pro: game de usuario se paca en este punto, Cuando la operacién de E/S precedente se completa. sta nueva Hamada de escrtura se puede procesae. y 3e puede Iniciar Una nueva operacion de ES. La Figura 3.11 muestra ia temporizacin para esta situacion con y sia interrupciones. Podemos ver que existe una mejora de eiciencta porque parte del tiempo durante ef cual {a operaciSn de E,S esté en mareha se solapa con la ejecucisa de instrucciones de usuario. raihaacén yarqatectara de computacores 7s 5 2 ® “Eller 9 [aw o Ss — ® oe 2 8 |r “St lee OO s'* = = aaa o . a £3 com. Figura 2.30, Temportacin eo un programs: pare La Figura 3.12 muestra el diagrama de estados del cic de asrustion madificado para inclu al procesamiento del ciclo de interrupei. Interrupeiones multiples Hasta ahora dnicomente se ba discutido la exstneia de una sla interrupt. Supsngase, no obstane, que se puedan producir varias imerrupeiones, Por ejemplo, un programa puede ‘star recbiendo datos através de una nea de comunicacon © imprmiendo resultados La impresora generar iterrupeiones cada vez que complet waa opeacidn de ecritura.E} cone twolador de a nea de comunicacién generard una interrupign cada vez que legue una un ‘dat de dats. La unidad de datos puede ser un cardtero un blogz, seyin e protacolo de ‘comenicaciéa. Ea cuaqeir cto, es posible que se produzca una interupeién de comunicn- {Sones mientras se estdproggsando la intecrupeida dela impresora Se poeden segue dos ateroativas para tratar ls interrupciones multiples. La primera es ‘desactvar las imerrupciones mientras se eat procesando una iferupeién. Una intrrupién Imbablieda (isabled invecrupt) simplemente signa que el procesador puede y debe igvo- ‘ala sehal de peticidn de interrupeida. Si ao produce una interrupsidn en ese momen 3- neralmente se mantiene pendiente 9 srs examianda poe el procesador na vex ese hiya 3° tivado las interupsiones As, cuando um programa de USUANO se estdejculando y se pro- Buses del sistema 63 Figura 3.12, Dlageama de estados dun ito da instruccin, con interuociones. 64 Organizacon yargldicrure de computadores duce una imtercupei6n, las iterrupciones se inhabilitan inmediatamente Despuds de que la ‘tina de gestion de nirrupesén termine, las interrupeiones se hit antes de que et pro- ‘rama de usuario prosga el procesador comprucba si se han producdo iatercupciones adi lonales Esta aprosimacion es correcta y simple, puesto qu las intcrupeiones $e mangjan en tin orden secuencta estes Figura 3 3s El inconvenient del enfoque anterior esque no tiene en cuenta la priotdad relatva a tas solicitudes con un tempo erteo, Por jemplo, cuando Hiega una entrada desde la inea de comunicaciones. éta debe tramiarse ripidamente. para dey expacio 2 los datos sguien- es Sos pers datos no han pesado ants de ue legato sgn, poden perder. Una segunda alterativa consist en definr prioidades para as intersupciones. permite ‘que una intcrapeidn de piordad més alta pueda interampie a un gestor de iterrupeisa Je Priotdad menor (Figura 3.130). Como ejemplo de esta segunda allernativa, considerese un Sistema con tes disposiivos de E'S: una ampresora, wn disco y una linea de comunicaciones, con prioriiades erecentes de 2.4 y 5 respectivamente La Figura 3.14 muestra una posible sezuencia. Un programa de usuario comienza en = 0 En f= 10 la impresora produce una Imeerrapeioa; 1 informacion de! programa de uiuario se stin en a pila de sitema, y ia ee- Figura 3.14. Ejemplo de secuanciaemporal de varias interrupciones [TANEDOL. cucién continda con Ia rutina de servicio de interrupcién de la impresora, Micatas se ests cyecutando esta rutina, en r= 15. ve produce una interrupcién de comunicaciones. Como la Hinea de comunicaciones tiene una proridad mayor que la impresora. se acepea la interrup- ‘ida, La eutina de la impresora se isterrumpe, su estado se introduce en la pla. y la ejcucion _sontinia con {a rutina de comunicaciones, Mientras se estd eecutanco esta rutina. «disco ‘easiona una interrupcida (¢ = 20, Puesto que esta intefrupeiontiené una priosidad menor. simplemente se retiene. y a rutina de comunicaciones se eecuts hasta que termina. Cuando Ia rutina de comunicaciones termina (c= 25), se see procesador. que corresponde a la ejecucidn de lz rutina de la impresora. No obstamte. antes {incluso de que pueda ejecutarse uno soln insteuccion de esa rotina el protesador acepta Is ierrupsign. de mayor priondad. generada por el disco, y el contol se transfire a la rutina e disco, Sdio cuando esta rutina termina (¢ = 38) la eatina de la impresora puede reanudar- se. Cuando termina esa rutina (¢ = 40), el control vuelve Finalmente al progrima de wsuaro, FUNCIONAMIENTO DE LAS E/S Hasta aqui, hemos diseutido el funcionamiento del computador controlado por ei procesa~ dor. y 20s hemos fjado esencialments en ia inteaccién del procesador y la memoria. La dis- usidn solo ba aludido al papel de los componentes de E/S. Este papel se discue con deta enel Capitulo 6, pero es conveniente hacer agul un breve resumen. ~ Un médulo de E/S (por ejemplo, un controlador de disco puede intereambiar datos di- rectamente con el procesado. Igual gue el procesador puede iniciar una lectura o escitura fen memoria. especificando la direcién de una posicin concrera de la misiua el procesador tambien puede ler o escribir datos de 0 en, un médulo de E.S. En este caso. el procesador identifica un dispositivo especifico controlado por un modulo de B/S determinado. Por con- Siguiente. se puede producie una secuenca de instrucciones similar 2 la dela Figura 35, con vastrucciones de E/S en lugar de las astrucciones de referencia a memoria, En algunos casos. es deseable permit que los intereambios de E/S se produzcan directa ‘mente con la memoria. En es caso. el procesador cede a un médulo de E/S la autorided para leet de. o escribir en. memoria para que as la transferencia E-S-memoria pueda producicse sim Ia intervencién del procesador. Durante esas teansferencas, el médulo de ES proporcio- compunndoras 88 Orgeniznciony arauitectura w/a Ia memoria las drdenes de lectura 0 escritura,liberando al procesador de cualquier res- ponsabilidad en el intercambio. Esta operacidn se conoce con el nombce de acceso direc a memoria (DMA. Direct Memory Acct y se estudiar con deal en el Capitulo 6. Por ‘hora, todo lo que se necesita conocer es que la estructura de interonerin del computador pede tener que perm la ineraccicn direca £/S-memoria Peter ed Un computador est consituide por un coajunia de unidades © médulos de tes tipos ele ‘rentals (ptocesador, memoria y E/S) que se comunican ene si. Em electo, un computador ‘una red de médulos elementals. Por consiguent, deben exist lneas para interconectar ‘or mdulos El conjunto de lineas que conectan ls dversos méulos se denomina estructura de incr conexign. El dicho de dicha estructura dependerd de los intercambios que debaa produciss {nt los mddulos. La Figura 2.15 sugiece ls tipos de intercambios que se necesita, indicando las formas de tas entradas yIassalidat on cada tipo de médul: 1+ Memoria: generalmente, un mddulo de memoria ext constituido por N palabess dela ‘misma longitud. A cada palabra se le esigna una dnica diceecién numérica (0, 1. N=) Una palabra de dates puede lense de o eseribirs en ia memoria. £1 tipo de ‘opecacisn se fadica mediante las sehales de control Read (ee) y Wate (ecribith La potion de memoria para Ia operacion se espectica mediante una drecién ++ Médulo de £/S: desde um punto de vista interno (al comprtador, la £/S ¢s foncton mente similar a la memoria. Hay dos tipos de operaciones ler escribir. Ades, un ‘modulo de E/S puede controlar ms de un dspostivo extern, Nos reerremos a cada ‘ina de estas interfaces con un dispositive extern con el nombre de puerto sports), y Se le asignara una direcign a cada uno (0, 1, M ~ 1). Por otra parte. existe lineas ex temas de datos para lz entrada y la salida de datos por un disposivo exterzo. Por ultimo, ua médulo de B/S puede enviar sefiaes de imerropcin af prosesador. + Procesader: el procesador le iastrucionesy dates, escribe datos una vez los ha proce- sado, y ubliza ciectas seals para controlar l faacionamieato del sistema. Tambien puede reibie sole de interupeién. ‘La lista precedente especiia los datos qu se intercambian. La estructura de interconexi6n debe dar cobertuta a los siguientes tipos de taaslerencias: Memoria a procesader: ei procesador le una instrcién 0 un dato desde Ia memoria + Procesador a memoria: el procesadorescrite un dato en la memoria, ‘+ Ba procesador: el procesador lee datos de un dspostvo de ES 2 través de un médu- lode ES. + Procesador a B/S: el procesador envia datos al dispositvo de E/S + Memoria 2 ES y vicevrs: en exos dos casos, un médulo de E/S puede intercambiar datos directamentecoa Lz memoria. sin que tengan que pasar a (aves del procesador. ubllzando el acceso directo memoria (DMA) ‘A tranés de lot aflos, ¢ han probado diversas estructura deinterconexién. Las mks comes soa, con diferene. las estructuras de bus y de buses mitiples. E resto de este capitulo se ddedica a evaluar las estruturas de buses. Buses dol stems 67 = .B Figura 3.15. Médulos ce un comoutador, Ee Un buses ua camino de comunicacién ente dos o ms dspositvos. Una caracteristia clave den bus es que se trata de un medio de ransmision compartido, Al bus se conectaa varies dlispositivos,y cualquier seal runsmitida por uno de esos dispositivos esta disponible para ~ que los otros dispontivos conectados al bus puedan acceder a ella. Si dos dispostivos (rat- miten durante el mismo periodo de Uempo. sus sedales pueden solaparse y distorsionarse. CConsiguientemente, solo un dispositive puede transmitr con éxito en un momento dado, Usoalmente. un bus estd consttuido por varios camiaos de communicacién 0 fmeas. Cada ina es capaz de transmit seiaies binaras representadas por 1 y por 0. En un intervalo de tiempo, se puede iransmitir una secuencia de digitos binarios a través de una daica linea. Se pueden tiliza varias lineas del bus para traasmitir dgitos binarios simultdneamente (en pas ‘aleio). Por ejempio. un dato de 8 bits puede rransmiirse mediante ocho lineas del bus 68 Orpanaacion y arqutectura do computadores ‘Los computadores posten distntos tipos de buses que proporcionan comunicaciée entre sus componentes a istintosnivees dentro dela jrarquia de sstema. Et bus que conecta los ‘omponentes prineipales del computador (procesador, memoria y E/S) 4 denomina but dal sto ye bus) Las eats de rene mae connes dire de COD tador estén basadas en 6 uso de uno o mis buses de! sistema, ESTRUCTURA DEL BUS El bus del sistema ests constiuido, usualmente, por entre $0 y 100 Uineat. A cada Mines se le signa un significado o una funcion particular. Aunque ersten diseios de bases may diver Sos en todos ellos las lineas se pueden clasifcar en trex grupos funcionales (Figuta 316) ligeas de datos, de direcciones. y de control Ademds, pueden ens ness de alimencacion para suministrar energia 2 los modulos conectados al bus Las leas de datos proporcionan in camino para transits dates entre los modulos det sistema, El conjunto constnaido por estat Vineass¢ denomina bus de dains. El bes de datos generalmente consi de & 16 0 32 Koeas dstitas. ayo ndmero se conoce como anchura det ‘bus de datos. Poesto que cada tinea silo puede trantportar un bit cada ve, & numero de tineas determina cusntos bits se pueden transi! mismo Uempo. La anchura dl buses un factor clave a la hora de determinar las prestacones del conjunto del sistema. Por ejemplo i cl bus de dates sene una anchura de 8 bits, y las insurucsones soa de 16 bits. entonces el procesador debe acceder al modulo de memoria dos veces por aa ciclo de instruccién. Las lines de direccion se wiizan para designar la fuente 0! destino dei dato situado en ¢! bude datos Por ejemplo sel prosesador desea leer una palabra (S160 32 bits) de datos ‘de a memoria. sida ls divecidn de i palabra deveaca en ls Wneas de diescones. Clara- ‘mente. Ia uachara del bus de direcciones determina la matima cxpacidad de memoria posible nel sistema, Adems. las Haeas de dtecciones generalmente se uslizan también para direc: ‘nat fos puertos de E'S. Usualmenc los bis de orden ms ato se utiliza para seecrionat ‘una posiion de memoria © un puerto de F/S dentro de un médulo. Por eemplo, en un us 4 8 bits. la direccidn OIL inferiores haan referencia a posciones dentro de un mé- ‘dulo de memoria lel médulo 0} con 128 palabras de memory lat diecsiones {0000000 y Superires designarian dispositivos eoaectados 2 un médulo de €/S (médalo 1). Las linc de control se wilizan para controlar e acceso el uso de is liness de datos y de dicecciones: Puesto que las lineas de datos y de dieceiones son compartidas por todos fos componente. debe existir una forma de controlar su wo. Las seals de control ransmiten tanto drdenes como informacién de temporizacin entre los médulos de sistema. Las sefales, de temporizacion indican la valier de fs datos las ditecciones. Las seals de Srdenes es pecfican las operaciones a realizar Algunas lineas de control Uipicas son r cr Maar | Buse dal sistema 6) 2225 koa moma (rey Wee bace qo to del bu 8 exrb ops tae , “o « Lectura de memoria (Memory Read): hace que el dato de la posi ‘Soe are 7S earn de (VO Wet: hace quel dto del bus tramsre atk el puerto cre a Be deo, 24, Lectura de B/S (E/S Read): hace que el dato del puerto de E/S direccionado se site en pauee ‘Trance oomci (Tro: ACK) inden que te ha aod 8h arabe «Pri debs (Bus Reqs nd ge un ml ees pone econ dl bu. {Candin de bn (Bus Gum): ndca que cee el cout del bus a we edna gue to fetta «tl de inereplb (lcerap Rue nda shay ua nerpcin pnt © tnrapia osmetda lterrpt ACK setala gurl inerupeis pendic e ha Foon + Rel (Clocks ia pra stoi options + Iie (Reset pone lor miuloyconetadon exw xa nical fnconamiemo del bus se deeribea continuacién. Sen modulo desea envi dato a Sir debe baer So coms (i) oben eso el uty) uae Se ver de Sita mac deca pedi un dat. tro modulo. sh obtener wo del bry DNase teria ptcion ao malo medune hs Unease conta aera apepeson. Bet puss dee pera gurl epuade module we dda Fria, us dese ede becto un cnjnto de conductors elec pare lon ron constr vo ent Se etal buds 2 na tc (ares Sears are {01 El busasemendeatanes de foto lon components de sata ada tno soe es se cooeta algunas oda as ines! bus Ura daoscion ca uy corsa ee, tisem i Figut 7 En ee gmp el bu ons de ds columns tert se soedes. {5A lo tio downs clean dinero opamp ponte tonnes Cate oe diteccionada se Figura 2.17. Implomentacion five tisk de una arciectura de bus. i 70 Orgonizacion y aruitectra de computadores | ranuras (slots) dispuestas en sentido horizontal para sostener las tarjetas de ciruitoimpee-4 $0, Cade po de los componenes principles del stems ocup una o vais tres se] coneeta al bus através de eras ranuras. El sistema completo se introduce dentro de un chasis. sia es la dsposicign mas convenient. Ast se puede adquirr un computador pequeto y expandito (ampliar memoria, médulos de E'S) mis adelante akadiendo més tarjetas. Si un | componente de una (ata falls. la tarjeta puede quiarse y sustituire etimente, i JERARQUIAS DE BUSES | Si se conecta un gran numero de dispostvos al bus. ls pestciones pueden disminai. dos eausas principales: 1. Enso a mis dipositionconectdos al bus mavoe sel ear de propose Ene recardo eterna ef erp que seein ls dapentvos para coornanc ene ‘no del bu. Sie contol de bo pee fecantrete do un aposiiva 4 toos ‘eacdos de propagncsn pueden seta: sen lemente alas pessoas El bu puede convert en va cla de orl a media qe as ptoones dense ferenei acumlaas 4 aproviman af capciad del bus Este problema ve pucds ‘sate en lgura medi inccmentando Ia velocidad aque e! bus puede ransen ios datos y uuizando buses as ancos (por ejemplo ineremearando el bus de dats 325 i Sn mun, pt ca en ara Sen as posivor comme “por wemplo, contolaores de greasy dew © loves de ects ncremertandone idan cs bah gue but Ue> ‘est destinado a dejar de utiizarse. Por consgaiente, Ia mayocia de los computadores utiliza varios buses, normalmente organi- zndos jerarguicamente. Una estructurstipica se auesira en fa Figura 3.182. Hay un bus local ‘que conecta el procesador a una memoria coche yal que pueden conectasetambidn uno 0 ‘nds eisposivos locales. El controlador de memoria cache conecta la cacke 00 slo a! bus local sino también al bus de sistema, donde seconecian :odor fos mdulos de memoria prin- cipal. Como se diseute en el Capitsio el uso de una cache ava !aexigencia de soporar los sceesos frecuentes del procesador a omoria piscipal. De hecho, a memoria principal pue- de pasar de bus local al bus de sistema. De esta forma, ls transerencas de ES con la me- ‘mona principal a través del bus de sistema 49 interren la actividad del procesador Es posible conectar controladores de E’S dirctamente al bus de sistema. Una solucida ‘nds efiiente consste en vullzar uno 0 mds buses de expansion. La intrfaz del bus de expan s6n cegula tas transferencias de datos entre el bus de stem y los controladores conectados 1 bus de expansign. Ext cisposcién permite coneata al sitina una ampla varedad de ‘ispostivs de E/S , al mismo tiempo, aisia el trilico de informacién entre ta memoria y el, Drocesador del tics correspondiente alas ES. La Figura 1.184 muestra algunos ejemplos lpicos de dispostivos de E/S que pueden estar coneciados al bus de expansign. Las conexiones a red incuyen conexiones a redes de rea locgl (LAN, Local Area Networks) tales como usa ed Ethernet de 10 Mbps y coeeriones a redes de area amplia (Wide Area Networks tals como la red de conmutacigo de paquetes (packet-switching network»). La interiaz SCSI (Small Computer System Interface) es en sf ‘un tipo de bus utlzado para conectar controladores de disco y otros peciéricos. El puerto serie pasde utlizase para conectar na impresors 0 un einer Esta arquitectura de buses tradicional es azonablemente eficiente, pero muestra su de bilidad a medida que los dispostivos de F.S offecen prewtacionss cada ver mayores La respuesta comin a esta situaeidn por pare de la industna. ba sido proponer wn bos de alta i ee tas oe ace eesti ~ (e) tera ina! eaieet eae mao] lw =) = (= a “: m = m= =] = Figura 3.18, Eiempios de configuracionss de bus. velocidad, que esd estrechamente integrado con el resto del sistema, y require s6lo i adap tador (abeidge>) entre el bus del prosesador y el bus de alta velocidad. En algunss vcasiones. tsta disposicioa es conocida como arquitectura de entrelanta femezzanine architecture) La Figura 3.18b muestea un ejemplo tipico de esta aproximacién, De nuevo, hay un bus focal que conecta el procesador a un contiolador de cache, que a su vez est conectado al bus de sistema que soporia a fa memoria principal. El controlador de cache estd integrado juo- to con el adaptador. 0 dispositivo de acoplo, que permite la conexiéa al bus de alta veio- cidad, Este bus permite ia conesidn de LAN de alta velocidad, tales como Fast Ethernet « 2 Lorganizacé y arquitectura de computarores 100 Mbps, controladores de estaciones de trabajo especificos para aplicaciones grfias y de video. y tain controladores deinerfaz para buses de peiericos. tales como SCSI y Fie. ‘wie, Este Ultimo es un bus de alta velocidad disehado especiicamente para conectar disposi tivos de E/S de alta capacidad. Los dspositivos de velocidad menor pueden conectase al bus de expansion, que uilza usa iaterfaz para adaptar el trfico entre el bus de expansign y el ‘bes de ala velocidad, La ventaja de esta organizacisn es que el bus de alta velocidad acerca al peocesador tos, digposiivos que exigen prestaciones elevadas y, al mismo tiempo, es independiente del proce: sador. ASG s# pueden tolerar las cferencias de velocidad entre el procesadoty el bas de altas Drestaciones y Ike vaslaciones en Ia definciin de las Hneas de Joe buses, Los ambios en Ia Srquiteswra del procesador ao afeciaa al but de alta velocidad, y viewers, ELEMENTOS DE DISEfIO DE UN BUS ‘Aunque existe una gran diversidad de diseios de buses. hay unos pocos par mentos de diseto que sirven para distingur yclasificar los buses, La Tabla 32 en lementos cave. Tipos de buses, as lneas del bus se pueden divids en dos tipos genéricos:dedicadas y miatiplexadss. Usa linea de bus dedicada esti me asigaada auna funciga 0 a un subcoajunt fisico dé componente del computador Un ejemplo de dedicacin funcional, comin en muchos buses, es e uso de lineas separa- das para dicecciones y para datos. Sin embargo, no es ezencial. Poe ejemplo. Ia informacion ide dieccin y Gatos podeia transite a tavés del mismo conjunto de lineas ise uta tuna linea de control de direccién vida. Al comienzo dela transfeencin de datos, la ditee- ‘id se sta en et bus y se activa la linea de direction vida. En ese momento, cada médulo ‘ispone de un periodo de tiempo para copia la direceién y determnar si es lel modulo ireccionado. Despuds la dreecién se quita del bus, y las mismas coneviones se wilzan para ‘dsequentetranferencia de lecture oescritura de datos. Este metodo de uso de lat mismas ineas para usos diferentes sama matipexado en et rempo. La veataja del multiplerao en ef tiempo es el uso de menos lineas, cosa que ahoera espa ‘io y, normalmente, covtes, La desvearaja eb que se necesita una circuitersa mss compleja ex fads médula. Ademés. existe una pouble reduccién en las prestaciones debido & que tos ‘eventos que deben compari las mismas fecas no pueden producise en parlelo. La dedicacién fisice ve refee al uso de miltiples buses, cada uno de los cuales conecta sélo un subconjunto de médulos. Un ejemplo tipco es el uso de un bus de E/S para interco- Tabla 3.2. Elomontos del digefo de un bus Tipe ‘cra dl bus 7 Gesiesdo Deecsion Nottenado Datos Matodt de wire Tipe de transleconcia de datos ‘Contralzase tecture Srerbuite Eneerura ‘Temporiacion oeture moaiteacidnasertara ‘Sincroro actor deapues ce asta [_Bacoro Bloae Buses del sstama 73 nectar todos los médulos de £/S: este bus, 2 su ver. se coneca al bus principal & través de alg tipo de médulo adapiador de £/S. La ventaja potencial de a dedicacton fisca es su tlevado readimiento, debido a que hay menos dispuas por el acceso al bus (-bus conte: tions). Una desventala es es iacremento en el tamafo y ef costo del sistema. Método de arbitraje En todos Js sistemas, exceptuando los mas simples. puede necesitar el control del bus mis de tun mSdulo, Por ejemplo, un médulo de E'S puede necesitar lee o esribie diectamente en ‘memoria, sin eaviar el dato al procesador. Poesto que, co un instante dado. solo una uridad ‘puede trinsnti através del bus. se cequiere algin método de arbitraje. Los diversos méto- dor se pueden clasifiar aproximadamente como centralizados o ditribuidos. En ua exqueme ‘eatralzado, un dnico dispositive hardware. denominado conrolador det bus 0 drbitra, cs ‘responsable de asignar tiempos en el bus. El dspostivo pudde estar en un médulo separado (0 sr parte del procesador. En un esquema disribuido. ao enste un conirolader central En Ss lugar, cada modulo dispone de léica para cpntrola el aces. y 4s méduos actUan con: jumtamence para compari el bus. En ambos métodos de arburaie. el propdsto es designay ‘un dispostivo, el provesador o un médulo Ge £/S, como maestro del bus. E! maestro podria fentonces iiciar una Iransferenca de datos \lectuea 0 escrituralcoa otto dispositive, qe Ac {ia como esclavo en exteintercambio conereto, Veremos ejemplos de ambos métodos dear bitraje més adelante, en esta secon. ‘Temmporizacién El término temporizacién hace referencia ala forma en la que se coordinan los eventos en el bus. Con temporizacign sincrona, la preseaia de un evento en ef bus ert determinada por tn reloj El bus incluye una linea de reloj a waves de la que se ansmite una seouencia em la ‘que se alternan intervals regulaces de igual duracida a uno y a cero. Un Unico intervalo & uno seguido de otro a cero se conoce conto ciclo de relojo elo de busy define un intervalD de erp una tie sow) Todos ns postive el bu pueden et es ee 9 todos ls eventos empiezan al principio del clo de rele) La Figura 3.19 muestra el diagra- sma ce tiempos de una operaciin de lecturasincrona (en el Apendice 3A se puede consullar tana descripeién de tos diagramas de tempol. Otras seaales del bas pueden eambia¢ en el Manco de subida de fa efat de celoy (reacionan con un ligero cetardot. La mayoria ée los ‘eventos se prolongan durante un Unico ciclo de relo. En este semplo sence lana seal Ge lectara y sitia una direccidn de memoria en las ineas de divees sctiva una sefal de inicio para indicar {a presencia en el bas ée la direccidn y ‘Gdn de control EI modulo de memoria ecanoce la direcida y, despues dein etardo de us ‘elo, sit el dato y la seAal de reconocimiento en el bus. Con la temporascién asinerona. Ia presencia de un evento en el bus es consecuencia y depende de que se produzca un evento previo. Ex el ejemplo sencilo de la Figura 3.19, e rocesador sitda las senais de direcaidn » Iectura en el Bus. Después de un breve intervalo ara que jas sefiles se estabilicen, activa la seal MSYN (master sync. esincronizacion del indicando la presencia de seaales de direccin y contol valides El modulo de me- fora respoads proporsonundo dato yuna seal SSYN are sya, sineronzaciga de fsclavosh La temporizacién sincrona es més ficil de implementar y comprobar. Sin embargo. ‘es menos fexible que la temporizacion asfocrona. Debido 2 que todos los dispostivos en un bus sinerono deben uniizar la misma frecuencia de rloj,elsstema no puede aprovechar las = a | owe le von “— . tm od ¢+——— oat = = oreo Figura 3.18. Temporizacion 6 una opeiacion di acura, ‘mejocas en las prestaciones dels dsposiivos. Con la termporizaci6n asincrona. pueden com partic el bus. uaa mezcla de disposi lentosy edpidor,uilizando tanto las rcnologias mais antiguas, como fas més recientes Z Anchura de! bus Et concepto de anchura del bus 4 ha presentado ya. La anchura del bus de datos aecta alas prestacines del sistema: cuanto més ancho es el bus de datos, mayor ex el numero de bis {Que se transmien a ia vex La anchura de bus de direcionesaiecta a la capacidad det sste- ‘mar cuanto mis ancho es e bus de direcciones, mayor es el ango de posiciones a las que s€ puede hacer relerencia. Tipos de tranferencia de datos « Por timo, un bus permite varios tipos de transferencias de datos, aly como iusica la Figur £2320. Todos los buses permiten tanto transferencas de escritura (dato de maestro a escla- ‘ol como de lectus (dato de esclavo a maestro} En el caso de un bus con direcsionesy da- {os multiplexados, ef bes se uiliza pamero para especfiear Ia direccién y, luego. para transfers e! dato, En una operacién de lectara. geteralmente. bay un Gempo de espera mien teas el dato se estd captando del dispontivo eelavo para stuarlo en et bus Tazto para la Jectura como para la esericura, puede haber también un retardo size necesita ulizar algn a amo — a ee ‘menos | omy vec recs | wepires coe) comaseeer pric de cra (mae) Shero'ene i to] omen Jeers] eval [owe Emel se] Gsernaia te acer oman coagom o[ am [om fom arses de Boa coon Figura 320, Tipos de ranslerencias de dotoe on un bus (GOORBIL =. procedimiento de arbitraje para acceder al contcol dei bus en el resto de la operacisa (es Seci, tomar el bus para solietac tina lectura © una escitura y, deepues. tomar el bus de nue: ‘¥o phn realizar la lectura ola eseritura En el caso de que haya linens dedicadas a datos ya disecciones, la direccin se sta en el bus de drecciones se mantiene ahi, mientras que el dato se ubica en e! bus de datos. Ex una ‘scritura, el maestro pone ef dato en ei bus de datos tan pronto como se han estabilizado las lineas de direcién y i esciavo ha podido reconocer su direccida. En una operacién de lesta- ‘el escave pone el dato en el bus de datos tan pronto como haya reconocido su direccia y disponga del mismo, En clertos buses también son posibes algunas operaciones combinadss. Una operaciga de leetura-modificcidn-escnitura es simplemente una lectura segurda inmediataments de una eseritura en fa misma direcciéa. La directién se proporciona una sola vez al comienzo de la ‘operacidn. La operacidn completa es generaimente indivisible. de cara a evtar cualquier ac- ‘230 al dato por otrcs posibles maestros el bus. El objetivo primordial de esta posibilidad es proteger los recursos de memoria compartida en un sistema con multiprogramacin (véase el Capitulo 7.” ‘La lectura-despues de-escritura es una operacidn indivisible. que consist en uaa escitora sequida inmediatamente de una lectura en la misma direccida, La operacion de lectura se ‘puede realizar con el propdsito de comprobar el resultado 6 Organzacion y arauitectura de computsdoree | \ Algunos buses tambiéa permiten tranfrencias de bloques de datos. En eatecato. un cielo de diseccion viene seguido por m ciclos de datos. El primer dato se transfere a0 dete, Ia direceidnespecificada: el resto de datos se transfieren ao dende ar diresciones siguientes, El bus PCI (Peripheral Component laterconnect, cinterconexiga de componente periéricos) 5 un bus muy popular, de ancho de banda elevado, independiente del procesador, que se puede utilizar como bus de peniéricos o bus para una arquitectura de enteplanta. Compara: do con otras especiicaciones comunes de bus, el PCI proporciona mejores prestaciones para tos subsistemas de B/S de alta velocidad (por gemplo, ls adapiadores de pantalla grife. os controladores de imteraz de red. los controladores de disco, etc) El estdndar actual permite 1 uso de hasta 64 lineas de datos a 66 MHz, para una velocidad de transferencia de 528 MBytes/s 04224 Gbps. Pero no es precsamente su clevada velocidad la que hace atractivo al PCL El PCT ha sido disezado especificamente para ajustarse econsmicammente alos req sitos de EIS de los sistemas actuales se implementa con muy pocos cccutos infegrados,y permite que otros buses se conecten al bus PCI. Intel empea6 a trabajar en el PCI en 1990, pensando en sus sistemas basados en el Pen= sium. Muy peonto, Intel edo sus patenes al dominio pablico ¥ promovs is creuion de ana, asain dtl PI SIC (Speci Intecest Grp) pra sonia: desaaio ‘mantener la compatibilidad de las especificacones det PCL El resultado ha sido que el PCT ha sido ampliamente adoptado, y se est incrementando su uso en los computadotes petso- ales, estaciones de trabajo. y sevidoves de astema, La versa actual, PC) 2.1, apareeid en 1995, Puesio que las especficaciones son de dominio public y estén soporiadas por una 2m lia benda de la industria de procesadores y perifncos, los productos PCI fabrieados por Compaaias diferentes son computibies. EI PCI esd disetado para permitr una cierta vatiedad de configuraciones basadas en mis xoprocesadores, incluyendo sistemas tanto de uno como de varios procesadores. Por consi- fuiente, proporciona un conjunto de funciones de uso general. Utiientemporizacin siacro- hay un esquema de arbitrae centalizado. sutstra la forma usual de utilizar el bus PCI en ua sistema uniprocess- dor. Un dispositive que integra el controlador de DRAM y el adaptadr al bus PCI propor: ‘ona el acoplamiento al procesador y la posblidad de generar datos a veloidades elevacns da como un registo de acoplo («bullet») de datos, puesto que la velocidad el bus PCI puede diferir de ln capacidad de £/S del procesador. Ea un sistema multiproce- sador (Figora 321b), 4 pueden conecrar mediante adaptadores una o varias cofiguraciones PCI al bus de sistema del procesador. Ai bus de sistema se conectan Gnicamente las unidades procesador/cacke. a memoria principal. y los adaptadores de PCL De nuevo, el uso de adap- tadores mantiene al PCI independiente de la velocidad éel procesador. y proporcions (a pos ‘iidad de recibie y enviar datos répidamente ESTRUCTURA DEL BUS El bus PCI puede configurarse como un bus de 32 0 64 bits. La Tabla 3.3 define las 49 linees de seal obligatorias en el PCL. Se dividen en los grupos funciondies siguientes: ‘+ Termiaales («patilase) de sistema: conttuidas por los terminales de reo} y de inicio (eresets), uses del satema 77 i Figura 3.21, Ejernpos de coniguraciones PC. + Terminales de direcciones y datos: incluye 32 Lneas para datos y dieesciones multiplexs- das en ol tiempo. Las otras tineas del grupe se utlzan para interpretar y validar las Hineas de sefal correspondiente alos datos y a las direcriones ++ Terminaes de contol de fa fterfar: controian la temporizacisn ¢e las transferencias y proporcionan coordinacin entre los que las incian os destnatarios. + Terminales de acbitraje: a diorencia de las otras lineas de sei del PCI. éetas no son Meas compacidas. Cada maestro del PCI tiene sv par propio de lincas que lo conectan directaments al érbteo del bus PCL + Terminale para seals de error urizadss para indicar exvres de paridad. u otros. 78 Crpanisncién y arquitectura de comeuradores t0Aa1 PCI obligatorias Beseripa “Terminalen de stoma Praporcions la moorgcin par odes ln wananciones y es muesrenga en ‘Ronco do subi. Se puoden ura Fecuoreas Ge ale hasea 38 ME iste ace aue 19 og region acuenciadovesy veeles eapsciins FCI po test estas de a, “Terminalon Ge erecciones¥dator aoa ‘inas multiberads para deccones y does, Corr ‘Seinen miiengn oe rdaren albu y ab a cy rable) Os Tantei Yose de datos la ngasigtean cal de os cuato grupos de reas (Go byes transport Iniormac van rs Paperions garded pa is Ineas AD y CBE, un cca de aol despues. €) | "aesve proporcions PAR para igs fases de Gireccidn y aszitura de Gatos, ¥ | _Spshiva do icra genera PAR on Is ase Ge lctrs de Gots. “Terminales de cond do intra Fane y= ] Surnniavadas por ot mawsvo actual para indica’ el comvanto ya dunsin c ‘ha wanaloracia Ung aetvs ot corian yan dnctiva cuando e meets | tits bravo gars emoetar a Ga! del fase de cto Rove | | | | Ince pepuads Unio ona La sropordora mons acu Sl bus ih ineichdar uo wananeain: burnt ors Yesurn, mes oon ot ces ‘sulgreoarao pee soap sion Gort uns estos indica ow 9 89 | Sine St an 0 Taove ot Ser eee EE pte gmearerimnaia enmimucomarasaa | Sota ee eee store ae ‘rica que ol diapontiva selecsonado even que wl Taesro parla Waneaccion ose Suton de iio oy Sapna iinet One Siac, Vad como SSatgureen OEveELe ‘eietor de disponbve (Device Sect, Acivaca gor ol apostva eveccons- “docuansa ha reconouida mu Sruceidn: Ina a owas aol san Ro Recorado un dspoenive, Terminales de wtitvale Wear ‘cute Tnaic bebo que aiaponve corregoncente eae wile bux Es uno ies aurea punto expects bra ae dapomtieo. Indic a elspa aye ol aval ha ces «acceso a bun. Es uno Wn Bumo-a-puntowapeciicn para cach Gipostivo “Terminals pera sells Ge eror Pen ‘Eror panded Inca que se Na gatecrnco un eror de pice wn on Coe (Bo pate dol Sinpostve en el cos cena ewitur. © por pare dt malate Gn'seana de una ture “Ear del vate, La punge acta coger dapostve para comuncar ogres "Ge sanded onta ieccon u ove po de anors erica autin de a parida Buses do sistema 79 AAdemés, a especfiacisn det PCT define $1 sehales opcionales (Tabla 3.4. divididas en fos siguientes grupos funcionales: Tabla 34. Lineas de sefial PCI opcionales Soseahoste [Tos Depa ahaa Tithe 9] Dita papa an arn a oC re WSs | aa [ Chae ura pa oa ran a neds a Zain | INTO ‘O16 | Uitlieads pare pedir ura interrupclany sla ene significado en un Giapexine i + Se | SoONE Terni recon obo ta Tne —[_we | has aero ors ¥ a pO {tie | m| Uns lpi oe eens vt be Derr isn a a etna oe ance aSegie ee Btns Sees Sans eto cases star as at Seca Seems eee a eka seein wenn Seow prs aa ona a eit rates = dure ns anna AD pwn Ew Sooo Termine de AGI Bcoday SP ee i>] Pe iene pr nse noone fea a itorin ] 2 Sa Ba 2 etn cl tat at a in| yaaa dete, Ulan pr nsec b+ oe doe yas ibe Siete ete a 785 a) Say wet rea prs apr OED ov Boy ars oa ore Sea ace ae | Same inves me aca ae a crea aieaweae ate Ta Wi te aU pr ni # congo Gt pure Boe socparsas Sate ecaa, ue Shae nde {eh 9 8, biswaconat waco, is SUfl itetegaocvase la sar un sapsitve on cade moment, * tart ctv ml noe Inlosr de tenon ese oo tae Crganaacion y arquitectura de camputadores + Termiales de Inerupen: Para los dipostivos PCI que deben generar peticiones de servicio. gual que los terminals de acre. no $09 ieas compart sino que cada ‘spostivo PCT ese su propia linea ones de petign de interrupt aun conta dor de interrupoones. + Terminles de Soporte de Cache: Necsrios para permit memorias cache ene bal PPI atocadas a Gs procesadoro a otro dispose. Esto terminals permit e so de protcolos de conerenca de cacbe de sondza de Bus (anoopy ache} (en el Capitulo 16 se discuten estos protocols) + Terminale de Amplincin a Bu de 64 bits: tacuye 32 ines multiplexadas en el iempo pata diteatonesy datos y se combinan con ls nea obligato Ge direct y datos bara coostair un bus de dvcconesy datos de 64 bis. Hay otras pea de exe grupo fue e eliza pave laterpcetaty valida ls lneas de datos y dizesiones.Por alti, tay dos tineas que pcre que 6s dispsitves PCT se pongas de ecuedo para usa tor ot bi 4+ Teeminales de Tet (STAG/Boundary San): Estas seales se ajusan al estiodar TEEE 11991 pars la defini de procedmientos detest ‘OROENES DEL Pct La actividad del bus consiste en transerencias entre dos elementos, denomingndose maestro al que inicia Is transacciGn, Cuando un maestro del bus adquiere ef coatrol del mismo, dete mina el tipo de transferenca que se producid a continuacidn. Durante la fase de drecciona- ‘miento de teansferencia, se utlcan las lineas C/BE para indicar el tipo de translerencia. Los Uipos de drdenes son: + Reconocimiento de interrupeiéa «+ Lactuen de linea de memoria + Lectura multiple de memoria «+ Exeritura en memoria «+ Grcritura einvaldacién de memoria + Lectuen de configuracion Eneritura de configecaciéa + Ciclo de diesen dual El reconocimiento de intecupcion es una orden de lectura propoisionada por e dispositive {ue actia como controlador de interrapcionesen el bus PCL. Las linea de diecciones no se utizan en Ua fase de ditecciooamiento,y Ins Uineas de byte activo (sbyte enables) indican el ‘tumati del ideatiieador de interrupcida a devolves rl ge ido epei i para inn de sm mej a ano oa sinoe Las dene de tra de B/S y vectra da BS ution par intercambie datos ene sl madolo que inca la rasterensay un controlador de E/S Cada pont de £79 te Buses del sates 81 su propio espacio de direcciones. y las lineas de direeciones se wilizan para indicar wn dispo- sitvo concreto y para especifiear los datos atrasferie a. o desde, ese dispositivo, El coacepto de dieecciones de /S se explora en eh Capitulo 6 Las Sedenes de lectura y escrtura en memoria se utilizan para especificar la transferencia de una secvencia de datos, uilizando uno 0 mds cicios de ceo}. La interpretacion de estas Sedenes depende de si el controlador de memoria del bus PCI utiliza el protocolo PCI para, transferencias entre memoria cache. o no. Silo utiliza, la transerencia de datos a. y desde, Ja memoria normalmente se produce en érmiaos de lineas o bloques de cache’. El uso de las ues Gedenes de lectura de memoria se resumen en la Tabla 35. La orden de exertuta en me- ‘moria se utiliza para transfert datos a memoria en uno o imds ciclos de datos. La orden de ‘seritura einvalidacion de memoria transfere datos a memoria ev: uno 0 ms cies. Adem, Jndica que se ha escrito en al menos uns linea de cache. Esta érden permite el funcionamien- to dela cache con postescitura (awrite hacks) en memoria. Las dos drdenes de configuracidn permiten que un dispositivo maestro lea y actualice los parimetros de configuracion de un dispositivo conectado al bus PCL Cada dispositvo PCT Buede spon de hasta 256 reitositeroos,uaados para configura dicho cisposivo ‘Surante ln inicalzacion del sistema. La orden de ciclo de diceccid dual se utiliza por e dispositive que inicia la transierencia para indicar que est utilizando diresciones de 64 bis, ‘TRANSFERENCIAS DE DATOS ‘Toda tanferencia de datos en el bus PCI es una transaccién Unica. que consta de una fase de ireccionamiento y una o ms fases de datos. Ex esta discusidn, se iustra ura operacion de lectara tipia: las operaciones de excrtuca se producen de forma andloga. La Figura 322 muestra la temporizacién de una operacign de lectura. Todos los eventos se sineronizan en las transiciones de bajada éel reo}, cosa que sucede a la eitad de cada ciclo de celo. Los dispositivos del bus interpretan las Uneas det bui en fos flancos de subida al ‘comienzo del cielo de bus. A continuacién, se describen los eventos signiicativos seBalsdos enol diageama 12) Una ver que e! maestro del bus ba obtenido‘e control de! bus. debe inicae la transac ida activando FRAME. Esta linea permanece activa haste que el macsiro est dis ‘aesto paca termina fa Gltima fase de datos. El maestro también stia la dieeccisa de fnicio en el bus de direcciones, y Ia orden de lectura en las linens C/BE. Tabla 35. Interpratacién de jas drdanes de lectura PCI ‘ara mamore wonaarble are mera no Eonar Too de orton delete | Seach’ Coane Tet de meer Seen oie mans oirance ce | Secret 39 merce ca oe “re ine ‘resin Liza iowa mo | saan bm emai | Stina 3 8S ae C4 "menos ce ine de ene astra de memora mith | Setvanc'de mie Se ineaa ce | Secerca de mie de 12 cece de cI "cho "Santer Sa doe * Cor pmipor damental dea memoria ache se debe ona Sec 3s poten de ech baad ‘evsair doumben ei Scie 18 » 8 a » Fgura 222. Operacén e ectura PC. ‘Al cominazo del ciclo de rele 2! disposiivo del quest le tecanocerd su deen fas ineas AD. El maestro deja libres as lineas AD del bus. En todas Ins nas de seta que pueden soe actvadas por mas de un dispositive. se recesita un cco de cambio (indicado por las Gos Mlchas cirelaen para que Ia iberacon dela lineas de diecsia permita que et ‘bos pueda ser urizado pore dispositive de lectra. El maestro cambia fx informaciin Ae las leas CBE part indicar cuss de Ine linens AD se vtlizan para trance et ato dieeccionedo (de 1a 4 bytes El maesio tambien activa IRDY pac indir Que ‘ssc preparado para recibir ef primer dato. El dispositivo de lecura selecionado activa DEVSEL para indicar que ha reonockdo las dreecones y va a responder. Sita et dato soictado eo ls Kneas AD y activa TRDY paca indica que hay un dato vilido en el bus El macstro le el dato al comiazo del ciclo de rele 4 y cambia las Hines de habiita- ‘dn de byte sep se neceie para la préxima lectura En et ejemplo, el diopsitivo de leruea necesita algun tempo pars prepara el tegun do blogee de datos para in tansmision, Por consiguiente, dasecuva TRDY para se8a- lar al maestro que 90 proporcionars un nuevo dato en el psximo cco. En comsecuen fia, el maestro no fet las lneas de datos al comienzo det quinto ciclo de reo) y 20 arabia la sefal de habiliacign de byte durante exe ciclo. El Bloque de dats es leido al ‘omuenzo del esl de relo} 6. Durante el ccio 6 el dispesitvo de letura staat trer dato en e bus. No obstae, en este ejemplo, el maestro todavia no esi preparado para leer el dato (por ejemplo. pede tener leno at registro de almacenamtent temporal. Para indicari, desaciva Buses dol stems 83 IRDY. Esto hard que el dispositivo de lectura mantenga el tecer dato en el bus duran- te un ciclo de reloj extra. 1h) El macstro sabe que el tercer dato es el iltimo. y por eso desactiva FRAME para ind ‘ar al dispositive de lectura que este es el vito dato a transferit. Adersts activa TR- DY para indicar que exté listo para completa esa transferencia, 1) Elmaesiro desactva IRDY, haciendo que e bus vutlvaa estar libre. e dispositive de Jectura desactiva TROY y DEVSEL. ARBITRAJE £1 bus PCI utiliza un esquema de arbiteaje cenralizado sinerono, en el que cada maestro tiene tuna nica seal de petiedn (REQ) y cesidn (GNT) del bus. Estas linens se conectan a un Srbi- two central (Figura 323, se utiliza un simple intercambio de fs seals de peticion y cexiba pra permit el acceso al bus. La epeciiseon PCI no indica un alprto panicula de arise. EArt puede wi zat un procedimiento de primero-en legr-primero-en servrse. un procedimigato de e=sién ‘clic (round-robin), 0 cuaiquier clase de esquema de prgyidad. EI maestro dei PCI etable- cep cada wants gue dese haw 8a a ise de een sigue Uns 9 ms ses Se 1a Figura 324 0 un ejemplo en et ques arbitra a cul dels isposiivos A y Be cade a bun Se produce la siguiente secusnds: 4 En algun momento anteror al somiento dat ciclo de rdoj 1 A ha actvado su sal REQ. EI arbitra mucszea esa sotal al comionzo del clo de elo 1) Durante el ciclo deci, B solic el uso del bus acivand su seal REQ «1 Al mismo tempo. el drbitro activa GNT-A para cede el acceso al bus a A. 4) Eh macsiro del bus A muestrea GNT-A al comienze del cco deri) 2 yconoce que se deh nao el acceso al bus Adends. encuzstea IRDY y TROY desactados, inceane do que el bes esta Ure. En consecueoia,aciva FRAME y colo ia nformacd de ‘treason en el bus de cireccione,y la orden correspondiente les Uneas C7BE (00 ‘mostradash Ademas mantene aetva REQ-A, puesto que tiene que realizar otra ans- ferenciadespus de i actual 1 EL Grito det bus mucstrea todas las tness GNT al comitezo det ciclo 3. y voma fa decnigm de cadet bus a B para in siguiente ransacedn. Estonees aca GNT-B ¥ ‘deactiva GNT-A.B no pode uila’ el bus basta que ete no voelva a estar ibe i t b Page |) 5B # 8 3 = | (eel [eel ise] ee Figura 323. Arbitro oe bus PC. 84 Organizacién y arqutactra de computedores TO a a rr rr rr a Figur 324, Arbivaje de! bus PCI enue os maestos. 2D. A desactiva FRAME para indicar que la stima (y la nica) transference de dato ests ‘20 marcha. Pone los datos en el bus de datos y se io india al dsposivo destino con TRDY. El dispoutivo lee e! dato al comienzo del siguiente ciclo de rela, 9) Alcomienzo del ciclo 5, B encuentra IRDY y FRAME desactivados y, por consiauien- te, puede tomar el control de! bus activando FRAME. Ademds, desaciva su nea REQ, puesto que solo deseaba realizar una tanslerencia, Posteriorment. se cede el acceso al bus al masstro A para que realice sv siguiente transfe Hay que resaltar qu arbitra se produce al misino tiempo que el maestro del bus actual cst reazando su tranferencia de datos. Por consguiente, no se pierden cilos de bus en reall ar el achitrae. Exo te condce como orbirajeccuta © salapado(ehidden arbitration) Pea eee Sorprendentemencs, Ia literatura sobre buses y otras estructuras de ioterconexién no es muy ‘exinsa. (ALEX93] contene ux tratamiento en profundidad de las extructaras de bus y de los Aaspectos de las teansfereacias en buses, incluyendo informacién de algunos buses cieatificos e- peeficos. Susne del saree 85 El libeo con la descripcién ms clara de PCI es (SHAN3S} [SOLAS4] tambin contiene = dastante informacion igurosa de PCL ALEX93__Alexandridis, N. Design of Microprocessor-Based Systems, Englewood Clie, NJ Prentice Hal, 1993 SHAN9S Shanley, T_y Anderson, D. PCI Systems architecture, Richardson, TX: Mindsha- re Pres, 1995, SOLAM Solar, E, y Wille, G. PCI Hardware and Software: Architecture and Design. San ‘Diego, CA: Annabooks, 1994, & ‘SITIOS WEB RECOMENDADOS: + PCL Special Imtres Group inormacdn acerca dels expeicaiones de bus PCI y pro -ductos basados en el mismo. ? PROBLEMAS: AML La méquina hipotéricn dela Figura 54 también tiene dos instruciones de ES 0011 = Cargar AC desde BS O111 = Abmacenar AC en E/S En estos casos, a deca de 12 bis identifica un dispostivo conereto de E/S. Mestre Jn ejcucién del programa (utiizando el formato de la Figura 3.5) para el siguiente pro- grams 1. Cargar AC desde el dispostiva 5 2 Sumar el contenido de la posicisa de memoria 940. 3. Almacenar AC en el dispositive 6 ‘Asuma que el siguiente valor obtenido desde el dispostvo S es 3, y que la posicin 940 almacena el valot 2 32. Considere uo hipottico microprocesador de 32 bic cvyasinstrucciones de 32 bits esti compuests por dos eampos: el primer byte contiene el cédizo de operacion (codop)¥ los ‘estantes un operando inmediato 0 wna diresasa de operaado. 8) {Cu es a capacidad de memoria (en bytes) direccionabledirectumente? 1) Discuta el impacto que se producinia en la velocidad del sistema si el microprocesa dor ene: 1 Un bus de dieccién local de 32 bits yun bus de datos local de 16 bits, 0 2, Un bus de direci6n local de 16 bis y un bus de datos focal de 16 bits .) “Custos bits necesitan et contador de programa y el reisro de instruc? uence: [(ALEX93} 86 Organiacion y arquitecra de comp.tadores { 32. Cossidere un microprocesador hiportico que aera direciones de 16 bts por ejemplo, suponga que el contador de programa y el repsto de direccidn son de 16 bis) y ene un | bus de dats de 16 bis. i 8) ,Cudl es el mismo espacio de deeconer de memoria al que a proses puede | ‘ecederdirectamente st etd conectado 2 una «memova de 16 bite? 1D) {Cull es e maximo espatio de direciones de memoria a que el procesador puede Sexeder directamente, 8 end coneetado a una «memoria de 8 bits? ©) Qué caraceriics dela arqutectra pein ete procesadar seeder aun cer | basi de E> separado? - 4) Si una insrucaign de entrada o de salida puede especfcar un mikwero de puerto de ES de bis, ;cudnuos pueris de E/S de 8 bus puede soportar el mcroprocesador? ‘Custos pueios de E'S de 16 bis? Expliquelo. Pueme: (ALEX93] 3A. Consiere un microprocesudor de 32 bits con un bus extern de 16 bis y 608 una entra- da de reloj de $ MHz. Asuma que el procesador teat un alo de bus cuys duracén ‘minima es igual a cuatro cicos de sei}. {Cuil sla velocidad de transereaca mésima (gue puede sosiener el microprocesador? Para incrementr sus presacones. ,seria mejot hacer que su bus externa de datos sea de 32 bits, 0 doblar ls frecuencia de rlo} que se suminista al microprocesador? Estableaca ls suposiciones que consider yexplquelo, uence: [ALEX93] 3S Considere un computador que posee un médulo de E/S que controls un tlio coe te: lado impresora La CPU tiene fos siguientes repsiros conetados diectamente al bus ‘essema i INPR) Regio de encrada- 8 bits | OQUTPR: — Registre de salida - 8 bits 1 FGL ——_Indicador (tags) de entrada = 1 bit i FGO: —_Indicador (fig) de salida- 1 bit : EN: Habiitcion de interrupsion- 1 bi ‘La entrada desde lteciadoy i salda la imresora del teetpo estén contolados por el * ‘médlo de E'S. El teletino es capaz de codifear un simbolo alfanumerico mediate una plabra de 8 bts y decouicar una palabra de 8 bis ea uo simboo allanunedico. 8) Desenba edmo la CPU. uiizanda el primero de lot cuatro reistros enmerados tn teriormente, puede realizar una E/S con eteletipa. 1) Descrba cémo se puede realizar dicha operaciin de manera ms eficiente si dems se utza TEN 36 La Figura 325 muestra un esquema de arbitraje distibsido que puede utizare con ‘Mutubus I. Los médulos conectan en eadeaa (adaisychain») segin su orden de prion dad. El médolo que esté més ala aquierda en el diagrama recibe una priondad de bus ‘oostante# través de a seal BPRN, indicando que ningén m6dulo de mayor prionéad solicit el bus Sie! médulo no desea utilizar el bus, activa su linea de sda de prividad sel bus (BPRO}. AI comienzo de un cto de rel, cualquier médulo puede pedi el control “ei bus, poniendo en baja su linea BPRO, Esto hace que pase & baja la linea BERN | { | Buses det sistema 87 Snleaicalc™ Figure 226. Arbivaedateibuido on ol Mutus el siguiente méduto de la cadena, que a su ver debe poner a baja su linea BPRO. Ast la Seal ze propaga alo largo de la cadena. Al final de esta respuesta en cadena. dnicameste hhay un modulo cuya BPRN esta acivada y cuva BPRO 20. Este modulo es el que ene prioridad Sial comienzo de un ciclo de bus ei bus no esti ccupado (BUSY no acivadal el modulo que lene priondad puede tomar el control del bus activando la senal BUSY. ‘Se necesita una cera cantidad de empo para que Ia seal BPR se propague desde el modulo de priondad mas alta hasta el de mis baja ;Debe este tempo ser menor que et ‘Selo de rei)? Expiguel 7. EL bus VAX SBI utiliza un exquema de arbitraje distibsido sincrono, Cada dispositive ‘SBI (es dei, procesador. memoria ¥ adaptador de Unibus) tiene una priondad Unica. ¥ se le asigna una Unica linea de solicit de transiereneia (TR. Transier Request. EI Sil tiene 16 de dichas leas (TRO, TRI... TRIS), sendo TRO ls de prioridad mds elevada. Cuando un dispositive quiere utilizar ei bus, eliza una reserva de ua ciclo de bus futuro, activando au linea TR durante el ciclo de bus en curso. Al final del ciclo en curso, cada Tae a reo wie bance inivae ee Teams ‘econ wn cme ary tomes ears Dee Por sonvencica, ei nivel | de la seal binaria se representa por un aivel mis alto gue el sive! binaris 0. Usualmente 0 binanio es el valor por deleto (0 implicit. Es dei, xno se ‘sf tuansmitindo un dato i ninguca otra seal, entonces el nivel en la lies es el qoe repre: Senta al 0 bisario. Una ansicon de 0 a 1 en a seal se denomina frecuentemente flanco de subida de a sel (leading edge», una transiién de a 0 se denomina flonco de bajada(etza- ling edges. Por ctaridad, a menudo 'as transciones en las sales se cbuian como si ocurni- ‘an instanséneamente. De hecho, una tansicida require un tiempo no nul, pero este empo de transcin es usualmence pequeto comparado cor la Guracién de un nivel ea seal Ean ): Cada posici direcionable de memoria tiene un dio ‘mecanizmo de acceso, cableado fsicament. El tempo para accede a una posicién dae «da es constaae independiente dela seeuenca de acceso previos, Por tanto, cualquier poneisn puede tlecconars aleatoriamentey pusde vr dieccionada y aceeida dires- famence, La memoria poncipaly algunos sistemas de cache son de acesosleatorio. “+ Asocatva Es una mersora del tipo de acceso sleatoro, que permite hacer una compa: ‘acicn de cirtas posicionss de bits dentro de una palabra buscando que coincidan con Uno valores dados, hacer eso para todas las palabras simulneamente. Una plabre fs, por tanto, recuperada, basindose en una. poreién desu coatenid, en lugar de su Aireccibn, Como ee iss memorias de acceso alestorio coavencionles, cada postin ce- ‘ne su propio mecaniarzo de direcionamiento, y el tiempo de recuperacn e un dato Memoreincerns 95, 5 una constante independiente de ia posicia 0 de los patrones de acceso anteriores Las memoria cache, desrtas en la Secién 4.3, pueden emplear acceso asociativo. Desde ef punto de vista del usuario, las dos caracteisticas mds importantes de una memoria son su eapacidad y sus prestacioues. Se uolizan tres pardmelros de medida de presaciones: ‘+ Tiempo de acceso: Para memorias de acceso aleatoci es l tiempo que tarda en redli- Zar una operacion de esritura o de lectura, es decir. el iempo que cranscurre desde el instante en el que se presenta una direccida a la memoria hasta que el dato ha sido memorizado o ests disponible para su uso. Para memorias de otto tipo. él emp de acceso es el que se tarda en situar el mecanismo de eccura/escritura en la posicidn de- wads, + Tiempo de ciclo de memoria: Este concepto e aplica principalmente a las memorias de acceso-aleatoro y comsste en el tiempo de acces y algie Uempo mis que se require. antes de que pueda iniciarse un segundo acceso a memoria Este tempo adicional pue- de que sea nscesaio para que Finaien las transciones ea las lineas de seal o para regenerar los datos en el caso de lecwuras destrucuvas. 1 Velocidad de transferencia: Ia velocidad’s Ia que se pueden transfert datos a. 0 des de, una unidad de memoria. Para memorias de acceso aleatori coincide coa el invetso del tiempo de ciclo. Para otras memoras se uliza la siguiente reais: x Te donde: T, = Tiempo medio de eserturao de lectura de N bits T= Tiempo de acceso medio N= Numero de bits R= Velocidad de transferencia, en bis por segundo (bps) Se haa empicado dispositvesfisicos muy diversos de memoria. Las ms comunes en la actua- lidad son las memonas semiconductoras las memorias de superficie magnétca.uilizadas-pa-- ta discos y cintas, y las memoras Gpticas y magaeto-dpticas. Dei aimacenamiento de datos son imporantes varias voldiles la informacisa se va perdiendo 0 desaparece, cuando se desconecta Ia alimentaciéa. En las memonas no voldsles fa informaciéa, una ver grabada, permanece sin deteriorarse hasta que se modiique imencionadament: no a necesita a (vente de alimentacign para rete- ner la informacién. Las memorias de supercie magnetica 4on n9 volstiles, Las memoras se- miconductoras pueden ser volétles 0 #0 voldules. Las memorias no borrables no pueden. ‘modificarse. salvo que se destruya ia unidad de almacenarmiento. Las memoras semiconduc- toras de este tipo se conocen por el nombre de memoria de sdlo lectura (ROM, Read Only Memory}. En memorias de acceso aleatorio, su organiacién es un aspecto clave de diseio. Por or- sanizacién se entiende su disposiciéa o estructura fsicaen bits para formar palabras. La es- {ructura mis obvia no es siempre Ia utada como explicaremos pronto JERARQUIA DE MEMORIA Las resricciones de dseRo de la memoria de un computador se pueden fesumir en tes cues tlones: ceudnta capacidad?, emo de sipida?,;¢e qué coste? 18 Organiscion y arquitetura de computasores [Asi poes, Ia xtrategia en principio funciona, pero sto si st aplican las condiciones (a) a (6 ‘anteriores. Empleando diversas tecaologas se ine todo un especro de sistemas de memoria ue sausfcen las condiciones a) a (el Afortunadamente a condicéa (des tambidn general ‘ente valida. La base para la vaidez de In condicidn (d) exo principio conocido como localidad de a referencias [DENNES], En et curso de ta ejecucicn de un programa, las relerencias a memo- fia por parte del procesador, tanto para iastrucciones como para datos, enden a estar agra. padas. Los programas, aormaimente, contenen wn aimero de buelesiteraivosy subrutinas, Cada vez que se entra en un bucie 9 una subrutia, hay vepetidas ceferencias a un pequeto rou enews, (onan uae Figura £5. Terinslesj stain tpicas Ge un cho enenpelado de memaris Memoria carne 105 1a Figura 456 muestra la configuracién de termiales de uns DRAM pica de 16 Mbits organizada en 4M x 4. Hay varias diferencias respecto de un chip de ROM. Ya.que una RAM puede ser actualizada. los terminales de datos toe de entrada/slida. Los terniales de babiltacion de escrtura (WE, Write Enable) y de habiltaciéa de slida (OE, Output Enable) indican 5i se trata de una operacida de esentura o de lectura. Debido al acceso por fas y columaas de la DRAM, y a que las direcciones estén multiplexadss,sdlo se neceitan 1 ter. minales para especiicat los 4M de combinacionesflacoiumna (2"+ x 2" = 2? = 4M). La ‘uncin de fos terminals de seleccign de dreccin de fla (RAS) y de selecidn de dieccion de columns (CAS) ha sido desrita con anterioridad. ‘ORGANIZACION EN MODULOS ‘ium chip de RAM comtiene 1 bit por palabra, se necestarda claramente al menos un nume- rode chips igual al mero de bits por palabra, Como ejemplo, la Figura 4.6 muestra cSmo er i oe Hie = | sersizome Figura 48. Organizacion de una memoria de 258 Kove. j podria orgaizarse un méduio de memoria de 256K palabras de 8 bts. Para 286K. palabras fe necesican 18 bite, que ee sumintran al médoio desde alguna fuente extra (por emp {as lineat de direciones de un bus al que est 'gado el médao) La dieccin se presenta a chips de 256K % 1 bit cada uno de fos cuales proporciona Ia entradaysuia de | bit. xa exrcturafencons cuando el tamato de memoria e igual al nimero de bts por chip. En caso de necentatuoe memoria mayor. se req uaa und mee chips La Figura 47 muesta la pose organzacidn de ura memoria de tM de palabras de 8 bis. Em ‘te cso, tenemoe cto columna de chips, dande cada colurna conine 255K palabras tra lcilmente. Comprobando los bits de pandad, se encuentran discrepunciss ea los cirew- los A yC. pero n0 en B. Séto uno de los site compartimentos estd en Ay en C pero no en B. Elerror puede pues corregitse, modilicando el bit de dicho compartimento. Para clasificar ideas, desarrolaremes un eddigo que puede detectar y corregir erores de tun solo bit en palabras de 8 bits. Para empezar determinemos cus largo debe sere! céidigo. Con referencia an Figura 48, ta ldgiea de comparacién recibe como entrada dos valores de K bits La comparaciod bit a 08 Organiasin yarguiectra de computasons bic se hace mediante la OR-exctsiva Ue las dos entradas. I resultado se denomina palabra de sindrome. Cada bit de! sindrome es 0 0 | sein que haya o no coinedencia en esa poscidn Ge bie paras dos entradas, La palabea de sindeome tien bis de datos o de los K bits de eomprobacin, e debe cumplir Esta ecuacié da el aero de bts necesaros para correic ol error, de un solo bit cualqui- ra, en una palabra que contenga M bits de datos. La Tabla 43 fata el ndmero de bits de Hla MtK comprobacion necesanos para civersas longitudes de palabra. puss una longitud de K bits, y sine un rango entre O y 2 — [El valor: Gindia que no a© ha detectado ecro, dejando 2° ~ 1 valores para india 8 hay erfor. qué bit ue el ertGneo, Akora ya que el error podria ocurnr en cualquiera de los M ‘Tabla 43. Aumento de le fongitud de palabra con la corraccion de errores ‘Conecion de erores simples Comecsiin de eres simples utecion do enores oodles Bits de datos | Bis ae comorotacion | ineromento | Bits de comprobacon | heramento 3 . $ as 6 5 6 as 2 5 7 Bm “ 7 a as cs 3 3 7a 258 . @ as wansnameuomeasansentetat : ais BHT S Pa sto a H's Gn te ey Sates he Pag Ste He Figura 430. Posciones de les bits de datony de comprobacion, Sega ls abia, vemos que una palabra de 8 bits de datos requiere 4 bits de comprobe- ign. Por converiencin. seria deseable geeerar un siadrome de # bus con las siguientes carae- teriticas + Sil sindrome eomiene slo cers, no se ha detectado erro + Sie sindrome contiene slo un bit pussto aI, ha ocuido un error en uno de los cua- tto bits de comprobacién. No se requere correccin. + Sil sindrome contiene mis de un bt puesto a |, entonces el vator aumérico de dco sindrome incica la posiion del bit de dato ervoneo. Se iavierte dicho bit de dato para corregilo. Para conseguir estas caracterstcas, los bits de datos y de comprobaciGn se distribuyen en tana palabra de 12 bits, como se muestra en a Figura 4-10. Las poniciones de bit estén oume- radas de { a 12. A los bits de comprobacisa se asignan aquellas posiciones de bit cuyos ni- ‘eros son potencias de dos. Los bits de comprobacidn se calcula como sigue: Cl=MI@M@ ME@MS@ M7 Cl=MI@ = -MI@M6@ —_ M6@ MT C= MOMOMES Ma oe MS @ M6 @ M7 @ MB onde fos simbolos @ designan Ia operacia OR-xclusve ‘Cada bit de comprobaciSn opera sobre todo bit de datos cuyo némero de posicisn con- tiege un 1 en la correspondiente posicién de columna. As! pues. las posiciones de bit de datos 3.5.7,9y LL contienen el srmino 2°; las posicignes 3, 6,7, 10 y I contienen el término 24; las posiciones 5. 6,7 y 12 contienen el técnino 2 y las posiciones 9.10.11 y 12 contenen el teeming 2. Visto de otra forma. la posicii de bic n es comprobada por aquells posiciones de bit C, tal'que £i = n. Por ejemplo a poscig 7 es comprobada por los bits en Is poicio- ped, 2y sy 7ade Pod ‘Veriiquemos. con un ejemplo, que el esquera anterior funciona. Supongames qve la pie Jabea de entrada de 8 bits es 09111001, com el bit MI de dato ea la posicidn masala derecha, {Los edtculos som los siguientes: 10 Oroinizacion arqutectur da computacores Clint @0@la1eomt CHI @0@T@I@OM1 Cs-0@0@lG0=1 + Cex1@1@0e0=0 Supongamos ahora que el bit de datot 3st ve afecrado por un error, cambiando de 0 1 (Cuando se recalculan fs bits de comprobacin,s¢ ene: Ciel e0e181a0-1 CH1e1e1g1g0=0 CHeoete1eo=0 =1918080-0 ‘Cuando se comparan los nuevos bits de comprobacin con fs antiguos. genera ia palabra ‘e sindrome:| acacacd ori? oo oot orto Bt resultado 6s erin. La Figuea 4.11 dustea ef ediculo anterior. Los bits de datos y de comprobacida se ubican adecuadamenten ia palabra de 12 bis. Escrbiendo en binaro,y de ariba abajo, el mero 4s posiciin de cada bie de datos en su respetiva columra, los unos de cada la indian ios ‘bis de datos compeobados por ei bit de comprobucisn correspondiente al peso binano de dlicka fla. Ya quel resutado seve alectado slo por unos. so las columnas cuyo bit de Gatos es I (en las fas correspondients a fa palabra almacenida y la captada) han sido mar- tndaé oon un trazo cerrado para su mejor ientficacign El valor de cada bt de comproba- ‘61 (indicados en la eolumpa de la derecha} es 1, si ay un oumero impar de unos en su correspondiente fla. Los resultados que se muestran son pata los bits de datos originales y para lor que inluyes el ero. Jndicando que la possi e bit 6, que contiene el bit 3 del dato. es Seow ae vase! BS eoamcin ot cer 1 ° ae : : tt ° ‘ a Pato scaia 2 a Fit cain one ° oes ‘ 3 ae : * ao ° ‘ ao Figura 41. Ganaracion eo ise comprobscin. i : Figura 432. Céeiga SEC-DED de Hamming 1 cédigo que acabamos de deseribir es conocido como ego corrector de errres sme ples (SEC). Es mis comin equipar las memoris semiconductoras con ua sOdiyo corrector de ‘errores simples y detector de errores dobles (SEC-DED). Como muesta la Tabla #3, 108 ‘éigos oecesitin un bit mas que los SEC. La Figura 4.12 slustra, para una palabra de datos de 4 bis, edme funciona un eédigo SEC-DED. La securncia de la figura muestra que, i ocucren dos errores (Figura 4.120, 1 Drocedimiente de chequeo que conoetamos informa ecrSoearente (4). 9 empeota el problema ‘creado un tercer ercor () Para superar el problema, se afade wn octavo bit. cuyo valor se {ja de manera que el mimero total de woos ene diagrama sea par Elbit de paidad anacido captura et error (0. Un esdigo corrector de errores mejor la seguridad de la memoria a cota de complejidad adicional. Con una estructura de un-bitporzhip, es genetalmente adecuado considerar un esdigo SEC-DED. Por ejemplo, los IBM 30x ailizan un cdcigo SEC-DED de 8 bits por es real 1 apareate para el usuario. Los computadores VAX uatlzan un ‘digo SEC-DED de 7 bis por cada 32 bits de memoria: un 22% de incremento, Diversas ‘memorias DRAM actuales empican 9 bics de comprobacién por cada (28 bis de datog, ut 7% de incremsento (SHARIT}, Pas PRINCIPIOS BASICOS El objetivo dela memoria cache es lograr que la velocidad de la memoria sea io més répida porible.consiguiendo al mismo tiempo un tamafo grande al precio de memonss temicon- dductoras menos costosas.£l concepto se iusta en la Figura 4.13, Hay una memovia pric pal relativameate grande y mis leata, junto con una memoria cache mas pequeta y tpids. La cacte contiene una copia de partes de la memoria principal. Cuando el procesador inten- ta leer una palabra de memona, se hace una comprobacign para determinars Ia palabra estd en ia cache: Si esas, se cntega dicha palabra a} procesador. Sno, uo bloque de memoria einepal, consistente en un cierto ndmero de palabras, se transiere La cache y, despues, Ia 112 organzacion y arguitctra da computedores ‘Figura 412. Mamores cach y principal. palsbea es entzgadu al procesador. Debido al fendmeno de localidad de las referencia fuando un blogue de datos es eaptado por la cache para satisfacer una teleeacia a memoria fimple, es probable que se hagan referencias futuras a otras palabras del mismo Bloque. La Figura 4.14 describe ls estructura de un sistema, de memoria cache principal. La me- ‘moria principal cons de hasta "palabras direccionabls:eniendo cada palabra una Unica ices de » bits. Esta memoria I consideramoncivdida en un nlmero de Blogues de lon. {gud Sj, de K palabras por bloque. Fs decir, hay M = 2°/K blogues. La cache consta de C lineas de K palabras cada una, y el ndrhero de ineas es considerableménte menor que el ad- sero de bloques de memoria principal (C << M). Ea todo momento, un subednjunto de lor ‘loques de memoria reside en lneas deta cache. Ya que hay thas bloques que lineas, wna linea dada no puede dedicarse unlvoca y permanentemente a un Bloque. Bor comsgulent, ‘ada linea incluye una etiqueta que identifin qué Bfbque particular ets siendo almaczaado. [La euiqueta es usualmente una porcign dela dieccion de memoria principal edmo describic remot mde adelante en esta socio. SMS cea seas (2) Maman set Figura 414, Exructura de mamaria cachlincial Memovisintena 113 Figura 4.18, Operacién de lactura de cache. ‘La Figura 415 dustra una operacisn de lectura. El procesador genera la direcida. RA. de ‘una palabra a ler. ila palabra esd en la cache, es enteegada al procesador. Si no, el bloque, {ue contiene dicha palabra se carga en la cache, y la palabra es llevada después al process- dor. La Figura 415 indica c6mo estas dos dltmas operaciones se realizan en paleo, y rele- Jala organizace mostrada en lg Figura 416, que es tipica en las organizaciones de cache ‘ctuales Ea ella la cache coaecta con el procesador mediante liness de datos. de contrcl y de ditecciones. Las lineas de datos y de diecciones conectan también con buffers de datos y de diteceiones que las comusican con un bus de! sistema, a través del cual se accede ala memo- ‘8a principal. Cuando ocurre in acierto de cache, 1os buflers de datos y de direcciones se ighabilitan, la comunicacién tiene lugar sSlo enteeprocesador y cache, sin tifico en el bas. {Cuando ocurre un fallo de eache. la direccidn deseada se carga ea el bus del sistema, ye 4200 ‘es llevado, através del bufler de datos, tanto aia cache como al provesador. En otras formas de ‘rganizacidn la cache se inte-pone Iscamence entre el procesador y Ia memoria principal para todas las linea de datos, direcciones y control. En este caso. frente aun fallo de cache Ia pala bra deseuda ex primero efda por la cache y despues transfeida desde éta al procesador. EL Apéndice 4A contiene ua andliss de los parimetros de prestaciones relativos al uso de Ja cache. ELEMENTOS DE DISENO DE LA CACHE ‘Aunque hay uy diversas implementacions de cache, exisen unos euantor criteios béscos ide defo que sirven para clasficar y dferenciar entre arquitecturas de cache. La Tabla 44 lista algunos elementos clave Figua 418 Cigaieaci oes de each. ‘Tamaio de cache Elprmer elemento, el tama de cache, ha sido va tatado, Nos gustaria que el tamato fuera |p Sufcentemente pequeto como para que el cose toa! medio por bit se aproximara al de la rmemaria principal sola, y que fuera lo sufcientemente grande como para que e iepo de ‘ceeto medio total fuera proximal de la cache Hay otras muchas motivaciones para mini= mitt el tamano deta cache, Cuuoto mis grande e, mayor e el admero de puerasimplica- das en dcecionar la cache. Elesutado es que caches grandes tendea ase igeramente mis Tentas que las pequeas incluso estando abricads cor la misma tecnologia de cco inte> grado y con la misea wbicacidn en el chip o en la tareta de cicuito impreso} El tamato de ‘ache ext tarbien indo por las supers disponibles de chip y de tarjeta. Ene Ape eA os puntuaiza que diversas estudios han sugerdo que los tamafos Spiros de cache se neventran ene IK y S12K palabras. Como las prestaciones dela cache son muy sensbles al tipo de tarea, et imposibiepredeit un tamatio «éptimos ‘Tabla 44, Elomentos de deo de a coche Tomafo de exh Polites de seriure ancien de comespondenca ‘serture meats ‘Directs Post escrtura ‘cine Excrra nica | Asoc por conurtos | Tama de nas Algortme de susttucion ‘Mirmero caches Ualznge menos rcietamnt AU) (Uno 8 aoe voles Primero en atarpimere en sr FO) Uniteaes paride (Uizedo manos heczeremente (FU) Aleeorio | Momons iam 118 Funcién de correspondencia ‘Ya que hay menos Hineas de cache que bloques de memoria principal, se necesita un algorit ‘mo que haga corresponder bloques de memoria principal a ineas de cache. Ademds, $e. uiere algun medio de determinar qué bloque de memoria principal ocupa actuaimente una linea dada de cache, La eleccidn de la funcidn de correspondencia determina como se organi. zal cache. Pueden utilizarse tres téenicas divecta, asoeiativa y asociaiva por conjuntos Examinamos a continuacida cada wea de ells. En cada cao veremos la estructura general y tn ejemplo concreto, Para lot tres casos, el ejemplo incluye los siguientes elementok + La cache puede almacenar 64 Kbytes. + Los datos se transieren entre memoria principal y la cache en bloques de 4 byes Esto significa que la cache estd organizada ex 16K ~ 2" lineas de & bytes cada wna. + La memoria principal es de 16Mbytes, con cada byte direstamente direccionable me- iamte una dizeccion de 24 bits (2"* = 16M) Ast pues, al objeto de realizar la corres ondencia, podemos considerar que la memoria principal consia de M bloques de 4 bytes cada uno, La técnica més simple, Cenominada eorrespondencia directa, consiste en hacer corresponder cada Bloque de memoria principal aslo una linea posible de eache. La Figura 417 iusra el mecanismo general. La correspondencia se express como i=) médulo m Figura 4.17. Organitacén oe cache con sorraspondancia direct (HWANS3L 6 COrgaizacion y arqultactra ge comouadores donde * “8 1 imere do ina de ice j= mee ge rh pn ner lesen ache La fia de correpeednca 2 inplenens Ucinentealzando la dre. Dade a feet sie ta teens | mick ote Sedan pe oe mares mas coe rashes ce tamper Los ou mens nipiees cen i abe cence tr bowel detonate poet aie mayer drs maga scan of dincoontnses radi ceones Lars Ua onan cpeiean ene debt bogus dol mente ps fal Le pes Seino cepce ete ts cas eget ea pam Meike yun ange de ties debe. Ee ano camps Genin uma dea =F dl dete ET dhs aur hacen coreponde en St nema peal pes coe Se pum ot ‘ache | Blogues Ge memoria principal aignacon zm (oe eabimenn Pome mt _a him ham Bat Por tanto el uso de uaa parse de la direcidn como mimero de linea proporcions una corres pondenci 0 asignacicn dnica de cads bloque de memoria principal en la cache, Cuando ua ‘logue es realmente excato on la nea que Une asignada, es necesaro eiguetsrio para dis- tinguirio del rest de los Sloques que pueden introduciie en dicha Kea. Pars ello se em plean loss ~ r bs ms signfeativos, La Figura 418 muestra nuestro ejemplo de sistema utlizando correspondencia direct? Enel ejemplo: m= 16K = 24, miearas que i= médulo 2". La asignacin seria: {nes de ache | Drectin de mamaria de inicio de tloque | 1 ° ‘00009, 010000 FOOD a ae Pa in mat QOFFFC, OTFFFC, , PFFFC CObsérvese que 00 hay dos bloques que se asignen en la misma linea, que tengan fins ‘aumero de etiquets. As, los bloques 000000, 010000, .., FFOOOO tienen. respectvamente los ‘limeros de enqueta 00, 01, 7 or cosets icine vr emo ea Gar ate nose bude er ‘amatada con enn woman pew oped el Cao 8 : we oes oo [ies Sunes [ist rere Lapasere frre (_2uan34at anon! 6 Moyes ua nee Dinca ca marora z a ooccoe Figure 438, Ejamplo ce correspondencis directs Reliéadonos de nuevo a la Figura 4.15, una operacion de lectura se lleva a cabo de te siguiente manera: Al sistema de cache se presenta una diecci6n de 26 bit, El aumero de Iigee, de 14 bits se utlan como fadice para acceder a una linea particular dentro de la cache. Sil ndmero de eiqueta, de & bits coincide con el mimero de eiqueta almacenado actual- ‘cate en esa linea el numero de palabra de 2 bits se utiliza para sleccionar uno de los ua {is bytes de eca Enea. Sino. €| campo de 22 bits de etiqueta-tinea se emplea para caprar wa ‘logue de memoria principal. La cizeccién real que se utli2a para la exptacion consta de los engender 22s ened on ‘dos bits 0, y 2 captan & bytes a partic det comienz0 el Bloque. La técnica de correspondencia directa ex simple y poco costosa de implementar, Su prin- _ cipal deventaa es que Say una posiciGn concreta de cache para cada blogue dado, Por ell sina programa reerencta repetigas veces a palabras de dos bloques diferentes asignados ex we ong ‘a misma linea, dichos bloques se estarian itercambiando continuamente en la cach, tsa de aciertos seca baja La correspondencia asoiaiva supera la desveraja dela directa. permitendo que blogoe de memoria principal pueda eargarse en cualquier linea dela ache. En este cao, 6giea de contol de la cache tnterpreta una direccidn de memoria simplemente como feugueiay vo campo de palabra. Elcampe de eiqueta identifea univocaments un Bloque ‘memooa principal Para deterninur sun blogue etd en la cache, #4 logic de control debe ‘examina simultanearente todas las etiquetas de ineas para buscat una coincdencia. La ‘para 19 moesea exta pea La Eigura 420 muesira nuestro ejemplo wilzando correspondeacia asoiaiva. Una di reccign de memoria principal const de una etiqueta de 22 biu y un aimero de byte de dos bits La etiqueta de 22 bis debe atmacenarse con el Bloque de 32 bis de datos en ada Kine dela cache: Obsérvese que son los 22 bits de fs nguierda dela dieze6n los me sgniicalr ‘vos los que forman la eigueta, De manera que la direction de 24 bis 16339C es hesadect. ‘mal, contene la eiqueta de 22 bis OS8CET. Esto se ve Moiimente en notacion binant cecidn de memoria: Ot 0110 O0I1 O0{1 1001 1100 (binatio) . 1-6 3° 3° 9 C thexadecima) ‘iqueta 22 bts de a nda) 00 101 1600 1100 4110 O11 tbinario) 0S 8 CE 7 theradecimat) Com la corcespondencia asociatva hay Hlexibildad para que euiguierbloque sea reempla- zado cuando se a a escribie uno auevo en lz cache. Los algortmos de remplazo 0 sot Tce, discuidos mas adelante en esta seccion se cisan para maimizar la fala de aciertos. (asa) Pique 439. Organitacin de cache totalmente axocaiva HWANG} | Mamoria eterna 199 E man | agoanaaa9_ | ares Pua Figura 420. Ejemplo de corenpondancie asocitva, La principal desveataja de la cocrespondencia asociativa es la compleja circuiteria cecesaria ‘para examinar en paralelo las eiquetas de todas las lineas de cache La correspondencia asociativa por conjuntos et una solucn de compromiso que tecose lo positvo de las cortespondencis directa y asocativa, sin presentar sus desventajas. En ee aso, la cache se divide en « conjuntos, cada uno de k ifseas. Las relaciones que se tienen sox: maexk im jmédulov donde ‘im ndmero de conjunto de cache. J nimero de bloque ée memoria precipal ‘m= nimero de lineas de la cache. En ese cas. se denomina correspondencia asociaiva por conjuntos de k vias. Con Is asgnae ‘ida asociativa por conjuntos. el Bloque 8, puede asignarse en cusiquiera de task \ineas del ‘onjunto 4 En este caso. ta ldgica de comtrol dela cache interpreta una direceia de memoria ‘como tres campos: eiqueta, conjunto y palabra. Lox d bits de coajunto especifican uno de nite » = 2 conjuatos, Los # bits de los campos de eiqueta y de coejunto especfican uno de los 2 bloques de memoria principal. La Figura 421 ilustra la Logica de conteol de ta 120 Orponizacen ¥ arguitactura de comoutadores ror Patosecsrn) z Figuca 421. Estvetra de eacha mccative por conjuntos IMWANSSI. cache. Coa in‘correspondenca totalmente asoiativa, la etiqueta en uni dirccion de memo> aes bastante larga, y debe compararse con la etgueta de cada linea en ia cache. Con Correspondencia asocativa por conjuntos de k vas, la eiqueta de una direc de memoria fs mucho ms core, y se compara s6l0 con las keiquetas dentro de un mismo eoajutio, Le Figua 422 muestra nuestro ejemplo, vilizando correspondencia atocatva por con juntos con ds lines por eada conjunto, denominada wasociaiva por eonguntos de dos vias El numero de conjunto, de 13 bt, identifica un Unico coajanto de dos Hneas dentro de fa cache, También da el nimero, modulo 2, del bloque de memoria principal. Esto determi 4a asignacdn de bloques en oes. Ast los biogues de memoria principal 000000, 00400, FFF1000, se hacen corresponder al Conjunto Ode la cache. Cuabguera de dichos bloques pu 4e cargurse en alguna de la dos linens del conjonta. Obsérvese que no hay dos bios qe Se hasan corresponder sl mismo conjusto de la cache, que teagan of mismo aimero de eti- {Gueta Parana operacg de letura el almero de coojunto, de 13 bite se wiiza para deer- ‘rinar qué conjamo de dos liness va a examinarse. Ambas ineas del coganco se examiner buscando una coincidenca con el ndimeo de etgueta dela decimal que se va. a accede, En el caso extremo de vm, ko 1 a tenia asosiva por conjemos se reduce sla cortespondencia directa. y para v= I. k= m, se reduce ala totalmente ascitiva. El uso de 408 Uneas por conjunto (¢ = m2. k = 2) es el aso ands comin, mejorandlo signiicatvamente In tasa de acini respecto dela correspondencia directa. La asociativa por conjuntos de cuatro vias (¢ = m/s, k= 4) produce uma modesta mejoraadicional con macoue aadido re lativamente pequeto [MAYBS4, HILLS9}, Un incremesto adicional, emt mimero de lneas or conjuata tiene poco eleta Memoria itera 121 coneno ewe Puta Doe é eos aE E See rissa | Soe ~ zane | ee vere | nnzzaae ze amen pencil 16 Mes sage fot Pata Onsen ce mon ercea= $ ES a Figura 422. Correspondencia stocitve por conjunice de dos vis. Algoritmes de sustitucion Cuando se introduce un nuevo blogue en la cache, debe sustituete uno de los bloques cxistentes. Para el caso de correspondencia directa, sdio nay una posible linea para cada blo- ‘que parucuiar. y no hay eleccia posible. Para las técnicas asocintivas. se requerea algoct- ‘mos de sustitucign, Para conseguir alta velocidad, rales algoritmos deben implementarse a lnardware, Se han probado diversos algoritmos: mencionaremos cuatro de los ms comunes. El més efectivo es probablemente el denominado «utizado menos recientemente> (LRU, Jeast-ecently used: se sustituye el blogue que se ha mantenido en ta cache por mds tiempo sin haber sido referenciado. Esto es fdcl de implementar para la asociativa por conjuntos de dos vias. Cada Ifneaincluye un bit USO. Cuando ona linea es relerenciada, se pone a 1 #4 it USO y 4.0 el de la otra linea del mismo conjunto. Cuando va a teansferise un blogue al conjunio, se ublza la linea euyo bit USO 050. Ya que estamos suponiendo que son mas pto- 122. Orgenicaciin y ecuitectua de computndores “tables de celereaciar las posiciones de memoria utizadas ms recientemente, ei LRU debiera dar La mejor tasa_de acirtos, Otea posibilidad es el «primero en eotrar-primero en salir» (FIFO. nirs-in-est-outer se susti2uye aquel Slogue de conjunto que ha estado mds tiempo ‘ena cache. El agonimo FIFO puede implementasefaclmente mediante wna técnica cilia {eround-robine) 0 buffer circular. Otra posbiidad més es la det eutlizado menos (recvente: ‘mente (FU. aieast-requertly used: se sutituye aguel logue Se! conjunto que ha experi- ‘mentado menos referencias. LFU podria implementarse asociando un contador a ada linea ‘Una téeniea no basada en el grado de utilzaciée consist simplemente en coger una tinea al azar (aleatoria) entre las posibies candidatas. Estudios realizados mediante simulacion han ‘mosttado que a sustitueida aleatona proporciona unas prestaciones silo ligeramenteinferio- ‘esa un algoritmo basado en fa tiizacidn (SMITEZ] Politica de eseritura ‘Antes de que pueda ser reemplazado um blogue que estf en una linea de cache, ¢ necesario ‘comprabar si a sido alterado en cache pero no en memoria principal Sino lo ha sida. pue de escribise sobre la linea de eache, Si ha sido modiicado, esto significa que se ha realizado al menos una operacidn de escritura sobee una palabra de ia fnen correspondiente de fa ca fhe, y la memoria principal debe actalizarse de acuerdo con ello. Son posibles varias politicas de excritura con dstnios compromitos entre prestaciones y coate econémico. Hay ‘dos problemas contra los que luchsr. En primer lugar, mis de un ispostivo puede tener acceso a [a memoria principal. Por ejemplo, un modulo ee E/S puede escrbislee drecta- = mente en'de memoria Si una palabra ha sido mositicada solo en la each, la correspondiente palabra de memoria no es vilida. Ademés, si ef dispositive de E/S ha alterado la memoria principal, entonces la palabra de cache no es vilida, Un problema mis complejo ccurre ‘cuando varios procesadores se conectan al mismo bus y cada uno de ellos tiene su propia ache local. En tal e080, si ¢ modifica una palabra en una de ls caches, podria presermble- ‘mente invaldar una palabra de otras caches a tdeniea mds senila se denomina escrtura nmediata.Uslizando esta técnica, todas las operaciones de etcritura ae hacen, tanto en cache como ex memoria prixcpal. asegucando {ue ei contenido dela meroia principal siempre es vilido. Cualquier otra médulo process dor-cache puede monitorzar el trieo a memoria principal para mantener Ia coherencia en su propia cache. La principal esventaja de esta técnica es que genera un trfico sustancial a ‘memoria que puede originar un cuelo de boielia. Una técnica altemativa, conocida como Dosteescritura, miniriza las escrcuras en memoria, Con la pos-escetur, las actualizaciones Se hacea solo en la cache. Cuando tiene lugar una actualizacion, se activa un bit ACTUAL ‘ZAR asociado a la linea, Desputs cuando el blaque es susituido, es (post) escrito en memo fia pancipal si. y solo si, el bit ACTUALIZAR est activo. Bl problema de este esquema 65 ue a veces porciones de memoria priscipal no son vidas. y los acresot por parte de los ‘médulos de F/S sdlo podrian hacerse a través de la cache. Esto complica lx cizcuteria y ge- nera un euello de botella potencial. La expenencia ha demostrado que el porcentaje de refe- rencias a memoria para esecitura es del orden del 15 % (SMIT32] Scena bg nee teint ee seen ris eh ete ee Smstesng irae are nce see iss rest Somapicp ine umten coer pnercomm naa eee Sree cermin ainecregm cer dace See pee it stn ete ee ie Setcerstatacre as eens nae ete ees Sri Momoris interns 123 + Vigilancia del bus con esriura lomediata: Cada controlador de cache monitoiea las lipeas de diresciones. para detectar operaciones de escrtura en memoria por parte de ‘otros maestros del bus. Si otro maestzo eserbe.en una posiciéa de memoria comparti- dda, que también resid en la memoria cache, el controlador de cache invalda el elemen- to dela cache. Esta estrategia depeade del uso de una polica de escritura inmediata [Por parte de todos lor controladores de cache. + Transparencia hardware: Se utiliza hardware adicional para asegurar que todas las ac- twalizaciones de memoria principal, via cache, quedan relejadas en todas las caches ‘Asi, si.un procesador modifica una palabra de ss cache, esta actualizacign se eseribe en ‘memoria principal. Ademds, de manera similar. se actualizan todas las palabras coin ddentes de otras caches, ‘+ Memoria excluia de cache: Ssio una porcién de memoria principal se comparte por mis de un procesador.y sta se diseta como no transferible 2 cache. Ea un sistema de ‘te tips, odes los aecesos a lz memoria compartida son fllos de cache, porque la ie ‘mora compartida nunca se copia et Ia cache. La memoria excluida de cache puede ser ‘entifcada utlizando idgia de seeccida de chip, o los bits mas signiicativos de la éi- Lacoherencia de cache es un campo activo de invetigacion, y serdtratado con mas detalle en ei Capitulo 16 Tamaio de lines . . (Ouro elemento de dseho es el tamatio de linea. Cuando se recuperay ubia en cache un blo- ‘que de datos, se recuperan, oo slo la palabra desea. sino ademas algunas palabras adya- centes. A medida que aumenta el tumafo de blogue. la tasa de acertos primero aumenta de- bdo a! principio de localidad, el cual establece que es probable que los datos en la vecindad de una palabra referenciads sean referenciados en un futuro préximo, Al aumentar el tamabo de blogue, mas datos Uules so levados a la cache. Sin embargo i asa de acertos comenza- ‘ia decrecer cuando el tamato de bioque se haga aun mayor y la probabilidad de ucilizar la ‘nueva informacisa caprada se haga menor que la de reutlzar la informacion que iene que reemplazarse. Dos efectos coacretos entran en juego “+ Bloques més grandes reducen ei nsmero de bloques que caben en la cache. Dado que cada blogue captado se esenbe sobre contenidos anteriores de ls cache, un eimero re- Gucido de bloques da lugar a que s sobrescriba sobre datos poco después de haber sido captades «+ A medida que un blogue se hace mas grande. cada palabra adicional ests mis lejos de 'requerida, y por tanto es mas improbable que sea necesaria a corto plazo, ‘La relacin entre tamano de blogve y tasa de aciertos es compleja, dependiendo de las carac- teristcas de localidad de eada programa particule, no habiéndose encontrado un valor épti- ‘mo defintivo. Un tamato eatre # y 8 unidades direccionables (palabras o bytes) perece estar ‘azopablemente gfsimo a! éptimo (SMITS7a, PRZYS8, PRZY90, HANDS) Numero de caches Cvando se introdujeron originalmente las caches, un sistema tenia normaimente sdlo una car che Mis recientemente. se ha conyertido ea una norma el uso de maltiples caches. Hay dos aspectos de diseAo relacionados con este tema, que sor: el nero de niveles de eache y el ‘uso de cache unificada frente a cache partia. 14 COrganizasionyarautecura de eomoutadores Con et aumento de denidad de imepraci6s. ha sido posible tener ura cache en el chip del peocesador: cache son-chipe. Comparada con la accesble através de un bus fo, laeache on-chip reduce la actividad de bus extermo det procesadorY, portant, red tos tempos de ejecucion e incrementa lat prestacionesglobales del sistema. Cuando la twaceion 0 dato Fequeridos se encuentran en la cache on-chip se elimina el acceso al [Debido a que fs caminos de datos interns al procesador son muy cortes en compa con la logited de los buss. fos accesos ala eache on-chip 4 electdan apreciablemente ‘ipidos ue los ciclos de bus, incluso en ausencia de estados de espera Ademds, durante ‘etiodo el bus est libre para realizar otras tanserencag. La inctusén de una cache on-chip deja eberts la Gein de si ex ademds deveable cache externa U soff-chipa. Nocmaimente la respuesta es afemativa y le dsehos me actu Jes incuyea tanto cache on-chip como exteroa. La estructura resuliante se condce como ‘he de dos siveles,sizndo la cache interna evel I (Lip ia exteraa el nivel 2(L2) La raat por la que ge incluye una cache L? es la sigieae. Sino bay eacke L2 y el procetador tna peticion de acceso a una posiion de memoria que no ests en la cache Ll, entonces procesador debe acceder ala DRAM o la ROM a través del bus. Debigo ala enticed unl el bus y alos tempos de acceso de as memoris, se obtiener bales prestaciones. Por pare, s © uoliza una cache L2 SRAM, entonces, cot frecuencia, la Informacion que fla puede recoperase[dilment. Sila SRAM ex sucictersnte cdpida para adecuase a x velo ‘idad de! bus. los datos pueden accederse coo eer estados de exper, el po de traaslerencia de bus mas ripido. ‘La mejoca potencial del uso de una cache L2 depende de las tasas de acieros en amb] caches LI'y L2 Varios estudios an demostrado que, en general, e wo de un segundo nivel {de cache mejora las prestacones (Ease, por ejemplo, (AZIZ), (NOVI9S], [HAND9S). Cuando hicieron su aparsidn las caches on-chip, muchos de los disefosconteian una sla cache par almacenar las referencia tanto a datos como a instocciones. Mis recestemeate, st tas hecho normal separarla cacti en dos: wea dedcada a istroccionesy ota a datos Una cache unificada tiene variae ventajas pocenciales: «+ Para un tamafo dado de cache, una unifcada tine una tsa de aciertot mayor que una parids, ya que nivela automaticamente in caren entre caplacié de intrucciones y de Aatos. Es deci. stun patron de ejecucin implica muchas mas eaptaciones de instruc ‘cones que de datos, cache tender a llenarse coo instruciones. st el part de ee- ucidn involuera elaivamente mls captciones de datos, ocurid lo contrano, + Solo se necesita disetar e impiementar una cacke A pesar de esas ventas, a tendencla es hasia caches parties, partcularmeats para méqui nag supecescalaes, tals como el Pentium IT y el PowerPC, en las quest enfatiza 2a eecveién Dataleladefstrucsiones y fa pee-captacion deinstrucionesfetras pevistas. La venta cla- “e del dae de cache partde esque elimina la competi por la cache eiree! prosesador e instrwecones y la Unidad de elscucion. Esto es importante en divefos que cuentan coo ‘egmentacion de cauce(opipeining>) de instueciones. Normaleene, el procesador captaré ingtrucciones anicpadamene yllenard un buller con fas insracciones que van &ejagutarse. ‘Sapongamos ahora que se tiene una eache vnificada de ins:ruccones/datox Cuando la uni- ade eeeucide realiza un acceso a memoria para cargacy almaceagr datos, enva la pet dn a i cache unifiada. Si, al mismo tempo, e! precuptador de insrwcciones emite una peticon de’ lectura de wna instruccign’ ala cache, dicha. peticiéa seri tempo- Talnentebloqueada para que la cache pueda serve primero «la unidad de eecueide. perm tigedole completa Ia ejecacidn dela insirucion en curso. Esta dsputa por la cache puede degrada ls prestaciones interfirendo con al aso eficiente del cauce segmentado de instruc ones La cache partda supera ents diicltad. me Memoria interna 125 ST ORGANIZACION DE CACHE EN EL PENTIUM II [La evolucin de a estructura de la cache s¢ observa claramente en ia evolucién de los micro- procesadores de Intel. El 80386 no tiene cache on-chip. El $0486 incluye una sola cache ‘on-chip de § KBytes, utlizando un tamato de linea de 16 bytes y una organizacidn asocat- ‘a por conyuntos de cuatro was. El Peatium incluye das caches on-chip. una para datos ¥ otra para instrucciones. Cada cache es de & KBytes, utlizando un tamabo de linea de 32 by- tes y una organizacion asociativa por conjuntos de dos vias. E! Pentium Pro y el Pentium It Las primeras versiones del procesado: incluyen una cache de instrucciones de 8 KBytes, sociatiea por conjuntos de cuatro vias, y una cache de datos, tambien de 8 KBytes, sociativa por conjuntos de dos vias El Pentium Pro y el Pen- twur if inetuyen ademés una cache L? que alimenta las dos cackes L1. La cache L2 es aso- ciativa por conjuntos de cuatro vias, y coo tamatios que oscilan entre 256 Kbytes y 1 Mbyie La Figura 423 proporciona wna visién simpliicada dela estructura de Pentium Uf, resal- lando la ubicacign de las tres caches. EI niieo del procesador consta de cuatto componehies pancipales Figura 422, Diagrams de tloques dal Pentium i 126 ‘Organic y arqutectura de compuandorts ++ Voidad de eaptaciéldecodiieacién: Capa nsirucciones en su orden dela cache de ing Iuveciones Ll. las decodifica en una seve de mucrooperaciones, y memorza los resula 60s en el depésito(xpocts) de instruciones. + Depésita de instreceites: Contene el conjunto de iastruciones actualment disponibe para ejecucisn. *+ Unidad de enviolejecucine Pianica la ejeccidn de ls micro-operacionessujeas ade. pendencias de datos ydisponiblidad de recursos, de manera que las micro-operaciones ‘pueden planificarse para su ejecucidn en un ofden distnto al que fueron captadae ‘Cuando hay tiempo disponile. esta unidad realiza una ejecucin especulativa de ci- ‘ro-operaciones que pueden ser necsaras ene futuro. La wnidad eecuta micro-opers- ‘iones, eaptando los datos necesarios dela cache de datos Li, y almacenando los tesl- tados temporalmenie ea registos. 1 Unidad de retirada: Determina cuindo los resultados provsionales, expeculativos, de- bea etiause (unfcarse) para establee:se como permanentes en regisiros oen I cache de datos LI. Esta unidad también elimina insrutciones del depésito tras haber uqjca do los resultados. ‘La Figura 4.24 mest fos elementos clave de in cache de datos Lt. Los datos en ia cache forman (28 conyuntos de dos lineas cada uno. La cache esti organizada en dos wvins» de 44 Keyes. Cada linea ene asoiados una etiquetay dos bis de estado, con uaa organtzacion ‘igica en dos ditectorios. de manera que hay wh elemento de directorio por cada linea de a cache. La enqueta esa formada por los 24 bus més signiiativos dela divecién de memoria Ae tos datos aimaceaaden ela coresponente oes. El contolador de eiche wisn un a “wae “ar io OT tate! tmesonmnn eens 127 Bereneo est bee Se ie 8 ww seo Sieoare pars |_Pare(etowan atv vearezo [fee | eal Figura 424, Estractra de ls cache de datos dei Partum I LANOESED. Memoria ntens 127 a € $ Modificada | Cxusive | Compartide {ES valida eta linea oe se ‘st No cache? {a copa en memoria. exe | esviiide | es vata - entasncs .siscan coplas en oxras No No Puede ser | Puede ser caches? Una esertura on esta naa. | No va albus | Nova vastus | va direcamene yecuata |S atts a eche algoctumo de susttucion del menos recientemente utlizado (LRU) y, por tant. se asocia coo ada conjunto de dos lineas un unico bit de LRU. La cache de datos emplea una politica de post-escritura: los datos se eseriben en mero ‘a principal s6lo euando. habiendo sido actualizados, se elinnan de la cache. El procesa- jum II puede configurarse dindmicamente para uliza tx povfica de eseira in Coherencia de la cache de datos Para conseguir coherencia de cache, la cache de datos permite un protocolo conocido como MESI (Modiied/Exclusive/Shared,lavahd, «modifiada/exclusiva/compartida/t0 valida) MES esta disenado paca satisfacer los reqistos de coherencia de cache de un sisiema mist procesader, pero es tambida dll en una arquitectura Pentium [1 monoprocesador La cache de datos incluye dos bits de extado por cada etiquets, de manera que cada Koes ‘puede estar en uno de estos cuatro extados: + Modificada: la inea de cache ha sido modifcada (diferente de memoria principal y estd disponible solo en esta cache. ‘+ Exclusiva: el contenido deta linea dela cache coincide con lo que se tiene en memoria principal y no esté presente en ninguna otra cache + Compartida: la linea en la cache coincide con memoria principal y puede estar presente en otra cache, «+ No wilida: la linea dela cache 20 eoatiene datos vélidos. La Tabla 45 resume el significado de los cuatro estados. El protorolo MESI se estudia con detale el Capitulo 16. Tabla 46. Modos de fuoionsmiamo dei cache del Pentium ‘Bia we contro ‘Modo de opereion | co [ ww | Unde ae ccs | tates mndtan | valence ° | o Habiitaco apices 1 [oo ‘napileado Habiiadas 14a inhabits nvapitse COrgaizciony arqutectura de computedores ‘Tabla 47. Caches internas an la familia PowerPC eines Orawineion 1 Powerte eat | 3 22x5m | 32 | Asma or conkmion ven me ‘aeaate | Powerre st | 2 | 2 Bor eanjunioe de 2 vis Powepe soe | Ziekeye | 32 | Atocaava por anjunton Se & vie | Pomerre 620 | 24245; | 64 | Atocaiva por conjunton 6a @ vis Control de cache {La cache intena se controla por dos bits de uno de los reiscos de control (ydase la Ta- bia 46), rotulados CD (cache disable: sinhablitar caches! y NW (oot write through: noe critrafamediatan), Hay tambign dos instruciones del Pentium I] que pueden uulzase para ontrlar ls cache: INVD invahia la memoria cache interna etica que se invalid la eache txtena (lla Hay). WBINVD post-esribee invalda la cache imerna, Y entonces post-esenibe invalid la externa, ‘ORGANIZACION DE CACHE EN EL PowerPC La organizacia de cache del PowerPC ha ido evolusionando paralelamente a ia arquivectu- (@ slobel dela familia PowerPC, relejando la busqueda oontinua de mejores prestaciones {ue ese motor de todos los dsehadores de microprocesndores. La Tabla 47 muestra esta evolucidn, El modelo original, lO, incuye una sla cache de cédigo/daton de 32 Kbytes que er avocativa poe conjuntos de ocho vias. El 603 emplea en Figura 425. Dingrama de bloques de PowerPC G3, Memoria interns 129 diseto RISC mis sofisticado, pero tiene una cache mis pequeta: 16 KBytes, divididos en ea- + ches separadas de datos y de jnstrucciones,ambas con tna organizacién asociativa por con Sunte, de dos vias. EI resultado es que el 603 ene aproximadariene ls mismas prestaciones Que el 601, pero con menor cose. En cada modelo posterior, el 604 y e620, se va duplicando 4 tamato de las caches respecto de su predecesoe. El modelo actual, G3, tiene el mismo ta- ‘mato de caches L1 que e620 La Figura 425 es un esquera simpliicado dela estructura del PowerPC G3, resltando ta ubicacén de ls dos caches. Los otgs miembros de la familia tienen una orgusicacin si ‘wilt, Las unidades de ejecucién fundamentals son dos unidades aritméticas y Ideas de ‘entero, que pueden ejecutar en paralelo. y wea Bnidad de coma flotante con sus propiosre- [Fotos y componentes de multiplicackin, suma y divisign, La cache de datos alimen, tanto las operaciones con enteros coro las de coma flotante, mediante una unidad ée carga/memo- + zacién, La cache de instrucciones, que es de solo lecture alimenta a una waidad de instruc- ‘ones, cuyo fupcionamiento se dscute en ef Capitulo 13. Las caches LL internas son asociativas por conjuntos de ocho vias, y tilizan wna variate ei protocolo MEST de cohereacia de cache. La cache L2 es afociativa por conjuntos de dos vias con tamazos de 256 K. 512 Ko | Mbyee. eed Como se dscutis en ef Capitulo 2, uno de los cuellos de botella mis critcos de un sistema que uulizn procesadores de alta prestaciones es I interfaz con la memoria principal interna. Esta interfan es el camino mat importante en el computador. El blogve basco de construc. ‘in dela memoria principal ese chup de DRAM, como lo ha sdo durante més de 20 abs ¥ desde principios dela década de los 70 hasa hace poco no ha habido cambios significa ‘os eo la arquitectura DRAM. E! chip DRAM tradicional est limitado, tasto por st ‘ectura interna como por su iterfz con el bus de memoria del procesador. Hemos visto que una forma de abordar el problema de las prestaciones de la memoria principal DRAM ha sido insertar uno o mis niveles de cache SRAM de alta velocidad entre Ta DRAM y el procesador. Pero la SRAM es mucho mds costosa que la DRAM. y ampliar el tamate de cache ms alli de cera cantidad produce menos beneicios. En jos ultimnos aos se haa explocado diversas versiones mejoradas de fa arqutectura bf- sica DRAM, y algunas de ellasestda ya comerciligadas. No esta claco por ahora si alguna de elias emergerd como estdndar de DRAM. si sobrevivicin varias. Esta seccin proporcio- fa una visién de estas nuevas tecnologias de DRAM. DRAM MEJORADA Tal_ver Ia ms simple entre [as avevas arquitecturse de DRAM es la DRAM mejorada (EDRAM. Enhanced DRAM) desarrollada por Ramtron (BOND9S], La EDRAM integra tana pequeda cache SRAM en wn cbip de DRAM pendrica. La Figura 426 ustea una versién de EDRAM de 4 Mbits. La cache SRAM aimacens el contenido completo dela ulin fils lds, que coasta de 2.048 bits. 0 512 grupos de bit Ua comparador almacena el valor de If bits de slecci6n mas reciente de direccin de Gla. Si cl iguieate acceso se caliza ala misma fla, slo se necesita baceco en la répida ache SRAM. La EDRAM incluye otras caractersticas diversas que mejoran sus prestaciones. Las ope: raciones de refresco pueden llevarse a cabo en parulelo con operaciones de lectura de a 10 Crganaaeeny arqutectura ce compuradores msc | cache, minimizando el tempo gue el chip escaria no disponible pot causa del efresco. Obstr- vere arta que el camno de letra desde I cache ge flss hasta el puerto de salida es {Independiente del cana de esriura desde el modulo de E/S alos amplifcadores d= lctara Esto posite que se pueda efectuar una operacia de exeritura en paalelo con un acreso de Jestura ais cache Estedios realzados por Ramtron indican que fa EDRAM rinde igual 0 mis que una DRAM oraiaana junto con otra cache SRAM exzera (ala DRAM) peto mis grande. DRAM CACHE La DRAM ‘cache (CDRAM, desarllada por Mitsubishi (HIDA90) es similar a tz EDRAM. La CDRAM incluye uea cache SRAM mus grande que ia de ura EDRAM (16 en fagarde 2 Koyeesh La SRAM de la CDRAM puede uiiaese de dos modos. Ea primer lugar, puede wiz se como una verdaera cache de un numero dado de ineas de St bis. En exo difere de In EDRAM. en ia que ln cache SRAM coatioe adlo un blogue: la fila acedida mis recen- tenet mode de ihe det CORAM ex etna pa actos ators emors La SRAM dela CDRAM poede uilzarse también como buller para proporcionar acce- sos serie a un blogue de datos, Pot ejemplo, para ettscar una pantalla gris (cbit-map- beds) CDRAM puede precaptar lot dator de la DRAM en bull SRAM Acceso subsi- sighs al chip se harfan slo # a SRAM, asoene DRAM SiNCRONA Una aprorimacion bastante diferente ée DRAM con prestacones mejoradas es la DRAM sinerona (SDRAM), desarolada conjurtamente por varias compatias {VOGL34) Mamorisotaa 431 A diferencia de las ORAM tiicas, gu son asincronas, la SDRAM intercambia datos com dl proceador deforma sinronizada con una seal de elo} extra, funcorando als veloc Gat tope del bus procesador/memoria, sa imporetesados de espera. Enna DRAM tipica el proceudor presenta as drecionsy nivels de controls la me- - ora inicando que Tos dates de una poscign de memocia conereta deben bien excibirse 9 “Yeti: Despuds de un tiempo emp de acceso, s exciben © len los datos en la ORAM. Durante el tempo de acceso, la DRAM resin varias operacioes interas ales como 2t- var fa elevadas capacidades dels lines e flay de columns, detect los datos y socalos& través de los balers de salida. El pooessdor debe simplemenie esperar durante este tiempo, Iacendo que el giscera baleen prestaioes Con el acceso sincrono, la DRAM iniroduce s0ca datos bajo el coetol del cela det sistema, El procesodor, uw oire maesto, curs la informacion de designe lestueion. que €: retenida por a DRAM, La DRAM respundecd despues de un certo numero de clo de ‘lo, Entreanto, el maesco puede realizar sin Gesgo ras tates mientras fa SDRAM esta procesando la peti 1a Figuta 427 muesra la tésica interna de una SDRAM. La SDRAM emplea un modo de rdfogas para elimiar fos tempos de exablecmiento de deessign y de presarga de las loess de flay de columa posteires al primer acceso. Enel modo de alana, se putde secueacia la Salida de una sere de bis de datos ua vee que 4 ha aecedido al primero de tios Este modo es ot cuando tacos los bis a seeder etdn en seeuenia yea la msma Fla ela matrz de celdas que el accedido en primer lugar Adem, la SDRAM tiene una arquitectura itera de banco dabe (dof sebmatries que facia el paraielisno en el propio chip. El registro de modo ya Kigica de contol asoiada consttyen otra carateristica cave que dierencia as SDRAM de las DRAM convencionales. Proporciona una manera de pai- Galanzas la SRAM para ajustase a las neceidades coneetas del stra, El regis de modo ‘spetca la longitu dela rafaga. que es el nimero de unidade individuals de datos que se fotregar sincroramente al bus. Este epsto ambi permite a programador aja la tes Gia coef recepetn de una peicion de era y el comenza dia transerenca de 35 La SDRAM fescioga mejor exando transcte bogus lagos Je datos ea sei, al como 0 apheaciones de procesamient de textos. hoja de cleulo y mukineda DRAM RAMBUS, La RDRAM, desarrollada por Rambus [GARRS4, CRIS9T), aborda una aproximacién mds ‘evolucionaria para el problema del ancho de banda de memoria. Los chips RDRAM tienen tencapsulados verticales, con todos los terminales en un lateral. El chip intercambia datos con €l procesador por medio de 28 hiles de menos de 12 ceatimetros de longitud. El bus puede direccionar hasta 320 chips de RDRAM # raza de $00 Mbps. Esto contrasa con los aproxi- smadamente 33 Mbps de las DRAM convencionales. El bus especial de las RDRAM eatrezs direciones ¢ informacion de control, uflizando tun protocole asincron orientado a blogues. Tras un tiempo de acceso inicial de 480 ns, se onsigue la velocidad de datos de 500 Mbps. Lo que hace posible eta velocidad ese! bus en sf, que define muy precisameate fas impedancias, la temporizacin y las seals. En lugar de ser conttoladas por las sefales explicitas RAS, CAS, R/W y CE be se utizan en DRAM ‘onvencionales las RDRAM obtienen las petciones de memoria através de un bus de alta velocidad. Cada peticiéa contiene la direccidn deseada. el tipo de operacién y l numero de bytes en dicha operacisn. 132 Crganzacén yarquitcrura de comouadores a | ox} | a— | —| “Waee | w— Lene | a | a | 4 | one eel SS f er 1 bor aS) (esse Ss Figura 427. RAM gindmieasncrona(SORAM) [PREY RAMUNK E cambio mus cadlealrespeco de la ORAM convencional se encuentea ex [a especiicacion RamLink [GJES92), desarrollada como parte de una iniciativa de un grupo de trabajo del TEE denominada Scalable Coherent Inazrface (SCI). RamLink e centra en I incertae proce sador/memoria. en ugar de en Ia argitecrura inersa de los chips DRAM, RamLink es una ineraz de memoria eon conerionespuoto a punto dispuestas en wn ani No Figura 4283), El trfico en el anil es gestionado por un controlador de memoria. que enya mensajes a los chips de DRAM, los cuales aetdan como aodos dela ed en anilo. Los datos se interearbian en forma de paquets (Figura 4.286) Los paqustes de peticion inican transacciones w operaciones de memoria, Son enviados pore controlador, y contienen una cabecera de orden, la dicescion, usa soma de compeobs- dn check-sum) y, en el caso de Grdenes de excitura, ls datos a escaibt. La cabecera de Mamons intena 133 ‘conte go menor Daan (Se Bra caeraona ncn erosn Dp a neon Br doesn oan bie) Eo 1 Fema enn aoe Figura 428, Ramtins. orden consta de fpo, tamano ¢ informacia de control. y conten. bien. un tiempo de res- puesta especific, 9 bies el tiempo maximo permitido para que el esclavo responda. La infor~ acide de control ineluye un bv que indica st as peticiones subsiguentes serdn a posiciones couenciales Puede haber hasta cuatro ransacciones activas por disposi simulidnese iment, por lo gue cada paquets tlengun (Zenticador (1D) de transacciGn para casar sin am- bigtedad los paguetes de peicion y de respuesta. En wea lectura con éxito, fa DRAM eaiclava envia un paquete de respuesta que conticat tos datos leiden. En una peicidn sin éxito, el eslavo cursa un paquets de reiatento cue indi- a cudnto tiempo adiional aecesita para completar Ia transaction ‘Una de las ventajas de la aproximacion RamLink es que proporciona una arquitectura expandible gue soporta un nlmero pequeto o grande de DRAM. y no impone un esryetue ‘rinterea de DRAM. La dispostaén en anillo Raml.ink extadisetada para coordina fa ac~ tividad de muchas DRAM, y dota de una interfaz eGciente al controlador de memoria. Una mejoraintcoducida mds recentemente en Ia RamLink hace uso de tecnologia des trollada en SDRAM, y es conacida con el nombre de SLDRAM (GILLOT} Pees = [PRIN91] proporciona un tatamieoto amplio de las tecuologas de memoras semicondue. toras, incluyento SRAM, DRAM, y memorias fash. (SHAR9T] cubre también los mistot tema, haciendo mds hincapié en agpecios relaivos a test y segutidad. [PRINS] se centra en arguitecturas avanzadas de DRAM y SRAM. [MCELSS) costiene una buena explicacin de los cdigos de correccién de errores Para un estudio mds profuedo merecen In pena los libros [ADAM9{] y (BLAHS3]. (SHARS7] ontiene uz buena revsiéa de los cédigos utilizados en memocas acuales. Un tratamento en profurdidad éel diseto de caches s¢ puede encontrar en (HANDSS]. ‘Una descripeién detalada de in organizaciGn de cache del Pentium I pueden encontrarse en [ANDESS}, y de la organizacion de cache det PowerPC en (MOTO9T] y [SHANDS]. Ur Aicuo cisco que todavia merec la pena ler es (SMITS2). que revisa los dilintos elemen- tos del discto de ciche y preseaia los resultados de un amplio conjunto de andlisis En TAGARB9] ze presenta un examen detailado de dversosaspectes de diseto de cache telacio- ‘nados con muliprogramacion y multiprocesamiento, (HIGBY] proporciona un conunto de Femulas sencilas. que pueden utizarse para esimar las prestaiones de una cache en fun ida de varios pardmetros. ADAMS! Adame. J. Foundations of Coding. New York: Wiley AGARS9 Agarwal, A. Ancsis of Cache Performance for Operating Sestems and Multipro- ‘gramming. Boston: Kluwer Academic Publishers, 1989. ANDES Anderson, D. y Shanley, T. Pentium Pro and Pentium Il Sysiem Architecture Reading, MA: Addison. Wesley, 1998 BLAHS} Blahot, R. Theory and Practice of Error Conerol Codes. Reading, MA: Addison ‘Wesiay, 1983. HANDS Handy, J The Cache Memory Book. San Diego: Academic Pres, 1993, HIGB9O High. L. «Quick and Easy Cache Performance Analysis» Computer Archiecture ‘Nes, Sone, 1996, MCELES MeBliece, R.eThe Reliability of Computer Memories» Scientific American, Ja: ‘nary, 1985. MOTOS7 Motorola, Inc PowerPC Microprocessor Family: The Programming Environment {For 32-bies Micropocessors. Denver, CO, 1997. PRINSL Prince, B. Semiconducrgr Memories. New York: Wiley, 1991 PRINIG. Prince, B. High Peformance Memories: New Architecture DRAMs and SRAMS. Ecoluion and Function, New York: Wiley, 1996 SHANS , Shaniey, T. PowerPC System Architecture, Reading, MA: Addison-Wesley, 1995 SHAR97 Sharma. A, Semiconductor Memories Technology. Testing, and Reliability. New ‘York: IEEE Press, 1997 SMITE2 Smith, A «Cache Memories» ACM Computing Surveys, September, 1992. Memorisintena 135, ‘SITIO WEB RECOMENDADO: + The RAM Guide: Una buena revisdn sobre tecnologia RAM y miltples enlaces de uri lidad, Soe 41. Sogiera razones por ls que las RAM has sido tadicionalmente organizadas ex solo tun bit por chip, mientras que las ROM estin normaimente organizadas en multiples bits por chip. 42. Considere una RAM dindmica a la que deba darse un ciclo de relresco 64 veces por miliseguado. Cada operacidn de refreco requere [50 ns un ciclo de memoria requie- re 250 na. {Qué porcentae del empo total de funcionamento de [a memoria debe Sedicare alos ree5c05? 43. Disehe woa memoria de 16 bits con wea capacidad total de $.192 bts utlzando chips de SRAM de tamato 64 1 bit Indique la coofigracisn matricial de los chips en fa tarjeta de memoria, mostrando todas las seals de entrada y sada necesaias para asignar esta memoria al espacio de diresiones rmis bajo. El diseto debe peemiit ace ‘esos, tanto por bytes como por palabras de 16 bits Fuente: [ALEX93} 44. Considere la siguiente palabra de 8 bts almacenada en memoria: 11000010, Utlizan- do el aigorimo de Hamming, determine qué bis de comprobacidn se memorizanan junto eon la palabra de datos. Mueste cémo ba obtenido ef resultado 4S. Para la palabra de datos de 8 bcs 0011100, fos bis de comprobacidn que se memori- Zan junto con eli serian:O111, Suponga que aller la palabra de memoria x caiculan los bits de comprobacion: 1101 ;Cudl es la palabra de datos lida de memoria? 4S. ,Cusintos bits de comprobacién se necesitan para utilizar el abdigo de correceién de ‘errores de Hamming para la deteccidn de errores de un solo bit en una palabra de fatos de 1.028 bits? 47. Desarrolle ua edigo SEC para palabras de datos de 16 bits. Genere a eddigo paca la palabra de datos 010100600011100!. Demuestre que el ciigo identificacd correcta ‘mente un error en el bit de datos 4 48. Una cache asociativa por coajuntos consta de 64 lineas dvididas en conjuntos de 4 La memona principal contine 4K bloques de 128 palabras cads uno. Muesre el for ‘mato de diecciones de memoria paincipa 49. Para las direcciones heradecimales de memoria principal: [11111. 666666. BBBBBB: mucste en lormato hexadecimal Is siguiente informacion: 4) Los valores de etiqueta, nea y palabra para una cache con correspondencit recta, utilzando el formato de la Figura 418 136 COrgoneaaion y argutecuta ce computnsores a0. an an aus 1) Los valores de etiquets y de palabra para una eache asociatva, lzando et mato ee la Figura 420 1) Los valores de etiguet.conjunto y palabra pera na cache asoiativa por cor tos de dos vias, utlizando et formato dela Figura 422. ‘Considere un mictoprocesidor de 52 bits que tiene una cache on-chip de 16 KB} acociativa por conjuntos de cual wis, Suponga que la cache tiene un tamato linea de cuatto palabras de 32 bis Dibuje un diagrama de bloques de exta mostrando su oeganizacign y Smo se ulzan les dierentes campos de direc Memori virtat sence Worse | bashed mo Telos de samen a ‘ean rset tpn Sinema de goon tmpiaenado 0 Sta dl site nemo ‘rear sepa Tamate de loge toieo | te 128 bv cessmeones | Nicmovin'proceenaor” | Acero ares Ketan ‘ised nat - Memoria intra 139 {nwstivamente, el principio de locslidad tiene sentido, Consiidense la siguiente secuencia 4 eazonamientos: 1 Excepto para instructiones de bifsreacisn y de lamada, la ecucion de un programa ‘s secvencial, Por tanto, en la mayoria de los casos, la siguiente insruccion a eaptar Sigue iamediatamente ala lima eaptada. 2 Es rao tener una secuencia larga inioterrumpida de lamadas a procedimientos segui- das por la correspondiente secuencia de retornos. En su lugar, un programa queda ‘onflnado a una ventana bastante estrecha de profuncidad o nivel de anidamien'o de Procedimientot. Ast pues, alo largo de un periodo de tiempo cor las referencias a Instrucciones tienden a localizarse en unos cuantos procedimiento 3. La mayoria de las consruccionesiterativas constan de un nimero elativamente pe- queflo de insrucciones repetidas muchas veces, Duttnts una ieracda, el procest- Iiento ests por tanto, confinado a una pequeta porcién contigua del programa. 4. En muchos programas, gran parte del edieuloincumbe al procesamiento de estructu- 1s de datos, tales como matcies 0 secuencias de registtos En muchos casos, as rele Fencias sucesvas a estas esructuras de datos erin a unidades de datos bicados pe Esta seeuencia de razonamicatos ha sido confirmada en muchos extudios. En relaign al pase to primero. se han hecho diversosextuios para analiza: comporamicnto de programas en lenguajes de alto nivel. La Tabla 49 recoge, de los estudios que se indian, resultados cave gue miden la aparicion de cstnto tipos de sentencias durante ia ejecaién El primeso de Jos estudios sobre el comportamiento de lenguaes de programacén. realizado por Knuth [KNUT1], evalué un conjuato de programas FORTRAN uliizsdos como ejercicios de estu- Aiances, Tanenbaum (TANE78] publicé medidas recopladas de es de 300 procedimiectos ttlizados ea programas de sistemas operauvos. esxitos en un lenguaje que soporta prozra- ‘macién estuctutada (SALL Patterson y Sequein [PATT#23] anal:zaron Un conjuoto de me- das tomadas de compladoresy programas para composicion de textos CAD, ordenacéa, Y comparacion de Ficheros. Se extudiaron los lenguayes de programacin C y Pascal. Huck [WUCKS3)analizé esate programas ideados para una medcla de calculs Geotiicos de uso {eneralinciuyeado la tenslormada rdpida de Fourier y la resoluciGn de sistemas de ecuasio- tes diferencales, Hay bastante coincidencia. en Ios resultados de esta mezca de lenguayes ¥ de aplicaciones, en que ls instruciones de bifurcacién y de llamada representan scio una Texcadn de las sectencias ejecetadas durante el Gempo de vida de un programa. Estos ete dios confirman pues la airmacion primera anterior. Con respecto a la segunda afirmacién etudios aportados en [PATTSS] Ia confirman. ato se usta en la Figura 429, que muestra el comportamiento dela pareja llamada retoro. Tabla 49. Frecvencis dindmica iva de operaciones on lenguajes de alto nivel [ tveKes) | RNUTIA PATTER] TTANETSL Pesca | FORTRAN | Pascal c ‘sat Clentiico | Estowante | Siem —_Sttema | _Siateme 7% a 3 38 @ ‘ 2 5 3 ‘ 24 5 5 2 2 2 n 2 6 x 2 * = 2 = = 7 6 1 6 140 Organiza v arautecura de computadores Fgura 623. Comparaminto do iat lamadnaratomes de los programas (Cada llamada es cepresencada mediante la Unea hacia abajo y hacia la derech. y cada retor ‘no mediante la nea hacia ariba y & la derecha. En la figura se ba definigo una cenrane con profundidad igual a5. S6io uaa secuencia de lamiadas y retornos coo Variacidn de 6 en cual (uieedicecsi hace que se trasiade [a ventana. Como puede verse el programa en ejeucién puede mantener dentro de una ventana estacionaria pot peviodos de Wempo bastante lat {fos Un estudio por lor mismos analisas de programgs en C y en Pascal mest que una Ventana de profundidad slo necsitaria desplazarse en menos del 1% de las lamadas 0 retornes (TAMIS3) El principio de localidad de ls referencias contin siendo validado en estudios mis ee lentes Por sjemplo, a Figura 4.30 muestra los resultados Ge un estudio sobre patvones de fceeso a paginas Web en un mismo so Wed. " Fn In lceratura se distngue entre localidad espacial y temporal. La lecalidad espacial se refere ala tendencia durante [2 ejeccin a mvolucrae multiples posciones de memoda que ‘sin agrupadas. La localidad espacial refleja la tendencia del procesador a accede alas in a ee) Figua 430. Located de referencia par ouginas Web (BAENSTL auceiones secueneialmente, y tambien [a tendencia de los programas a acceder a pesiciones {Je datos consecutivas. como, por ejemplo, cuando se prooesa una tabia de datos. La localidad temporal hace referencia a (a tendencta del procesador a acceder a posiciones de rnemoria (gue han sido uilizadas recientemente. Por ejemplo, cuando se ejecutan iteraciones de un bur Ge el procesador ejecuta repetidamente el mismo conjunto de instructiones, FUNCIONAMIENTO DE LA MEMORIA DE DOS NIVELES La propiedad de localidad pucde ser aprovechada formando una memoria de dos niveles. La ‘memoria del nivel superior (MI) es mis pequeRa, mis eépida y mss costosa (por bit) que Ia ‘dai nivel infeioe (M2) Mi se utliza como almaceén temporal para una parte del contenido de ln otra mas grande. M2. Cuando se hace una referencia 8 memoria, ¢ intenta acceder a ee- sento en Mi. Si tiene éxito, entonces tiene lugar un acceso ripido. Si no, se copia un bloque {de posiciones de memoria de M2 4 MI, el acceso se hace via MI. Debido 2 la iocalidad. una vez que el Bloque es llevado a Mi, abril un aimero de accesos a posiciones de ese blo- que reultando un servicio ripido en Su coajunto. aca expresar el tiempo medio de acceso a un elemento, debemos consierar no slo Ins velocidades de los dos nivele: de memoria, sige tambiga la probabilidad de que una releres- ia dads se encuentre en MI. Tenemos: mH eT HU T ETD aT t+-m=T, «o donde Ty tiempo de acceso medio (del sistema) T= tiempo de acceso de M1 (por ejemplo: cache. cache de dizeo) TT, = tiempo de acceso de M2 (por ejemplo: mernoria principal, disco) Hi = tasa de acietos(fraceisn de veces que la referencia es encontrada en M1) La Figura 42 muestra el tiempo de acceso medio en funcidn de la tasa de acierios. Como puede vere, para un porcentaje de acierios alto el tiempo de acceso total medio es mucho ‘ade prdgimo al de M1 que al de M2. PRESTACIONES Veamos algunos pardmetros relevantes a la hora de evaluar un esquema de memona de dos niveles. Consideremos primero el coste. Tenemos: CS. + OS: 5,45: , 4a donde: ,= coste medio por bit dela combinacidn de dos niveles de memoria C, = coste medio por bit de la memoria M1 dei nivel superior Cz = coste medio por bit dela memoria M2 del nivel inferioe - ‘S, = tamato de M1 S,= tamatio de M2 12 Crgenacion y aguitectua de computadores exey8 e tame “28 Tomato ive de i een (8/5) Figo 421. Relecisn entra! case do memoria eo el tsmado rlatvo 36 at mamonas, pa Nos gustaria que C, ~ Cy. Dado que C, >> Cy, ello reguiere que S, <<: muestra dicharelason. Ua Figura 431 CConsideremos ahora et tiempo de acceso. Para que uoa memoria de dos niveles suponga tuna mjora de prestacones sgnifcativa, neestasios tener T, aproximadaiseste igual a T, (7, =). Dado que T, es mucho menac que T; (T, <7), se necesita una tas de aciertos pedrin a [Asi pues, nos gustara que Mi foera pesuet para mantener bajo el cose, y grande para rejora la tsa de aciertosy en coasecueness las prestaciones.;Hay un tamano de MIU que {talaga razonablemente ambos requsitor? Esta pregunta la podemor dsarrolr en otas + {Qué valor de asa de acieros se necesita para saisfacer los requisites de prestaciones? + (Qué tamato de MI asegurard ln asa aciertos necesania? « iSatisfce dicho tamano e!requisito de cose? Para responder, consideremos la cantidad 7,/7, conccida como efciencia de arco. Es una ‘medida de cudn proximo es el riempo de acceso medio (7) al tsmpo de acceso de MI (7) Dela ecunciga (4.1) resulta 1 1 —t_. 43) 7 is a tea-w?e En la Figura 4.32 se representa T/T, en funcign de la tasa de acertos H, con la cantidad T/T, como parsmetro. Normalments el tiempo de acceso a cache es entre cinco y die veces menor que el iempo de acceso a memoria principal (es decir TyT, estd entre Sy 10, y cl acceso a memoria principales del orden de L.000 veces mis ripido que eh acceso a disco (71, = 1.000) Por caro, parece aecesaria una tsa de aciertos ene 0,8 y 09 para satsacer 1 Fequisito de prestaciones. Memoria ints — 143, oo 02 ee oF * 10 Ta nics Figura 4.22. tfclancia de acooto on funcién al tues de alana (r= T/T, ‘Ahora podemos plantear con-mayor exacttud la cuesti6n referida al tamano relative de Jas memocias., razonable una tasa de aciertos de 08 0 superior con S, << 5,” Eso depen- erd de diversos de factores, incluida la aaturieza del software que se ejecue y los detales el diseto de la memoria de dos niveles. Lo mis decisivo es por supuesto. el grado de local- ad. La Figura 433 sugiere ei efecto que tiene 1 locaidad sobre la tasa de aciertos.Clara- 19 oa a] Selon a} | o o of Tat ce menor te (8.3) Figura 432, Tosa de acartos en funcion del tamano relatvo de tas mamorias. 14 Organiza y rauitctura de sempuradores _mote. si MI tiene el mismo tamaho que M2 !atasa de aciertos sed 0: todos los eo ‘dos de M2 estin tambida siempre almacenados en MI. Supoagames ahora que no localidad: esto es, que las referencias son completamente aleatorias:En ese caso la. tata acertos seria una foncidn esinctamente lineal del tamafo relatvo de las memorias ‘jemplo, si MI tiene la mitad de expacidad qoe M2, en todo momento ta mitad ‘entos de M2 estin tambien en MI, 9 la tasa de aciertos serd 0.5. Ea la practi, 5 0, erste cierto grado de locaidad en las referencias a memoria, Los efectos de una local ‘moderada o fuerte se indican en ia figura. ‘sl pues, sila localidad es fuerte, es posible conseguir una tasa de acertos alt, inch con un tamato rlativameate pequeto de la memoria de nivel supecior Por ejemplo. ‘ojos estudios han mostrado que tamsatos de cache bastante pequetos producen taras aciertos por encima de 015, con independencia del tomato dela memoria prcipa consulta por ejemplo (AGARAV]. (PRZYS8}, (STRESS), y [SMITSZ]). Generameare, es adecuads tuna cache de IK a 128K palabras, mientras que una memoria principal actual sule tener ‘multiples megabytes. Cuando coasideremos la memoria vical y a cache de dico, stare tras estudios que confirma el mismo fendmeno, es dest. que una MI rlativamente peque fa produce um valor eievado de i tsa de aciertos gracis a la loaliiad xa nos conduce a la dkima pregunta antes planteads:;satisfae el tamato relatvo de Jas dos memonas el requitito del coate? La respesia es laramences. Si para conieguitbue fas prestaciones aecestarios poca capacidad para la memoria de nivel superior, el coste me io por bit de la memoria de dos aiveles se aproximard ala del nivel iniroe. que es mis ceancmicn CAPITULO 5 Ba. 52. 53. 5a, 55. Memoria externa Discos magnéticos Organizacion y formatos de los datos Caractersticas fisicas Pardmetros para medir las prestaciones de un disco RAID Nivet 6 de RAID Nivel 1 de RAID Nivel 2 de RAID Nivel 3 de RAID Nivel 4 de RAID Nivel 5 de RAID. Nivel 6 de RAID. Memoria spticn Disco video digital Discos magnético-¢pticos ints ma Lecturas y sitios Web recomendados Probie Ta a aa us Crgnitacin yarquitecrra de computasores Seer eresesresesecroseeees + Los discos magaéticos siguen siendo el componente més importante de Ia me ‘moria externa Tanto los extraibles como los fijos, o duros, los discos se usan tanto en computadores personales. como en computadores grandes y supet- computadores. «+ Para conseguir mayores prestaciones y dsponiilidad, un esquema de servido res y sistemas grandes extendido es la tecnologia RAID de discos. RAID se refier a una familia de téenicas para utilizar varios discos como un conjunto de dispositivos de aimacenamiento de datos en paralelo, con redundancia para ‘compensar los fallos de disco. + Las téenicas de almacenamiento éptico se han convertido en algo cada vez ‘mds importante en los computadores. Mientras que el CD-ROM se ha usado ampliamente durante mochos afios, tecnologias mds recientes, como el CD reescribibley las unidades de almacenamiento magnético-6pticas, estén siendo «cada vez mas importantes. tee Soe eee reer sereseesereseees Memoria exons 147 ‘menzamos con el dispostivo mas importante, e disco magndtico. Los discos magn ticos son la base de las oemoras extemas en casi todos los computadores. Ea la Siguenteseccidn se examina el uso de conjuntos de discos para conseguir mayores presacio- ‘2s, coneretamente la familia conceda como RAID (Redundant Array of Independent Disks. ‘sconjuato redundaate de discos independienteso}. La memoria dpcica externa es uo compo- nents cada vez mds importante de muchos computadoce. y se examinard en la tercera sec ‘on. Al final, se desriben las cinas magnsticas E: ‘este capitulo se examinan distintos sistemas y dispostivs de memoria externa. Co- Un disco magnético es un plato circular construido con metal o pldstico.cubierto por un material magnetzable. Los datos se graban en &y despues te recupecan del disco através de 1 bobina.lamada cabeza. Durante una operacion de lectura 9 etituta, la cabeza perma: nore quicta mientras el piato rota bajo ella EI mecanismo de ecrtura ve basa en el campo magnéico producide por e Nujo elécrico {gue araviesa la bobina. Se exvian pulsos a la cabeza, y 32 grahan patrones magnéticos en Ia Superficie bajo ella. con patrones diferentes para corrientes postvas y negaivas. El mecanis- smo de lectura se basa en la commence eléctrica que atravesa lz bobina, producida por 0 ‘campo magnético que se mucre respecto a la bobina. Ccando la supericie del disco past tajo la cabeza, se genera en esta una corcente de la misma polaridad que Ia que prodjo la dbacidn magnetic, ORGANIZACION Y FORMATO DE LOS DATOS La cabeza 2s un dispositivo relativamente pequedo capa de leer o escribir en una zona det plato que rota bajo ella. Esto da lugar a que los datos se organicen en un conyusto de alles ‘oncéatricos en el plato. lamados pistas. Coda pusta es det mismo ancho que la cabeza. LUsualmente hay de 500 2 2.000 pitas por superficie. En In Figura $1 se puede ver la disposicda de fos datos. Las pistas adyacentes extn se- pparadas por bandas vactas. Esto previene 0 por lo menos minimiza, los errores debidoe & E> Rec SaaS eae Sy es Se SS (@ FAD # (worcaren dees) gua 58. Niveles RAD contnuacn si bay pendieates dos pricios dilerentes de €'S para dos bloques de datos diferentes, en- tonces es may probable que los bloques pedidos estén en dilerentes discos. Entonees, Ie dos petciones se pueden emitir en paral, redaciendo el tiempo de cola de E/S. Peco RAID 0. como todos los niveles RAID, va mis lejos que una senciladstribucisn de datos 2 teavés del conjunto de discos los datos 200 organzados en forma de tras de dacos 2 través de los discos disponibles, Eso se ertiende mejor considerando Ia Figura $6. Todos los tos del usuario y det stems se ven somo almacenados en Un sco l6gico, El dsco se divi- de en tras; evas as pueden ser bioques fscos, sectores o alguna otra wnidad. Las tiras proyectanciceamente, en miembros consecutivos del conjusto. Un conjunto de tras ligicn ‘mente consecuvas, que s€ proyectan exactamente sobre na misma tra en cada miembro el conjunto. se denomina siranjae. Ex un conjunio de m discos, las primers m tras Iigias (ona fanja) se almacenan fsicamence en a primera tira de cada uno de ls m discos, Ins se- ‘gundat ntra gies, se dgtebayen en la segunda tra de cada disco, ete. La venaja de est ‘dell cabeza al Srea general ajustar Ia velocdad de rotacidny feria diceecin y,entonces, 3° hacen pequefios ajusts para encontrar y acceler al secor expec, {Los CD-ROM son apropiados para la distribucion de grandes cantidades de datos 3 un aran oimero de usvarios. Debido al gasto det proceso inicial de eseritura. no es adecesdo (2) Wosnand ine cortana Figur $3. Comparscién ote ow métodos de orpanincisn. 168 Organzacdn y arquitactura de comoutadores f jo] ww | ag i 2352.90 Figura 5.9. Formato de lox blaqves de un CD-ROM. aca aplicaciones individuals. Comparado con los discojamagndcicos tradicionaes, e ED-ROM tienetres vpntajas principales: + La capacidad de almacenamiento de informacidn es macho mayor en fos CD-ROM, + E1 CD-ROM, junto con ia informacin almacenada en és puede ceplicar en grandes ‘antidades de forma barata a diferencia de fs discos magnéticos. Las bases de datos fn un disco magaetico se reproducen copiando uno a uno, usando dos unidades de isco. + EICD:ROM es exirable, permisiendo usar e! disco mismo como memara de archivo La mayoria de los discos magnéticos no son extraibes. La informacién que comtiene tiene que copiarse en una cinta antes de que se pueda usar la unidad de dscoidisco para almacenar aueva isformacicn Las desventgjas del CD-ROM son: + Es slo de letara y no se puede actualiar + Bl tiempo de acceso es mayor que el de medio segundo, 1 unidad de disco magnético, tanto como wort Se ha desartolldo el CD de una-escrtura-variasecturas, para adaptarse aplicaciones en ias que adlo se necesitan unas pocss copias de un conjunto de datos Para hacer ue YORM, se consteuye un disco preparado para poder ser escrico una vez coe un haz iAser e intensidad modesta. De esta forma, con algta controlador de disco especial, mas caro (ue para CD-ROM, el cliente puede esenbie una vex. ademds de leer dsco, Para propo” ‘onar ua acceso més ripido, et WORM wsa velocidad angular constane,sacrficando par- tede su capacdad. . Una técnica tipica para fabricar el disco es usar un lses de alta poteacia para produce ‘una sene de ampolla en el disco. Cuando el medio preformateado se situa en una unidad de WORM, un ser de baja potencia puede producir calor sufcente para reventar las ampollas pregrabadas. Durante la operacia de iectura, el lser dela unidad WORM iluioa la super- fice del disco. Como las ampolls reventadas proporcionan mayor contrase que el rea de alrededor, una electrénica sencila lo reconoce fdaimente.~ El disco dptico WORM es atractivo para almacenar archivos de documentos y ficheros Proporciona ura grabacién permanente de grandes cantidades de datos del usuario. Momoriaexerns 167 DISCO OPICO BORRABLE El desarrollo mas reciente en discos Spticn ese disco Sptico boreable, Este disco se puede ‘senbir reesebir repetidamente, como cualquier disco magnético. Aunque e han probado ‘mochas aproximaciones la dnica tecnologia que los ha hecho comercialmente factibles exe] Sistema magnético-dptica. En esc sistema, se utiza la energia de un haz de Hser, junto eon bn campo magnetic, para grabar y borzar informa, invirtiendo los polos magneticos en tua pequeta drea del disco cubiertacon un material magnétic. El haz liser calienta un de ‘erminado punto del medio. y un campo magnético puede cambiar la orientacica magaéti (polo) de este punto, mientras se eleva su terperatura. Como e proceso de polarizacion no 7 ‘ausa un cambio fsic en e disco el proceso se puede repetir varias veces, Para let, el polo de magoetizacidn se puede detectar con un haz liser polarizada. La luz polarzada refjada por un punto particular cambiard su grado de roneign dependiendo de ia orientacia, corte sur dl eampo magaétio. El disco Sptico borrable tiene la venta obvia. sobre el CD-ROM y el WORM. de que puede ser reeserito, y por tanto usado, como wna verdadera memoria secundaria, Por tant, compite con el disco magnético. Las principales veniajas de los discos dpticos borrables, ‘omparadas con los discos magadticos son ‘+ Alia capucidad: Un disco dptico de $25 pulgadss puede almacenar alrededor de 650 Moyles de datos. Los discos Winchester mas avanzades puede memortzar egos dela rmilad de los datos anteriores. + Inteccambiailidad: Los discos dptios se pueden extraer de la unidad de disco. «Seguridad: Las tolerancias de construceién para los discos dpticos son mucho menos severas que para los discos magnéicas de alta capacidad. Por tanto, muestra mayor Seguridad y vida Coma fot WORM, los discos épticos borables san un velocidad angular constant isco viDEO DIGITAL, CCon la gran capacidad de almacenamiento d¢ los discos video digiales (DVD, Digital Video isi la industta de la electsdnica ha encontrado por fin un sustituto razoouble de las cintas ‘VHS de video analdgicas. E! DVD sustturé als cntas de video wsadas en los reproducto- ‘es de video (VCR) y, fo que es ads importante para este texto, susituiré al CD-ROM ea los PC y servidores. E! DVD lleva al video a ls edad digital, Proporciona peliculas con wna cal- dda de imagen impzesionante, y se puede acceder a ellos aleatociamente como en los CD de sudo, que pueden también pueden let los DVD. En un disco se puede grabar un gran volu- ‘men de datos, en la actualida sete veces més que en un CD-ROM. Con esta gran capacidad de almacenamiento y alta calidad de los DVD. lo juegos para PC serdn més reales, y el sof- ware educativo incorporard mis vigeo. Com) consecvencia de esios desarrollos habrd un ‘evo pico en el trio en Internet y en las intranets corporativas, ya que este material se sorporard a Ios sitios Web, Hie aqui algunas claves que destacar de los DVD que los diferencia de los CD-ROM: ++ Un DVD estindar almacena 47 Gbytes por capa, y los de doble capa y una cara alme- cenarta 85 Gbytes ‘= EI DVD utiliza un formato de compresi6n conocido como MPEG para imagenes de peatalla completa de alta calidad ‘= Un DVD de una capa puede almacena: una pelicula de dos horas y media, mientras que uo dual poede coniener una pelicula de mis de cuatro horas. 168 crganicacionyaveinectra do comauradores piscos MAGNENICO-dPrICOS Una unidad de disco magntico-optics (MO, Magneto Optical) ws un ser 6ptico pang avimentar las posiblidades de ura unidad de disco magnéticocontencional. La tznologh srabacidnesfandameialmente magncia. Si embargo, se uta uz ser dptico para focal {a cabeza grabadora magnéuca. para poder conseguir una gran capacidad En este exquemad disco se ecubre con un material cuya polridad se puede alterar slow altasvemperstras Lainformacin se escribe ene disco, usando un laser para calestar un pequebo punto de sy supertici, yuego apicando un campo magnético. Cuando el punto ve enfria, adopa la po ‘dad norte-sur. Como el proceso de polarzacion no causa un cambio fico en ef disco, exe proceso se puede tepetir varias Wee. La operacidn de lectera es puramentedptica. La direcién dela magnetzaci se puede dewectar con un har de lave polanzado (con una potencia inferior ala Ue ercrura) La luz polarizaderelejada por un punto en concreto cambiar su grado de rotacsn dependiend els oricntacién del campo magnctien La principal ventaja de fos MO frente a los puramente épticos CD es la tongevide’ de fos lscon Repetidasexcntsras de ls datos enun deco dptico produce una degradacisn gradual sl medio. En Ins nidades MO no se produce esta degradacion por tanto sigue wende ublzable durante es operaciones de exeritra,Otra venta dela tsnolagia MO es gue oft un caste por megabyte considerablemente inferior que en cl almacenamiento magnéico, ‘Los sistemas de cinta usa las mismas tdcicas de leccura y grabacién que los discos. El me- dio ex una cinta de pdsico eriplar) fexiie, eaierta por un Srido magaetice. La cata y la ‘ridad de cinta som andlogas a una cinta de grabacion domestica I media de a cinta se estructura en un pequeto numero de pstas paraletas Los prime. ‘os sistemas de eins usaban 9 pisias Esto hace posible almacesar datos de un byte en un intance dado, con un bit de pardad adicional, en la novena pista. Los nuevos siterns de Cintas san 18 0 36 pistas, que corresponden a una palabra o a una doble palabra digital. Como con ei disco, los datos se leony excites en loques contiguos lamas repos {fisieas de eta. Los bloques dela cinta esse separados por bandas vacies amas bandas ‘cer regitros. Ena Figara 5.0 se muestra la estructura Ge una cinta de 9 pitas. Comno ea et isco, a cinta iene un formato para faciitar 1a localizacién de los repistrosfisicon Uns wnidad de cinta es un dispostivo de acezo secuencial. Sila cabera de Ia cinta se fosicona en el regisio J, entonces, para ler el registro Nes necesari lee los repsros fisicos de al N=, uno'a uno. Sila cabera esd actualmentestuada mis ald del registro Zamaonrengt Ragas RHREEE Fours 8:30, Formate do un deco magnitin de ave pats Mamoria esters 168 eseado, es necesario rebobinar Ia cinta un cierto echo y empezar a ler hacia adelante. A ) indicar ei estado, 0 realizar alguna funcién de conirol particular del dispositive {por ejemplo, situar una cabeza del disco} Las sales de estad indican el estado del disposi. tivo. Como ejemplos estdn la sefial LISTO/NO LISTO («READY/NOT-READY>), que in- dic si el dispositvo esta preparado para la translerencia de datos. La ligica de conzrol asociada al dispostivo controla su operacién en respuesta ala indi ‘caciones del méduio de E/S. El tronsductor converte las sees eiercicas asoctadas al dato « ‘ra forma de energia en el caso de una salda, y viceversaen el caso de una entrada, Usual- mente. existe un bufer asocido al transductor para almacenar temporsimente el dato que se ‘std transfiriendo entre el médulo de ES y ol exterior es coméa un tamafo de bull de 8 a 16 bits {a interfaz entre el médulo de B/S y et dispositivo externo se examinari en la SecsiGn 67. La interiaz entee el dspositivo externo y ol entorno esta fuera del enfogue de este libro, pero se darin algunos ejemplos breves. TECLADO/MONITOR a forma rads comin de interacci6a computador/usuario se produce a través de la combina: 6a teciado/monitor. El usuasio proporciona la entrada a través del teclado. A continuscion ‘esta entrada se transmite al compurador y puede verse en e! monitor. Ademas. el monitor ‘muestra los datos que proporciona el computador. La unidad bsica de intercambio es el cardcter. Asociado con cada cardcter hay un eédi- go, usualmente de 7 $ bits de longtud. El digo mds coméamente usado es un eSdigo de 7 bits, conocido como ASCIT (American Standart Code for Information Interchange) en los Evtados Unidos de America, e internacionalmente como Alfabeto de Refeeacia Internacio= fal ITU-T. Cada cardeter de este cédigo se representa mediante un dco mimero binario de 7 bits: en consecuencia, 2 pueden represeotar 128 caractercs!. La Tabla 6.1 enumera los valo- rs del cédigo. En ls tabla. los bits de cada cardcter se designan desde B7, que es ot bie mas sieniicative. a bl, el menos significa. Los caractees son de dos tipos imprimibles y de control Los caracteres imprimibles son alfabéticos, numéricos, y especiales (estos cltmos ‘pueden imprimiese ex papel o vsualizrse en una pantalla) Por ejemplo. a repeescntacion Binaria det cardcter «K» et LODIGII. Algenos de Tos caracteres de control se wilizan para controlar la impresora ola visualizacién de los caraceres; un ejemplo ex el retorno de carro. (Otros caracteres de control estdn reacionados con los procedimientos de comunicacin. Para la entrada desde tsclado, cuando el usuario pulsa una tela se genera un sebal elec: ténie. interpretada por el wansductor del teclado, que la tradace al patroa binanio del co- respondiente eédigo ASCH Entonces, este patrén binario se ransmite al médulo de E/S el Gomputador. Ea el computador el texio se puede almacenar utlizando el mismo eédigo ASCIL En a salida, los codigos ASCII se tcansmiten al dispostvo externo desde ef médulo e ES. Fl transductor del dispostvo interpeeta este eddigo y envia las sefales electeSnicas Drecias para que mouestre en pantalla el cardcter indieado 0 ealce la funcién de coatrol sol- cada, * Lovcactome ASC cal seman alae y num eed Ss por career Bloque de bi ‘ama soot ceo bit ue bi de pad uta cern de erote ES pd gute aces ‘chemi pci mis wiptetivn. J po esq enn como by 178 Orparzacin yareitectra de comoutadores Tabla 6.1. Codigo ASCII American Standard Cade for Information interchange) Posiion de bit tie ofw}fwi.[~letv|rlo roaye af cr jos | - = iM 1 m ’ 1 ads ‘oso [ as >[wtafr| - sa}. ape TL? fet-fe fou ysis ts | un vr para GE.UU. ew Aono alr nmatnl TUT 750), oe aac con ae Seon ot Tete 8 CONTROLADOR DE DISCO (DISK DRIVE) ‘Ua controlador de disco contiene la electrénica necesaria para intercambine sales de datos, ‘control y estado con un médvio de E/S, mas ia electra para controlar el mecanismo de lecturaescritara dl disco. En un disco de eabera fia, el transductor hace la cocversin entre los patrones magnéicos de ia supecice det diso ea moviauento y los bis del baller del ds posttivo (Figura 621 Un disco de cabera mévil debe adersis ser eapaz de mover radialmente fet brazo del disco hacia dentro y hacia fuera sobre la supericieéel disco. Envadateoida 179 Tabla 62. Caracteres de controt ASCIL (8s) anhpac sauce sete in mowrmans VTi Th tani viii io rena’ acorn ae sw eee (eign Sewer emia meomaran weet Ros Macon, sens sre ip wert nn aoe Seca ATX [Eel Tom seg cetomost uaga come tno Sim Synawenaceie, exineranoierade- vitae tor ‘Srangortsencrontacon Cuneo et Satis Smiseievearmacasomee Snes mesure i commuaate 90a ‘Ser, imareyacaaysnsan ens fTR_ Encl Ferman, Bly nw on ese spartan aloe lo secuadoren de loracn wiles de manary C$ Grous Spun earn! da eo 18S ‘Rear deur snounsr Senses GS ive Susur coeswasor ones 2 Sete cmnsco eco gana wt {aes susan pane a owe a ace SGmguaonsdne pu soasnare enero xe Bat Ln cacap, ane cf ae 6 dt 30 Orgarnncion y arquicacturs de compurasores Pe FUNCIONES DE UN MODULO ‘Las principales funciones y requisites de un modulo de ES se encuentran dentro de lassi. soienteseategorias: + Control y temporizacion 0m et procesador + Comunicacin con les dispostivos + Comnica: 4 Almacenamiento temporal de datos 1 Deteosién de ercores En cualguiee momento, el prosesador puede comunicarse con uno 0 mds dispositivos exter ‘nos en cualquier orden, segun las neceidades de E/S del programs. Lox recurso interno {ales como ia memoria principal yel bus dl sistema, deben compartirse entre dstntas ac dades, incluycndo la EA de datos. Ast, la funciém de E/S incluye certosrequistos de control 1 temporiaacio, para coordinar el trfico entre los tecursosintetaos y los dispositivosexter- ‘tot Por ejemplo, el contol de la tranaferencia de datos deude un dispostivo extern al o> cesador podria implica la siguiente secuencia de pasos: 1. El procesador interoga at médulo de E/S para comprotar el esado del dispostivo cconectado al mismo 2 El mbdulo de /S devuelve el esiado del dispositive, 3. Sil dispostvo est operatvo y preparado paca transmit, procesador solicits Ia Uransferencia del dato mediante una orden al médulo de E/S. 4. El milo de E/S obtiene un dato por eempic, de § 6 16 bis) del dspositivo extern. 5S. Los datos se tanseren desde el médilo de E/S at procesader Si el sistema utiliza un bus, entonces cada usa de las inteacciones entee el procesador y el ‘édulo de E/S implica uno o més abicajes de bus ‘Ademds, el exquema simplifeado previo muestra que el midulo de B/S debe tenet la ca pacidad de entablar comunicacisn con el prosesador ¥ 00 e! dipositvo extern, La eomuai- asin com el procesadorinplics: + Decodifcacién de érdenes Et médulo de E/S acepta érdenes del procesador Estas érde- nes se envian generalmentswilizando lineas del bus de control, Por ejemplo, un mdi- fo de ES para un controlador de disco podeia rear las siguientes ordenes: LEER ‘SECTOR (READ SECTOR), ESCRIBIR SECTOR (WRITE SECTOR}, BUSCAR ni- ‘meco de pista (SEEK track number) y EXPLORAR {Deaticadoe de registro (SCAN ‘cord 1D}, Cada una dels dos dhimas Grdevesinclaye ua pardmetco que os enviado & traves det bus de datos. Datos El procesadory el médulo de F/S intercambian datos a través del bus de dats. + Tnformaciéa de estado: Puesto que los perifrcos son lentos, es importante conocer el ‘estado del médulo de E/S. Por ejemplo, s 2 tolicta a un médulo de E/S que envie ‘datos al procesador (ectura), puede que no estépreparado. por encontrarse todavia res Pondiendo a una orden de E/S previa. Esta situacidn puede indicarse con uaa seal de ‘estado. Sefals de esiado exuales ron BUSY (ocupado) y READY (preparado}. Tamm- bin puede haber sefales para informar de cierasstuaciones de error. Envradasoies 7181 + Reconocimiento de direccién: Igual que cada palabra de memoria tiene una diteccién, ‘ada dispositivo de E/S tiene o:ra. Ast, un médulo de B/S puede reconocer tna Goica en el byte sea par (paridad par) o impar (paridad impar. Cuando se recibe ux byt, el médulo de E'S comprucba la paridad para ceterminas si se ha producido us error ge there ete ees ——— ee aa Yacced e (s) Figura 6.2. Velocidadestincas de wansforoncia on potitvoe 6. 12 « ESTRUCTURA DE UN MODULO OE E/S ‘rganizacicn yargulentura de computaores 1a compleidad de lov enédulos de E'S y el nimero de dspostivs exeros que contin vanan consderablemente Atul Uicamentepretensemos rlgar ura decnpccn uy Jal (Ua dspesitivo especie, el Ite 82C33A, se cexrbe ea la Sezciga 64) La Fae msstraun diagram de blogoes de un mula de E'S. El médslo se conecta a esto del con Patadoe tras de un conjusto de liens (por empl, Kness del bos de sistem). Los Gta ue se (anderen ay desde el médulo se almaccnan temporalments en uno o mls repstion de Aiton Adem, purde haber uno 0 mds regtrs de estado que proporcionan iaformacén de fsxado presente Un registro de estado tambien puede funcionar como un testo de contra bare rece informacion de contro el prosesador. La logea que ay c mul nterctéa onl pectaador através de una seve de ness de contro. Eta 0 Tas Queue proce dor pare propotioear ls Grdenes al médulo de ES. Algunas dels Kas de come pueden se: uiladas por el modulo de E'S (por epempl, para tos stale de arbiae y estado) El sméculombiea debe sr capa de reconacery generat as iresiones asada a os daposi- esque sontola. Cada modulo de E'$ueae una ieccién inca 0, contola mas de wn di Dositivo extero, un eojunto nico de dreeones. Por imo, e modulo ce ES pose ls hgh ‘Sespecfin para le intrlr con eads ano eos dspositivos que coal Efuncionamiento de un médulo de /S permite que el procesador ves una ampliasa- sna de dspontivos de una forma simplifeads. Ante el espero de posibiidades que pueden ‘are iddulo de B/S debe ocular Tos detalcs de enponacia, formatosyelecomectar {1G los posts externos para qu ! procesadoe pues fonconardnaten en term not ge dedenes de lecturay esrturay posblemente, Grdenes de abi etra fchers. Ea Su forma mad senile médulo de 25 puede no Obstate dejar al prossador pare del teabaye de costal del dispositive (por semplo, ebcbiar una cata) Un duo de F/S que se encarga dela suyota de los detalles de pocesamint pe- seotando al procetsdor tna intertas de alto nivel. denomina genecalmeate canal de B/S 0 procesodor de E'S. Un médulo que sea bastante simple yrequera un contol deallado, nc ulmente se denomina controlador de JS 0 conrolador de dposiaa. Las conladotes de Es aparece enseie ca mitocomputadors entasGoros cna de Ee vlna en grandes computadorescetrales atuafarese. En lo que sigue. haremos uso del término genrico médulo de £/S cuando no haya posibt- lidad de confusi, y ulizaremos los frminos espectfcos cuando sea preciso. pase seme contre ater Figura 64. Diagrams on blonves 40 un edule de 6. Enuracniniée 183 ree E Son posibles tres ténicas para las operaciones de B/S. Con la E/S programada, los datos se intercambian entre el procesador ye! médulo de ES. El procesadot ejecta un programa que, controla directamente la operacica de E'S, incluyendo Ia comprobacin del estado del dispo- Sitv0,el envio de wna ordeo de lctura 0 esrturay la tansferencia del dato. Cuando e pro- ‘zsador envia usa orden al médulo de /S. debe esperar hasta que la opecacién de FS con- cliya. Si el procesador es mds répido que el médulo de E/S, el procesador desperdicia este ‘empo. Con Ia ES mediante interrupctonas el procesados proporsions la otden &e ES, 2o0- tina ejcutando ours instrucciones.y es lnterrumpido pot el médulo de B/S cuando ée ha terminado su trabajo. Tanto con E/S programada como coa interrupciones, el procesadoc e+ respoasable de exitzer los datos de la memoria principal en una sada, y de almacenat 105 Gatos en la memoria principal en una entrada. La alterativa se conoce como acces directo a ‘memoria (DMA) Ea este caso, el médulo de E/8 y la memoria principal intecambian datos irectamente, sin a intervencion del procesadoe. La Tabla 69 indica la relacion entre estas tres téaicas. En esta seccidn estamos is E'S programada. La E/S mediante interupciones y el DMA se consieran, respectivamente, en {as dos prdsimas secciones RESUMEN ‘Cuando el procesador es cjcutanda un programa y encuentra wna instruccinrelacionads con una E/S. ejecuta dicha rnsuceign mandando una orden al mSdulo de ES apropiado. (Con E/S programada, et médulo de E'S realiza la accin solicitada, y después activa les bits apropiados en el regstro de estado de £/S (Figura 6.) El médulo de E/S no tealiza ninguna ‘tra accidn para avisar al procesador. En concreto, no interrumpe al procesador. De esta for- ‘i, el procesador es responsable de comptobas periddicamente el estado del médulo de E'S basa que encuentra que la operacin ha terminado, Para expicar la tenica dela E/S programada, la considecaremos primero desde el punto” 4e vista de las Gedenes de E/S que envia la CPU al médulo de B/S. y Gespues desde el punto e vista de las instrucciones de E/S que ejecuta la CPU. ‘ORDENES DE E/S. Al sjecutar una instrucsidn relacionada con una E'S, el procesador proporciona una dies- ‘dn, especficando el médulo de B/S particulary el dispositivo externo, y una orden de E/S Hay cuatro tipos de érdenes de E/S que puede recibir un malo de E/S cuando es direcsio~ nado por el procesador: Tabla 63. Téenicas de ES < Sin imtarupesones Transferencia da E/S 2 8 programada amor steven els CPU ranaterencla diecta de €/S 184 Orgenieaciony Srquitctna de computadores Innvven nase: neues rte (0) WS ropanace 1) © redraiernosonne Figura 65. Tres thnicas pars a emda de un bloque de dotos + Centro: Se wiliza para actvat el peiférco ¢ indicacle qué hacer. Por ejemplo, puede lniearse a uoa unidad de cinta magndtica gue se rebobine o que avaace al registro s+ ‘uiente Estas ordenes son especiins del tipo partcula de peritrieo. «Test Se liza para comprobar diversas condiciones de estado asociadas con ef médu+ lo de ES v sus peritricos, Et procesadar pode comprobar si el peniférco en cuesién ‘sth coneciado 7 disponible para su uso. También podcd saber sila operacén de E/S mds reciente ha terminado y si se ha produeido aig error + Lect: Hace que ol médulo de E/S capfe un dato de un petifrico y lo sie en un bifler interno (representado como un registro de datos en la Figura 64). Desputs el procesador puede obtener el dato tolicitando que el médulo de E'S lo ponga ene! bus e datos Emacalslide 185 + Excritura: Hace que el médulo de £/S cape un dato (byte o palabra) de! bus de datos posteriormente Io transmita al pecilien, y La Figuea 6 5a proporciona un ejemplo del uso de la E/S programads pars ler un bloque de ¢atos desde un dispostivo periérico (por ejemplo, un registro de una cinta) y almecenaro en ‘memoria. Los datos se leen palabra por palabra (16 bits, por ejemplo). Por cada palabra ie da. el procesador debe permanecer en un ciclo de comprobacion Ge estado hasta que deter ‘mine que la palabra ests disponible en el regsto de datos del médulo de F/S. Este Giagrama de fujo resalta la principal desventaja de esta técnica: es un proceso que consutne tiempo y ‘mantiene al procesador innecesariamente ocupado, INSTRUCCIONES DE E/S En In E’S programada. hay una estrecha correspondencia ene Ins instcucciones de E’S que 1 procesador capta de memoria y ns drdenes de E'S que la CPU envia @ un madulo de E'S al eecutar las imstrucciones. Es deci, la instrucciones se puedee hacer corresponder tei. ‘mente con js Srdenes de E/S y, a menudo hay uea simple reacién de ugo a uno. La forma de la instruccién depende de la manera de direccionar lox dispositvos externos. Normalmente, habra muchos dispostivos de E/S consetados al sistema a través de los médulos de E/S. Cada dispositivo tien asociado un identieador dnico o direcciSn. Cuando sl procesador envia una orden de E/S. la orden contiene la direeciba de dispostivo deseado, ‘Asi cada médulo de E,S debe interpretar las Wneas de ditecciGn para determina sila orden espana a. . ° ‘Cuando el procesador i memoria principal y las E/S comparten un bus comtin, som po- sibles dos modos de dircccionarmiento.asighado en memoria tmemory-mapped) y aislade Con las £:S asignadas en memoria, existe un daico espacio de diecziones para las posiiones de memoria y fos dispositivos de E/S. La CPU considera lot registas de estado y de datos de los médulos de E/S como posiciones de memoria, y wliza las smas instrusciones maquina para acceder tanto a memor como a los dispositivos de E7S. As por ejemplo, con 10 ness de direceiin 2 puede acceder a un total de 1.024 posiciones de memoria y dicecciones de B/S, ‘en cualquier combinacida, Con iss £/S asignadas en memoria, se necesita una sola ines de lectura y und sola tinea se escrtura en el bus. Alterativamente. el bus puede disponer de lineas de lecura y exritura fen memoria junto con lineas para érdenes de entrada y sala. En este caso. lai lneas de ‘edenes expecfican si la direcion se refiere a una posicion de memoria o & un eispositvo de EIS. El rango completo de direcciones est disponible para ambos. De nuevo. con 10 lneas se direccin, of sistema puede soportar ahora I.024 posiciones de memoria y 1,024 diceseio. ies de ES. Puesto que ef espacio de direcciones de B/S ext aslado del de memoria, este so ‘conoce con el nombee de EIS aisada, En la Figura 66 se contrastan estas dos tsnicas de E/S programada. La Figura 664 ‘muestra cémo podria ver el programador Ia imerfaz con on dspositivo de entrada sencilo tal como un teclado, eifindo se utiliza €/S asignada en memoria Se asomen diceccioues de 10 bits. con una mernoria de 512 palabras (posciones 0-512) y basta S12 direcciones de E/S (posiciones 512-023}. Se dedican dos diecriones a la entrada de tclado desde un terminal conereto, La direccida 516 ce refiere al regstro de datos, y la direeci6a 517 al registro de estado, que ademas funciona como registro de control pura recibir las Srdenes del procesa- dor. El programa que se muestra le un byte de datos deuce e teclado y lo escribe en el regi. {to acamulador del procesador. Obsérvese eémo el prosesador ejcuta un bucle hasta que el byte de dates esta disponible. 188 Organizaciony arquitectura de computaaores peseses sw ogo x de rasa ec Po Pegaso esa cons de sa oa comes ube ORECCON —METRUCCEN OPERANOG _COMENTARO a a | eS FS Soins 53 Rercatnomtee ent | a2 Se (0) CB eerasa ror DRECCION MSTAUCOON OPERANOO COMENTARIO, mo AYO * Conus aca 3 io { Ne 5 ‘Conroe ssa aseas Serevent aoe be sa = s ‘Caper onepe on aon Figur 88. €/S mapaada an memoria y maps do asage Con ES aisada (Figura 660), los puertos de E/S slo son accesibles mediante una orden cexpecfica de E/S. que activa las linens de drdenes de F/S de bus. ‘La mayor parte de los procesadores disponen de un conjunto reativamente grande de foscrucciones distintas para acceder a memona. Si se utiza E/S aislada, slo exten omas poeas instrueciones de E/S. Por eso, una venaja dela E/S asignada en memoria es que se [puede atiear este aniplio repectorio de instracciones, permitiendo una programacion mis ‘ficient. Una desventas esque se utliza parte de valioso espacio de direcciones de memo- nia, Tanto la B/S asgnada en memoria como la aisada se usan comiamente ES Mee Ei problema con la B/S programada és que el proctsador tiene que esperar un tempo consi- erable a que el médulo de E/S en cuestia est preparado para recbico tansmitic los da tos. El procesador, mienias espera, debe comprobar repatidamente e estado del médulo de ES. Como consecvencia st degrada el nivel de prestaciones de todo el sistema, Una aiterativa consisteen que el procesador, tas enviar una orden de B/S aun médulo, ‘contin realizando algin trabajo dtl. Desput, el médulo de B/S interrumpicd al procesa- ‘dor para solicitar su serio cuando eié preparado para incercambiar datos con 4, El proce- tador jecuta entonces [a transferencia de datoecoaro anes, y despucscontinda come! proce: samiento previo, L. Enscusaisa 187 Extudiemos come funciona, primero desde el punto de vista del médulo de E/S. Para una cotrada, el modulo de E/S recibe una orden READ del procetador. Entonces, el médulo de YS procede a jeer el dato desde el peiférico asociado. Una ver que ei dato esté en el registro de datos del médulo, el médulo envia uaa interrupcién al procesador a través de una ifen de control. Despus, el méduio espera hasta que el procesadorsolicite su dato. Cuando ba reci- bido la solictud, el médulo sta su dato en el bus de datos y pasa a estar preparado page otra operaeién de E/S, Desde el punto de vista de! procesador, las acciones para una entrada son las que siguen: El procesador envia una orden READ de lectura. Entonces, pasa a realizar otto abo deci, e! procesador puede esta ejecutando programas distintas al mismo tiempo}. Al fnal de cada ciclo de instructida, el procesador comprueba las interupciones (Figura 39} Cuando pide la interrupcidn desde el médulo de E/S, el procesador guards el contexto (es deci, contador de programs y los registts del procesador) del programa en curso, y procesa ly interrupcidn. En este cas, el procesador le a palabra de datos del médulo de E’S y la alma cena en memoria, Despuss, recupera el contexto del programa que estaba ejecutando (o de ‘otro programa) y continua Wu ejecucién La Figura 6.5 muestra el uso de £/S con interrupciones para ler un bloque de daton, ‘Compérese con ia Figura 6.5. La €/S con interrupciones es mis efcente que la.E/S progra- rade. porque slimina las esperas innecesarias. No obstante. las E/S con intectupciones con sumen gran eantidad del tiempo del procesador, puesto que cada palabra de datos que va desde ls memoria al médulo de E'S, 0 viceversa, debe pasar a raves del procesador. PROCESAMIENTO DE LA INTERRUPCION CConsigeremos con ms detale el papel det procrsador eo las E/S. Cuando se produce un lnterupeisn, sc daparan una sene de evetos en el procesador. "ant a ite! bardaate com sofware La Figuea 67 muestra una secuenci pie. Cuando un dispositive de B/S termina Suna operaca de ES, se produce la siguene secuescia de eventos ene hardware: 1. El dspostivo enva una seal de aterrupei al procesador 2. El proctuador termina la elcucion de la instrucisn en curso antes de responder ala inxerupeicn, como indica la Figura 39. 3. El procesador compracba si hay iterupciones, determina que bay uns, yeas uaa sefal de eeconocimiento al disposiuvo que orging la nterrupeicn, La seal de eeo- ‘ocimiznto hace que ! disposi desacuve su setal de interrupion. 4 ora ef procesador oecesita preparase para transerir el control a la eutine de interupesce Para emperar, debe guarda is informacion acestia para cootiuar Programa en curso en el punto en que sinterrumpie La informacion mma gu 3 rec es (a) el estado del procesador, que se almacens ea us registro Mariado=pala- bra de estado del prograria» (PSW, Program Stats Word) y (b) ln poscia de fs siguiente wnstrucesdn a ejecta, que std contenida en el contador de programa. Estos rerisuos se pueden introduc en la pia de control del sitema® 5S. Despuds et procesador carga el conzador de programa coa la possi de inicio del «de gestion de la terrupeion soliciade. Seg sea fa argitectura cel com- putador yi diseno dl sistema operativo, puede haber un slo programa, uno por ada tipo de interrupcin 0 uno per eada dispositive y cada tipo de interrupce. St fay mds de una ruin de gesign de intereupsin, el proesador debe determinar gue ase ot Apdaice 9A pra ns cana sobre! ennai ela 188 Orpaniaciony arquitactra de compuradores arama oe (Strain aes eee 5 Figure 47. Procesamienc en memora y maps de B/S ssldo, programa lamas. Esta ioformaciGn puede haber sido incluida en ia seal de inereup- ‘idm orginal o bien el procesador puede tener que enviar wea solicit al dispositive ‘Que origing la inerrupcin para que éste responda con la informacion que se prise {Una ver que e! contador de programs se ha cargado, el procezador continda eon e clo de instrvceda siguiente, que empieza con la captacioa de instruccion. Puesto que la instruccida ‘a captar tiene determinada por ef coztenido del contador de programa, el conical x transte teal programa de gestion de intercupeida. La ejeccidn de ese programa da lugar 2 ls $i ‘oienter operaciones 6 Hasta este iomento, s® han almacenado en la pla del sistema el contador de pro sma y el PSW del programa interumpido. Sin embargo, hay ota informacioa que se considera parte del eestado» de un programa en ejervciGn, En concreto, e debe ‘uardar los contenidos de los regisiros del procesador, puesto que estos registras pur en ser wtlizados por la ruina de interrupaién. Usualmente, la cutina de gestion de ItecrupeiGn empezaré almacenando en la pila los contenidos de todos los restos. {La Figura 684 muestra un ejemplo sencl. En este caso, un programa de usuario es ‘nteerumpido despues de Ia instruccion dela posicia N. Los contenidos de todos os registro, junto cba la drecci6n de la siguiente instruccidn (NV +1) ve iateodveen en Ta pila. El puntero de ta pla se actualiza para que apuace a la nueva cabecera de la pit. yel contador de programa se actualiza pera que apante al comienzo den ating ‘de servicio de interrupcion. a Eouacalsaigs 189 . oe + wes Ta t yee | wae: Progen se Rina ge wrico Passe a ‘enemas coet (a) hearin dso ein auc de Poin M (0) Reco a race om Figura 63. Cambios en memoria y an los rgistros cabiao a una interrupt. 7. La ruina de gstién dela interupcicn puede continuar zhoca procesando la interrup- cin. Ext inciies el examen de la informacign de estado relatva a la operacicn de E/S, 0a cualquier ou evento que causara la inerrupcion. También puede implicar el envio al dispositivo de E'S de Grdenes 0 seBales de reconocimiento adicionales. Say emplo,véase a Figura 6 8. Cuando el procesamiento de a interrapisn ha terminado los valores de los regi slmacenados se ecupera dela play se vuelve a almacenar en los registos( . 9. El paso finales recuperar los valores del PSW y del cortador de programa Beade pil. Como resultado de est, la sigucate instruccidn que se ejecutepertenecert rograma previamente intecrumpido, Obséevese que es importante almacenar toda Ia informacion dal estado del proge Interrumpido para que éte pueda reanudarse. Est se debe a que la intcrupeién 00 es Namada 4 una rutina raza desde el programs. En cambio, la interrupstén puede pe ite en cualquier momento , por consiuiene. en cualquier punto dele ejection de! pe tama de usuano. Una inzcripcié es impredecible. De hecho, como se vets <0 e siguieate ‘aptul, los dos programas pueden no tenet oada en comln, y punden perensce adit CUESTIONES DE pIsENIO En a implenentacin de as £/S median interupciones.apareces dos evestiones. Primer reat, posi que ca invaalement tbr mulls maduls de ES, como detroioa iroceadorguc dapestav ba provcado la nterrupeia Y, por oo ado, 35 bas rode ‘So varias sterapciones ced desde processor la que debe atender? ‘Consdereros en primer ugar I identical del disposi, Hay cuatro tpos de en cos gees alzan comdnmete j + Malls reas de izetrupein + Coal sotwate otvare poling) + Conesén en cadens (Dis chun (consis hardware, vetorzada) + Aisne de bus (etorizada) 1a aproximacin ms crea poems consist en proporsionar svat ines de nrc esi e processor ¥ Tor mula de ES. Sin bare, mo resila pric deaear mis Ge {rub pocas ines de bso veminals det prowmdor ines de imetrupagn. En consersen St inctoso sive uaa vars inane probable gua cada ona Se conten varios module GEIS Por en Se debe aaa alguna de sea tes sins ence Hea, Usa aternaivae a comulta sofware. Cuando el procesador deca na interapeisn, ¢ produce ina b/ureasign ana Tuts de sereo de interrupeisn ae st encaga Se coast ‘ada mul de 6 paca determinate mda que ba rovocad la trrepoe. bacon" ‘ola pea else mediante una linea speci [pot Gempo, TESTE) Ea ete can t procentdorscuva TESTE’ y sta la erecin de'un modul de ES en las eas diaeaén El msdolo de /3 responde postivaments ssi la itetevpien Come alte tata, cada module de ES pot dispooe: de w repo de edo direcrorable. Enton- {esl proceador eel exiado del episode cada mau de E/S para iene ef 0 Ge soit a itereuidn Una ver enicado el mu. produce ura bierescén para Aue al procesador secu la ratina de servo expecta para se etpontvo La desventaja dela conta solvate ett ene tego que consume. Una enica mas eficeate cons en liza ia cnexon en cadena (Dusy Chain) de os Sos de ES. ue proporiona, de echo a consulta hardware. Un gemplo de configura que win wa one en cadena se monte en lt Figure 325, Todor oe midulos de ES compaten ua tinea comin pra soictar nverrapciones La ies de reconocmiento de imterupeen se €o- ‘eciaencaderand los mdulos no tas ott. Cuando el proceadoe ecbe Ura iter ‘én. activa el rconocimnto de intacrupson. Esta Seta propaga através dela ecuenca Envageiaida 191 de médulos de E/S hasta que alcanza un médulo que solicits interrupcién. Normalmente, ‘ste midulo respoode colocando una palabra en la lineas de datos. Esta palabra se enom- ‘a sector y 6 a dtecciGn del médulo de 7S 0 algin otto tipo de identfcador espectico. En tealquier caso, el procesador utliza el vector como un puntero a la rutina de servicio de cise positive apropiada. Ast se evita tener que ejcutar uaa cutina de servicio general en primer faga. Esta técnica se conoce con el nombce de inerrupcionesvectorzadas. Hay otra técnica que hace uso de las iterrupciones vectorzudas; se trata del arbiraie de us, Con el arbitraje de bus, un médulo de E'S debe, en primer lugar disponer del control det bus antes de poder activar Ia Linea de peticidn de iterrupcidn. Ast, sclo un médulo puede actvar la linea en un instante, Cuando el procesador detesia la intscrupcidn, responde me- lanl Ia linea de reconocimiento de interupcién. Después, el médalo que solicité la inteerupciga sitda su vector en las lineas de datos. Las tdenicas emumeradas arriba sirven para idenificar el médulo de E'S que solicia imerrupcidn. Ademds, proporcionan una forma de asignar prioricades cuando més de un dite posiivo eats pidiendo que te sieva su interrupein. Con varias lineas de inte!rupcign el pro- ‘Sexador simplemente selesciona la linea con mts peioridad. Con la consulta software e! or- dea en el que se consuitan los médulos determina su pricridad. De igual forma. el orden de los médulos en la conexién ea cadena (Daisy Chain) determina su prioridad. Finalmente. el abitraje ce bus puede emplear un esquema de prioridad como el discutido en la Seecion 34 ‘Ahora pasamos a considerse dos ejemplos de estructuras de inerrupeisn. CONTROLADOR DE INTERAUPCIONES INTEL #2C59A £1 80386 de Entel posee ana sola linea de peticén de interrupcisa (INTR. Ltecrupt request) y ‘una sola linea de reconocimento de intervupsign (INTA, Interrupt Acknowledge). Paca que 1 80386 pueda manejarflexiblemente clerta variedad de dispositivos y esteuctras de prio: 4ad, aormalmente se configura con un aebiro de interupciones externa. el S2CSPA. Los dis- positivos externos se conecraa al 82CS9A, que a su ver se comecta al 80386. La Figuea 69 ilustra el uso del 82C39A para conectar varios médalos de E/S con et 80386. Un daico 82C59A puede manejar hasta 8 médulos. Si se precisa coatroiar més de 8 ‘odulos. # pueden disponer en cascada para manejar hasia 64 médulos La Snica responsabilidad del 52CS9A ef la gestiGn de intecrupciones. Acepia las solicitus ses de interupcion de los dispositivos conectados a i, determina qué interrupein tege la pfioridad més alt. y se lo india entonees al procesador acivando la sefal (NTR. El proce- Sador reconoce la solicttud mediante la lies INTA. Esto hace que el 82CS9A site el Yeetor apropiado en el bus de datos. Entonces, ol procesador puede iniciar el procesamiento de la interrupeioa y comunicarte directamente con el médulo de E/S para leer o escribir datos. EL82C59A es peogramable. E! 80386 determina el exquema de proridad que se va a utli- tar, eatgando una palabra de control ea el B2CS9A. Son posibles los siguientes modos de snterrepeiée. ‘+ Compleramente anidade: Las solicitudes de interropeidn se ordenan segin un nivel de priondad desde 0 (IRO) hasts 7 (1R7 '* Rotatorie: En_algunas aplicaciones hay varios dispositives con igual priocidad de interrupeign. En este modo, un dispostiva pasa a tenet la menor prioridad del grupo desputs ge ser servido, + Con‘rndacara especial: Se permite que el procesador pueda ihibir selectivamente las inercupciones desde ciertos dispositives 182 Orpanitaiinyerquterua de computadoros — ikeecee a a |e ET (ER | 2 dE | (Sameer } {ar < Figur 63, Uso dal controlador de nearupcones 820588, LA INTERFAZ PROGRAMABLE DE PERIFERICOS INTEL 820558 ‘Como eemplo de un médulo de 8 utlizado para la E/S programada y pura la B/S median- te interrupciones, consideramos la inerfz programable de pecléricos Intel 82C3SA. El 2CSSA es un médulo de €/S ds proposito general inegrado en un s6l0 chip y dsehado para Enuadaiesids 198 BE yie ° aaggggaggaae:8 F2 ° eaurveeusenesuecess Seaga Se0 SCHON GT EERE (a Oogare ce sean (0) Sind de neon Figure 610. Interax progrmable de peritricos BICSEA de Ina ser usado con el procesador Intel 8086. La Figura 610 muestra el diagrama general de bio- ‘ques jonto con Ia aignacin de terminales para el encapsulado de 42 terminaies que lo con- Ellado derecho del diagrama de bloques es la interiaz externa del $2C5SA. Las 24 linens de E/S son programables por el 80386 mediante un registro de contro. Ei 80386 puede far el valor del registzo de conttol para espeicar los diversos modos de operacida y conliguea- ‘ones. Las 24 lineas se dividen en tres grupos de 8 bits (A, B, CL Cada grupo puede funcio- far como un puerto de E/S de & bis. Ademts el grupo C se subdivide en gropos de 4 bits {C, y Cyl Que pueden usarse conjuntamente con los puertos Ue E/S A y B. Configurado de ‘esta forma, e2 grupos contienes las sefales de control y estado, Et Iado iaquierdo del diagrama de bloques es la interiaz interna con el bus del 80386. Esta inchaye wa bus de datos bicireccional de 8 bits (DO a D7), usado para transfer datos a, y fesde, los puertos de E/S, y para iransfen Ia isformacin al egstro de control. Las dos lineas de divecciones especfcan no de los res pucrtos de E/S oe! repstro de conteol. Una ‘anafeencia se producied cuando la linea de selecién de chip (CHIP SELECT) se activa, junto con la linea ce lectura (READ) o escritura (WRITE). La linea RESET se viliza par Iniciar el médato, El procesador escibe en el registo e control para seleccionar el modo de-operacién y para definr las seinles, en su caso, En el Modo 0 de operacin, Jos tres grupos de 8 Uineas Exteruas funcionan como tres puertos de E/S de 8 bits, Cada puerto puede ser designado ‘oma de entrada o de salida, En cato contraio, los grupos A y B funcionan como puertos de... E(S. y as leas del grupo C sirven de lineas de control pars A y B. Las lines de con- ‘rol denen dos funcioues principales: fa sincronizacion mediante conformidad de sefales (chandsbakings) y ia peticion de interrupcones. La conformidad es an mecanismo seacillo de NemporizaciSn. El emisor uliliza una linea de control como linea de datos listos (DATA READY) pars indicar que hay un dato en las lineas de datos de E/S. El receptor wtiza orra ‘Organizacion varquitectura de computadores « lines como resonocimieato (ACKNOWLEDGE), para indica que el dato se ha leido y que Jas lineas de datos se pueden lberar. Se puede designar otra linea como linea de petiion de imeceupeiga (INTERRUPT REQUEST) en e! bus del sisema. Como el B2C3SA es programable a través det registro de control, puede utlizase para controlar divers dispostvos peritrcos simples. La Figura 611 usa su uso para contro. lar un terminal con teclado y pantalla. El telado proporciona 8 bits de entrada. Dos de estos bes, SHIFT y CONTROL, senen un significado especial para e programa de gestion de t- dado que ejecua el procesidor. Sin erabarg, este signcado es trarsparene para el 82CS5A, RBRRBETE 2 | | eeeees | gen 2 Senpae— Figura 611. inter tcladepant Eniradaatin 195, que simplemente acepta los § bits de dazos los pons en el bus de datos del sistema. Existen dos lineas para la sincronizacign del teclado mediante confocmidsd («handshaking») La pantalla también esd conectada a un puerto de datos de 8 bits. De auevo, dos de tos bits tienen un significado especifico que es tanspareate para et S2C5SA. Junto a las dor lineas para la sineronizacion mediante cooformidad, hay dos lineas mis para funciones de contra adicionales c Pia INCONVENIENTES DE LA E/S PROGRAMADA Y CON INTERRUPCIONES La E/S con interrupeiones, aunque mis eciente que la sencilla E/S programada, también Fequiere la intervencién activa del procesador para transfer datos entre la memoria y ei mé- dulo de F/S. y cualquier transferencia de datos Gabe seguir un camino a través del process dor. Por tanto, ambas formas de E/S presentan dos inconvenientes inherenes 1 La velocidad de transferencia de F/S est limitada por la velocidad la cal et proce- sador pued: comprobar y dar seruicio a un dispositive, 2 El procesador debe dedicarse ula gestidn de las transfrencias de E/S; se debe ejecu- ‘Serto numero de insrucciores por cada transferencia de EyS (vease Figura 6.) Existe un certo compromise entre ctor dos inconwvenieates. Coosidérese una translerencia de un bloque de datos. Utiizando E/S programada. el procesador se dedica a la tarea dela E/S y puede transfer datos a alt velocidad al precio de no bacer nada mas. La E/S con inertupcioneslibera en parie al procesador a expensas de reducic la velocidad de E/S. No fobstante, ambos metodos tienen un impacto segativo, tanto en ia actividad del procesador como en la velocidad de transferencia de ES. Cuando hay que teanseric grandes voldmenes de datos, se requiere una ténica mis ef- iente: el acceso directo, memoria (DMA) — FUNCIONAMIENTO DEL DMA El DMA requiere un médulo adicional en el bus del sistema. El médulo de DMA (Figu- +2 6.12) es capaz de imitar al procesador y, de hecho, es capaz de recibir el contro del sistema cedida por el procesador. Necesita dicho control para transfert datos a. desde, memona a través del bus del sistema. Para hacerio, el médulo de DMA debe utilizar el bus slo cuando el procesador no lo necesita, o debe forzar al procesador 3 que suspeada terapotalmente su funcionamiento, Esta ditims téonia es la mis comin y # denomina robo de cico (cycle stea- ling puesto que, en efecto, el médulo de DMA roba un ciclo de bus. ‘Cuando el procesador desea ieee 0 esribic un bloque de datos, envia soa orden al médu- lo de DMA, inctuyendo la siguiente informacién: + Si se solicta una lectura 0 una escrturs, utiizando Ta inea de control de leewura o es- critura entre el procesador y el médulo de DMA. + La direc del dsponitivo de E/S en cvestsa, indicada a través de las linens de datos + La posicion inicial de memoria partir de donde st lee 0 se escibe, indicada a través de las lineas de datos y almacenada por el médulo de DMA en su registro de diree- Cffnizacion y arqutetura de computncores Figure 6.12. Diagrama de Bloquestipce de un médulo de DMA + El dmero de palabra a let o excribc también indicado a través dels kneas de dat 1 almacenado ene repstro de cuenta de dats, Después. el procesador contin con otro trabajo. Ha deegado ia opersign de F/S al médue lo de DMA, que se encargara deel El mdlo de DMA tranfere a Blogse completa de daton, palabea a palabra, drctamente dade, o hacia, la memona, sn que tenga ge pasa & través dol procesndoe. Cuando [a tanserenia se ba tecminado. el modulo de DMA envie Una seta de interrupeién al procetsdor AS! pues. el procesador alo interviene al comienz9 1a Gea de ia tanferenia(Fguts 6) La Figuea 6.13 muestra en qué moments del ciclo de instrucin puede detenere el pro- ssador. Ea cada caso, prosssado se deine justo antes de neces el bus Despucs ‘dulo de DMA transiere una palabra y devusive el coatrol al procesador. Obsérvese que to stata de ona incerupcise: el procesador no guarda el contento ni hace nada més. Ea cambio, procesadoreapera durante un ciclo de bus. El efecto resultant esque el process E Envragaeatida 197 dor es mis lento ejecutando los programas. No obstante, para uea transferencia de B/S de varias palabras el DMA es mucho mis efiiente que la E/S mediante interupciones ola pro- ganada. El mecanismo de DMA puede contigurarse de diversietormas, La Figura 6.14 muestra sigunas posibilidades. En el primer ejemplo, todos ot médulos comparten el mismo bus del sistema, El médulo de DMA. actuando como un procesador suplementaio,wtilisa E/S pro- sramada para intereambiar datos entre la memona y un médulo ce E/S a través del milo de DMA. Est coofiguracign, si bien es la mds econdmica, es claramente inefciente. Igual que ‘on la £/S programada contralada pot el procesador, la translerencia de cada palabra consi ime dos cilos de bum > “ Et mimero de csios de bus necesaros puede redusrsesustancialmente si se integran las funciones de DMA y de E/S. Como indica la Figura 6-145 esto significa que existe un cami- 20 entre l médulo de DMA y ago o mds médulos de E/S que no incluye al bus de! sistem La Idgica de DMA puede ser parte de un médulo de E/S 0 puede set un rédulo separado ‘que controls a uno o mis médulos de E/S. Este concepto se puede levar algo ms kj co- nectando los médulos de E/S 2 un médulo ¢e DMA mediante un bus de E/S (Figuca 6.18) Esio reduce a uno el numero de interfaces de E/S en ei médulo de DMA. y permite uaa con- figuracion fécilmente ampiiable. En todos estos casos (Figuras 6.12 y ch ol bus del sistema, que el médulo de DMA compacte con el procesador y la lemons, e5 usado por el médulo de DMA slo para intereambiar datos con ia memoria! intecambio de datas entre Ioe médulot de DMA y E/S se produce fuera del bus del sistema usw saa (omens CContigracones akernatvas para al OMA, 198 Omgerizncian y arquiectra do computadores (UA EVOLUCION DEL FUNCIONAMIENTO DE LAS E/S [A medida que los computadores han evolucionado, la complejidad y sofsticuion de su componentes se ha ineremeatado. En ning lugar se hace mas evdente que e el funcions. imiesto de las E/S. Ya se ha considerado pacte de eta evolucion. Sus etapas se pueden ress sit como sigue: L La CPU edatrola diectamente al perifrca, Fata stunciéa se observa en ls dispose tivos simples controlados por mieroprocesadores 2 Se afade un controlador 0 médulo de E/S. La CPU utiliza B/S programada sia interrupciones. De esta forma, la CPU se independiza de is detalles expectios de las terfuces de los dispostivos externoe. 3. Se utiliza la misma configuraci6n del paso 2. pero ahora se emplean interrupciones. La CPU no necesita esperar a que se realcs ia operacidn de E'S incremestandose la elsience 4. El médulo de B'S tiene acceso directo aa memoria a través del DMA. Ahora se pue- de transieris un Bloque de datos a, 0 desde, la memoria sin iiplicar a ts CPU, exeep- to al comienzo y al final de i transferecia 5. Bl médulo de E/S se mejora, haciendo que se comporie como un procesador en si tiamo, con un repertoro especalizado de instrucciones oreatado a as E/S. La CPU. lace que el procesador de B'S ejecute un programa de E/S en memoria. El procesa- dor ce E/S capia yefecuta sus inttruciones si icervencign de ia CPU. Esto pct (que Ia CPU pueda especficar una ecuencia de actividades de E/S y ser imterrumpida ‘cuando se heya completado la secuencia enters. 6 El médulo de £/5 tiene una memoria lea! propia y e, de becho, un computador en sf rmismo, Con esta arquitectuca se puede coatrolar un coajunto grande de cisposiivos de E:S con la minima intervenciSn de Ia CPU. Us uto comin de ei ipo de arquiecrura bu nido Ia comunicacign con terminales interactives. El procesador de F/S se o=upa de la mayoria de la tareas corcespondiates al contol de ios terminales. Siguiendo ei camino marcado por esta evolucdn, cada ver mds y més funciones de E/S se realizaa sn a intervencion de {a CPU. La CPU es cevelada de las tareas relacionadas con las ‘areas de £/S, mejocando las prestaciones. Coo ls dos sims etapas, (3-6 se ba producido tan cambio importante, al intfeducir el concepto de un médulo de /S capar de ejecutar un programa. En el caso de fa etapa 3, e médulo normaimente se denomina canal de £(S, En el aso 6, se uillza usualmente el teiino procezadr de B/S. Sin embargo, ambos términos s= Aplican oeasionalmente a ambas situaciones. Ea lo que sigue, utlizaremos el vrmino canal de Eis. CARACTERISTICAS DE LOS CANALES DE E/S El canal de E/5 representa una ampliaci6n det coacepto de DMA: Un canal de £/S puede ‘jecutarinstrucciones de E/S lo que le confere un control completo sobre las operaciones de EIS. En un.computador con tales dispostvos, la CPU no ejecua insteucciooes de E/S. Di- cas instrueeions se almacenan en memoria priscipal para ser ejecutadas por ua procesador de uso especco contenido en el propio canal de E/S. De esta forma Ia CPU inicia una ‘wasferencia de E/S, indicando al caval de E/S que debe eecutar un programa de la memo Envadnnaics 199) oeweru eater Figura 618, Arcutectura do un canal 6 BS. ‘ia. El programa especiica el dispositive 0 dspositivas, el dea o dreas de memoria para al- ‘macenarniento, la prioridad y las aociones a realizar en cieras stuaciones de exror. El canal de E/S sigue estas iastrucciotes y controla Ia transerencia de dato, Como iustra la Figura 6.15, son comunes dos tipos de canales de E/S. Un cana selector ‘contrela varios dispositivas de velocidad elevada y, en um instante dodo, se dedica a translerir ‘datos 2 uno de esos dispasitivas Bs deci. el canal de £/S selecciona un dispositive y eectéa la transerencia de datos. Cada disposi o pequebo grupo de dispositivos es manejado por tun controlador, 9 médulo de E/S, que es similar a los médulos de B/S de los que 4 ha discs Ado, At, el canal de E/S se utiliza en lugar de la CPU para controlar estos controladores de B/S. Un canal multiplexor puede mancjat las E/S de varios Gspositivos al mismo tempo. Para dispositivos de velocidad reducia, un muliplexor de byte acepta o cransmute caracte= res tan rapido como es porble a varios dispostives. Por ejemplo, Ia cadena de earacteres nee wrgaiencicn yarquicnra de comaetadares ‘eaultante a parr de tet dispostives con dierentes velocidades y cadenas individual AAAyA a ByBsByBy~ ¥ CyC,C\Cy-~ podria ser A,B,C\A.C-A,B.C Ay 9 25 soe tmenie, Para disposition de velocidad elcvada, un muliplesar de blogueenveisza Moues datos de lo dstntosdispositivos. PEM TIPOS DE INTERFACES La incerfan entre el perfrco y of méulo de E'S debe ajustarse ala naturalezay Ia forms dc funciona del pence, Una de las principsies earacteristicas de Ia interfazesies serie oi pparalela(Figuea 6.16) En una inerfaz parcel, hay varias Kneas que coaectan el médlo de E/S yel penirica, y se wanstieren varios bits simultdneamente a tavés del bus de dator En. ana inter serie ty solo wna linea para transit los datos, y los ts debentansmiise ung 2 uno. Las interfaces paralelas se ilizan uualmente para los dsposuivos de ata velocidad, ‘somo una cinta 9 us diico Lat interne sere son mds props de impresoras y trina. En cualquier caso, el mul de E/S debe establecer un dislogo coa el perso. Ea tr rinos generals, el logo para una operacién de esricura es como sigue: El médulo de E/S envia una veda de coriol solicitand permiso para enviar datot 2 El penfénco reconoce la slctud I mdulo de £/S transere los datos (una palabra o un blogue sein et pelitico 4. El penrico reconoce la recepcida de los datos. ‘Uns operacin de lectura se cealiza de forma similar Para el funcionamiento del médulo de E/S, es clave dsponer de un registro de acople (buffer interno que pueda alracena los daos a wansfri entre el peniénco y el resto del Sistema, Este butler permite que el médulo de E/S pueda compensar Ins difeencins de veloc dad entre ef bus del sistema y sus linens externas, wesw Figure 6.18, © purleay sre, Entradnicaigs’ 201 ‘CONFIGURACIONES PUNTO-A:PUNTO Y MULTIPUNTO La cooeridn entre un médulo de E/S de! computador y los dispotitivosexternos puede ser fnte-a-purto 0 multipunto. Una intern putto--punto proporcions une ines eapetees fare el modulo de F/S el dipositvo extrno. Eo lox sstemas pequetos (PC. etacones de trabajoh exten wsualmente enlaces punto-a-poat para el tcado,la impreors ye modem ttuzre, Un ejemplo tic de exe tipo deinteras era expecicacion ELA232 (pars a Se ripidn, véase (STALS7). Las intefces exernas mulipuato, vlindas para soportardisposves de almacent- siento maiivo (discos y cntas) y aipoutivos multimedia (CD-ROM, equipor de video Y {udiok enen una importancacreciente. Estas interfaces maltipunto sca de Recho bases ex temos, poscen el mismo tipo de lpn que los buses que se dicateron enel Capua 3 En ‘sia setbn conidearemor dos eemplon dave SC&1y FaeWe INTERFAZ SCSI (SMALL COMPUTER SYSTEM INTERFACE} Ua buen ejemplo de una interfax para dsposiivos periféricos extemnos es la SCSI. Populan zada primero en el Macintosh en 1986, ta SCSI se utiliza abora ampliamente tn sstemas corpus. sto Mactouh como IBMCPC, tants ep mun ears de va ‘SCSI es ia interfaz estandar pata ls cispostivos de CD-ROM, equipos de audio y dispos vos de almacenamiento masivo. La SCSI uiliza una intrfaz patel con &. 16.0 32 linens Co ston + La configuraci6n SCSI se considera usualmente como un but, aungue en realidad los dis- posiivos se conectan juntos de forma encadenada («daisy chain} Cada dispostivo SCSI tie- te dos conectores: uno de entrada y otro de sala. Todos los dispostivos ve conestan en ‘cadena, con un exiremo de la cadena conectado al computador. Todos los dispositivos fun. ‘Gonaa independientement, y pueden intreambiar datos entre ellos, igual que con el compa ‘dor anfici6n (shot) Por ejemplo, un disco duro puede guardae eu contenido en una cinta sin que tenga que interven el procesadot anfitridn. Como se describe mds adelante, 10s da- tos se transfieren mediante paguetes, que constituyen in mensaje. 7 Versiones de SCS! La especificacion original SCSI lamada ahora SCSI-1, se desarrollé al iniciase los 240s 80. ‘SCSI: utliza§ leas de datos y opera a una frecuencia de reloj de $ MHz, 9 una velo ‘ad de datos de $ MBytes/s. La SCSI-L permite que se conccten at compuiador hast sete disposiivos conectados en cadena. En 1991, se revisd la especificacidn y se introdujo la SCSI-2, Los cambios mds sotables ‘veron ta expansidn opcional e 16 0 32 lineas de datos y el aumento dela frecuencia de flo] 210 MHz. Como resuliado se tiene una velocidad de datot maxima de 20 0 40 Mbyte/s. Actualmente se esté trabajando en Ia especificacién SCSI3, ue permitiré mayores veloc dades. Sefiales y fases ‘Todos ios intereambios en ef bus SCSI se producen eatce un dsposiivainiciador y ua dispo- sitivo seleccionado, Usvalrmente, ef computador anftrién es el iniciador y un controlador Detfero es el dispositvo selecctonado, pero algunos digposiivor pueden asumic los dos pa 202 omputadores En cuaiguier cas, toda la actividad del bus se produce en una seevenca de fates. Lag fses son las sigusenes ‘= Bos Libre: Indica que ningin dispositive ests uilizando el bus, y que éte est disp sible, + Arbtraje:Permite que un dspositivo tome el control de! bus, de manera que pueda ini Gar o reanudar un proceso de ES, + Seleeién: El iniciador seiecciona un dispostivo para realizar waa operacién, tal como’ ‘una orden de lectura 0 escritura . ‘+ Reseleciin: Permite que e! dispositive velexiggado se vueiva a conceta i iniciador [ara reanudar una operacién que s iniié previameste, eto que fue suspendida pore Sispositve. + Orders El dispostvo puede soicitar una orden de infornacin al iniciador. + Datos: El dispositivo puede solictar la tanslerencia de un dato desde el dispositive ha ‘ia ef iniciador (entrada de datos, Data In) o viceversa (sida de datos, Data Out) + Estado: Permite que el dsposiivo solcte que se envie la informacion de ead desde ef dispositivo a iniiador + Mensaje: Permit que el dspositivo sole la transferacia dé uno o ms mensajes des- e el dspositivo al iicador (entrada de mensaje, Message In) 0 viceversa (slida de mensaje, Message O La Figura 617 usta al orden en que se producen las fases del bus SCSL Después de conec- arse a sistema, o despuds de un reimco, et bus pasa ala (ase de bus libre. Esta ext sepuida or i fae de arbitraje, que utualmente da lugar a que un dispositivo tome el coateo. Si el Achitraje fala el bus vuelve a la fase de bus libre. Cuando el arbtrae termina con éxito, el bus pasa a una fase de slecion oreslecidn,enla que se designa um inicador y un dispox- livoseleceronado para realizar la transferencia, Después de que se hayan deserminado los dot dispositivos, se producirs una o mks fases de transfereaca de informacion entre los dos dix Positivos(ases de orden, datos estado y mensaje) La fase final de cranslecenca de iforma- (a es usualmente la fase de entrada de mensge, en la que un mensaje de desconexién 0 de ‘orden compieta se transfiere al iniciador,seguida de una fase de bus ibe. Fac etonce ‘igua 6.17. Fosee on un bus SCSi —_ Enuadaisaiide 208, Una caracteristiea importante det bus SCSI es la capacidad de reseloccidn. Si una orden cenvinda necesita aigdn tiempo para completars, el dispesitivo seleccionado puede liberar el bus y volverse a conectar al iniciador mds tarde. Por eerplo, el computador anftrign puede enviar una orden 2 un dispostivo de disco para que dé formato al disco, y et dispositive rea- liza la operacin sin que 8enecesite acceder al bus. La especiieaci6o $CSI-1 define un cable formado por 18 ltneas de sedal, 9 de control y 9 para datos (8 lineas de datos y una de paridad). La lineas de control son: + SY: Activado pore iniciador o el dispositvo selecionado para indicar que ol bus std ‘ccupado. + SEL: Utlzada pore iniciador para selecionar el dspositvo que debe responder a u ‘orden, 0 por un dispositive pare resleeconar el inciador del que se habta descones do. La sefial /O distingue ene seleccién y reveleoci6n. + C&D: Uszada por el dispostvo seleccionado para indicar silos datos dt bus de datos cortesponden a informacién de control (orden, estado o measaje)o de datos. + VO: Usiizada pore! dispositive seleccionado para coatrolar la direcién del movimien- to de los datos en el bus de datos. * ‘+ MSG: Utlizado por el dispositive seleccionado para indicar al iniiador que Is infor- macin que estd siendo transferida es un mensaje ++ REQ: Uilizada por e dspositivo seleccionado para solctar uea transferencia de infor- imacién de datos. Como respuesta a la seal REQ, el iniciador acepta datos dei bus ds- ‘ante la fase de entrada de datos o coloca informacidn en el bus durante la fase de sa da de datos. ‘+ ACK: Utilitada por e! iniciador para reconocer ia seaal REQ dei dispostivo seiecsiona- do. La sefal ACK indica que ei iniciador ha sivuado informacién en el bus durante tuna fase de salida de datos o ha aceptado datos del bus durante una fase de entrhda de atos. ‘+ ATN: Utlizada por el iniiador para informar al dispositivo de que hey un mensaje isponible para Su transfeencia. EI jiciador puede actvar fa seal durante la fase de seleccidn,o en cualquier momento después de que el disposiive haya asumido el com- ‘rol del bus. ‘+ RST: Utlzada para inicar el bus (eset. La Tabla 64 muestra las relaciones entre ls seiales dei busy as fases del bus. Para la SCSI-2, hay lineas de datos adiconelesy lineas de paridad, ademds de un par de lneas REQUACK adicionales. ‘Temporizacién de fa SCSI La Figura 6.18 ilusica una *Emporizacién SCSI tpica, que puede wtilizase para expli- car las diversas fases y seals del bus. Este ejemplo cortespoode a una orden de lectue ‘a que transGiere datos desde el diapositivo al iniciado. La secuencia comienza en I fase de bus libre, con todas las lneas desactivadas. A continuacién, bay una fase de arbiteaje, ea la que uno o mis dispesitivos compitea por ‘control del bus: Cada uno ge lor ispostivos activa la weal BSY y una de fas lines 4e datos. Cada uno de los ocho dispostvos (el anfitrida y hasta siete dispositivos) tiene tun nico ideatifcador. ID, de 0a 7. y cada dispositivo activa una de las lineas de datos correspondieate a su peopio TD. Cada {D tiene una prionsdad. correspondiendo a 7 la 204 Organizacion y arquitectura de computadoras ‘Gann: [2Sthl on acrac pr ganar on roms de arbre Dept Staacown aloe aeove el copoashsalcronnes sms alta y 20 ta mAs baja. Si mas de un dispositive activa su ID durante la fase de arbitraje, < dispositivo con mis priondad gana. Los otros ditpositives reconocen esto al observa lat liseas de datos y ceden al control Una ver que un dispositivo ha ganado en el arbitra se conviere en inciador, Indica la ‘entrada en la fase de seieci6n activando la senal SEL. Duraate esta {ase activa las dos neat dde datos correspondisntes tanto a su propio ID como al ID del dispositive seeccionado. Después de un retardo, niega la setal BSY. Cuando el dispositivo stescionado detecia que SEL estd acva, BSY « 1/0 a 0, y reconoce tw ID, activa la sehal BSY. Cuando el iniciador detecta BSY, Iibera el bus de datos y nige SEL, A continuaciéa, el dispositive seleccionado indica que ha pasado & la fase de orden, ace vando la linea C/D; esta ifnea permanecerd activada durante esta fase. Después activa REQ. ‘para solcitar of primer byte de la orden del iniciador. El iniiador sitda el primer byte de ft ‘orden en el bus de datos y activa ACK. Después de que el dispostivo haya leido el byte, niega REQ, y el iniciador niega ACK. El primer byte dela orden contiene el couigo de opera: iéa de la orden, que indica cuantos bytes quedan por transferir Estos bytes asiionales 9¢ ‘eaten cone mismo intereambio de sebles REQ/ACK anes y después de eada wane rencia de byte. Después de que el dispositive seleccionado ha recibido einterpretado ta orden, hace pa sar al bus ala fase de entrada de datos, negando Ia faea C/D (indicando que el bus de datos contiene datos) y activando la linea de E/S (inicando que la dizeccidn dela translecencia © desde eleispostivo al iniciador. Ei dspositva seleccionado sia el primer byte del dato 10- lictado en el bus de datos y activa la seal de a linea REQ. El iniiador activa la linea ACK desputs de haber ieido el byte. Los bytes de datos adicionales se tranieren con ef mismo ivereambio de sedales REQ/ACK, antes y después de cada wransferencia de ua byte Desputs de transerirse todos los datos solicitados, el dispositivo seleccionado hace pasar al bus a la fase de estado, y transfere un byte de estado al iniaader, ncicando que se ba f 4 i ge 2g ggek ——e koi i ‘Orgarzacidn y arguiteeuta de comoutadores cia con sit, En este cas, linen C/D ae activa de nuevo, y Ia line EL iniiador y et dispostivo seecsionado inteteambian las seBaley REQIACK para coordinar la transirencia de! byt de estado, Finaltenue el dispositivo hace pasa al bus ala fase de encrada de mensaje activando le linea MSG tansfinendo un byte eon el mensaje de orden compieta. Una vez que el byte ei ‘ecibido por el iniciador, el dispositive seleccionado libera todas las seales del bus para ha et pasa al bus ala fase de bus He. La teasaceién que representa en a Figura 6.18 es un ejemplo de ranserenciaasneo- 1a, Goa a wansfecoci asocrona, sempre se debe intrcambua as scales REQUACK pa- ‘3 eaniere ui byte Et SCSI tambien permite la trasferencia sinerons qe implica Un {Gedo menor. El modo de tanalerenciasicrona se utiza slo en ls fases de entrada de ‘Gatos y sala de datos Pusto que el modo de vansfecencia imple es el asinerono et o- {do sferono debe negeiase Bl isposiivosezconado envi al iiciador un mensaje de so lcd de tranferencia de datos sincrona, que conten su period detaslerecia minimo y ei tempo maximo que permite entre REQ y su ACK correspondiente. El iniadorrespande fon el mimo measye, indsando su propo periodo de trasferencia mime y el méximo ‘empo ene REQ y ACK. UUna ver que se ha producdo et intercambio, el modo de eanalecenci sinrono se esta lec con ef mayor de fos dos periodos minimos de trasereca y cone meaor de os dou tiempos mioinanentte REQ y ACK. La tanserenca de datos se produce como sigue El tur envard 1s bytes de datos searados al menos por ea emp igual al penodo de transerencia mini y seBalar el envi de eaca byte meas un pulo REG. El vecep- torn neestareconocer mediante ACK ends byte renibido, pro debe activar ACK. dentro {el Gempo misime ene REQ y ACK. El emisce poede enviar una seewegaa continua. de bytes mientras ext recbieado lot ACK dent del peiodo de Gea de tear. Siu ACK 12 retrasa, ef emsge debe esperar que Hogue el revonocimento. Mensajes: ‘Los measajes se intereambian entre ls iniciadors y los dispostivos para gestiona: la inte. far SCSL May (es formatos de mensaje: de un solo byte, de dos bytes y mensajes extendidos tees 0 mas bytes Alguncs ejemplos de mensaje soa ‘+ Orden completa: Enviado por el dispositive al niiador para indicar questa termina do ta gjeeucién de una orden y que se ha enviado el extado al inicindor + Deseonexign: Enviado desde el dispositive seiecionado para informar al iniciador de ‘que la conexion actual se va a cortar, pero que ve necesita una nueva conexién part termina’ la teanslerencia en curso, + Exot dtctado enol inkiador: Enviado pore ncadoe pa iformae al dspostiva de ‘que se ha producido un error (por ejemplo, de paridad) que no impide gut ei cisposii- ‘Yo pueda feintemtar la operacign. + Abortar: Enviado por el inisiador af depostivo para terminar la operaciéa en curso. ‘+ Transfereoeia sincrona de datos Intercambiado entee el iniciadory et dispositive para csablecer la trasferencia de datos sfacrona. i { i { a Ordenes I micleo del protocolo SCSI 65 el conjuato de drdenes. Un inciador envia una orden pars jproducte ua ecto en el dispositvo selecionado, La orden puede significa la entrada de Emradasaise 207 datos desde el dspositvo letura), enviar datos a dispositivo fescritural, 0 algdn orc tipo de accign especifia de un perférico concreto. En todos los cas, la gjecueign de la orden inpl- «8 alguno 0 todos tos pasos siguientes: + El dispositiva recibe y decodifica la informacién de la deo, ‘+ Los datos se transieren a, o desde, disposiivo (no todas las Grdenes realizan este pass. ‘+ El dispositivo genera y devuelve iformactén de su estado, La orden esté definida en un bloque descriptor de drdenes (CDB, Command Descriptor Block) dispuesto por el iniciador. Una vez que se establece la conexisn entfe un iniciador y &* tiene un banderin que puede agitar cada ver que necesite una manzane. Sugiera tuna nueva solucién. ;Serviria de algo que ssermdor de manzanat= tuviera otTo bbanderin? Si esas, considérelo en ta solucséa. Ducuta las desventaae de ete po- sibtidad, ©) Ahora olvide of banderin y asuma que se dispone de una cuerds sufceterente larga. Susiera una solucie mejor ala indicada en (bl, utlizando la everda ‘Asura que un procesador de 16 bitsy dos de 8 bts deben conectase a un bus det sistema. Considere lor siguientes detalles: |. Todos los microprocesadores tienen el hardware necesario pata cualquier tipo de \tansferencia:E/S programada, E/S mediante interupciones y DMA. 2 Todos los microprocesadores tienen un bus de dreeiones de 16 bits 3. Hay dos tarjetas de memoria, de 64 Kbytes cada una, conectadas al bu. El dst: fador desea que se comsparia la mayor Cantidad de memoria posible. 4. El bus del sistema permite un maximo de cuatro lineas de interupeisn y unu de DMA. Haga las saposicionesadicionaes que necste, y: 1) Establezca ls especiiaciones del bus en téminos del nmero de ess. 1) Explique cémo esl iterfan de los dispositvesindicados arriba para conec- tarse al bus. uence: (ALEX93}, oat Evuadaenice 217 En un bus SCSI, cada dispostivo de ES negocia con el computador anfiteién para eterminar la velocidad de transecenca de rdfagas a utlizar (usualmente la velocidad ms ripida de ls mituamente sopoctadas). Asoma que la velocidad mnima de trans fereneia a réfagas que permite el computador anfieidn es 20 MBytes Suponga que todos los disposttvos thenen los bufes suicietes para poder mantener su velocidad de transferenciasostenida, incluso cuando compiten por tempo de bus. 42) Asura que un dispostivo de cinta con una velocidad de transferencia sostenida be $00 KBs y una velocidad de rifaga de 4 MB/s estd conectado al SCSL Desea ‘onectar discos al mismo bus, cada uno con una velocidad de cransferencia son. tenida de 6 MB's y una velocidad de réfaga de 29 MB's. ;Cuintos dispostivos de disco puede coneciar al bus si quiet que todos ls dispositivos puedaa fun- tionar simultsneamentey a toda su velocidad? ;Cual seria la uilizacim del bus fen este cso? Idea: Determine el porcentae de tempo que necesita cada disposit- Yo para transfene todos sus datos, (Nota utice IK = 1.000 en lugar de 1024: TM = 10000000 en lugar de 1.048 576 las aproximaciones son lo suficienremente precisas para el problema. Las velocdades de transferencia s¢ingican normal- mente vlizando aumeros en base decimal, pero almeros tales como el tamaio de los buifers y los datos tcanserdos se expresan mediante valores en base bi- aria) b) Ahora mejore ligeramente el modelo, Asuma que el disposiivo de cinta necesita ‘$s dl tempo de bus para cada tramserencia. y que el mato miximo de by teanserencia es 68 KB. Los dspositivos de vico también necestan 4 ms el ver- po de bus por tansfvencia. pero pueden transfer hasta 256 KB por Nueva a calcula ta utilzacig del bus que hace cada dispositive. x la ublizacion {ota :Sigue Nendo ef bus adecusdo para el numero de disposiihosindicado ex so respuesta a fa CAPITULO 7 El soporte del sistem: operative 7.1 Conceptos bisicos sobre sistemas operatives Objetivos y funciones del sistoma operative ‘pos de sistemas operatives 72 Planificacion Planificacién a largo plazo Planificacién a medio plazo Planificacién a corto plazo 7.3. Gestion de la memoria Inorcambio (Swapping) Definicidn de partciones Paginacion Memoria viewat Butfer de traduccion anticipada (Translation Looksside Butter) ‘Segmentacién 7.4. Gestién de memoria en Pentium Il y en el PowerPC Hardware da gestién de memoris en el Pentium It Hardware do gestion de memoria en e! PowerPC 7.5. -Lecturas y sitios Web recomendados 7.8. Problemas OER 220 Orpaniaciony arqutacura de sompuuadoies ‘Sistema operative eS wicacs | Toe ore LTR] beeen =e ‘ao arses |p a reo ern ions wats” 41d Pte Case eet Poe e eee rereceeseecrereseseceees + El sistema operativo (SO) ¢s el software que controle la ejecucisn de los pro- sramas en el procesador y gestiona los recursos de! procesador. Ciertas Ciones del sistema operativo, como la planificacidn de procesos y ta gestion de ‘memona, slo pueden realzarse efica2 y eépidamente si el procesador ineluye Giertos elementos hardware que dea soporte al sistema operativo, Prictica- ‘mente todos los procesadores disporen de dichos elementos en mayor o me- nor medida. incluyendo hardware para la gestidn de la memoria virtual y para la gestion de procesos. Este hardware incluye registros y buflers de propésito espectic, y cixcuiteria para realizar tareas basias de gestidn de recurso. + Una de las funciones mas importantes del sistema operativo¢s ia planificacion de procesos o tareas. El sistema operativo determina qué proceso debe ejecu- tarse en cada momento. Usualment. e! hardware imerrumpird un proceso en sjecucion en determinados instantes para permitir que ei sistema operativo to- me una nueva decision de planiicaciGn, de forma que e tiempo se reparta por igual entre los procesos. ‘Otra funcidn importante del sistema operativo és la gestin de memoria. La rmayoria de los sistemas operativos actuales implemietan la memoria virtual Esta proporciona dos beneficios: (I) un proceso puede ejecutarse en memoria principal sin que todas sus instrucciones y datos se encuentren en memoria principal en un momento determinado, y (2) el espacio de memoria disponible para umprograma puede exceder bastante del espacio exstenteen la memoria principal del sistema. Aunque el software es el encargado dela gestién de me- ‘mori, el sistema operativo aprovecha el soporte hardware que proporciona el procesador, que incluye el hardware para la paginaciGn y la segmentacion. ee nes ——_ 2 El separ op sittema operative 221 {gue debe considerarse: ef sistema operativo del computador. El sistema operativo es un programa que administra los recursos del computador. proporcicna servicios a 108 programadores y planifica la ejecucion de otros programas. Un cierfo conocimiento de lot Sistemas operativos es esencial para entender los mecanismos mediante los que la CPU coa- trola el computador. En particular. os elecos de las interrupeiones y de ia gestign dela je- ‘arquia de memoria se expican mejor en ete context. A, sae i nto ene n hava decimate, ay un ra el stare 1 capitulo comienza con una revsida, una breve historia de los sistemas operatives yun examen de los tipos de servicios que proporcionan al procesador. La mavor parte del capitulo considera fas dos funciones del sistema operacivo mds relevantes para el est- dio de la organizacién y ta arquitectura del computador: la planiicacién y la gestion de pee oe ee OBJETIVOS Y FUNCIONES DEL SISTEMA OPERATIVO Us stea operat es un programa que contoa I csi dels programas de ap Sin y acta Como interur etree asa y el hardware del computador, Se puede esse far abe on stems operative ene dos obcivon + Comedia: Un sistema optcatv hae que un computador sea mis ly cdmodo de wear + Enis Un em operat peri gu os sua el compu ee e rae eee Examinemos, uno por uno, estos dos aspectos del sistema operativo, El sistema operative como una interfaz usuario/computador El hardware y el software uslizado por las aplicaciones de usuario puede verke como una jerargula o serie de capas, tal y como.se represeata en la Figera 71. El usuario de as apica- ‘iones se denomina eusuario final» y, generalmente. no conoce la arquitectira del compula- dor. Ast el usuario final tiene una visi del computador en términos de una aplcacion. Esta aplicacién puede utlizarse mediante un feaguaje de programacion, y ha sido desarrolads por un programador de uplcaciones. Results evidente que si los programas de aplicacisn se fuvieran que desarrollar en términos del repertorio de instrueciones maquina, que soa las qve permiten ef control directo del hardware del computador. la taea sera de wna complejicad Aabrumadora. Pare faciltar el trabajo, existe un conjunto de programas del sistema. Aigunos de estos programas ve denominan «utlidaces», Estas cealizan fenccones utlizacas frecvente- ‘mente para ayudar en ia elaboracign de los programas, la gestdn de los cheros y el coatral de os dspostivos de E/S. Un programador hard uto de estos medios al desarrollar una apli- ‘aciga,y la aplicaciga (mientras se est ejecutando)lamard alas uilidades para realizar cier- las fanciones. El programa del sistema mds importante « el sistema operativo. El sistema ‘operativo oculta ios detalles del hardware al programador y le proporciona una interiaz ad ‘cuada para utilizar ol sistema. Acaia como medisdor, facltando al programdor y 410s pro- _gramas de aplicacidn el acceso y e! uso de los medios y services del isem- Resumiendo, el sistema operativo usualmente proporciona servicios en ias siguientes dreas: Fiowa 73. Capas y puntos de vista de un computador. + Creacin de programas: Et sistema operative proporciona cesta variedad de servicios y ‘medios para syudt al programador en la elaboracign de programas, Usualmeste sos ‘evicor ton atiidades que no son propiaments parce del sistema operativo, pero se {scede a ellos através de dicho sistema operstivo. «+ Eecucié de programas: Para ejcutar un programa espresso cealizar una serie de 3+ reat. Las instruccionesy los datos deben eargase en memoria principal Jos dispositivos ‘de ES y los fcherot deben iniciarse,y deben preparsrse otros recursos. El sistema ope- ‘tivo proporciona todo eso al usuato. 1+ Acceso fos dispostvos de £/S: Cada dsposiivo de E/S necesita su conjunto particular 4e instraccionesy sefales de control para poder opera. Ei sistema operatives encarga 4 esos detalles, para que el pragramador pueda pensar simplemente en términos de Nestor yexeriaras 1+ Acceso conrolad alo feheros: Ea ot caso de Ficheros! control debe incur #t conoci- rreato a0 ado de Ia naturale del dpontvo (io, cnt) sino tambien de! formato ‘el Bichero y del medio de almacenamiento. Nuevamenteel sistema operativo se ocupa { los detales Es ms, ea l caso de un sistem con mtipls vsuariossimultdseos, sistema operativo puede proporcionar mecanismes de protein para contol ‘x10 a fs recursos compartidos, ales como los Ficheros +, Acces al sistema: En e caso de un sistema compartido 0 pablico, sistema operativo Controle e acceso al sistema como un todo y a fos rcutsosespciios del sistema. La fnciba de acceso debe proporcionar proteccién de ls recursos y datos frente a los ‘usuarios no autoraados debe resalver los conlictos por el acceso alos recurtos com- partidos. + Detecién de erores y respuesa: Mientras e! computador ess funcionando. pueden produce una sere de erore. Entre estos ean fos errors hardware interoosy exter+ ot, tales Zomo ls errores de memoria ls Gallo © comportamiento incorrect de dis- _~Positivos,»errres diversos dei software, tales como el desbordamieato (oveow) Tnetic, ei iotento de accedes a una poscida de memoria 20 peritda o ia ineape el ssiema operative para responder una petcgn generada por una aplicacion. En ca- a eat el sistema operativo debe responder de forma que se super la condicién de #179" e90 el menor impacto pars ias aplicaciones ques estén eecatando La respuesta ent ‘del sistema operativo puede implicar abortar el programa que ciuss el error, reintentar la operacién 0, simplemente, notifia® el error ala aplicacion, ‘+ Contabiidad: Un buen sistema operativo debe almacenas Ia estadistica de uso de los distntos recursos y supervisac los parimetros de prestaciones, tales como el ierapo de respuesta. En cualquier sistema, esta informacién es util para anticipar la necesided de faturas ampliaciones y ajustes que mejoren las prestaciones del sistema. En ua attema ‘multusuano, eats informacion puede utilizarse para determina las cantidades que de- bben aportar ios usuarios. Et sistema operative como administrador de recursos {Un computador es un conjoato de recursos para transfer, slmacenar y prosesar datos y pa- ra controlar esas funciones. El sistema operatvo es responsable dela administracign de cos {Es correcto decir que es ! sistema opecativo el que con:rola la transferencia,e almace umiento y ef procesamiento de los datos? Desde un punto de vista, ln respuesta es al ad- ministrar los recursos dei computador, el sistema operativo control las fnciones bisicas del ‘computador. Pero este conto! se ejerce de una forma eurlosa. Normélmente, se piensa et un rmecanismo de control como algo externo a aquello que te controls o, al menos, como ago ‘que es una parte disima y separada de lo que se contola (por ejempio: un sistema de cale- Iaecign se controla mediante un termostato, que es algo completamente distinto al sistema de seneracién y distibucién de calor, Este no ese! caso del sistema operativo, qve es un mecae rnismo de control inusual por dos razones: + El sistema operative funciona de la misma forma que el toftware ordinario del compu tador; estos, se (rata de un programa ejecutado por el procesader. + Elsistema operative frecuentemente cede el control y depende del procesador para re- ‘cuperar el control. Et sistema operativo, de hecho, no es nada més que un programa de computador. Como ‘otros programas, proporciona insirucciones al procesador’ La unica diferencia se encuentra en el objetivo del programa. El sistema operativo dirge al procesador en el uso de otros t= cursos del sistema y en la temporizacién de Ia ejecucion de cts programas, Pero para que el pueda realizar esas cosas, debe dejar de ejecutar el sistema opetativa y ejecta (otros programas. Ase sistema operativo cede el control para que el procesador pueda real 2ar el trabajo atl, yrecupera el control paseriormente para preparat al procesedor para el ‘siguiente trozo de trabajo a realizar. Los mecanisrosimplicads en exe proceso se aclararan 2 lo largo del capitulo. La Figura 7.2 india los principales recursos que administra el sistema operativo. Una parte del sistema operativo ess en ia meriora principal. Esta incuye el nicleo (kernel, que ‘ealiza las funciones mds (recuemtemente utlizadas por el sistema operativo, y, en un momen to dado, las otras partes del sistema operativo que estén actualmente en ws0. El resto de fa ‘memoria principal comtene ott programas y datos. Como se vecd, la asignacidn de ese re ‘curt (memoria principal estf controlada coajuntamente por el sistema operative y e hand ware de gestion de memoria del procesador. El sistema operaivo decide cuindo wh progra- sma en ejecucién puede usar un dispositivo de E/S y control el acceso y et uso de los Acheros El procesador es en sf un recurso, y al sistema operativo debe determina el iempo que el procesador dedica a la ejecucién de cada programa. En el caso de un sistema multiprocess- dor, esta decision debe incluir todos los procesadores. 26 “ organitcion y arquiteeura de compuradores counyagon [ = | Cees}. Cod =o oe I) ° | |renan i i ce | een] = ES] Figua72._Elsinama operative somo gastr da eoueoe. ‘TWPOS DE SISTEMAS OPERATIVOS Para dstingui ence los distinos ips de sistemas operatvos. exitencirtas aractriticas clave Las caracteristicas se agrupan en dos dimensiones distnta. La primera dimessida es pecica si se tata de un sistema de colas (batch) 0 ineractivo. Ex un sistema imeractis,e Usuaro/programador interactéa drectaente con el computador, usualmeate a través de un terminal de pantalla y tecado, para sokiciat la ejecusidn de un trabajo o realizar una ta sactida. Ademds,e! usuario puede, segdn la natoraieza de fa aplicacion, comunicarse con el, ‘Somputador durante la ejeeusin del trabajo. Un sistema de cols es lo opuesto 4 uso inter ‘ctvo. El programa de usuario se iiceduce en vo cola junto coo programas de otros tua Fos Despuet de que el prograyma ha terminado, los restliados se proporcionan al usuano ‘Aczualmenteesraro encontrar sistemas de cola paros Sin embargo, resulta util para la des ‘ripen de los sistemas operativos contemporsngos exeminar beverente ls sitemes de ae ta dimensia independien'e expecifia sil sistema wiiza mutigrogramacién 0 n0. Con la muliprogramacién se intenta mantener el procesador ocupado tanto como sea posible. baciendoiotrabajat en mds de un programa al mismo tiempo. Varies programas se cargan en larmemona, ye procesador conmuta rapidameate entre ellos. La slterativa es un sistema de mmonoprogramacion, que trabaja slo en tn programa en cada momento Los primeros sistemas En los primeros computadores (desde l final de a década de fos 40 ala mita de ia de los 50), # programador interactuaba directameate con el hardware del computador. Estas mi- {uinas se acionaban desde una consola coashtuda por luce iadicadoras, inerruptres, al {Bin disportvo de entrada y unk impeesora. Los programas en eSigo maquina se cargaban ‘ediantce! dispositive de entrada (por gemplo, un lector de tarjetas Siun eror hacia dete- Et soporte de stare operatio 225 netse al programa, las lucesindicaban la condicidn de error. El programador debia proceder 8 cour yrobar los tegistros y la memoria principal para ceterminar la causa Gel evtor. Si ef Programa terminaba, la salida aparecia en ia impresora. ‘Estos primeros sistemas presentaban dos problemas fundarmentales: + Planifcaci6n: La mayoria de las instlaciones wilzaban una lista para reservar tiempo la miquina. Un usuario podia reservarse normalmente espacios de tiempo multiplos «de media hora. Sin embargo, podia haber reservado una hora y, en cambio terminat en +45 minutos lo que ocasionaba un tempo desperdiciado en el que el computador estaba, parado, Por otra parte, el usuario"podia tener problemas al ejecatar el programa, n0 terminar en el wempo asignado, y verse forzado a parar sin resolver el problema. ‘+ Tiempo de preparacién: Un nico programa, lamado trabajo ob, se encargaba de ca. ‘gar en memona el compilador y € programa en lenguaje de slo civel (programa fven- ‘et guardar el programa compilado (programa objeto) y, después. cargat y enlazar jun. {08 el programa objeto y las funciones comunes. Cada uno de estos pasos podia ‘mplicar montar y desmontarcintaso activar terminales de tarjetas, Por ato, se con- sumia una coesiderable cantidad de tiempo s6lo en preparar el programa para que te podiera ejecuta. Este modo de funcionamiento podeta Uamarse «procesamiento en series, resjando el hecho de que los usuarios acceden en serie al computador. Cox el tempo, se fueron deserollando diversas Rerramientas integrantes del software del sistema que proporcionaban un process: ‘mento en serie m4s elciente Entre éstas estén las bibliotecas de funciones utuales,enlazado- res; cargadores,depuradores y rutinas de control de E/S, de las que todos los usuarios pue- en dispover. Sistemas de col imples Las primeras miguina ean muy cars y, or ei, era may importante marimiza laa cide fn maquina. El Gem perce deo ala panfcaton Ya a prepare ein cxpiable Para mejorar a wilizacin, desarrollo sistemas de clas senilos. Con wn site ‘ade eat tip,lamado monte, sua ye no ene acceso dre sa rkqsia. Enc bio, aruatesnva el abajo, es tata 0 en cinta, a un operado del computador, que oo: fos wrabajon ea cola uta Loca aca ox um digpostive de auads al que seeds Para comprender cdo taba el esgvema, considecémoslodeude dos puntos de vista: x mower yl et proesadoe Desde el pont de visa del monitor, ea ue sonal Secuencia de eventos Para qu esto se ul mono ext sempre eh mera pnspaly apueto para qesotarse (Figura 73) Esta parte e denomina nontor rude Eto 2 ‘Bonitoc conse en utldadss y Canciones comtnes, que sn cagadat como subrutnas del ‘Programa de usuario al initarecunlgler abajo qos las atcese El monforintcoduce wo Sao los trabajos desde dupont deena (usalmente un lector de eas o dec {as magedica) A medida gue e edo trabajo en coeioa 4 sta tae rea de prog ‘as de uuara, se ede el contol debe trabajo, Cuando el abajo tesmina se deve 4! coool al monitor, que iamediaamene level sguene trabajo. Los resltedas de cada trabajo se imprinen para que el sevaio pueda eispone de sion ‘Akoraconsderemos esta sceenca den el punto de visa cel procesador. En cierto sox eno, el procesadoe ext eevutando introcrones captadss ce la pein de memo ut 5 8 Figura 77. Wistogrome de uiisacin en al caso de miprapromacién, iS, n CPU ¢s interrumpida. y el control pass 2 un programa de gestion de interrupciones del sistema operativo. Entonces. el sistema operativo pasa el control a otro trabajo. Los sstemas operativos multiprogramados son bastante sofistcadot en comparaciéa con los sistemas de un solo programa, © monoprogramados. Para tener varios trabajos istos para ‘gecutarse. deben mantenerse en memoria, precsindose una ceria geatn de a memoria. ‘Ademas, 5 varios trabajos estin Iisios para eecutarse. el procesador debe decidir cudl de clos s¢ eecuta. lo que implica uifzar algun algoritmo de planiieacién. Estot conceptos se discutea mis adelante en este eapitoio, 232 Orgonisaionyarautcrire de computadores abla 73. Mutiprogramacidn con cola frente a tiempo compart [— mereramscso | Tempe smpatie [jetweprincipsl * | MeximiaI wiencisn Winimia olope al procnnaar Se oseast Fences de inamucsones | inaruicanes de un angvaje | Grdenesitroauciae ars laintrs opersivo.|""de conveltatraeir gs | "a waves tin! | proporsons of popio Wabeio : ‘Sistemas de tiempo compartido (Con el uso de la multiprogramaciéa, el procesamisato ea cola puede sec bastante efclent, Sin embargo, para muchos irabajos es deseable disponer de un miodo en el cual el ewisrio interaide direetamente con el computador. De hecho, para algunos trabajos, tales com procesamiento de (ransacciones, es eseacal el modo ineractivo. Hoy en di. fos requisites para el procesainiento interactvo pueden ser y a menudo son, satisfechos por un microcomputador. Esta opcidn no era posbie en lor sesenta,cvando la rayoria de los computadores eran grandes ¥ costosos. En su lugar se desarols el tempo compartio, geal que tn ltiprogram~sn permite que el procesador ejecute varios trabajos de cola en un inervalo de tem: bein se puede hacer que ejecute varios trabajos interact os. En este caso, I ence se .:.omina tempo comparti, puesto que ei tempo det proce. Sador 4 comparte entre varios usuarios. En Un sistema de vempo compari, varios ua- ‘ios acceden simultdneamente al sistema a tavés de (erminales mientras el sistem operative altemna la gjecucin de fragmenios o rilagas de cSmputo correspondicctes a cada usuario. ‘Ast hay usuarios que solistan servicio al misma Uempo, eads Usuario s6lo aprovechars, or término medio, ura fracion igual a 1/n dela velocidad eetiva del procesador,y es sin omar el tempo dedicado al sistema operative. No obstante, dado el tempo rlativamente tlevado de reaccidn humana, tiempo de respuesia de un sistema divetado correctamente feberia sex comparable al que proporciona un computador dedicad. “Tanto las colas multipeogramadas como el empo compartido,usan multprograracin, ‘Las difereaciasesencais se enumeran en la Tabla 73. Pa ‘La clave dels multiprogramacia es a planifiacin. De hecho, usualmente imple tes tipos de pianifiacion (Tabla 7.) Las deseribiremos aqui, pero primero introductemos el concep- to Ge proceso, Este emino (ue utlzade por primera ve2 por ls dietadores de Multcs en Jos anos seenta. En iru forma, se rata de un trmino mds general que ettabajo>. Se han dado muchas dfiniciones cel trmino «procesde, ene elas + Un programa en eecusion «+ El eespicity sniraados de un programa + Aguellsertidad a la que se asiga un procesador El concepto se acarard a medida que avancemos ‘ wagon det sistema operativo 233 Tabla 7.4. Tipos de planiticacién PLANIFICACION A LARGO PLAZO El planilicador a targo plazo determina qué programas xe admiten pars ser procesados en sistema, De esta manera, este plasficador controla e1 grade de malliprogramaciéa (oaine"o e procesos en memoria. Una vez admitido. un trabajo 0 programa de usuario pasa 3 ser un Droceso. y se afade a una cola asociada al planificador a corto plazo. En algunos sistemas, 1a proceso nuevo comicaza a partir de una sustisucidn en el inercambio (swapping) en cuyo ‘ato se afiade ala cola del planificador a medio plaza. En un sistema de colas, o en la parte de colas de un sistema operativo de uso general. los luabajos nuevos que se envian pasan al disco y se mantienen en una cola, El planificadar & largo plazo seleeciona trabajos te esta cola cuando puede. Esto implica tomar dos decsiones, En primer lugar. el planiicador debe decidie sel sistema operative puede aceptar uno 0 mi rocevos adicionales. En segundo lugar, el planiicador debe decid que trabajo 0 trabsjos acepla y transforma en procesos. Los critenos que se wihzan deben incluic la proridad. el tiempo de ejecucide esperado y las E/S que se requieren. Para los programas interactivos en un sistema de tiempo compartido, se genera una soli- stud de proceso cuando un usuario intentz conectarse al sistema. Lof usuarios en tempo ompartido no se iniroducen en wna cola para mantenerse esperando a que el satema los acepte. Por el contrario. el sistema operativo aceptari a todos ls usuarios autorizndor hasta (que el sistema se sature. En ese momenta i se produce ura solicitud de conexiGn, 30 tespon" de te memoria ademis debe subdividise para dar eabida alos eistiniosproceacs. La tarea de subdivisin la realiza ‘Sindmicamente ol sistema operative. y e conoce como gestidn de memoria ‘Una gestion eficiene dela memoria es vial en un sistema multiprogramada. Si hay pocos procesos'en memoria. puede ocurtc que todos los procesos edn esperando completat 308 /S, con fo que et procesudor permanscerdinactvo. Ea consecuenss la memoria debe asig- ‘arse efiietemente, para situa en memoria tantos rocesos sori sea poxble INTERCAMBIO (SWAPPING) Volviendo a ta Figura 7.12, ¢ han diseutido tes tipos de cols: la cola a largo plaza, para solintar procesos nuevos: la cola a corto plazo, con los procesos preparados para utlizar el rocesador,y las distintascolas de E75 de los procesos que no estin preparados para usar e! ‘procesador. Recuérdese que la razén iltima de estos mecanismos era que las actividades de E/S son mucho ms lentas gue el edleulo y que, porconsigtiene, el procetador en Un sist on monoprogramacign esté la mayor part del tempo perado. Sin embargo. ei esquema de la Figura 712 no resusive el problema por completo. Es vet- iad que. en exe caso Ia memoria contiere multiples procesos. y que el procesador puede ‘conmutar a eito proceso cuando el proceso en curso tenga que experar. Pero © procesador lsopone dot sntema peraivo 239 Aivacoramenis on ao a Tata ene Pinecone Figura 7.13, Use do inercambio tesmepsiogy) tan répido en comparacién con las E'S. que puede ser frecuente que tados los procesos de la ‘memoea estén esperando una E.S. Por es0.igcluso con la multiprogramacisn. un procesador ‘puede estar parado la mayor parte del usrmpo. Qué se puede hacer? La memoria principal podeta ampliasey, asi. ser eapaz de dat c2- bida 3 mis procesos. Pero hey dos problemas en esta solucién. Primero, incluso hoy a bs ‘memoria principales cara Segundo, la uecesidad de memoria de los programas han erecido ta rapido como ha eaido el costo dela memoria. Por eso, una memoria mayor origina pro- esos mayores, n0 mis procesos. Otra volucién es el intercambio (swapping), epresentado ea la Figura 7.13. Tenemos una cola a largo plazo de solicitudes de proceso. isuaimente aimacenadas en disco. Esta solicit des se traen a memoria. una a uga.. medida que hay espacio disponible. Conforme termina, los procesos se sacan ge la merfSria principal. Ahora. podria ceutrir que ninguno de los pro- ‘e208 en la memona principal esté en el estado preparado (por eemplo. todos estda experan~ do una operacion de F/S) Es lugar de permanecee parado, el procesador inercambia uno de 508 procesos,situdndolo ea el disco en una cola incermedia. Esta es una cola de procesos ‘existenes que se han sacado temporalmente de memoria. El sistema operaiivo trae entonces ‘tro proceso de la cola imtermedia o acepta una nueva petcion de proceso de la cola de largo plaza. La ejecucién continda con ef proceso recientemente activado. Eliteccambio es de becho una operacign de E'S y, por consiguient, existe Ia posibilidad e empeorar el problema mis que ée soluaonario. No obstante, puesto que la E'S en disco 240 Organiecion yarquitacture de computacores i dannii SS wes iam mn endo erie rei 8s wt be oa Ne aes to Sr el ane a oree mn in eg emora el noe pecan ae ese et ae DEFINICION DE PARTICIONES EZeguena as sipl par defi: partons en a neo dspontee uisae pr res de tamaho io, como muestra la Figura 7.16, Observe que, aunque las pariiones son ce {amano fo. no todas tienen igual tamado. Cuando un proceso se intiodute en memoria, se sitda en Ia pacicia disponible mss peqvena que pu incuilo. (0) Perna gl oat (2) Pace etn tao Figur 2. erp de paricionas fa de una mamaria de 64 Mbytes. \ ermeen 1 soporte dei sstama operative 241 Ineluso con el uso de particiones de distintos tamattos, se desperdiciard memoria. En la - smayora de los casos, un proceso no necestardexactament la memoria que proporciona una partici. Por eerplo, un proceso que precise 3 Mbytes de memoria se podra stuar eo la partici de 4 M dela Figura 7.14b, desperdiciando 1 M que podeta utlizarse para otf pro- eso. Una posibilided mas efcienteconsiste ea utilizar particiones de tomato eariable, Cuando lun proceso se introduce en memoria ele asigna exactamente Ia memoria que necesita, y no mds. En la Figura 7.15 te muestra un ejempio utilizando | Mbyte de memoria principal. tni- Clalment, salvo por el sistem operativo, la memoria principal esta vacia (a) Los pimeros tes procesos se cargan, empezando por donde termina el sistema operative y ceupando justo tf expacio neerario para cada proceso (bc) y() Esto deja un shusco- a final de fa memo- in que es demasiado pequeno para un euarto proceso. En certo instante, ringuno de los proceson de memoria estd preparado. El sistema operativo saca de memoria al proceso 2 fe, Spon || 1 Seen Sore eens reas |} 200 Procao || 320 Proce |} 220 aia rome 2 || 220 renso2 |} 20% si roca |} 200 oo » o ams Same sm a i Ey Sento Spend rome} 220 Prcase |} 206 me Preet|j ae owe ie Prowse | aoe Prem || same Pome |} ame + Prema || mex promes || 206 ‘room |} 2805 rem’ |} 20a ox oe oe an ” © ” Piquea 7.5. Elec de a paren insoic. ony arauacira de eomputadores * Aejando espacio suficiene para cargar un nuevo proceso el prociso 4. Dado que e! proce- sot mis pequeno que el proceso 2. se crea oto bueco pequeto. Posteriormente. se produ fe la atuacin en Ia que ringuno e lor procesos que etia en la memoria std preparado, tncepto el proceso 2, que estd dipanible puesto que te encuentra ene estado preparado-tut- [endido, Como hay wn espacio de memoria isufcente pura el proceso 2, el sister operat. No eeia de memoria al proseso (gh y vuelve 2 iatrodoer al proceso 2(h}. Como estes tate gjempio, el metodo empiera ies, pero. eventusimente. puste Ivara stuaciones en las {que bay muchos huecos pequeBos en memona. A medida que pasa el empo, Ia memoria se ffagmenta més y mis. y empeoca su uUlzaeiGn. Una técnica para solucionar exe problema es In compactacia: de vex en cuando, el sistema operativo desplaza los process en memoria para juntar toda la memoria ire en un biogue. Ese es un procedimiento que consume parte ei tempo del pad Anies de considerar formas ¢¢ solucionar fs problemas de la detinicén de purtcions, feu pedecie,basdndove en tu Bntora rete Que paginas fe vilizarin con mer proba biidad en futuro prdximo Con la paginacida por demands, no es necesario cargar el proceso entero en la memoria principal, Este hecho tiene una consecuencia importante ex poible que un proceso sea mayor ‘que toda la memoria principal. Una de las restricciones wis importantes de fa programacion, hha sido vencida. Sin paginacién por demands, un programador debe tener en cuenta Ia me- ‘moria disponible Si el programa que se est eseribiendo es demasiado largo, el programador ‘be buscar formas de estructura el programa en trozos que puedan cargatse uno & UNO, ‘Con demanda de pagina ese trabajo st deja al sistema operatwvo y al herdware, En lo que al ‘programador concieme, #0 ella, dispone de uaa cantiad de memoria enorme, e! mato ‘sosiado al espacio en disco. Puesto que un proceso se ejecutasslo si est en memoria principal ta cecibe el nombe de memoria real. Pero el programader 0 viuatio peroibe una memoria mucho mayor (la que ‘nay disponible en disco}. En consecuencia,ésta cltima se denomina memoria virtual. La me ‘mocia virtual posibilita una multiprogramacion muy elective. y beta al usuario de ins inne crsanas y exigentes cestricciones de memoria principal. Estructura de a tabla de paginas El mecanismo bisico para leer una palabra de memoria implica la traduccion, mediante una tabla de paginas, de ona dieccién virtual o ldgica(coosistente en un admero de pégica y un desplazamien‘o) a una direccin fica (consituiga por un nimero de marco y un despiaza- riento} Puesto que la tabla de paginas viene una longitud variable dependiendo del tamaso el proceso, no es posible almacenaria‘n los registro. En su lugar, debe accederse a ila en ‘memoria principal. La Figera 717 sugiere una implementacia hardware de este esquema, ‘Cyando ua proveso determinado est gecutandose un registro contiene la ditecciOn de inicio de a tabla de paginas de ese proceso. El aumero de pdgina de una dreccién virtual se utiliza ‘como indice en la tabla para buscar el correspondiente nimero de marco. Este se combi- ‘ea com la parte de despiazarmieato de la direcaéa virtual para coastrur la direcién real de- ead En la mayoria de los sistemas, hay ura taba de péginas por proceso. Pero cada proceso puede ocupar una gran cantidad de memoria virtual Por ejemplo, en la arquitecture VAX, ada proceso puede tener hasta 2" =? GBytes de memoria virtual. Utlizando piginas de 2 = 512 bytes, exo significa que se secesitan tblas de paginas de 2" elementos por proceso. CCarament, it cantidad de memoria dedcada sto a tablas de paginas podria set inaceDt blemente alta. Para soluciona este problema, la mayode de los enquerat de memorta virtuel almacenan las tblas de pgnas en ia memoria wal, en lugar de en la memoria fea. Esto significa que la tabla de paginas tambidn etd sujeia a paginacia, igual que el resto de pd fs. Cuasdo un proceso s est efcutando, al menos una pare de su tabla de pian, in- ‘tuyendo el elemento correspondiente a a pdgina actalmente en ejecucion, debe estar en It ‘memoria principal. Algunos procesadores hacen uso de un exquecsa de dos rivees paca orga tzar las abla de pdginas grandes. En ete equeme, hay una pagina de dieciorioea la que ada elemento apunta'a un taba de pagina. Ast, ila longitu de fa gina de directorio ex ‘Organzacion y arquitactura 6 computadoren 1X. sia longitud endxima de una tabla de paginas es ¥, un proceso puede estar constituido por hasta X % ¥ pagsnas.Tipicamente la longitud misma de una tabla de paginas se res tenge al tamano de una pagina. Veremos wn ejemplo de esa aproximacién de dos mvels sds adelante en este mismo capitulo, cuando estudiemos el Peatury I Uns aproximacidn alternativa a! uso de tabs de psinas de una o dos nveles es e uso de una estructura de tabla de paginas Unvertile (Fig. 7.18), Esa aproximacion se tiiza ene ‘AS/400 de IBM y en todos sus productos RISC, incluyendo el PowerPC. En esta aprosimacidn, la porcidn de la direcida vietal correspondiente al mimero de ‘ina se mapea en una tala de dispersin (hash mediante una funcion de dispersin sent Hat. La tabla de dispersion ineluye un puntero a una tabla de paginas inverida que contiene fos elementos de la tabla de paginas, Con esta estructura. hay tin elemento en la table de dispersién y en la tabla de paginas inverida para cada pagina de memoria rea, en vez de para cada pagina de memoria virtual. As, se necesita una poreign fya de a memoria real para is tablas.independientemenie del nimero de procesos 6 piginas vrtales que se adm fan. Puesto que mds de va direecia virtual puede apuntat al mlémo elemento dela pagina de dispersdn, se uiliza una térmica de encadenamiento para solucionar exe problema. La ‘éenica de cispersion da lugar a cadenas usunimentecortas. con und 0 dos elementos, = (spwtn) ‘ine wa ‘ae sparta Tan on pgeas once Figura 7.18 Esructura oe ta aba de pdoinas iver rn de pei ua nines comprndor nO» Mon mats ene ON onde > ea fan de dapern bat oa nsx on nS pen Pro Qe t oa eas ss atc a msm ui poe que soma eta suns ton pon de ba de gern {ean En saa ed toevo Wee ef sts psn dea abe de mesa Usain mrs ‘rons ae pera pono asa ur econ yw erable pi dee pond Se ‘um cnndenar oats poses que se Seana Vane (STALIN par au Scie i aoe oes (Shas per El soporte dat sistema oparsiva 247 BUFFER DE TRADUCCION ANTICIPADA (TRANSLATION LOOKASIDE BUFFER) En principio. toda referencia a memoria virtual puede ocasionar dos accesos a la memoria fie: uno para eaptar el elemento de la tabla de piginas apropiada, y otro para captar el dato deseado, Como consecuencia, un esquema de memoria virlual directo tendria el efecto ‘de doplicar el tiempo de acceso a memoria. Para resolver este problema. la mayorta de los faqueras de memoria virtual hacen wso de una cache especial para los elementos de la tabla de piginas. Tamada usvalmente «buier de raducciéa antiipado» (TLB. Translation Looka- side Buffer) Este buffer funciona de la misma manera que waa memonia cache, ¥ contiene ‘aquellos elementos de Ia tabla de paginas alos que se ha accedido mds fecientemente. La igura 7.19 es un diagrama de Mujo que muestra ef uso del TLB. Por ef principio de loc ‘dad, la mayoria de las referencias & memona corespondersa a posiciones de las piginas re- ‘entemente usadas. Por eso 1a mayorin de las referencias implican a elementos dea tabla de pipinas inciuidas en el TLB. Estudios del TLB de VAX muestran que este esquems puede ‘mejorar signficatvarente Iss presinciones [CLARSS, SATYSI. Observe que et mecanismo de memoria vitual debe interaciuar con el sistema de cache {no con ia cache que implemensa el TLB, sao con la eache dela memoria principal. Esto se ‘iystra en ta Figura 720. Una direc viral staré generalmeate en la forma de almero de ppigina mas desplazamiento. Prinero. el ssteaa de memoria consulta el TLB para compro- bar si hay coinexdenera con algin elemento ce la tabla de piginas inclisdo en Si eb aa. s¢ genera In diceccidn real (sical. combinando el numero de marco coe el desplazamieato. $i fo. s¢ acede a elemento correspoouiente dela abla de paginas. Una vex que se ha generado la dieccion real constituida por una marca y los bits estates (véase la Figora 417k © con- Sta la eache paca ver si el bloque que contiene la palabra esté present. Si esas, se envi a rocesador. Sino. se busca Ia palabra en memoria principal El lector puede apreciar la compleidad del hardware del procesador implicado en una slope referencia a memoria La diceccida virtual es traducida 4 wna dieccion real. Esto im- plica una referencia la tabla de pdganas. que puede estar en el TLB. en memoria prnc’pal ‘en disco. La palabra referenciada puede estat en cache, en memoria principal. 0 #0 disco, En este stimo caso, ls pagina que contene a la palabra debe cargarte en la memoria princk val yw bog debe pat ns cack. Aden of element dela se ppas cormspo- diente a esa pagina debe acwualizarse. SEGMENTACION Hay ovr forma en la que puede subsividise Ia memoria dieccionable, conocida como seg- imentacion. Mientras que Ia paginacién es invisible para el programaior.y sive para propor- Cionar al programador un espacio de diecciones mayor. a segrmentacion es usualmente Vs be para el programador. y proporciona una forma convenicale de organiza los programas y los datos. para asociar los priviesiosy los tributos de protecidn con as instrucciones 10S datos zi La sepmentacion permite que el programador vea la memoria consituida por maltiples cspacios de direcciooes o segmentos. Los segmentos tienen un tamafo variable. dinamice, Usualmente. ei prograrmador oe! sistema operativo asignard programas y datos a segments distintos. Puede haber seementos de programa distintos para varios tipos de programas, ¥ tambien distintos segmentos de datos. Se pueden asignar a cada segmento derechos de acceso yy uso. Las referencias a memoria se relizan mediante dteccionescoastituidss pot un mume- 0 de segmento y un desplazamiento, Figure 7.29, Funelonamieta e le papnacion y de butte de radueion eniioads (TLS) unwer) soporte de sisters operative 248) Meme Sarco Figura 7.20. Butter ce taduecin amici y operacén dein cache Esta organizacin Uene ciertas ventalas para el programador, frente a un espacio de di- recciones no segimentade: L_Simpliica ta gestion de esructurascrecientes de datos. Siel programador no coroce a peiori el tamaflo que puede llegar a tee una estructura de datos particular. no es anecesario que lo presuponga. A a esructua de datos sl aigna su propio segmen- to, ye sistema operativo Lo expandrd o lo reducied Seguin sea necesacio, Permite modifica los programas y recompiaciosindependientemente, sin que sea ne- ‘cesatio volver aenlazar y carga elconjumto entero de programas. De nuevo, est 52 ‘onsigue uslizando varios segmentos. 3. Permite que varios procetos compartan segmentos. Un programador puede sitvar un programa corresponcieate a una utlidad o una tabla de datos de interés en un se mento. que puede ser direccionado per otros procesos. 4. Se laclita la protectin, Puesto que ua segmento se construye para contener un con junto de programas o datos bien defnido. el programaor o el administeador de sis tema puede asignarprivilegios de aceso de forma adecuads. [Estas vertajas no se ttnen com la paginacin. que es invisible para el programador. Por otra parte, hemos visto que ia paginaciGn proporciona una forma efcieste de gestionar ia memo ‘in, Pare combinar ls ventajas de ambas, algunos sistemas estén equipados con el hardware ye software del sistema operaivo que perme las dos. HARDWARE DE GESTION DE MEMORIA EN EL PENTIUM Ii Dende fa introduccin de las arquivecuras de 3 bis los microprasesadores han desarois dio exquemas de gestidn de memoria sofsticados. aprovechsndo la experiencia abtemida con fos sistemas de medio y gran tamano. Es muchos esos las versiones de lon microprocesada. ‘es s0n superiores a sistemas de media y gran eseala que lev antecedieron. Puesto que los sistas fueron desacroliados por los fabricantes det hardware de microprocesadores.y bieran poder utllzarse con una ceria variedad de sistemas operatvos. tlenden bastante a se de uso general. Un ejemplo represemativo eset esquema utlido por el Pentima It El hard ‘ware de gestisn de memoria del Pentium II es exencialmente ef mismo que se tsa en los pro cesadoves 50386 y 30486 de nicl. con cvertas mejor Espacios de diracciones £1 Pens I inclure hardware. tonto para segmentacise como para paginacidn. Amibot me jasismos se pueden desctivar, permiiendo elepirentce cust formas de ver li memoria + Memoria no segmentads y no paginada: En este caso. ln dicecion virtual es fx mitna {quel direscsn fisica, Esto ¢ ut. por cjemplo,euxndo se utiza como controlador de Baja compleida y elevadas prestaciones, ‘Memoria paginada no segmentada: La memoria seve como wn espacio lineal de dies cones paginado. La proteciony la gestion de memorsa se relia através de I paginas ca. Esta es la forma peterida por cierto sistemas operatvos (por emplo, ef UNIX fe Berkelers ‘Memoria segmearads no paginaa: Se ve lt memoria como un conjunto de espacioe de ‘irecionesigieas. La ventaja de esta imagen sobre el enfogue dela puginucia exrisd fen que proporciona protecciin por debajo del nivel do byte. si es nacesano. Es mis. 3 ‘bferenca dela paginaccn, garantiza que i abla de traduccion nocesri (la tabia de Segmentos) se encuentra simaceaada en el chip cuando el segmento exten memoria. De esta forma, la segrencacin sin paginas da lugar a dempos de acceso predecbies. ‘+ Memoria segmentads paginads: Se wiliza la segmentacign pars defini patiiones lop cas de memoria en el control de acceso, mientras que ls paginas se usa para gesto- ‘az In asignacion de memoria deatro de las partciones.Cieros sistomas operaivos. Jes como el UNIX System ¥, preteren esta vinén de la memoria. Segmentacion ‘Cuando se otliza segmentacisn, cada direccidn virtual (lamada edireecién igico» en ia do- ‘umentacisa del Pestiv)consta de una referencia al scgmento de 16 bits ¥ um despleta- siento de 32 bits Dos bits de la referencia al segmento se willan para el mocanisnd de prO- feces Bt restanes pra especial segmento en cues. As. oe una memoria fo segmentada. a memoria vital de usuario es 2" = 4 GByes. Con una memora seemen- ‘ada, el espacio de memoria virtual total visto por el usuario es 2 = 64 terabytes (T Bytes), Elespacio de direccionesficasemplea ditecciones de 32 bis. con un masimo de ¢ GBytes, El volumes total de memoria vital puede ser mayor de 64 TBy:es. Esto se debe a que Ia forma de imerpretar uaa dreccin vireuai por parte del prosesador depende de fa forma en tsopons de stoma operatvg 281 aque esté activo en un momento dado. Una mitad del espacio de diteeciones virtuakes (SK. Segrmentos x 4 GBytes es global. compartida por todos ls procesos: el resto dela memoria local. distinia para cada proceso. Hay dos formas de proteccin asociadas a cada segment: nivel de privilegio y atburo se acceso, Hay cuatro nivees de privileio, desde el mids protegido (nivel 0), al menos protege 0 {nivel 3), El nivel de privilego asociado a un seginento de datos es sv «casiheaciénm: nivel de privilegio asocizdo con un segmento de programa es su wacreuitaciin» (eciearance-) Un programa en ejecucidn puede acceder a wn segmento de datos soo si bu nivel de aeresita- ie eno ayer priv} oil vl pave! qu evel episode seg El hardoware no indica cémo deben uulizarse estos niveles de privilegio:exto depend de diseho y dela implementaciée del sistema operative. El nivel de pavilego | seria utlizado ‘por la mayor parte dl sistema operative. yel nivel 0 por una peguena parte del mismo, dedi- feada a la gest de memoria la proteccidn y el control del acreso. Esto deja dos nveles para las aplicaciones. En muchos sistemas, las aplicaciones se encuentran en el nivel 3, dejéndose sin utilizar el nivel 2 Los subsistemas de aplicacén expecfca que deben protegersedebido a {que implementan sus propios mecanismos de seyuridad soa uence condidatos para stuarse en el nivel 2. Algunos ejemplos son los sistemas de gestica de oases de caton. sistemas de utomatizacion de ofcinas ¥ entornos Ge ingnieri del software. Ademés de regular el acceso a los segmentos de datos. l mecanismo de priileio Kinita el uso de ciertas instrucciones. Algunas insirueiones ales somo ls que wtiizan los repistros de {gestion de memoria. slo pueden ejecuiarse en el nivel 0. Las insirucciones de ES $10 pue- den gecutarse en cierto nivel. determinado por el sistema operaivo; este auele ser el nivel I. EL atibuto de acceso al exmento de datos especifia si se permiten accesos de letsra ‘esatura o sélo de lectura. Para fos segmentos de programa. el ainburo de acceso especisa Si'se tra de acceso de lectura/ejecucidn 0 de solo lecture FL mecaoismo de uraduecidn de diceccio para In seementacia implica hacer correspon er uma eicecsidn virtual com lo que se denomina wna cirecign lineal (Figura 7219) Una direccién virtual consste en on desplazamento de 32 bits y un selector de segmento de 16 bits (Figura 721a) El selector de segmentos consta de los siguientes campos: indicador de tabla (TT. Table Indicator: Indica si para la raduccida se va a azar la tabla de segmenio global o la tabla de segmento local ‘Namero de segmeno: fi aimero del sezmento. Sirve como un indice en ta tabla de seg menos, + Nivel de privilege soliciado (RPL, Requested Privilege Levels El nivel de privlegio pa- sa el acceso en svestion (Cada elemento en la tabla de segmentos consta de 6 bits, como muestra la Figura 7.2le. Los campos se definen ea la Tablas Paginacion La segmentacisn es una propiedad opcional.y puede desactivarse. Cuando se utiliza ta see :mentacidn. las dieeciones unlizadas en los programas son drercionesvituaies. y se convier- ten en direcsioneslineales. como se ha descnto. Cuando no se wtliza segmentacidn lo pro- gramas ublizan diesciones jineales. En cualquiera de los exsos. el siguiente paso es [2 teaduecida de una diveccion lineal a una direcidn real de 32 bts 252 Organacin y arqurecure de comitadores > acne oo ae . OL > Nelce peg acta (a) Setar de sagen is a Ze azt | oxecone Tee Desparanions (0) Oreos nas ea apa] lo wake aap ——y f 1701 fat unwan | peeas.ze fo|r| |v) moras lo} || po | easezn6 L Uisttel se | 1 | | eau 15.9 | Segment Lime 152 AA + sponte para a pat ©» Gamera [Renamed royanson ou sien Cmte + Lint segments ‘sae + Groce bee sega Po Prensa a segrane 1B" = Timate ve operacen por selec Tee + Tyocesegrane, (OP. = Prange ge caserwer SS Taam (6) Oracotr ce sani era oo iba de agrerton) aT | [eet wa | [tholaleln elle Tse Seoal toa Ge S Geecyarnens os + Torawensate tS tmowertoe © i decse hoes too > thao ce (Sona at ret paren = PTET rece cemann ce pigrmest.s2 | ~olalel cla 1@ bselish © + Btermoateaain (e) lemurs el ba de snes Figua 721. Formatos par a gestion ge mamors én el Pert 1 soporte dal seta operative 259 ‘Tobia 75. Pardmetros para le gestién de memoria en wi Pentive 3 ras etn ei ra sl Oe ans ae oa a Fae egmans dco, tm ea it nen x oprmdoey mo a neon’ fon | ous a eee sre $e oe Stel et cite (on. onseriar pee all = Sn epson Deetstpaage inmotion losin ana os gancirid = Sir inte lo carpe Lite debe se naprotado en ueidades de un byte o do Kbytes, | nie "Sioa al mato del sagrrant. £1 procaaador interpreta ol campo lita de dos fermas postles, 0- sna Sk Je granundad en unsdadee dn un bye, hasta us Ute de 1 MByte a a tara el Sxg- Serta. oon sndada de 4 KByte, hasta un mite Ge & GBytes eel eran del segmento. . es Seermina si un segienta dado os un segment dl sistema, © un agent de cddiga 0 de detot. ‘i de segment presente IF) s "Srissemes no paginados, Indice ol eegmanta ost sspanib en memoria principal En los ‘upinados ete Mt ond wep » Tee . Sicingve entre varios pos de apments @ inca los auibutoe de acceno. hast] Elumentos del dractorio e piginas ye le tbla de plone £ tide acco (A, Accsed bit - 3 Sect: Pore net 1 an ambos civls ets tabi de pina encase produc una ope tation Ge acura 9 esctura ena pagina corespondecte, ‘8 de mostiencom (0 Dey De ee etsador poco ate bit cuando ve produce una operacién de excura ana pginncorespon- Sonn 4 Discreet marco de pain Sate ice a % rte dca ta creeson tae Gen pagina ania mamora a el bi de rosnci ets actva Pee ave [reece ae pina se snwan con cy bloquas de, fs 12 bia fanares von Oy slo los 20 bs ree cis channel sermon. Em of irecorio de pias ls wei ox We de a abla ep ine. ‘ie ahabitncin de cache para la pisina (PCO, Page Cache Dlsabeb rics ale datos dot pagina se pueden rogue on caches. ‘ne tat de gina 3) mera Sten of pages ox oe 4KByias ode & ME is 1 Ge serturs amacita de pagina (WT, Page rte Though Bd SEseTSe cele plies ce earners malonate Through) ola de Poatsertura (Wie Back) fara scalar los dats lo pagina correspondent = 5 : Bit de provencia Preset it 2 es : incense ce plains ol pina et en mamaria pina ‘de actars/eserare eae Bt ee ee 20 85 papas Sel rel ce uoura, indica si ls programas 6a wart pu’ decade « t pine io penetra, para lestrs era. : 1 de urero/soperdaee 18). z ne ee natn cn sable so par iti oBaratv (vel superior o ext sponte atc saar operat come parent epicacone te Para comprender la estructura de la dieccién linea, es preciso tener en cuenta que +t 3) Deseriba exactamente cémo, en general, una direcidn virtal generads por la CPU se truce a una direccidn fica, 1») :OQué direccin Fisica, si existe, corresponderta a cada una de las siguientes direc+ ‘jones virtuales? (No gestione aingun fallo de pina, si se produce) A 4052 42201 (iy 5399 * = todique is cazones por las que el tamato de pagina en un sistema de memoria virtual no debe sec m muy grande ni muy peyveto. inte sesuencia de mimeros de paginas virtules se produce en el curso é¢ Ia mde un programa en un compurador con memoria virtual 342647132635123 wit we compuacores ‘Asuma quest ha adoptado una esiratepa de reempiazo dela pigina menos ‘mente usada. Dibuje na geiic dela tas de aiertos de pina rccin de ‘las que encuentran la pagina en Ia memota principal) en func dela capaciéad Déginas dela memona principal m, para I-< 8 < & Considere que la memoria pal eet iialmente vac. 1. En etcompotador VAX, is alse pga de waco gia en ries fens de Uopeco desea Coal wet ene tabi Ge ppt ‘sunn ca lt emoria wrtal en gp de en la menor prin? Chal ela sen 1 Cofsidere un computador con segmentacisn y paginacdn. Cuando wn segmento es fen memoria, se devgerdician algunas palabras dela ultima pagina. Ades, para un Segmento de tamaho sy ua tamaho de pina p, hay sp elementos ex la tala de p- tat Cuanto mis pequsto seal tamafo dela pagina, menor serio que se desperdie ‘nla ima pagina del segments, pero mayor se a tabla de paginas. (Qué tanaka e pgina minima la memoria suplementaria (-ovechead>) total? 19. Un computador tiene una cache, memoria principal yun disco ulizado para lx me- ‘mori val. Suna palabra eté en ln cache se eveitan 20 nt para acceder a ella Si ‘2d en memoria principal y no en la cache, se cecesian 60 ws para cargarta primero nla cache, y despues empieza de nuevo la refereacia a la palabra. Sila palabra no fsué en la mewona princial se aecesitan 12 as pare treda del dco, mds 60 ns paca Dusala ala cache. [a tsa d aiertos de cae o 09 y la asa de acieros de memoria Deocipal er 06. ; Cole el dempo medio, en nanotegundoe, Que se ngesia eo ete Sistema para accede a una palabra? LAM, Suponga que una tara ets ividida en coato segmentos de igual tamao, y que el stem construe para cada segmento wn tabla de dscrptoes de pigia con 8 ee mento. As pues, sistema wtlaa una combiaaciéa de segmentactn ) poginacéa, ‘Asura tambign gue e amano de la pagina es de ? KBytes 4) (Co exe tamato maximo de cada segmento? 1) {Cudles ef espacio de direcsiones lgicas miximo para una tarea?s ‘Si una trea accede a un elemento en a posicién fen O0021"ABC. :Cull es el Focmato de la direcaignIigica qu la tarea genera para él? ,Cutl esl espacio mi slim de dresiones fica del sterna? Fuente: (ALEX93}, TAL. Asuma que certo microprocesador es capaz de acceder a 2? bytes de memoria fica Drincipa El microprocesador implementa un expacio de direccioaes logics Seaenae fo de un tamatio mdximo de "bytes. Cada instruct conten fs dos partes dels eosin complera Se utlizan unidades de gstién de memoria (MMU, Memory Ma- agement Units externas, cuyo esquema de getidn de memoria asia a ls segmen {os bloques contiguos de memoria fia de ue tamaofjo de 2 byes La diecciba {ica de comienzo de un seariento sprees divisible por LOD. Muesre ta inereo- ‘erin detallada del mecarismo de correspondenciaexterno que coovirt las dise- ones Lipicaten drecionsfisias vtlizando el mero apropiado de MMU, y mues- tue a estructura interna detallada de una MU (asuma que cada MMU contine una ‘ache de corespondencia directa de 128 elementos para lo descriptors de wepmento} 1 la forma deselecionar cada MMU, Fueme: (ALEX93] emt, El xoporte del sisterna operative © 267" 742 Considere un espacio de direciones Wégicas paginado (compuesto por 32 piginas de 2 KBytes cada una) asignado a ua espasio de memoria fset de | Byte, 8) {Cust es el formato de las direciones Wégicas del procesador? ‘ 1) {Cuat esta longitad y la anchuca de la tabla de paginas (sin Considerar los bits : ‘Sorrespondientes a lof «derechos de acceso=)? 9) (Qué efecto se produce en Ia tabla de paginas si el expacio de memoria fisica se reduce ala mitad? Fuente: [ALEX93]. PARTE I11 LA UNIDAD CENTRAL DE PROCESAMIENTO Hee Sn SES een rele were turn fron es CFU. U4 EFU coon ea nia eco ecu is saidd animate le iad ce cecson de estucone ys ntsoncions er ico omponenz. Se cuben os omar esque, mi bine eto dl ep toe imtacioas o sips de aon En ea are wat onblé expe later ¢ Onpmincion es come i ements captains CAPITULO 8. ARITMETICA DEL COMPUTADOR E] Capitulo 8 exemins el funcionamiento de la ALU, y ve centea en la represemacign de los ‘nimeros y las tecnius para realizar operaciones aritmeticas. Lot procesadores aormalmente admiten dos tipos de aritmética: de coma fja 0 de enteros.y de coma Notante. Para ambos casos. e capitulo pimero analiza la representacidn de los almmeros , posteniormente tata Ing operaciones aciméticas, Se estudia con detale el importante estandar de coma flowante IEEE CAPITULO 9. REPERTORIOS DE INSTRUCCIONES: CARACTERISTICAS Y FUNCIONES El compisjo tema del diseho de cepertorios de instrucciones ocups los Capitulos 9 y 10. EL Capitulo 9 se centra en los aspectos foncionales del disetio de un repertorio de instrucciones Este capituio examina los tipos de funciones que se especiican mediante instrucciones de computador. concenirindose entonces en les tipos de operandos (que espeifican los datos «con Tos que se opera) y en los tipos de operadores (que especifican las operaciones a realizar) {gue aormalmente encontramos en lot eepertonos de insrucciones COrganienin y arauneeture 8 computadores CAPITULO 10, REPERTORIOS DE INSTRUCCIONES: MODOS DE DIRECCIONAMIENTO Y FORMATOS ‘Mientras el Capitulo 9 puede decirse que trata la seméatica de los epertorios de inst fet el Capislo 10 ext, mds rlacionado con la sintans de dichos tepertoros. Co ‘mente, e est capitulo seve ln forma de especiicar las direcciones de memoria y e format feneral dels igstrociones del computador ‘CAPITULO 11, ESTRUCTURA ¥ FUNCION DE LA CPU El Capttulo 11 describe et uso de registro, como la memoria intema de la CPU, empleando todo et material visto hasta ese momento, pra proporcionar una revisign dela estctura y fncionamiento de fs CPU. Se revise ss organizacion general (ALU, utidad de coateol y ‘banco de registon, Ia organizacign del banco de repiseou. El resi del captulo describe gt funconamiento del procesador evando eeculaistrusciones maquina, Se analiza el cia de instruecidn para mostrar e!(uncionamiento ylaterslacién dels ciclos de capracsn, ine ‘ecto. de ejcucion y de interrupei, Finalmente, se explra con detalle la mejora de pest ‘ones que produce la segmentacén. CAPITULO 12. COMPUTADORES DE REPERTORIO REDUCIDO DE INSTRUCCIONES Enel resto de la Part Il se ve con més detle las tendencias clave en el disfo de la CPU, El Capitulo 12 describe Ia aprarimaciga atociada con el concepto de computador de conjsa~ to reducido de instrusciones (RISC) Este capitulo examina las motivaciones para el uio del ddiseo RISC. tratando a contiouncisa los deales de diseto del repertoio de insrucciones dean RISC y la arquitectura de su CPU. CAPITULO 13. PARALELISMO A NIVEL DE INSTRUCCIONES ¥ PROCESADORES ‘SUPERESCALARES Enel Capitulo 13 se veel uso de tdenicas superecatares, una aproximacida utilizada en me os de Ios disebos de procesadores mas modernos. 3 : i OTT ey * CAPITULO 8 . _————— ‘ aa. 82. as. a4, 8s. 6, a2. Aritmética . del computador La unidad sritmético-tégiea (ALU) Representacién de enteros i6n en signo y magritud i6n en complemento a dos 5 de bits diferentes Representacion en coma fija ‘Aritmética con enteros Suma y resta Muttiplieacion Division Representacién en coma flotante Fundamentos Estdndar del IEEE para la rapresentacién binaria en coma flotente ‘Avitmética en coma flotants ‘Suma y resta Multiplicacion y divs Consideraciones sodre precisién Estindar det IEEE para la artmética binaria en coma flotante Lecturas y sitios Web recomendados Problemas + 4 Apéndice 8A. Sistemas de numeracién Siscoma decimal Sistema binario Conversién entre bin: Notacidn hexadecimal 2 266" organitcisny arautecrura da compuradores eam 25.2 9 ose apie (2) ners an coma ete Se eens eresraereseseeseseereeees + Los dos aspectos fundamentaies de la aritmética del computador son fa forma de representar los niimeros (el formato binario} y 1s algoritmes utilizados pa- 1a realizar las operaciones aritméticas bisicas (soma, resta, muitipicacién y visin). Estas dos consideraciones se aplican, tanto ala aritmética de enteros como a ia de coma Aotante. ++ Las cantidades en coma fotante se expresan como un niimero (mantis) muiti- plicado por ura constante (base) elevada una potencia entera (exponente)- Los mimeros en coma flotante pueden uilizarse para representar cantidades muy grandes y muy pequefas. ‘+ La mayoria de los procesadores implemencan la normalizacién o esténdar TEBE 754 para la representacion de mimeros y aritmtica en coma fotante, Esta norma define ei formato de 32 bits, asf como el de 64 bits. POOH Heese eases sees eee eereee 1. Aides dol computador 267 omenzamos nuestro estudio dela CPU con la unidad aritméticoI6giea (ALU, Tras tna breve introduceida ala ALU. el capitulo se ceatra en el aspecto mss complejo de te mista Ia artmétca del computador. Las fonciones lgicas que forman parte dela ALU se deserben en el Capitulo 9, y la impiementacin de tunciones idpicas y aritmétias ‘sencilla mediante lpia digital se descriter en ol Apéadice A de este libro. La avimetica de un computador es reslizada aormalmente con dos tipos de ndmeroe muy diferentes: enteros y en coma Motante. En ambos casos, la represenlacin elegida es uf aspecto de diseho crucial, que talaremas en primer lugat. seguido de uaa discusidn sobre la. ‘operaciones antmetcat En un apendice de este capitulo se proporciona un resumen sobre sistemas de numeraciSa La ALU es ia parte del computador que reaita realmente las operaciones artmétias y Sg- a8 con los datos. El esto de los elementos del computador {unidad de coatrol. regsos, ‘memoria y E/S) eatin principslmente para suministrar datos sf ALU, afin de que esa los procese, y paca recuperar los resultados. Con la ALU llegamos al estucio ce lo que puede ‘considera ef nucleo 0 exencia det computador. ‘Una unidad aritmético-Ligia y, en realidad, todos los componenteseietrSnicos del com- ppurador, se basan en el uso de disposiivaslégicos digitales sencilos que pueden almacenar Aigitos binerios y realizar operaciones iégcss booleanas elementals. El apendice de este tex- tw explora, para e lector interesado, la implementacién de logica digital, 1La Figura 81 india, en términos muy gensraes. Smo se inerconecta fa ALU con el res- to del procesador. Los datos se presentan ala ALU en reqisros. en registros ve almacenan ls resultados de las operaciones produeidos por Ia ALU. Estos registos son posiciones de oral intemas al provesador que estdn conectades a Ia ALU (vésse, por ejem- 1 La ALU puede también actvar indcadores fags) como resultado de una ‘operacidn. Por ejemplo. un indicador de desbordamiento se porded a | si el resultado de wna cede Ia longitud del regisiro en donde éste debe almacenarse. Los valores de lot indicadores se almacenan tambign en oto registro dento del procesador. La unidad de con- trol peoporciona las setales que gobiernan e fancionarnieato de la ALU y la eransferencia de datos denteo y fuera de la ALU. Pesan ec En el sistema de numeracién binaria (véase Apéndice 8A) cualquier amero puede represen- tarse tan S010 con 1s dipitos | y 0 el signo menos Ia coma (el punto ea los patses anglosa- jones). Por eemplo: 133125, "11010101; = Regios —] Repire Figur 8.1. Envadeny slas oe a ALU 288 Crganizacion y aruitactura da compuinres Sin embargo, pra se almacenadot y procesados por un computador, nos ten la posi n, Esto se ‘estelve facilmente en la notacién signo-magritud: simplemente trasiadando el bit design hasta la nueva posiidn mis ala i2quierda y relenando con etros. Por ejemplo: oie 0010010. (signo-magnitud. 8 bits) “=18 = 0000000000010010 (signo-magnitud, 16 bits) 8 10010010. signo-magnitud,§ bits) = 18 = 1000000000010010 (signo-magnitud, 16 bis) sal@Jelele|*]]0 tletefet {elele 20 (6 Cerin tit nim cia =120 Figura 83. Usizacién ela caa de valores para convert ane bina wn complements «des y Gear Este procedimiento no funciona con ls enteros negatives en complemento a dos. Uilizando 1 misao gjemplo += 000L0010(complemeato a dos, 8 bits) +18 = 000000000010010 feomplemento a dos. 16 bts) =i TLIOLLIO (Gompiemento a dos, $bits) 32658» 100000000101 110 {complemento a dos. 16 bits) {La peniltima Wea anterior puede comprobarse ficilmeste mediante ta caja de valores de a iguea 83. La dita linea puede veriiearse utitzando ia ecuacion (8.2 n su lugar, la rela para los enteros en complemento a doses :rasadar el bit de signo a ‘x aueva posicign mis ala iquierda y completar con copias del bit de signo. Para nlmerot positivos, cellenar con ceros,y para negativos con unos. Asi pues, se teme: -18= 1101110. (complemento a dos. 8 bts) =18= WUIITIIIIIO1110 ompiemente a dos, 16 bits) aca yer que eta real (scion, considremos de nuevo ura scuenci den digs brain 4,4, interpretada como entero en complemento a dos A, tai que su valoc ex Si A es postivo, la regla funciona claramente. Ahora, supongamos que A es negativo y que (quetemos construc una representacén de m bits, con m > n. Entonces: ‘Aiodtca dal computador Los dos valoces deben ser iguaies: * are rie Eager Exe E yee Ee {Ai pasar dela primera 2 la segunda ecuacidn. se requiere que los n ~ 1 bits menos significai- vos no cambicn entre las dos representaciones. Enlonces legamos a Ia ecuacién final. que Slo es cierta st todos les bits desde la posicdn ~ t hasta la m ~ 2 son 1. En eonsecuencia Ia rela funciona, - REPRESENTACION EN COMA FLUA Finalmente, mencionamos que la representaci6n tatada en esta secin se deoomina a veces ‘ade coma fas. Esto es porque la coma dela base (coma binatia) est jay se supone que erecta del bit menos signifcativo. El programador puede utilizar la sma representa para facciones binaras escalando los admeros, de manera que Ia coma binaciaestéimpli:- ‘amente en alguna otra posicién. Esa secidn examina funciones arjiéticas comunes con ndzeros enteros represeatados en complemento a dos. NEGACION - En la representacin signo-magnid, la regia para obtener el opuest de un entero es senci= lia inveru el Bit de signo. En la nolaciga de complemento a dos, ia negacién de un entero puede realizarse siguiendo las ceglas: |. Obtener el complemeno bookeano de cada bit del entero incluyendo el bit de signod. Es dec. cambiar cada | por 0, y cada 0 por 1. 2. Tratando resultado como un entero binario sin sgno, sumarle 1 276 Orgaraacién yarquitectura de computndones Este proceso en dos etapas se denomina tramsformaciée a complemento a dos u obtencin de complemento a dos de un eatero. Por ejemplo: +19 = 09010010 (complenento a 4 complenency bit a bie = 11101102 Tinea = «as Como es de esperar, el opvesto del opueito es el propio asimere: <38'« 1101110 (complenento a des) conplanenco Bie a bie = 00010001 doatvere = 18 Podemtos demostrar Ia valider de la operacisn que acabamos de desribirutlizando la dete sieidn de repesentacion en complemento a dos dada en la eruacibn (8.21 De nev interpee- {amos una secuencia den digitos binaris dd, dy SOMO Un entero en complemento a dos 4. ta que su valores: an artes Ete Ahora se consruye el complements bit a bit ~ Hy, tratindolo como va eaters sin signo, se le suma 1. Finalmente. se interpreta la secueadia dem bis resitante como un entero en complemento 2 dos B ta que su valor es: We % Ahora queremos que = ~B. lo que sigifea que A + sana aban tan "30. Exo se comprueba ficilmente: Aske Mee teat oh) wartereartey aerterteo El desarotto amerior supone que podemos, primer, tata el complemento de A bit bit ‘como entero sin signo, al objeto de sumarie 1, entonces. tratare resultado com wn entero ‘en complemento a dos. Hay dos casos especiales a tener en cuenta. En prime lugar, conside- emos que A = 0. En este caso, para uns representacidn con § it © = 00000000 (complenaato a doa) ‘complanesto bit a bie © 1111011 ames ‘sbon00500 + 0 “We wae: Aulimeca dt computador 275 Hay un acoerea de la poscign debit mis significativa. que es ienorado (a digit que aparece sombreado) Ei resultado es que la negacidn u opuesto del 0 es 0, como debe set El segundo eato especial es mis problemitico. Si geaeramos el opuesto de la combina- ida de bits consistent em us | seguido de n~ | extos, se obtene de nuevo et mismo mime ‘0, Por ejemplo, para palabras de 8 bits 30000009 {coapienento a dos) ont ed Fose000 128 3 Esta anomalia debe evitarse. E!niimero de combinacionssdilereates en una palabra de 8 bit fs 2 un almmero par. Con ells queremos representar enteros egativos y el (Cuanido se representa el mismo ndmero de eateros postvos que 0s (en sigho-mag- titud) eesultan dos represencacionss distintas del 0. Si hay solo una cepeesentacta del © (ca complemento a dos, entonces debe haber un nimero desigual de nimeros postivos que de negativos representados. En e!cxso del complemento 2 dos, hay una representacién dem bits para el =", pero no para el ‘SUMA Y RESTA La suma en complemento 2 dos se iusira en ta Figura 84. Los cuatro primeros eemplos ‘muestran opeyucionescorrectas. Sel resultado de la operacién es postive. se obliene wh - ‘mero posinivo en la notacién binana ordinana. Si el refultado de la operaciones negative, consegsimos un aimero negativo en fouma de complemento a dos. Obsérvese que, en algu- nos casos. hay un it de aearzeo ma alk dl final de Ia palabra, Exe se ignors. wo eneen @earen fo nse menses Figua 84. Suma de nmerosropresentades en comolemanto & dos. + palabra ques etd vllizando, Eta Condicicn se deaomina dsbontamieno (overflow) Ci ~ Orgsnicacion y arquitecture de computadofes En cualquier sum el esltado puede que sea mayor que et permitido porta longfud ‘corre un desbordamiento, Ia ALU debe indicalo para que no se intent ulizar el sul ‘obunido, Pura deectar ef desbordarniento se debe observar la siguiente rep: al sume ‘nimeroe, cuando ambos son 9 bien positives o bien negativos se produce desbordarento ‘il se renltado tiene igno opuesto. Las Figurat Se y 8.4% muetren ejemplos de desbor- ‘damien, Obsérveve que el desbordatiento puede ocutric habiéndose predvido 00 acares, La rests se trata tambidnfilmente con la siguiente rela: para substraer un aimero (el substtaendo) de oto (minuendo), © obtiene el complemento 2 dos dl substrendo ye fume al minendo, As{ pues, la resta se consique usando la suma. como se muestra en la Fi trum £5. Lot dos alms ejemplos demuestran que también es aplicable la regia de desbor- = M30 " ‘Asi pues. el producto puede generarse mediante una sums y una reia del multiplicando. Este fsquema se exviende a cuaigtier numero de blogves de unos del mulipicadoe. incluyends el 240 en que un solo | es tratado como blogue. ASE Mx (OUIL101D) = Mx a Et algoritmo de Booth obedece 2 este esqueaa,realizando una resta cuando se encuentra él pamer I del bloque(1-D, y ura suma cyando se encuenta el inal 0-1) del blogue. Para comprobar que ef mismo esquems es adecuado en el cas9 de un multipticador neva ‘iva, necesicamos observar lo siguiente. Sea .¢ un ndmero negativo en aotacion de comple mencoados Representacidn de X15, sRyay Neel Enionces et valor de puede espeesarse como sigue: Kee ED A tg tye eis 2) Et lector puede veicario aplicando el algorino a los nimeros de ln Tabla $2 Ahora sabemos que ef bt mis 2 Ia iequierda de es 1. ya que ¥ es negativo. Suponga aque el bic O mas la aquierda estén la poscion k-dsima. Enionces X seca en ls forma: seteb 183) Represencacin oe X = #811 10s. 4 __ Emonces e valor de X es: Corgaizacion y arquitecura de computacores xe PRE EE ye EE HQ Uiilzando la ecuicion (8.3) pademos decie que: Dah Behe pet geet Reagrupando, 8 tiene: arte? ere atthe et aa yendo la ecuaci6n (8.7) en la (8.6, tenemos, x Bey RE tig sa) [AI Gin podemos volver sobre ol algortmo de Booth, Recordando la representaciOn de X {tecuacton (85). es elaro que todos los bts desde sp hasa el O mas ala iaquerda son ma ‘ipulados de forma apropiada, ya que producen todos 1s temiios dela ecuacisn (88) ex- cxpto el (~2*") Cuando el algoritmo fecovre hasta e!O mds ala iaquerda y encuentra et Siguiente (2°""), ocurre ura transiidn 10 y tine lugar una resta (~2""). Este ese ring testante de la ecuacion (8). ‘Como ejemplo, considere la multipicacign de algin multiplicando por (6) En ia repre sentacion de complemento a dos, wolzando wna palabra de 8 bits (~6) se expresa come THITIO(0. Por la ecuacién (8) sabemos que noe -V er ever ever como puede veriearfdciiments eestor. Por ante: Mx (HULTIOIO) = M x (=2 Ee DEED sando la ecuaeién (8.7, M x 11111010) que. como elector puede verficar. es también M = (~6) Finalmens,siguendo nuestra linea de razonamiento anterior Mx 1010) = Mx (= + 2824 Podemos ver que el algoritmo de Booth se ajusta este esquema. Realiza una cesta cuando te encuentra et primer 1 (1-0, ana soma cuando se encuentra (0-1, finalmene,resta otra vez cuando encwentra el primer (del siguiente Bloque de unos. Por consiguiente el lgonimo de Booth reliza menos Sumas y restas que un algoritmo direco. Division La divisi es algo mas compleja que Ia multiplicacin pro esd basada en los mismos pri Gipios generals. Compo ante. a base para el algoritmo es la aproximaciGa de «papel y Lim. yyla operacin coileva repeidos desplazamientos y suras 0 estas, La Figura 8.15 muestra un ejemplo de divissa larga de enteros binaries sia signo. Es ins- vetivo describir en detale et proceso. Primero se examitan los bts del dividendo de Figua 8.15. Divisidn de emtarosbinaios sn sign. saquierda 4 derecha, hasta que e conjunto debits examinados represeate un ndmero mayor © igual que el divisor, 0, ea otras palabras, hasta que el divisor sea capaz de diviir al nimero. Hista que eso ocurre, se van colocundo eeros en el eociente de izquierda a derecha. Cuando ino evento ceure, se coloca un 1 en el cociete y ge substrae el divisor del dividendo par. ‘al. Al resultado se le desomina resto paciel. Desde este punto en adelante, la division sigue ~ in cielo. En eada ciclo, se abaden bits adicionsles del dividendo al esto parca, ‘nasa que et resultado sea mayor o igual que el divisoe. Como antes, de este admero se cesta € divisor para producir un auevo resto parcial, Ei proceso continda hasta que se acaban los bits dei dividend. La Figura 8.16 muestra un algoritmo miauina que correspond al proceso de division larga disevtido. El divisor se ubiea en el eyistro M. y el dividendo en el registro Q. En cada ‘so, los registros A y Q son desplazados conjuntamente un bit a ta izquierda. M es renado de A para determina’ si A divide el resto parcal. Si esto se cumple. entonces Qo se hace 1 Si no, Qy se hace 0, y M debe sumarse de nuevo a A para restablecr el valor anterior. La cueo- ta enlonces, ve dectementa, yet proceso continds hasta m pasos. Al inal el cocience queda eo el repsizo Q y el resio ene A Este proceso puede, con cierta difcutad, apicarse también a umeros negativos. Aqui dams una posible proximacién para nimeros en complemento a dos. En lz Figura 8.17 se ‘mwestran ios ejemplos de esta aprorimacidn. El algoritmo puede resumise como sive: 1. Cargar el divisor en el ceyistro M y ef dividend en tos egistros A y Q. El dividendo ‘debe estar expresado como nmero en complemento a dos de 2a bts. Por ejemplo, e! fadmero debits OL1T pasa a ser OOOQOTIL- y ef 100 pasa a (1111001 2. Desplazar A y Q una posicida de bit als izqvierda, SiM y A tisnen el mismo signo, eecutar Aw A ~ M: sino. AmA + M. 4 La operacign anterior tiene éxito si el signo de A es el mismo antes y después de la operacin. 2) Sila operacin tiene éxito 0 (A = 0 AND Q= 01, etoaces haces Qy I b) Sia operacida no GEne éxito y(A #.0.OR Qe OLentogees hacer QO, y res lablooer el valor anterioe de A. 5. Repetr los pasos 2 4 4 tantas veces como nuimero de bits tenga Q. 6 El resto estd A. Si los signos de divisor y del dividendo eran iguaies, ei cociente cextd en Q, ino, el cociente eortecto es el complemento a dos de Q. Tas vex dco ip. Sis prado serra epstv aed pan dl im ania sitde npatv. 288 Organizaciony arqutectura de compuradores fcticattee enn m= eer? Figura 8.18. Oiagrama defo para asian da bina sn sna, Erector notard en fa Figura 8.17 que(—7)=13)y 7 1 es debido que el resto se define como 2) producen restos diferentes. Es D=Qxv+R onde: * D = dividendo Q cociente Ye divisor ° Re reso Los resultados de In Figura 8.17 son consistentes con dicha (Srmula Arivmétien det computader 287 A Meco A 8 menos e000 0111 erica D000 0111 vaorhicm 2090 1110. Denasamene 20cc 1510 Ompuranints tat ew tor Sima 2090 1110 Rename occ 1810 Renate 9001 1100 Destramert 2001 1100 Outen Sito Pew to Sonar 9061 1100, Reantiace 0001 1100 Renamer . 9011 1000 emunanene 011 1000 Oeseatmeto § 8086 1001 Pore dyed 682 1001 Powe 0001 0010 Oemsaramano 900% 0910 Orsetmamarts 2001 a010 Rawasmewe 900) 0010 Renabiecer mmeas ano Ag Meco Ao Menor 2070 Omrlasarie t8ht 9016. onesaramane omar a0r9 Reva 0010 Ranaciene Stit 0010 Renatecer 0100 Ouctaraane 8110100, Danpssanene Somer oct Besar 100 Ransecr S380 0100. Rasasacor 1000 Deeizamens $100 1000 Oessamamene ‘Samar att Reeae toot Parga HV) po01 Banerages Att) 010 Owesasamene 111) 010 Owveatanane oor ‘Siar eo10 Rome H8tt 010 Rewatteee M181 0010 Renae een wena Figura 817. Ejomplos ae cision on complameate 8 dos FUNDAMENTOS - ‘Con una notacida de coma fa (por ejemplo. ta reprexentaciin ea complemento a dos) es po= sible representa un rango de enteros postvos y negutivos cenirado en el 0. Asumiendo una coma binaria ja. dicho formato permite también representar mimeros con parte fraccio~ La aproximacion anterior tiene Simitaciones. Los niimeros muy grandes 00 pueden repre- seatarse. nt tampoco las (racciones muy pequetas. Ademas. en [a division de dos ndmeros ‘grandes puede perderse la pare (racionana del cociente {octura ce computadores Para aumeros decimales, esta Umitacién se supera viliaando la aotaciéa ccotca, '976,000.000 00.000 puede representarse como 9.76 10", 1.0000000000000976 puede ‘resarse como 9,76 © 10°" Lo que ae ha hecho es mover diedinicamente la coma decimal, tna posicion convenientey wilizar ef expanente de 10 para mantener reisrada la po ela coma. Esto permite represntar un rango de oumetos muy grandes y LY pequetos slo unos euanos digas. Es misma ice pd alge x mimeo bina. Podefs repels wm auton 8xpet Este némero puede almacenarse en una palabra binata con tres campos: + Signo: mls o menos + Parte sigicativa © mania (S, sigicande} + Expomente(E) La base B etd implica y no necesita memorize, ya que es I misma para todos los a Las relasutlizadas en la representacién de ndmerosbinaros en coma Moante se exp can mejor eon un ejemplo, La Figur 8. 28a tues un formato tpico de crea fotante de 32 bis EL bit masa ln aquierda conbene el signe del ndmero (0 = postvo, 1 negative). EL ‘alos del exponente ve slmacena en lor bits {a8 La represenacionutiaada se conoze con terminode esesgadan. Un valor fj, lamado asesgan se resta de ese camps para conse- {uirel valor del exponene verdadero: Normalmente el stsgo ene ua valor (~~ 1), don: Se kes el misero de bits ene exponentebinaro. En este cso, un campo de 8 bits compren- de nmeror entre 0 y 288. Con un sesgo de 127, los valores verdaderos de exponerte vurian fen-el ngo 127 a + 128 Beste emp, se supone la bass 2 Le Tabla 42 mostrabs fs cepresentaci sesgada pare enteros de ¢ bite Observe ue, ‘uando fos Bits de una representacion sesgada se Hafan como entros sin sgn las magna es relatives de fos numeros no cambian. Por eemplo, tanto en I representaion sin signo ‘como en la sesgada el nimero mis grande es el L111 ef ms pequeno el O00. Esto no se ‘cumple para la representacones en signo-magnitd, en complemento a dos 0 en comple- ‘mento a uno, Uoa ventaja dela representacion segada es qu los mimeres en coma Notan- te no nepativos pueden ser tatados dela misma forma que los enezos al efectuarcompara- La pare fina de la paba (23 bits en el cemplo de ta Figura 8.18) es la parte signe a o mantis, Ahora, cualquier almero en coma fotante puede expresare de dstitasfot- nas, Asi zon equivalents la sigulentes rpretentaciones ano 2 Hox 2 . ‘p10 « 2 Y ast sucesivamende. Para simplifica los eilewos con ndmeros on com fotane se requiere usualmente que este normalzados. Para nuestro ejemplo, an nimero normalizado es aquel ela forma £01 bbb x 288 ‘Actodtea dl computador.” 289 (0) Fema © Emp Figura 8.18, Formato tela de 32 bts en coma flotante donde cada b es un digito binario (1 0 0. Esto implicara que e bit mis a la iaquierda de ta ‘mantsa fuera siempre I. Ya que es obviamente innecesario almaccoar este bit, ess implicito. ‘Asi el campo de 25 its se emplea parn albergar una mantis de 24 bits coo un valor ente osy 10. La Figura 8.18b da algunos ejemplos de nimeros almacenados en este formato, Observe las siguientes caractensticas: ‘+ Elsigno se almacena en el primer bit dele palabra, ‘+ El primer bit de la mantisa original siempre es I y a0 necesita de mamtisn ‘+ Se suma 127 al exponente original para almacenarlo en el campo de exponente 1s Labase es 2. ‘Con eta representacign, la Figura 8.19 indica et rango de nimeros que pueden representarse ‘en una palabra de 32 bts. Usando la notacida entera en complemento a dos, pueden repre- Seatarse todos lot enteros desde ~ 2°" hasta 2" ~ 1 con un total de 2*niimeros diferentes. ‘Con et ejemplo de formato en coma flotante dela Figura 8.18 scn posibies los siguientes ran 0s de numeros 1+ Nomeros negativos entre =(1 = 27) x 29 y ~05 x 2-07 4 Naimeroe positivos entre 0:5 = 27127 y (1 = 2734) x 28 En la recta de is nimeros reales hay cinco regiones excludes de dichos rangos: «Los mimeros cegativos menores que ~{l ~ 2°") x 2", reidn denominada desbor- damieno negative + Los nimerossegativos mayores que = 0 + negative. + leera ++ Los auimeros positives menores que 0.5 « positive. + Los aumeros positivos mayores que (1 ~ 2-4) x 21%, deniominada desbordamieno po- siva. Imacenarie en el campo , denominada deshordamiento a cero 27, denominada desbordamieato a cero La representacién indicada no contempla un valor para ei 0. Sin embargé. como veremos. en la prictioa ve inclove wna combinacién de bits especial para designar el cero, Un desbor- # 290 ‘Orgarizacion y aautecura de computes rm recanes damien ocurre cuando una operacién artméica da lugar a un aUmero cuyo exponent es rmayor que 128 (por jeaplo, 229 x 212 ‘ieio erooctre cuando 12 magaitadfraccionana es demasiado pequeds por ejemplo, r 2°89 Un desbordumeao a cero es un problema menos sero porque el ‘resultado puede geveralmente apeoximarsesatisiatonamente por 0 Es importante observar que, con In notacgn en com fotant, no estamos repreveatando ‘nds valores individuals El maximo nimero de valores diferentes que pueden eprevenarse ‘con 32 bis es 27 Lo que hemos hecho et repartedichosnimeros& io largo de dos interva- fos. uno positive y ot negative. Obsérvese tambiga que, ai cootrario de fo que ocuree con fos ndmeres en coma fi. les umeros representados en la notacion de coma fotante no estén expecador por igua a Io largo del recta rea Los posibles valores estan mas proniaos cerca del origen 9 mas vepara- dos a medida que nos aljamos de él seaun st dusta en la Figura 8.20 Este os uno de los laconvenientes det cielo en coma Moante: michos edeulos producen resliados que no som exacts, y Wenen que redondearse al valor mas prdximo represerable oa la notasion- En el formato indicado ex la Figura 8.18 existe an compromiso etre rango y precision. 1 ejemplo muestra 8 bis dedicados al exponents y 23 bus ala mantis. Si incrementaros indmero debits de! exposente. ampliamos el rango de nimeros epresemtabies. Pero, ya que ‘slo puede expresase un abmero dado de valores cifeente.babriamesreducio la densidad de dichos nimerosy, en consecuencia, le precision. La Unica forma de increment, tanto ei a subi ons produatia desbordamieoto) Ue desbordae | i i j ‘ango como la precisido, es utilizar mas bts. Por tanto, ls mayoria de los computadoresofte- 20 la posibilidad de utiliza, al menos, aumeros de precisién simple y numeros en dadte pre. sida. Por eiempi, un formato de precisidn simple podria ser de 32 bits. y uno de precisa doble de 64 bits Eniste pues. un compromiso entre el niimero de bits det exponente y ef de la manta, En realidad se trata de algo mas complicado, ya que la base del exponente no tiene por qué ser 2 Por ejemplo, la arquitectura IBM $/390 utiliza la base 16. El formato conssce co un exponente de 7 bitsy una mantisa de 24 bits Ast. por ejemplo: ' 11010001 « 24° = @.;r010001 + 1659 y el exponeate que se wimacena representa e! Sen lugar del 20. {La ventaja de ullzar una base mayor es que se puede conseguir un rango de mimeros ‘mayor para el mismo mimero de bits de exponente. Pero recuerde que con elo no ipctemen- tamos el mimero de valores diferentes que pueden ser representados. As. para un format dado, una base del exponenie mayor propotciona un rango mayor a costa de menor pres 8a, ESTANDAR DEL IEEE PARA LA REPRESENTACION BINARIA EN COMA FLOTANTE ‘La representacin en coma flotante mis importante es la defnida en la norma 0 estindar 754 del IEEE (IEEESS). Este esténdar se desarrolé para fuclta la portabiidad de los peogra- amas de un procesador a otro y para alentar el desarrollo de programas curséncos solsca. dos. Este estandar ba sido amplicmente adoptade y se utiliza practicamente en todos los pro cesadores y coprocesadores aritmeticos actual. El estindar dei IEEE define, tanto el formato simple de 32 bits como el dable de 64 bits (Figura 822), con exponentes de 8 y 11 bits eespectivamente La base impliita es 2 Ademds, define dos formaios ampliados simple y doble, cuva forma exacta depende ée ls implementa: ‘ide (puede variar de unos procesadozes a otros, Estos formatos ampliados incluyen bits adi- onales en el exponente(rango ampliado o extendido) y en Ia mantisa\precsion ampliada), Los formatos ampliados se utilzan para cileuios intermedios. Con su mayor precisa. di hos formatos reducen la posiilidad de que el resultado final se vea deteriorade por un error SS oe oe YI E— Pa races (2) Foam ume ae =e sp) Pane rccorats (2) Forman coon Figura 821. Formstos IfEE 754, 292 Orgaizniony arauiasture de eomputadores ‘abla 83. Parémevros del formato IEEE 754 Ponies eng de ptbre (i) ‘xcetivo de redondeo: con su mayor intervalo de varacisn, también reducen ia posbilidad ‘de un desbordamientaintecmedio que abe’ ua edlalo euyo resulta habla sido represen= table en un formato bisice. Una motivac + adicional para el formato amplade simple os {1 propo iona algunas de ls venajas «~ ormato doble sin incuri en la penaliracion de lNempo no nalmente asociada con la eievada precision. La Tabla 83 resuve las caracterst- < ‘ce dolor caatro formatos inion i En lo formatos del LE los patrones de bis se intefpretan de la manera babi ‘wal. Algunas combinaciones seer m para representar valores especies. La Tabla 8 in- sia los valores asignados a cierto patcones de bits. Los valores extremes de exponente con- ‘tentes en todo cers (0) y todo unos 255 en el formato simple y 2087 en ef doble) deinen ‘aloes especiales. Se represenian las siguientes clases de aimeros: ‘+ Pare valores de exponenie desde 1 hasta 254 en el formato simple y desde | hasta 2046 cenel formato dobl, se representas ndmeros en coma fotante normalizados dixctos de tro, Eexpoaente est sesgaco,slendo ! ango de exponenies de(~ (26) ~ 127 en el formato simple y de (~ 1023) a + 1023 en el doble. Un nlmero normalizado debe con- tener un bit | fa iaquierda de a coma binara este bic esta implicit. dando ura nan tis efeciva de 24 o 33 bits (enominada fraccion en el esténdany + Un exponente cero junio con una fraccia cero representa el cero postvo © negativo, Aependiendo del bi ee sino, Como se menciond es util tener una represenacién del valor 0 exacto. + Un exponente todo unos junto con una parte fraccionara ceo representa dependiendo del bit de sgno, el iafinito postvo el negaivo. Es también vil tener una representa- ‘iin de init. Esto deja al usuario decidir strata ef desbordamiento como error 0 $i Drosigue con el en ef programs que se estécjecunando. ‘+ Un exponente cero junto con una parte fraccionaria disinta de cero representa un nd- ‘mero denormalizado. En este caso, el bit a‘ izqiecda de 1a coma binatia e 20 ye! txponente orginal es ~126 0 ~1022 El aimero es positivo © negativo depeadiendo el bit de signa. «+ A.un exponente de todo unos justo com una fraccida distnra de ceo s eda el nombce {de NaN. (nora mumber, ono eeptesenta un nmeros), y se emplea para sealar varias condiciones de excepeisn Et sigiicado de los ndmeros denormalizados y de los NaN se discate en In Secin 8.5 Aciumética det computador 299 Tabla 8.4, Interpretacion de los nUmeros en la notacién de coma flotante IEEE 754 rroetn vin 2 rey a oes | tw wwe | Nee’ fimoimona) Yor | Pe | “ets” oacin) YO > ~ > ts : * | Birwewen | > 1 [mcvomuoe| 0 | : : ry : = [eon ‘le = t re een Dae ed La Tabla 85 resume las operaciones biscas de la aritmética en coma lotante. En sumas y ‘estas es necesaio asegurar que ambos operandos tengan el mismo exponente. Esto puede ‘equerir desplazar la coma de la base en uno de los operandos para conseguir alinearlos. La ‘multipliacién y ladivsign son mds directa, Pueden surgir problemas como resultado de estas operaciones. Dichot problems $00: Tabla 85. _Numeros y operaciones aritméticas en coma flotante Numeros en punto coy axxo 294 Orgeizacion anquitactura de comoutasores + Desbordamiento del exponent: un exponent postivo que exces el valor de exponent ‘minima posible En algunos sistemas, este desordamiento pued= designarse como, + Desbordamiento a cefo dl exponent: un exponentenepativo menor que el minima va lor posible (gjemplor ~200 es menor que ~ 127) Esto signifi que el nimero es dems siado pequeto para ser represeaado, y que pusie considerarse como 0 + Desbordamiento » caro de la mantis: en el proceso de alineacid 0 ajuste de mantis, pueden perderse dios por ia parte deecha de la mantisa, Como comentaremos, fequiee efectuar agin cpo de redondes. + Deshordamiento de ta mantissa suma de dos mansiss del mismo signo puede prod ‘ir un aarreo procedente del bic ms sgnifcativo. Esto, como se explcarl, puede ace. flarse con un reajustefineremento del exponentey desplazamiento dela antsa) ‘SUMA Y RESTA Em la aritmética de coms fotante le sum y la cesta son mis engorrosas que la multiplics- ‘adn y (a divin. Esto-es debido a bs neceidad de aesar iat matings. Hay cuatro etapas [isis del alrite para surat 0 resar Comprobur valores ero 2 i x q é 1 2 Ajuste de mantias 3. Sumar o restar las mantisas 4. Nocengizar el resutado Un diagrama de flujo tpico se muestra en la Figura 8.22 En ella, una deseripeion paso a ‘ato rela us funciones principals requridas para la suma y la resta en coma Motante. Se {sume un formato similar al de fa Figura 8.21. Par le operacion de suma o de tesa, los dos, ‘perandos deben transferise a regstos que sera utlizados por a ALU. Sie formato en coma Morante inciuye us bit de mamisa impli, dicko bit debe hacerse expicto pare la oper, Dado que tx suma y fa resta son idénticns, excepto por el cambio de signo el proceso ccomienza cambianco el sgno cel substraendo cusndo se tata de Una festa. A continuscion, ‘alguna de los operandos es 0, se da el otro como resultado. La siguiente etapa maripata ios mimeros para que los dos exponents sean iguales. Para ver In nevasidad de este paso. consiere la siguienesuma en decimal (U3 « 10%) + 56 « 10") ‘Claramente, no podemos sumar directamente sus mantisas. Los digitosdeben ponerse prmme- ro en posiciones equivalents. es dest ei 4 del segundo mimero debe alinarse con el 3 del Pomero. Bajo estas condiciones os exponentes seri iguales, que es lngondicidn mater: {a para que diehos nlmeros se puedan sumar. AB 23 4 09) + (456 « 10°) = (123 « 10) + (4.56 « 10%) = 127,56 « 10 [La alineacién o ajuste se consigue o bien desplazando a la devecha el ndmero més pequeio {inerementando su exponent), o bien desplazando a a aquietda el mds grande, Ya que cul- (quiera de dichas operaciones puede hace que se pierdan digits, sel menor el que se despa 23, con lo que los dit que Se piendan even una importancia lava peques. El ajuste se Organitciony arquiecur de computadore consigeerepiciendo desplazamientos de uo digto a la derecha de la mantis, ¢ increment do el exponente hasta iualaro con el otro (observe que, sla base implica cs 16, un de zamiento de un digito equivale a desplaza 4 bits). Si en el proceso se obtizne una manta se da como resultado el otro ndmero. Ast cuando dos nlaeros Gener exponentes muy ‘oles, se pierde et menor de los numeros ‘A continuaciéa se suman las dos mantisns,teiendo en cuentasussignos. Ya que lor ‘os pusden deri, el resultado pede set 0. Exise tambien la posiblidad de desbordarients de te maotisa en un dito. Si esas, se desplaza ala derecha Ia mantisa del resultado, y ‘increments su exponente. Como resultado podria producirse un desbordamiento en el expr ‘nents esto se debe indicar y la operacin se detenda La siguiente fase normaliza ol resultado. Lx novmalizacion consiste ex dsplazar ae aquieeda los digits de la mantsa, hasta que el ms signfcativo (1 bt § bits para exporee: tes de base 16) sea distineo de cero. Cada desplazamiento causa un cecremento del expooen- te lo que podsis produce un desbordartenio a ceto del mismo, Finalmente el rexutaco Figura 823, Muipescion on coma frente 2X» i ore * Artmétice cel computador 297 debe redondearse y proporcionatse. Posponemos el tema del redondeo para despucs de est Mio de la rultiplicacion y a division. MULTIPLICACION Y DIVISION La multiplicacién y 1a division en coma flotante son procesos mucho mds sencillos que la summa y la resta, como se indica en Ia dscusion que sigue CConsideremos primero a multiplicacign, que se ilusira en la Figura 8.23. En primer lugar si cualquiera de ls operandos os 0, se indica como resultado O. El siguiente paso es sumar los exponentes. Silos exponentes estan almacenados en forma setgada, su sunta tendria un $540 oble. Por cllo, debe restarse de la suma el valor de sesgo. El resultado podria dat lugar 8 un debordamiento 0 un desbrdnmiento cero del exponen fo que debe nda, coe shir lalgortmo. Sil exponente del producto esd dentro del rango apropiado. el paso siguiente cx multi- pices tas mantis teniendo en cuenta sus signos. Dicha muttiplicacion se realiza como en el ‘aso de los enteros. En este caso. estamos tratando con wna tepresentacisn en signo-magni= td. pero os detalles son similares alos de compiemento a dos. E! producto doblatd Ia longi tu! del multipicendo y del multiplicador. Los bits extra se perderdn durante el redondeo, ‘Tras caleular el producto, ¢ normaliza y redonéea el resultado, como se hizo para la su- sma y Ia resa. Observe que la normulizaci6a podria producir un desbordamiento a cero del exponent CConsideremos fialmente el diagrama de Mujo para la divisién, mostrado en la Figu- 4 824, De nuevo. primer paso es comprobatceros. Sie! divisor es 0, se da uns indicacion {Uc error. 0 s€ pone e resultado a infinito, dependiendo de la implementacién en cuestin. Un dividendo 0 da como resultado 0. A continuacia, el exponente del divisor se rest al del divi- ‘dendo. Esto elimina el sesgo. que debe afadirse de nuavo. Se comprueban enonces posibles desbordamientos 1a cera 0 a0} del exponents. Er siguiente paso es dividi las mamtisns. A este paso sigue la normalizaciéa v redondeo vsuates, CONSIDERACIONES SOBRE PRECISION Bits de guerda Hemos mencionado que. como paso previo a una operacién en coma flotante. se cargan el exponent y la mantisa en registros de la ALU. En el caso dela mantisa, ef ramaho del regis: ‘ro es cas siempre mayor que ii longicud dela mantisa ms el bt implisio {x se usa ése). El ‘eistro contine bits adicionales.amados bits de guarda de respaldo, que se afaden ala sderecha de la mantsa en formagde ceros. La razén de utilizar ests bits se ilusra ea la Figura 825. Considere mimeros en el formato IEEE, que tiene una mantisa de 4 bits, incluyendo un | implicit a la izquierda de la coma binaria. Dos niimeros de valor muy pedximo son X= 1,00..00% 2 e Y= L111 « 2 Para eestar el menor de ellos del mayor. debe desplazarse aquél un bit a la derecha pera igua- lar ios exponentes. Esto se muestra en la Figura 8.25a. En este proceso Y pierde 1 bit sgnili- cntivo: el resultado que se obtiene es 2""#. En a parte b de la figura se repite ia misima opera: ida, pero con bits de guarda aadidos. Ahora. el bit mencs significative no se pierde al linear. y el resultado es 2°", diferente en un factor de 2 respecto del anterior resulado. 98 Organiza y arauitecua de compuacores Redondeo Otro detale que afeta a In precsiéa del resultado es (a pis de radondeo empleada. El resultado de cualquier operacdn sobre fs mantisas se almacesa generalmenteen un regio tds grande. Cuando el resultado se pone de auew en el formato de coma Norane, hay que deshdcerse de Tos bis 3 Se han explorado diversas tenis para realan el redondeo. Dg hecho, el estindar det IEEE eoumera cuatro aproximaciones icernatvas ‘+ Retoodeo al mis prximo:el result se redondea a! nimero ms primo represemta- be ‘+ Redondeo hacia +: resultado se redandea por exceso hacia mas infiaito, + Redondeo hacia ~ el eesultado se edondes por defeto hacia menos afnito + Redondéo incia el resultado se redondea hacia cero. Achaea det compurador 299) ee 4,900... 9002" wee 00 o00a! , (2) Eat tra, con nc girsa +0, 190000 «1 aprereate ry CConsideremos cada uno de los casos anteriores El redondeo al mds préximo es el modo impieto contemplado en el estindar.y se define como sigue: debe tomatse el valor represen= table mas préumo al resultado exacto: si los dos valores representables estin iguaimenie ronimos 4 daria aquél que produjese un 0 como bit menos sigaificativo. Por ejempio. silos bus extra. aparte de los 23 bits que pueden almacenarse son 10010, emionces la cantidad indienda por fos bits extra supera la mitad det valor correspondiente a Ia uta posicioa de bit representable, En ese aso, la respuesta corcecta es sumac 1 al ult ‘mo bit representable. redorJeando por exceso al mimero siguiente representable. Considere ahora que los bits exra vaien OLILL. En este caso, representan una cantidad menor que la ‘tad de Ia dima posicidn de bt representable. La respuesta correcta es, simplemente, igno- ‘a los bits extra (traecar. lo que tiene como eiecto un redoadeo por defecto al almero re- pessencable precedente El esindar también conteraf el caso especial de bts extra en la forms 10000... en que el resultado esté exactamente en la mitad de los dos valores representable posibies. Una po- sible solucin seria ccuncar siempre. que es la operacién mis sencilla Sin embargo, la diicul- {ad de esta aproximacidn simple es que introduce un se5g0 pequeho, pero acumlativo, ex luna seeuencia de eileulos, Se necesita un método de redondeo que no introduaca esta ten- dencia de los resutacos. Una posbllidad seria redondear por exces0 0 por defecio basindose en un numero aleatorio, de manera que, en promedio, el resultado oo seria sesgado. Un argu- mento en contra de esta aproximacisn es que no producira resultados predecibies determi nistas. La aproximacién tomada en ia norma del IEEE es (orzar que el resultado sea par siel 300 ‘Organzacién y arqutectuta de compveadores resultado de un eilelo es exactamente en a mitad de dos nimeros representabies, ef se redondea por exceso cuando el imo bit representable actual es I, ys deja como ent 30. Las dos siguientes opéioues, redondeo a mds o menos afaite soa utiles ea la imple cide de una téenica conoeida como saritmeticn de interaloss La aritmética de iter proporciona un mélodo eiciente para monitorzar y controlar errores en os calculos en co ‘a flotante, produciendo dos valores por cada resultado, Los dos valores se corresponden| 0a los limits inferior y superior de un itervalo. que contene el resultado exacto. La long. tod del imervalo, que et la diferencia ent los limites superior e inferior, indica la precio el resultado. Si fs extremos del intervalo son represenables, se redondean por Gelecto por exceso, respectivamente. Aunque la anchura del inervalo puede vari de unas imple: ‘meniaciones a otras, se han disehado diversosalgoritmos al objeto de consepuitinervalos ‘strechos. Si el rango de varacicn ene los limites superior ¢ inferior es sufcentemente ef. trace oben ut eco baat peso Sia, meno fo sabes odes ri ar anilisisacicionales. La altima de las tdencas espesifeadas en el estdndar es el redondeo hacia ero. Consiste, de hecho, mun simple tuncamenta se ignorant los bits extra, Esta es, ciertamente, a ecnics ‘mds sencila Sin embargo el cesultado es que la magnited dei valor truacado es siempre me- for 0 igual que el valor original mis eacto,introduoeadose un sesgo hacia cero en la opera= dn. Ese sesgo o tendenca es mis serio que ef discutdo antes, ya que alecia a todas las ‘feraciones para las que haya algdn bit extra distiato de cero ESTANDAR DEL IEEE PARA LA ARITMETICA BINARIA EN COMA FLOTANTE EL IEEE 154 va es ald de la simple definicion de un formato detallando euestiones pric ‘as especfeasy procedimientos para que la aritmeética en coma flocante produzca resultacos triformes y predecbles, independientemente de a pataforma hardware. Uno de estos aspec: tos ha sido va aisewido: el redondeo. En esta subseccion se ven cttos {res aspectos: ifn to, fos NaN y los nmeros sin normaliza o denormalizadose Infinite Las operaciones aritméticas con infaito son tratadas como cass mize dela artmeética real. ‘Géndose la siguiente interpretaciéa alos valores de infinito: ~ 22 < todo mimero finito) < +20 Encepruando los casos especiales. discutdos posteriormente, cualquier operacin aritmética ue involuee al infinite produce el resultado obvio conocido. Por ejemplo St(tem ta S(tey = 40 Sa (raya mx (tajt(t2) +0 St (-x)m =e (-2)4(-2) = -0 S-Capete (-n)-(42) = =00 Sx (tape ee (fx)-(-2) = 40 ‘Arties de! computador, 301 [NaN indicadores y silenciosos Un NaN es una entidad simbdlca codiicada en formato de coma fotante, dela que hay dos tipos indicadoresy silenciosos. Un NaN indicador se8ala una condicion de operacién no v4 lida siempre que aparece como operando, Los NaN indicadores permiten represenar valores de vanabies no inicilizadas y tratamientos de tipo arumético. que no estda contemplados en tel esténder. Un NaN silencioso se propaga en la mayocia de las operaciones sn sedala ex cxpeidn alguna. La Tabla 8.6 indica operaciones que producirian un NaN silencioso. ‘Obséevese que ambos tipos de NaN cienen ef mismo formato general un exponeste con {odo unos y una parte fraccionara distinta de cero. El pateén de bts teal de eicha fracaée aprapiada, y sumar los tesitados. Para convertr de decimal a binario, las pares (raccionarias st tratan por separado. Su ponga ae we quae convertr un entero decimal N a forma bias Sidivicimes ents 2 Fae ci Seckmal,y obteneraos un eociete S ¥ UD Teta Ry, podemos eserbic Nore Mek Re001 A contisuacidn, dvidimos el cociente 4, por 2 Suponga que et nuevo coceate 3 Ny et fauevo resto es Ry, Envonces: ool De manera gue: ~ Ne MON, = I+ a Rye ER Si susituimos: . Nya2Ny Ry tenemos NaN + Rye PER KEE R AD Crparicacion y arcutecura do computndores Convinuando ene proceso, ya que > N, > Nygard» producice un cocente Ny = {except para los enteros dacs Oy. cayos equvalentes bnaros son Oy 1 respective renel yun resto A que e500 I Enfonces: Nae UR EI eo HRS IY HER DY ERD Es decir converimos de base 10a base 2 meinntedvisionesrepetidas por 2. Los restos ye ‘Scientia, 1, fo da fos gts binaris de en orden de signfcanea crest. La Fe fora 827 mesa un par de ejemplos. La parte frccionaria implica epeidas motipicacions po 2 como st usra en la Fig 1 424° En cada pao ve mutiptica pot 2 la prt racsionafa del aumero deamal. El digo de product sla iguierda dela coma deomal serd 1 00.) contribuye ala cepesenacion ‘nae, comencando por et mshsigifeativo. La pare facconara del producto se utien dcando ene sigueste pas. Para ver due eso es correct ometeos ua ee ‘Son decimal pontiva F< 1. Podemos expresat F como goa iy t Berg z 7 i ore zee alll tte Figure 827. Ejamplos ge conversén de nimeros enters Gola motacion decimal aa bina Ariemasica del computador 308 Posen Panes 34005) patna saa 1 Obert one °. Dabed = 898 8 Dose? = 1 i Daaed = te c (a) abt #02901 oma) i (i 028400 (nc) Figura 828. Eiemolos de conversién de omar racionacon dal ntacisn decimal la binaia donde cada €:00 |. Si multiplicamos por 2. se obtien sraease(eatt}e (eae d)+( Las partes enters de estas dos exprsiones deben ser iguales Por tanto la parte entera de 2F, ‘que debe ser 0.0.1 puesto que 0-< F< es simplemente a... ASL 2F =u_, + F,, dome O E 1 5 Este proceso se raliza de forma tan natural. que ua programador experimentado puede con vertir mentalmente las representacionesvsuales de los datos binarios 2 su equivaente hexa- decimal sin necesidad de esenbirlos. Es bastante probable que usted no necesivesunca esta habiidad particular A peta de ello, hemos inclido eta dscuson en el texto, porque puede due se encusntre en ocasiones con datos en novacién hexadecimal, CAPITULO 9 ————— _—— Repertorios de instrucciones: caracteristicas y funciones 9.1. Caracteristicas de las instrucciones maquina 92, Tipos de operandos 9. Tipos de datos en el Pentium il y el PowerPG 94. Tipos de operaciones 195, Tipos de operaciones en el Pentium ily el PowerPC 96. Lenguaje ensambiar 9.7, Lecturas recomendadas Apéndice 9A. Pilas 1. Problemas Fema reresreerersrerereerereeees «+ Los elementos esenciake una instruccién de! computador son: el eddigo de aciéa, que especiica ._“eraciGn a realizar as referencias a operandos fuen: te y destino, que especiican la ubicacién de las entradas y salides para la opera- ‘ida: y la referencia a la siguiente instruccién, que usualmente esté implica. ~ «+ Los eddigos de operacién especifican ias operaciones dentro de una de las si- uientes categorias: operaciones aritméticas y l6gicas:transferencia de datos ‘entre dos registros, entre registros y memoria 0 entre dos posiciones de memo- tia; entrada/saiida (E/S}; y control. Las referencias a operandos especiican regstros o posiciones de memoria de datos operandos. Los datos pueden ser de diversos tipos: direcciones, ame- 10s, caracteres 0 datos ldgicos. + Una caracteristica arquitectural comuia de los procesadores es la utiizacion de tuna pila, que puede estar visible o no al programador, Las pilas se emplean pa- ra gestionar fas llmadas y retomos de procedimientes, y pueden contemplarse como una forma alternative de direccionar memoria. Las operaciones bésicas con a pila son PUSH (introducir), POP (extraer. y operaciones con una 0 dos posiciones de Ia cabecera de ia pila. Las pilas normalmente se impiementan de ‘manera que crecen de las direcciones ms aitas hacia ias mas bayas. + Los procesadores pueden ciasficarse como big-endian,litle-endian, y bi-endian, Um dato numérico multi-byte que se almacena con el byte mis significativo en Is direceién numérica més baja, se memoriza en la forma big-endian; si se me- rmoriza con el byte més signifiativo en la direccidn més alta, lo hace en Ia for- ma litte-endian. Un procesador bi-endian puede mancjar ambos estlos de memoriazacién, Poe ee eee ee ee ee eee eee ee eee ee rere Raparovios do instrveionas caractariatiensyfureiones 313 smador de.un compatador. §. un programador ests usando un kenguaje de alto nivel, ‘como et Pascal 0.el Ada, muy poco de In arquivectura de la méquina est visible, G: parte de lo tratado en este beo 90 es Kcimente visible para el usuario 0 progr: Un punto de encuentro en que el diseAador del computador y el programador peeden ver ta mismaa maquina esl ceperioro de instrucciones. Desde el punto de vista del diseiados. el Conjunto de instrucciones maquina informa de las especiieaciones funcionales de la CPU: implementar [a CPU es una tarea que. en buena parte. implica implementar el repertorio de instruociones miquina. Desde el punto de vista del usuario, quien elige programar en legu: jz maquina (realmente en lenguaje ensamblador, véase Secci6n 96) se hace consciente de fsructura de registos y de memoria. de los ipos de datos que soporta direcamente Is m+ Quins y del (uncionamiento de la ALU. La descripcidn del repertorio de instrucciones maquina de un computador es wn paso mis hacia la explicacisn de la CPU del computador. De acuerdo con esto, dedicaremos este ‘capitulo y el siguiente alas instrucciones maquina, paca volver despues sobre la estrvctuea y funcionamiearo de las CPU. El funcionamieato de la CPU estd determinado por las instrucciones que ejeuta, Estas ins wan insiraciones miguina 0 istraccones del computador. Al conjuato de Instrace‘ones distintas que puede ejecutar ix CPU se le denomina repertori de instracciones de CPU. ELEMENTOS DE UNA INSTRUCCION MAQUINA CCads instruceién debe contener la informacion que necesita la CPU para su ejecucién. La Figura 3 L-que es una repeticion dela Figura 3.8, muestra js pasos involucrados en la ecu Jn de insruciones e, mplicitamente, defie los elementos constitutives de una instroceisa imsquita. Dichos elementos son: 1 Cinigo de operacin: Especiiea la operacidn a realizar (suma, E'S. etc La operacién se indica mediante un eoigo binario, denominado wcétigo de operacidns 0, abreviada- ‘mente.

También podría gustarte