Sei sulla pagina 1di 23

INSTITUTO TECNOLGICO DE CANCN

Arquitectura De Computadoras
Ingeniera en Sistemas computacionales
Yessenia Ramos Martnez

Contenido
Introduccion .................................................................................................................................. 2 Arquitectura de Computadoras .................................................................................................... 3 Modelo de Arquitecturas de computadoras ............................................................................. 3 Arquitectura Clsica .............................................................................................................. 3 Arquitecturas Segmentadas. ................................................................................................. 3 Arquitecturas de multiprocesamiento. ................................................................................. 3 Anlisis de los componentes ..................................................................................................... 4 CPU ........................................................................................................................................ 4 Memoria ................................................................................................................................ 5 Manejo de la entrada/salida. ................................................................................................ 5 Buses ..................................................................................................................................... 7 Interrupciones ....................................................................................................................... 8 Estructura y funcionamiento de la CPU .................................................................................... 9 Organizacin del procesador................................................................................................. 9 Estructura de los registros................................................................................................... 10 Ciclo de Instruccin ............................................................................................................. 12 Segmentacion ...................................................................................................................... 13 Conjunto de instrucciones................................................................................................... 13 MODOS DE DIRECCIONAMIENTO Y FORMATOS ................................................................. 14 Seleccin de componentes para ensamble de equipo de cmputo ....................................... 15 Chipset................................................................................................................................. 15 Aplicaciones......................................................................................................................... 15 Ambientes de servicios ....................................................................................................... 16 Procesamiento paralelo .......................................................................................................... 17 Aspectos bsicos de la computacin paralela..................................................................... 17 Tipos de computacin paralela ........................................................................................... 17 Sistemas de memoria compartida .......................................................................................... 19 Sistemas de memoria distribuida ............................................................................................ 19 Bibliografia .................................................................................................................................. 21

Introduccion
La arquitectura de una computadora define los componentes fsicos y lgicos de una computadora y permite determinar las posibilidades de que un sistema informtico, con una determinada configuracin, pueda realizar las operaciones para las que se va a utilizar. Cualquier usuario que desee adquirir un sistema informtico, tanto si es una gran empresa como un particular, debe responder a una serie de preguntas previas: qu se desea realizar con el nuevo sistema informtico? Cules son los objetivos a conseguir? Qu software ser el ms adecuado para conseguir los objetivos marcados? Qu impacto va a suponer en la organizacin (laboral o personal) la introduccin del nuevo sistema informtico? Finalmente, cuando se haya respondido a estas preguntas, el usuario tendr una idea aproximada de los objetivos que han de cumplir los diferentes sistemas informticos a evaluar.

Arquitectura de Computadoras
Modelo de Arquitecturas de computadoras

Arquitectura Clsica
Estas arquitecturas se desarrollaron en las primeras computadoras electromecnicas y de tubos de vaco. Aun son usadas en procesadores empotrados de gama baja y son la base de la mayora de las arquitecturas modernas

Arquitectura Mauchly-Eckert (Von Newman)


La principal desventaja de esta arquitectura, es que el bus de datos y direcciones nico se convierte en un cuello de botella por el cual debe pasar toda la informacin que se lee de o se escribe a la memoria, obligando a que todos los accesos a esta sean secuenciales. Esto limita el grado de paralelismo (acciones que se pueden realizar al mismo tiempo) y por lo tanto, el desempeo de la computadora. Este efecto se conoce como el cuello de botella de Von Newman

Arquitecturas Segmentadas.
Las arquitecturas segmentadas o con segmentacin del cauce buscan mejorar el desempeo realizando paralelamente varias etapas del ciclo de instruccin al mismo tiempo. El procesador se divide en varias unidades funcionales independientes y se dividen entre ellas el procesamiento de las instrucciones

Arquitecturas de multiprocesamiento.
Cuando se desea incrementar el desempeo ms all de lo que permite la tcnica de segmentacin del cauce (limite terico de una instruccin por ciclo de reloj), se requiere utilizar ms de un procesador para la ejecucin del programa de aplicacin. Las CPU de multiprocesamiento: SISO (Single Instruction, Single Operand ) computadoras independientes SIMO (Single Instruction, Multiple Operand ) procesadores vectoriales MISO (Multiple Instruction, Single Operand ) No implementado MIMO (Multiple Instruction, Multiple Operand ) sistemas SMP, Clusters Procesadores vectoriales Son computadoras pensadas para aplicar un mismo algoritmo numrico a una serie de datos matriciales, en especial en la simulacin de sistemas fsicos complejos, tales como simuladores para predecir el clima, explosiones atmicas, reacciones qumicas complejas, etc., donde los datos son representados como grandes nmeros de datos en forma matricial sobre los que se deben se aplicar el mismo algoritmo numrico. En los sistemas SMP (Simetric Multiprocesesors), varios procesadores comparten la misma memoria principal y perifricos de I/O, Normalmente conectados por un bus comn. Se conocen como simtricos, ya que ningn procesador toma el papel de maestro y los dems de

esclavos, sino que todos tienen derechos similares en cuanto al acceso a la memoria y perifricos y ambos son administrados por el sistema operativo.

Anlisis de los componentes


CPU

La unidad central de procesamiento, UCP o CPU (por el acrnimo en ingls de central processing unit), o simplemente el procesador o microprocesador, es el componente del computador y otros dispositivos programables, que interpreta las instrucciones contenidas en los programas y procesa los datos. Los CPU proporcionan la caracterstica fundamental de la computadora digital (la programabilidad) y son uno de los componentes necesarios encontrados en las computadoras de cualquier tiempo, junto con el almacenamiento primario y los dispositivos de entrada/salida. Se conoce como microprocesador el CPU que es manufacturado con circuitos integrados. Desde mediados de los aos 1970, los microprocesadores de un solo chip han reemplazado casi totalmente todos los tipos de CPU, y hoy en da, el trmino "CPU" es aplicado usualmente a todos los microprocesadores. La expresin "unidad central de proceso" es, en trminos generales, una descripcin de una cierta clase de mquinas de lgica que pueden ejecutar complejos programas de computadora. Esta amplia definicin puede fcilmente ser aplicada a muchos de los primeros computadores que existieron mucho antes que el trmino "CPU" estuviera en amplio uso. Sin embargo, el trmino en s mismo y su acrnimo han estado en uso en la industria de la informtica por lo menos desde el principio de los aos 1960. La forma, el diseo y la implementacin de los CPU ha cambiado drsticamente desde los primeros ejemplos, pero su operacin fundamental ha permanecido bastante similar. Los primeros CPU fueron diseados a la medida como parte de una computadora ms grande, generalmente una computadora nica en su especie. Sin embargo, este costoso mtodo de disear los CPU a la medida, para una aplicacin particular, ha desaparecido en gran parte y se ha sustituido por el desarrollo de clases de procesadores baratos y estandarizados adaptados para uno o muchos propsitos. Esta tendencia de estandarizacin comenz generalmente en la era de los transistores discretos, computadoras centrales, y microcomputadoras, y fue acelerada rpidamente con la popularizacin del circuito integrado (IC), ste ha permitido que sean diseados y fabricados CPU ms complejos en espacios pequeos (en la orden de milmetros). Tanto la miniaturizacin como la estandarizacin de los CPU han aumentado la presencia de estos dispositivos digitales en la vida moderna mucho ms all de las aplicaciones limitadas de mquinas de computacin dedicadas. Los microprocesadores modernos aparecen en todo, desde
4

automviles, televisores, neveras, calculadoras, aviones, hasta telfonos mviles o celulares, juguetes, entre otros.
Memoria

En informtica, la memoria (tambin llamada almacenamiento) se refiere a parte de los componentes que forman parte de una computadora. Son dispositivos que retienen datos informticos durante algn intervalo de tiempo. Las memorias de computadora proporcionan una de las principales funciones de la computacin moderna, la retencin o almacenamiento de informacin. Es uno de los componentes fundamentales de todas las computadoras modernas que, acoplados a una unidad central de procesamiento (CPU por su sigla en ingls, central processing unit), implementa lo fundamental del modelo de computadora de Arquitectura de von Neumann, usado desde los aos 1940. Dispositivo basado en circuitos que posibilitan el almacenamiento limitado de informacin y su posterior recuperacin. Las memorias suelen ser de rpido acceso, y pueden ser voltiles o no voltiles. La clasificacin principal de memorias son RAM y ROM. Estas memorias son utilizadas para almacenamiento primario.
Manejo de la entrada/salida.

En computacin, entrada/salida, tambin abreviado E/S o I/O (del original en ingls input/output), es la coleccin de interfaces que usan las distintas unidades funcionales (subsistemas) de un sistema de procesamiento de informacin para comunicarse unas con otras, o las seales (informacin) enviadas a travs de esas interfaces. Las entradas son las seales recibidas por la unidad, mientras que las salidas son las seales enviadas por sta. El trmino puede ser usado para describir una accin; "realizar una entrada/salida" se refiere a ejecutar una operacin de entrada o de salida. Los dispositivos de E/S los usa una persona u otro sistema para comunicarse con una computadora. De hecho, a los teclados y ratones se los considera dispositivos de entrada de una computadora, mientras que los monitores e impresoras son vistos como dispositivos de salida de una computadora. Los dispositivos tpicos para la comunicacin entre computadoras realizan las dos operaciones, tanto entrada como salida, y entre otros se encuentran los mdems y tarjetas de red. Es importante notar que la designacin de un dispositivo, sea de entrada o de salida, cambia al cambiar la perspectiva desde el que se lo ve. Los teclados y ratones toman como entrada el movimiento fsico que el usuario produce como salida y lo convierten a una seal elctrica que la computadora pueda
5

entender. La salida de estos dispositivos son una entrada para la computadora. De manera anloga, los monitores e impresoras toman como entrada las seales que la computadora produce como salida. Luego, convierten esas seales en representaciones inteligibles que puedan ser interpretadas por el usuario. La interpretacin ser, por ejemplo, por medio de la vista, que funciona como entrada. En arquitectura de computadoras, a la combinacin de una unidad central de procesamiento (CPU) y memoria principal (aqulla que la CPU puede escribir o leer directamente mediante instrucciones individuales) se la considera el corazn de la computadora y cualquier movimiento de informacin desde o hacia ese conjunto se lo considera entrada/salida. La CPU y su circuitera complementaria proveen mtodos de entrada/salida que se usan en programacin de bajo nivel para la implementacin de controladores de dispositivos. Los sistemas operativos y lenguajes de programacin de ms alto nivel brindan conceptos y primitivas de entrada/salida distintos y ms abstractos. Por ejemplo, un sistema operativo brinda aplicativos que manejan el concepto de archivos. El lenguaje de programacin C define funciones que les permiten a sus programas realizar E/S a travs de streams, es decir, les permiten leer datos desde y escribir datos hacia sus programas. Los dispositivos de Entrada y Salida permiten la comunicacin entre la computadora y el usuario. En primer termino hablaremos de los dispositivos de entrada, que como su nombre lo indica, sirven para introducir datos (informacin) a la computadora para su proceso. Los datos se leen de los dispositivos de entrada y se almacenan en la memoria central o interna. Los dispositivos de entrada convierten la informacin en seales elctricas que se almacenan en la memoria central. Los dispositivos de entrada tpicos son los teclados, otros son: lpices pticos, palancas de mando (joystick), CD-ROM, discos compactos (CD), etc. Hoy en da es muy frecuente que el usuario utilice un dispositivo de entrada llamado ratn que mueve un puntero electrnico sobre una pantalla que facilita la interaccin usuario-mquina. En segundo lugar tenemos a los dispositivos de salida, los cuales permiten representar los resultados (salida) del proceso de datos. El dispositivo de salida tpico es la pantalla o monitor. Otros dispositivos de salida son: impresoras (imprimen resultados en papel), trazadores grficos (plotters), bocinas, entre otros y que a continuacin se mencionan...

Buses En los primeros computadores electrnicos, todos los buses eran de tipo paralelo, de manera que la comunicacin entre las partes del computador se haca por medio de cintas o muchas pistas en el circuito impreso, en los cuales cada conductor tiene una funcin fija y la conexin es sencilla requiriendo nicamente puertos de entrada y de salida para cada dispositivo. La tendencia en los ltimos aos se haca uso de buses seriales como el USB, Firewire para comunicaciones con perifricos reemplazando los buses paralelos, incluyendo el caso como el del microprocesador con el chipset en la placa base. Existen dos grandes tipos clasificados por el mtodo de envo de la informacin: bus paralelo o bus serie. Hay diferencias en el desempeo y hasta hace unos aos se consideraba que el uso apropiado dependa de la longitud fsica de la conexin: para cortas distancias el bus paralelo, para largas el serial. Bus paralelo Es un bus en el cual los datos son enviados por bytes al mismo tiempo, con la ayuda de varias lneas que tienen funciones fijas. La cantidad de datos enviada es bastante grande con una frecuencia moderada y es igual al ancho de los datos por la frecuencia de funcionamiento. En los computadores ha sido usado de manera intensiva, desde el bus del procesador, los buses de discos duros, tarjetas de expansin y de vdeo, hasta las impresoras. Diagrama de un Bus Backplane como extensin del bus de procesador. El front-side bus de los procesadores Intel es un bus de este tipo y como cualquier bus presenta unas funciones en lneas dedicadas: Las lneas de direccin son las encargadas de indicar la posicin de memoria o el dispositivo con el que se desea establecer comunicacin. Las lneas de control son las encargadas de enviar seales de arbitraje entre los dispositivos. Entre las ms importantes estn las lneas de interrupcin, DMA y los indicadores de estado. Las lneas de datos transmiten los bits de forma aleatoria de manera que por lo general un bus tiene un ancho que es potencia de 2.

Un bus paralelo tiene conexiones fsicas complejas, pero la lgica es sencilla, que lo hace til en sistemas con poco poder de cmputo. En los primeros microcomputadores, el bus era simplemente la extensin del bus del procesador y los dems integrados "escuchan" las lnea de direcciones, en espera de recibir instrucciones. En el PC IBM original, el diseo del bus fue determinante a la hora de elegir un procesador con I/O de 8 bits (Intel 8088), sobre uno de 16 (el 8086), porque era posible usar hardware diseado para otros procesadores, abaratando el producto. Bus serie

En este los datos son enviados, bit a bit y se reconstruyen por medio de registros o rutinas de software. Est formado por pocos conductores y su ancho de banda depende de la frecuencia. Es usado desde hace menos de 10 aos en buses para discos duros, unidades de estado slido, tarjetas de expansin y para el bus del procesador. Interrupciones

Una interrupcin es un mecanismo que permite ejecutar un bloque de instrucciones interrumpiendo la ejecucin de un programa, y luego restablecer la ejecucin del mismo sin afectarlo directamente. De este modo un programa puede ser interrumpido temporalmente para atender alguna necesidad urgente de la computadora y luego continuar su ejecucin de manera normal y como si nada hubiera pasado. Las rutinas del Sistema de Operacin llamadas manejadores de dispositivos usualmente manejan las interrupciones generadas por el dispositivo. Los Sistemas de Operacin usan interrupciones pare implementar el tiempo compartido. Tienen un dispositivo llamado timer que genera una interrupcin despus de un intervalo especfico de tiempo. El Sistema de Operacin inicializa el timer antes de actualizar el Program Counter pare ejecutar un programa de un usuario. Cuando el timer expira, genera una interrupcin causando que el CPU ejecute la rutina de servicio de la interrupcin timer.

Un seal o signal es la notificacin por software de que un evento ocurri. Por lo general es la respuesta del Sistema de Operacin. Por ejemplo, ctrl-C genera una interrupcin para el manejador de dispositivo que maneja el teclado. El manejador notifica al proceso apropiado mandando un signal. El Sistema de Operacin tambien puede enviar signals a un proceso para notificar la finalizacin de una E/S o de un error.

Las interrupciones pueden ser producidas por Hardware o por Software Las interrupciones por Hw son producidas por un dispositivo y viajan por el mismo bus del sistema. Las interrupciones por Sw son producidas por medio de la ejecucin de una operacin especial que se conoce como "llamada al sistema" (system call) o por errores producidos dentro de un proceso, tambin conocidas como excepciones.

Interrupcin de E/S Con el fin de iniciar una operacin de E/S la CPU carga los registros apropiados dentro del controlador del dispositivo, el controlador a su vez examina el contenido de estos registros para determinar que accin debe realizar, por ejemplo, si se encuentra una solicitud de lectura, el controlador iniciara la transferencia de datos del dispositivo a su buffer local, cuando haya terminado de hacer esto el controlador informara al CPU que ha completado su operacin, esta comunicacin se genera por medio de una interrupcin.

Interrupciones de programa Las interrupciones software son provocadas por los programas usando una funcin especial del lenguaje, tienen como objetivo el que la CPU ejecute algn tipo de funcin, al terminar de ejecutarse esta funcin, se seguir ejecutando el programa que provoc la interrupcin. Las Interrupcines son principalmente subrutinas de la BIOS o el DOS que pueden ser llamadas por un programa, su funcin es controlar el hardware, servir de contacto entre los programas y las funciones del BIOS y del dos. Interrupciones externas El uso de las interrupciones nos ayuda en la creacin de programas, utilizndolas nuestros programas son ms cortos, es ms fcil entenderlos y usualmente tienen un mejor desempeo debido en gran parte a su menor tamao. Las interrupciones externas las generan los dispositivos perifricos, como pueden ser: teclado, impresoras, tarjetas de comunicaciones; tambin son generadas por los coprocesadores. Estas interrupciones no son enviadas directamente a la UCP, sino que se mandan a un circuito integrado cuya funcin es exclusivamente manejar este tipo de interrupciones.

Estructura y funcionamiento de la CPU


Organizacin del procesador Un procesador, incluye tanto registros visibles por el usuario como registros de control/estado. Los registros visibles por el usuario pueden ser de uso general o tener una utilidad especial, mientras que los registros de control y estado se usan para controlar el funcionamiento del procesador, un claro ejemplo es el contador de programa.

Los procesadores utilizan la segmentacin de instrucciones para acelerar la ejecucin. La segmentacin de cauce se puede dividir en ciclo de instruccin en varias etapas separadas que operan secuencialmente, tales como la captacin de instruccin, decodificacin de instruccin, clculo de direcciones de operando, ejecucin de instruccin y estructura del operando resultado.

A continuacin se muestra cmo se organiza un procesador, para esto se tiene que considerar los siguientes requisitos: Captar instrucciones: el procesador lee una instruccin de memoria (registro, cache o memoria principal). Interpretar instruccin: la instruccin se codifica para determinar qu accin es necesario. Captar datos: la ejecucin de una instruccin puede exigir leer datos de memoria o de un mdulo de E/S. Procesar datos: la ejecucin e una instruccin puede exigir llevar a cabo alguna operacin aritmtica o lgica con los datos. 9

Escribir datos: los resultados de una ejecucin pueden exigir escribir datos en la memoria o en el mdulo de E/S.

Para hacer estas cosas, el procesador necesita almacenar instrucciones y datos temporalmente mientras una instruccin est ejecutndose, en otras palabras el procesador necesita una pequea memoria interna. Estructura de los registros No hay una clara separacin entre estas dos categoras de registros. Por ejemplo, en procesadores Intel, el contador de programa (PC) es visible al usuario; en los procesadores PowerPC de IBM, no lo es.

Registros Visibles al Usuario Un registro visible al usuario es aquel que puede ser referenciado mediante el lenguaje de mquina que ejecuta el CPU. Estos registros pueden ser categorizados como sigue: Registros de Propsito General: Pueden ser utilizados para una variedad de funciones por el programador. Algunas veces su uso es ortogonal dentro del conjunto de instrucciones, lo que quiere decir que puede ser utilizado para contener los operandos de las instrucciones. Sin embargo, hay algunas restricciones; por ejemplo, puede haber registros dedicados a operaciones de punto flotante y operaciones de stack. En algunos casos, los registros de propsito general pueden ser usados para funciones de direccionamiento; por ejemplo, para especificar desplazamientos indirectos. En algunos casos, hay una clara distincin y separacin entre registros para datos y registros para direcciones. Los registros de datos podran ser utilizados nicamente para almacenar datos y no para calcular la direccin de un operando. Los registros de direcciones podran ser en parte registros de propsito general, o pueden ser usados nicamente para un modo particular de direccionamiento. Por ejemplo: o Apuntadores de segmento: En una mquina con un direccionamiento segmentado, un registro de segmento almacena la direccin de la base (inicio) del segmento. Puede haber registros mltiples, uno para el sistema operativo y otro para el proceso en ejecucin, por ejemplo. Registros ndices: Usados para direccionamiento indexado y pueden ser auto indexados. Apuntador a stack: Si en la mquina existe el direccionamiento de stack visible al usuario, entonces el stack se encuentra en la memoria principal y existe un registro dedicado a apuntar a lo alto del stack. Esto permite el 10

o o

direccionamiento implcito, con esto, las operaciones tpicas del stack, tales como push, pop y otras, no requieren de operandos explcitos de stack. Registros de Estatus (Banderas o Cdigos de Condicin): Los cdigos de condicin o banderas son bits cuyos valores son asignados por el hardware del CPU en base al resultado de la ejecucin de las instrucciones. Por ejemplo, una instruccin que implementa una operacin aritmtica puede producir un valor positivo, negativo, igual a cero o sobre flujo. Adems, el resultado de la operacin puede ser almacenado en un registro o en la memoria, para ello tambin se establece una bandera o cdigo de condicin. La bandera puede ser probada tambin como parte de una operacin de salto condicional.

Registros de Control y Estatus Existe una variedad de registros de CPU que son empleados para controlar la operacin del CPU. La mayora de stos en la mayora de las mquinas, no son visibles al usuario. Algunos pueden ser visibles a instrucciones de mquina ejecutadas en un modo de control o sistema operativo. Claro es, diferentes mquinas tendrn diferentes organizaciones de registros y usaran diferente terminologa para referirse a los mismos. A continuacin se presenta una lista razonablemente completa de los tipos de registros y sus descripciones. Cuatro registros son esenciales para la ejecucin de instrucciones: Contador de programa (PC del ingls Program Counter): Contiene la direccin de la siguiente instruccin a ejecutar y que tiene que ser extrada de la memoria mediante una operacin fetch. Registro de Instruccin (IR Instruction Register): Contiene la instruccin que va a ejecutarse, aquella que fue la ltima en ser extrada de memoria mediante un fetch. Registro de Direccin de Memoria (MAR Memory Address Register): Contiene la direccin de una localidad de memoria. Registro Buffer de Memoria (MBR - Memory Buffer Register): Contiene una palabra de dato que ser escrita en memoria o que acaba de ser leda de la memoria.

Tpicamente, el CPU actualiza el PC despus de realizar cada fetch de instruccin, de tal manera que el PC siempre apunte a la siguiente instruccin a ejecutar. Una instruccin de salto tambin modifica el contenido de PC, almacenando en l la direccin que corresponde al salto especificado en la instruccin. La instruccin que ha sido extrada de la memoria con un fetch, es almacenada en el IR, donde el cdigo de la operacin (parte de la expresin binaria de la instruccin que define la operacin a realizar) y los especificadores de operandos son analizados. Los datos son intercambiados con la memoria usando los registros MAR y MBR. En un sistema organizado mediante bus, el MAR se conecta directamente con el bus de direcciones, y el MBR 11

se conecta directamente con el bus de datos. Los registros visibles al usuario, en consecuencia, intercambian datos directamente con el MBR. Los cuatro registros mencionados anteriormente son usados para la transferencia de datos entre el CPU y la memoria. Dentro del CPU, los datos deben ser pasados a la ALU para que sean procesados. La ALU puede tener acceso directo al MBR y a los registros visibles al usuario. Alternativamente, puede que existan registros tipo buffer adicionales en los bordes de la ALU: estos registros sirven como registros de entrada y salida para la ALU, y para intercambiar datos con el MBR y los registros visibles al usuario. Todos los diseos de CPU incluyen uno o ms registros conocidos como PSW (Palabra de Estatus del Programa, o en ingls Program Status Word), los cuales contienen informacin sobre el estatus de la ejecucin del programa. Tpicamente los registros PSW contienen cdigos de condiciones especiales de ejecucin del programa e informacin requerida por el sistema. Los campos o banderas ms comunes en estos registros son: Signo: Contiene el bit de signo del resultado de la ltima operacin aritmtica. Cero: Se le da el valor correspondiente dependiendo si el resultado de la ltima operacin es cero o no. Carry: Su valor depende de si tras una suma resulta un carry, o tras una resta un borrow en la parte alta del resultado. Se usa en operaciones aritmticas multipalabra. Igual: Su valor depende de que si la comparacin lgica de los datos resulta en igualdad o no. Sobre flujo: Usado para indicar una condicin de sobre flujo. Habilitar/Deshabilitar Interrupciones: Usado para habilitar o deshabilitar interrupciones. Supervisor: Indica si el CPU est trabajando en modo de supervisor o de usuario. Algunas instrucciones privilegiadas pueden ser ejecutadas solo en modo supervisor, y ciertas reas de memoria pueden ser accesadas en modo supervisor.

Es posible encontrar en algunos diseos de CPU otros registros relacionados al estatus y el control. Adems de los registros PSW, pueden haber un apuntador a un bloque de memoria que contiene informacin adicional de estatus; por ejemplo, bloques de control de proceso. Ciclo de Instruccin Un ciclo de instruccin (tambin llamado ciclo de fetch-and-execute o ciclo de fetch-decodeexecute en ingls) es el perodo que tarda la unidad central de proceso (CPU) en ejecutar una instruccin de lenguaje mquina. Comprende una secuencia de acciones determinada que debe llevar a cabo la CPU para ejecutar cada instruccin en un programa. Cada instruccin del juego de instrucciones de una CPU puede requerir diferente nmero de ciclos de instruccin para su ejecucin. Un ciclo de instruccin est formado por uno o ms ciclos mquina. Para que cualquier sistema de proceso de datos basado en microprocesador (por ejemplo un ordenador) o microcontrolador (por ejemplo un reproductor de MP3) realice una tarea (programa) primero debe buscar cada instruccin en la memoria principal y luego ejecutarla. 12

Segmentacion La segmentacin o pipeline es una tcnica de realizacin de procesadores por la cual se solapa la ejecucin de las instrucciones. Hoy en da es la tcnica clave para la realizacin de CPU rpidas. La idea bsica de la segmentacin se puede extraer de una cadena de montaje de coches. Los coches no se montan uno a uno, si no que su construccin se divide en fases sucesivas y el montaje del coche se realiza tal como este va avanzando por estas fases. De esta forma cada fase est trabajando simultneamente en la construccin de un coche diferente. De esta forma, la construccin de un coche cuesta el mismo tiempo que antes, pero ahora la frecuencia con que salen los coches construidos es mucho mayor (tantos como fases tenga su construccin). Cada uno de estas fases se denomina segmento o etapa de segmentacin. Al igual que en los coches, la productividad de un computador va a depender del nmero de instrucciones que acaben por unidad de tiempo, y no de lo que le cueste a una instruccin individual. Conjunto de instrucciones Un conjunto de instrucciones o repertorio de instrucciones, juego de instrucciones o ISA (del ingls Instruction Set Architecture, Arquitectura del Conjunto de Instrucciones) es una especificacin que detalla las instrucciones que una CPU de un ordenador puede entender y ejecutar, o el conjunto de todos los comandos implementados por un diseo particular de una CPU. El trmino describe los aspectos del procesador generalmente visibles a un programador, incluyendo los tipos de datos nativos, las instrucciones, los registros, la arquitectura de memoria y las interrupciones, entre otros aspectos. Existe principalmente de 3 tipos: CISC (Complex Instruction Set Computer), RISC (Reduced Instruction Set Computer) y SISC (Simple Instruction Set Computing). La arquitectura del conjunto de instrucciones (ISA) se emplea a veces para distinguir este conjunto de caractersticas de la microarquitectura, que son los elementos y tcnicas que se emplean para implementar el conjunto de instrucciones. Entre estos elementos se encuentran las microinstrucciones y los sistemas de cach. Procesadores con diferentes diseos internos pueden compartir un conjunto de instrucciones; por ejemplo, el Intel Pentium y AMD Athlon implementan versiones casi idnticas del conjunto de instrucciones x86, aunque tienen diseos internos completamente opuestos.
Las caractersticas que se pretende que tenga un conjunto de instrucciones son cuatro, principalmente: Completo: Que se pueda realizar en un tiempo finito cualquier tarea ejecutable con un ordenador (computable o decidible). Eficiente: Que permita alta velocidad de clculo sin exigir una elevada complejidad en su UC y ALU y sin consumir excesivos recursos (memoria), es decir, debe cumplir su tarea en un tiempo razonable minimizando el uso de los recursos. Autocontenidas: Esto es, que contengan en s mismas toda la informacin necesaria para ejecutarse.

13

Independientes: Que no dependan de la ejecucin de alguna otra instruccin.

Se puede comprobar que para que un conjunto de instrucciones sea completo solo se necesitan cuatro instrucciones: -> escritura -> mover a la izquierda una posicin y leer -> mover a la derecha una posicin y leer -> parar En esta idea se basan las arquitecturas RISC, no obstante, con este conjunto no se puede conseguir la eficiencia del repertorio de instrucciones por lo que en la prctica el conjunto suele ser ms amplio en aras de conseguir un mejor rendimiento, tanto en uso de recursos como en consumo de tiempo.

MODOS DE DIRECCIONAMIENTO Y FORMATOS

El campo de operacin de una instruccin especifica la operacin que se debe realizar. Esta debe ser ejecutada sobre algunos datos almacenados en registros del computador o en palabras de memoria, es decir, sobre los operandos. El modo de direccionamiento especifica la forma de interpretar la informacin contenida en cada campo de operando para localizar, en Los ordenadores utilizan tcnicas de direccionamiento con los siguientes fines: - Dar versatilidad de programacin al usuario proporcionando facilidades tales como ndices, direccionamientos indirectos, etc., esta versatilidad nos servir para manejar estructuras de datos complejas como vectores, matrices, etc. - Reducir el nmero de bits del campo de operando. Al usuario que tiene poca experiencia, la variedad de modos de direccionamiento en un ordenador le puede parecer excesivamente complicada. Sin embargo, la disponibilidad de diferentes esquemas de direccionamiento le da al programador experimentado flexibilidad para escribir programas que son ms eficientes en cuanto a nmero de instrucciones y tiempo de ejecucin. Es tal la importancia de los modos de direccionamiento que la potencia de una mquina se mide tanto por su repertorio de instrucciones como por la variedad de modos de direccionamiento que es capaz de admitir. Definicin: Los modos de direccionamiento de un ordenador son las diferentes formas de transformacin del campo de operando de la instruccin en la direccin del operando. En esta definicin el trmino direccin debe interpretarse en su sentido ms general de localizacin del operando, en cualquier lugar, y no en el sentido ms estricto de direccin de memoria.

14

A la direccin obtenida de las transformaciones anteriores la llamaremos direccin efectiva. Esta direccin, en el caso de tratarse de una direccin de memoria, es la que se cargar en el M.A.R. o registro de direccin de memoria. Llamando x a la informacin del campo de operando y Aef. a la direccin efectiva, la funcin f que a partir de x nos da Aef. constituir el modo de direccionamiento empleado: Aef. = f(x) En la evaluacin de la funcin f pueden intervenir otras informaciones adems de la informacin presente en el campo de operando de la instruccin. Estas informaciones pueden residir en registros del procesador o en memoria. La especificacin del modo de direccionamiento puede ir en el cdigo de operacin o en el campo de cada operando. Normalmente se codifica en el cdigo de operacin si el nmero de modos es pequeo, en caso contrario se codifica con cada operando, esta ltima forma de codificacin favorece la ortogonalidad.

Seleccin de componentes para ensamble de equipo de cmputo


Chipset El Circuito Integrado Auxiliar o Chipset es un conjunto de circuitos integrados que se encarga de realizar las funciones que el microprocesador delega en ellos. Chipset traducido literalmente del ingls significa conjunto de circuitos integrados. Se designa el circuito integrado auxiliar al circuito integrado que es perifrico a un sistema pero necesario para el funcionamiento del mismo. La mayora de los sistemas necesitan ms de un circuito integrado auxiliar; sin embargo, el trmino chipset se suele emplear en la actualidad cuando se habla sobre las placas base de los IBM PCs. En los procesadores habituales el chipset est formado por 2 circuitos auxiliares al procesador principal: El puente norte se usa como puente de enlace entre dicho procesador y la memoria. El North Bridge controla las funciones de acceso hacia y entre el microprocesador, la memoria RAM, el puerto grfico AGP, y las comunicaciones con el South Brigde. El South Bridge controla los dispositivos asociados como son la controladora de discos IDE, puertos USB, Firewire, SATA, RAID, ranuras PCI, ranura AMR, ranura CNR, puertos infrarrojos, disquetera, LAN y una larga lista de todos los elementos que podamos imaginar integrados en la placa madre. El puente sur es el encargado de comunicar el procesador con el resto de los perifricos). Aplicaciones Entrada-Salida Las computadoras electrnicas modernas son una herramienta esencial en muchas reas: industria, gobierno, ciencia, educacin,, en realidad en casi todos los campos de nuestras vidas. 15

El papel que juegan los dispositivos perifricos de la computadora es esencial; sin tales dispositivos sta no sera totalmente til. A travs de los dispositivos perifricos podemos introducir a la computadora datos que nos sea tiles para la resolucin de algn problema y por consiguiente obtener el resultado de dichas operaciones, es decir; poder comunicarnos con la computadora. La computadora necesita de entradas para poder generar salidas y stas se dan a travs de dos tipos de dispositivos perifricos existentes: Dispositivos perifricos de entrada. Dispositivos perifricos de salida. Almacenamiento Unidades de disquete. Por malo y anticuado que sea un ordenador, siempre dispone de al menos uno de estos aparatos. Su capacidad es totalmente insuficiente para las necesidades actuales, pero cuentan con la ventaja que les dan los muchos aos que llevan como estndar absoluto para almacenamiento porttil. Tamao Tipo de disco Capacidad Explicacin 5,25 SS/DD 180 Kb Una cara, doble densidad. Desfasado 5,25 DS/DD 360 Kb Dos caras, doble densidad. Desfasado 5,25 DS/HP 1,2 MB Dos caras, alta densidad. Desfasado pero til 3,5 DS/DD 720 Kb Dos caras, doble densidad. Desfasado pero muy comn 3,5 DS/HD 1,44 MB Dos caras, alta densidad. El estndar actual. Ambientes de servicios

Negocios Este documento presenta una pequea descripcin del desarrollo, a partir de los aos 40 y hasta la fecha actual, de la evolucin histrica de la herramienta computacional, en su impacto sobre los diferentes bloques del proceso administrativo, ubicados en el tiempo desde los modelos lineales y aislados hasta las aplicaciones de teora de sistemas que caracterizan la informtica administrativa de nuestros das y del futuro inmediato. Presenta asimismo una discusin sobre los alcances de los esquemas de planeacin estratgica, en el marco de los problemas de gestin del presente. Comercio Electrnico

16

El desarrollo de estas tecnologas y de las telecomunicaciones ha hecho que los intercambios de datos crezcan a niveles extraordinarios, simplificndose cada vez mas y creando nuevas formas de comercio, y en este marco se desarrolla el Comercio Electrnico.

Procesamiento paralelo
Aspectos bsicos de la computacin paralela La computacin paralela es una forma de cmputo en la que muchas instrucciones se ejecutan simultneamente, operando sobre el principio de que problemas grandes, a menudo se pueden dividir en unos ms pequeos, que luego son resueltos simultneamente (en paralelo). Hay varias formas diferentes de computacin paralela: paralelismo a nivel de bit, paralelismo a nivel de instruccin, paralelismo de datos y paralelismo de tareas. El paralelismo se ha empleado durante muchos aos, sobre todo en la computacin de altas prestaciones, pero el inters en ella ha crecido ltimamente debido a las limitaciones fsicas que impiden el aumento de la frecuencia. Como el consumo de energa y por consiguiente la generacin de calor de las computadoras constituye una preocupacin en los ltimos aos, la computacin en paralelo se ha convertido en el paradigma dominante en la arquitectura de computadores, principalmente en forma de procesadores multincleo. Tipos de computacin paralela Paralelismo a nivel de bit Desde el advenimiento de la integracin a gran escala (VLSI) como tecnologa de fabricacin de chips de computadora en la dcada de 1970 hasta alrededor de 1986, la aceleracin en la arquitectura de computadores se lograba en gran medida duplicando el tamao de la palabra en la computadora, la cantidad de informacin que el procesador puede manejar por ciclo.18 El aumento del tamao de la palabra reduce el nmero de instrucciones que el procesador debe ejecutar para realizar una operacin en variables cuyos tamaos son mayores que la longitud de la palabra. Por ejemplo, cuando un procesador de 8 bits debe sumar dos enteros de 16 bits, el procesador primero debe adicionar los 8 bits de orden inferior de cada nmero entero con la instruccin de adicin, a continuacin, aadir los 8 bits de orden superior utilizando la instruccin de adicin con acarreo que tiene en cuenta el bit de acarreo de la adicin de orden inferior, en este caso un procesador de 8 bits requiere dos instrucciones para completar una sola operacin, en donde un procesador de 16 bits necesita una sola instruccin para poder completarla. Histricamente, los microprocesadores de 4 bits fueron sustituidos por unos de 8 bits, luego de 16 bits y 32 bits, esta tendencia general lleg a su fin con la introduccin de procesadores de 64 bits, lo que ha sido un estndar en la computacin de propsito general durante la ltima dcada. Paralelismo a nivel de instruccin Un pipeline cannico de cinco etapas en una mquina RISC (IF = Pedido de Instruccin, ID = Decodificacin de instruccin, EX = Ejecutar, MEM = Acceso a la memoria, WB = Escritura) Un programa de ordenador es, en esencia, una secuencia de instrucciones ejecutadas por un procesador. Estas instrucciones pueden reordenarse y combinarse en grupos que luego son 17

ejecutadas en paralelo sin cambiar el resultado del programa. Esto se conoce como paralelismo a nivel de instruccin. Los avances en el paralelismo a nivel de instruccin dominaron la arquitectura de computadores desde mediados de 1980 hasta mediados de la dcada de 1990. Los procesadores modernos tienen ''pipeline'' de instrucciones de varias etapas. Cada etapa en el pipeline corresponde a una accin diferente que el procesador realiza en la instruccin correspondiente a la etapa; un procesador con un pipeline de N etapas puede tener hasta n instrucciones diferentes en diferentes etapas de finalizacin. El ejemplo cannico de un procesador segmentado es un procesador RISC, con cinco etapas: pedir instruccin, decodificar, ejecutar, acceso a la memoria y escritura. El procesador Pentium 4 tena un pipeline de etapas. Un procesador superescalar con pipeline de cinco etapas, capaz de ejecutar dos instrucciones por ciclo. Puede tener dos instrucciones en cada etapa del pipeline, para un total de hasta 10 instrucciones (se muestra en verde) ejecutadas simultneamente. Adems del paralelismo a nivel de instruccin del pipelining, algunos procesadores pueden ejecutar ms de una instruccin a la vez. Estos son conocidos como procesadores superescalares. Las instrucciones pueden agruparse juntas slo si no hay dependencia de datos entre ellas. El scoreboarding y el algoritmo de Tomasulo que es similar a scoreboarding pero hace uso del renombre de registros son dos de las tcnicas ms comunes para implementar la ejecucin fuera de orden y la paralelizacin a nivel de instruccin. Paralelismo de datos El paralelismo de datos es el paralelismo inherente en programas con ciclos, que se centra en la distribucin de los datos entre los diferentes nodos computacionales que deben tratarse en paralelo. La paralelizacin de ciclos conduce a menudo a secuencias similares de operaciones no necesariamente idnticas o funciones que se realizan en los elementos de una gran estructura de datos. 21 Muchas de las aplicaciones cientficas y de ingeniera muestran paralelismo de datos. Una dependencia de terminacin de ciclo es la dependencia de una iteracin de un ciclo en la salida de una o ms iteraciones anteriores. Las dependencias de terminacin de ciclo evitan la paralelizacin de ciclos. Por ejemplo, considere el siguiente pseudocdigo que calcula los primeros nmeros de Fibonacci: Este bucle no se puede paralelizar porque CUR depende de s mismo (PREV2) y de PREV1, que se calculan en cada iteracin del bucle. Dado que cada iteracin depende del resultado de la anterior, no se pueden realizar en paralelo. A medida que el tamao de un problema se hace ms grande, la paralelizacin de datos disponible generalmente tambin lo hace.22 Paralelismo de tareas El paralelismo de tareas es la caracterstica de un programa paralelo en la que clculos completamente diferentes se pueden realizar en cualquier conjunto igual o diferente de datos. Esto contrasta con el paralelismo de datos, donde se realiza el mismo clculo en distintos o mismos grupos de datos. El paralelismo de tareas por lo general no escala con el tamao de un problema. 18

Taxonoma de Flynn Michael J. Flynn cre uno de los primeros sistemas de clasificacin de computadoras, programas paralelos y secuenciales, ahora conocida como la taxonoma de Flynn. Flynn clasifica los programas y computadoras atendiendo a si estn operando con uno o varios conjuntos de instrucciones y si esas instrucciones se utilizan en una o varias series de datos. La clasificacin instruccin-nica-dato-nico (SISD) es equivalente a un programa totalmente secuencial. La clasificacin instruccin-nica-datos-mltiples (SIMD) es anloga a hacer la misma operacin varias veces sobre un conjunto de datos grande. Esto se hace comnmente en aplicaciones de procesamiento de seales. Instrucciones-mltiples-dato-nico (MISD) es una clasificacin que rara vez se utiliza. A pesar de que se disearon arquitecturas de computadoras en esta categora como arreglos sistlicos, muy pocas aplicaciones se materializaron. Los programas instrucciones-mltiples-datos-mltiples (MIMD) constituyen el tipo ms comn de programas paralelos. Segn David A. Patterson y John L. Hennessy , Algunas mquinas son hbridos de estas categoras, por supuesto, este modelo clsico ha sobrevivido porque es simple, fcil de entender, y da una buena primera aproximacin. Adems, es, tal vez por su comprensibilidad, el esquema ms utilizado.

Sistemas de memoria compartida


En el modelo de memoria compartida los procesadores se comunican con la memoria a travs de un bus o sistema de switches (llaves) de alta velocidad. Esto les permite lograr un mejor desempeo en comparacin con los sistemas de memoria distribuida. Otra ventaja que presenta este modelo es su uso ms eficiente de la memoria, dado que no hay necesidad de replicacin de datos. No obstante, este tipo de arquitecturas presentan dos importantes dificultades: el alto costo actual de este tipo de hardware y la escasa portabilidad para migrar un programa codificado en un sistema multicomputador hacia otra plataforma de memoria compartida.

Sistemas de memoria distribuida


os sistemas de memoria compartida distribuida (DSM) representan la creacin hibrida de dos tipos de computacin paralelos: la memoria distribuida en sistemas multiprocesador y los sistemas distribuidos. Ellos proveen la abstraccin de memoria compartida en sistemas con memorias distribuidas fsicamente y consecuentemente combinan las mejores caractersticas de ambos enfoques. Debido a esto, el concepto de memoria compartida distribuida es reconocido como uno de los enfoques mas atractivos para la creacin de sistemas escalables, de alto rendimiento de sistemas multiprocesador. La memoria compartida distribuida (DSM) es una abstraccin utilizada para compartir datos entre computadores que no comparten memoria fsica. Los procesos acceden a DSM para leer y actuali-zar, dentro de sus espacios de direcciones, sobre lo que aparenta ser la memoria interna normal asignada a un proceso. Sin embargo, existe un sistema subyacente en tiempo de ejecucin que asegura de forma transparente que procesos diferentes ejecutndose en computadores diferentes observen las actualizaciones realizadas entre ellas. Es como si 1os procesos accedieran a una nica me-moria compartida, pero de hecho la memoria fsica est distribuida 19

La principal caracterstica de DSM es que ahorra al programador todo lo concerniente al paso de mensajes al escribir sus aplicaciones, cuestin que en otro sistema debera tenerse muy presente. DSM es fundamentalmente una herramienta para aplicaciones paralelas o para aplicaciones o gru-pos de aplicaciones distribuidas en las que se puede acceder directamente a datos individuales que ellas comparten. En general, DSM es menos apropiado para sistemas cliente-servidor, ya que los clientes ven al servidor como un gestor de recursos en forma de datos abstractos que se acceden a travs de peticiones (por razones de modularidad y proteccin). Sin embargo, los servidores pue-den proporcionar DSM compartido entre los clientes. Por ejemplo, los archivos plasmados en me-moria (memory mapped) que son compartidos y sobre los que se gestiona un cierto grado de con-sistencia son una forma de DSM.

20

Bibliografia
https://sites.google.com/site/sistemasoperativospaty/unidad-4/unidad-4-memoriacompartida-distribuida http://www.fing.edu.uy/cluster/grupo/cluster_memoria_distribuida.pdf
http://www.cimec.org.ar/ojs/index.php/mc/article/viewFile/126/113

http://users.dcc.uchile.cl/~rbaeza/cursos/proyarq/choviedo/numa_definicion.html http://www.fdi.ucm.es/profesor/rhermida/aic.htm http://www.aliatuniversidades.com.mx/bibliotecasdigitales/pdf/sistemas/Arquitectura_de_co mputadoras_II.pdf http://es.wikipedia.org/wiki/Computaci%C3%B3n_paralela http://publiespe.espe.edu.ec/articulos/sistemas/arquitectura/arquitectura.htm http://seleccionensambledeequipos.blogspot.mx/2010/12/unidad-3-seleccion-decomponentes-para.html http://www.itescam.edu.mx/principal/sylabus/fpdb/recursos/r62976.PDF http://www.sites.upiicsa.ipn.mx/polilibros/portal/Polilibros/P_terminados/PolilibroFC/Unidad _V/Unidad%20V_2.htm http://www.emagister.com/curso-arquitectura-ordenadores/modos-direccionamientoformatos http://es.wikipedia.org/wiki/Conjunto_de_instrucciones http://www.uv.es/varnau/AEC_610.pdf http://es.wikipedia.org/wiki/Ciclo_de_instrucci%C3%B3n http://orgaproyect.galeon.com/6uc/CONTENTS/6uc-ciclos.pdf http://www.ac.uma.es/~sromero/so/Capitulo1.pdf http://wwwdi.ujaen.es/~mcdiaz/docencia/cur04_05/fi/teoria/04_Ordenador.pdf http://www.fing.edu.uy/inco/cursos/arqsis2/teorico/clase03.pdf http://html.rincondelvago.com/estructura-de-microprocesadores.html http://redesej.tripod.com/organizacionyarquitectura.html http://ditec.um.es/~jpujante/documentos/Tema4-slides.pdf http://arquidecomp.galeon.com/unidad03.htm http://arquitecturadecomputadorass.blogspot.mx/2012/09/organizacion-del-procesador.html 21

http://redes-mg.blogspot.mx/ http://www.taringa.net/posts/ciencia-educacion/13019000/El-computador-Estructura-yFuncionamiento.html http://es.wikipedia.org/wiki/Bus_(inform%C3%A1tica) http://www.itescam.edu.mx/principal/sylabus/fpdb/recursos/r49114.PDF http://tics-arquitectura.blogspot.mx/2012/03/modelos-de-arquitecturas-de-computo.html http://antares.itmorelia.edu.mx/~mfraga/arqui/apuntes%20unidad%201.pdf

22

Potrebbero piacerti anche