Documentos de Académico
Documentos de Profesional
Documentos de Cultura
de Jess Carranza
Asignatura: Arquitectura de Computadora Clave de la Asignatura: SCC 0402 Carrera: Ingeniera en Sistemas Computacionales
ANTOLOGA
PRESENTA: L.I. ESTEBAN SNCHEZ MENDOZA
Enero 2011
1.1 Modelos de arquitecturas de cmputo. ...................................................... 8 1.1.1 Clsicas. .......................................................................................... 8 1.1.2 Segmentadas. .................................................................................. 11 1.1.3 De multiprocesamiento. ................................................................... 14 1.2 Anlisis de los componentes. .................................................................... 15 1.2.1 CPU. .................................................................................................. 15 1.2.1.1 Arquitecturas. ................................................................................ 16 1.2.1.2 Tipos. ............................................................................................ 17 1.2.1.3 Caractersticas. ............................................................................. 18 1.2.1.4 Funcionamiento. ........................................................................... 19 1.2.2 Memoria. ............................................................................................ 20 1.2.2.1 Arquitecturas. ................................................................................ 20 1.2.2.2 Tipos. ............................................................................................ 21 1.2.2.3 Caractersticas. ............................................................................. 23 1.2.2.4 Funcionamiento. ........................................................................... 24 1.2.3 Dispositivos de I/O. ............................................................................ 28 1.2.3.1 Arquitecturas. ................................................................................ 29 1.2.3.2 Tipos. ............................................................................................ 30 1.2.3.3 Caractersticas. ............................................................................. 30 1.2.3.4 Funcionamiento. ........................................................................... 31
2.1 Buses. ....................................................................................................... 33 2.1.1 Bus Local. ........................................................................................ 36 2.1.2 Bus de datos. ................................................................................... 37 2.1.3 Bus de direcciones. ......................................................................... 38 2.1.4 Bus de control. ................................................................................. 39 2.1.5 Buses normalizados. ....................................................................... 41 2.2 Direccionamiento. ..................................................................................... 41 2.2.1 Modo real. ........................................................................................ 42 2.2.2 Modo protegido. ............................................................................... 44 2.2.3 Modo real virtual. ............................................................................. 46 2.3 Temporizacin. .......................................................................................... 46 2.3.1 Reloj de sistema. ............................................................................. 47 2.3.2 Reset del sistema. ........................................................................... 51 2.3.3 Estados de espera. .......................................................................... 51 2.4 Interrupciones de Hardware. ..................................................................... 52 2.4.1 Enmascarable. ................................................................................... 54 2.4.2 No-enmascarable. .............................................................................. 55 2.5 Acceso Directo a memoria. ....................................................................... 56 2.5.1 Sistema de video. .............................................................................. 57 2.5.2 Sistema de discos. ............................................................................. 60 2.5.3 Otras aplicaciones. ............................................................................ 61
3.1 Chip Set. .................................................................................................... 64 3.1.1 CPU. .................................................................................................. 67 3.1.2 Controlador del Bus. .......................................................................... 70 3.1.3 Puertos de E/S. .................................................................................. 71 3.1.4 Controlador de Interrupciones. ........................................................... 73 3.1.5 Controlador de DMA. ......................................................................... 74 3.1.6 Circuitos de temporizacin y control. ................................................. 76 3.1.7 Controladores de video. ..................................................................... 86 3.2 Aplicaciones. ............................................................................................. 90 3.2.1 Entrada/ Salida. ................................................................................. 90 3.2.2 Almacenamiento. ............................................................................... 90 3.2.3 Fuente de alimentacin. ..................................................................... 95 3.3 Ambientes de servicios. ............................................................................ 98 3.3.1 Negocios............................................................................................. 98 3.3.2 Industria. ............................................................................................. 99 3.3.3 Comercio electrnico. ......................................................................... 99
4.1 Arquitectura................................................................................................ 102 4.1.1 Terminales. ......................................................................................... 104 4.1.2 CPU. ................................................................................................... 108 4.1.3 Espacio de Memoria. .......................................................................... 110 4.1.4 Entrada/ Salida. .................................................................................. 111 4.1.5 Caractersticas especiales. ................................................................. 112
4.2 Programacin............................................................................................. 114 4.2.1 Modelo de programacin. ................................................................... 115 4.2.2 Conjunto de instrucciones................................................................... 118 4.2.3 Modos de direccionamiento. ............................................................... 122 4.2.4 Lenguaje ensamblador. ...................................................................... 123 4.3 Aplicaciones. .............................................................................................. 124 4.3.1 Como sistema independiente.............................................................. 125 4.3.2 Como subsistema de una computadora. ............................................ 126
INTRODUCCION
En la sociedad actual el uso de los sistemas de cmputos se realizan de manera cotidiana, para los distintos trabajos debido a que ofrece grandes herramientas para la elaboracin de documentos varios, etc. Pero en realidad para que un equipo funcione debidamente es necesario contar con una estructura muy sofisticada que se componer por elementos tanto internos, externos y lgicos que hacen de ella una gran herramienta de trabajo.
La arquitectura de computadoras es el diseo conceptual y la estructura operacional fundamental de un sistema de computadora. Es decir, es un modelo y una descripcin funcional de los requerimientos y las implementaciones de diseo para varias partes de una computadora, con especial inters en la forma en que la unidad central de proceso (UCP) trabaja internamente y accede a las direcciones de memoria.
Objetivo:
Identificar los elementos que integran una computadora y la forma en que se relacionan.
Arquitectura de Computadoras
Unidad I.
1.1
estructura operacional fundamental de un sistema de computadora. Es decir, es un modelo y una descripcin funcional de los requerimientos y las implementaciones de diseo para varias partes de una computadora, con especial inters en la forma en que la unidad central de proceso (UCP) trabaja internamente y accede a las direcciones de memoria. 1.1.1 ARQUITECTURAS DE COMPUTO CLSICAS
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) Esta arquitectura fue utilizada en la computadora ENIAC. Consiste en una unidad central de proceso que se comunica a travs de un solo bus con un banco de memoria en donde se almacenan tanto los cdigos de instruccin del programa, como los datos que sern procesados por este.
Esta arquitectura es la ms empleada en la actualidad ya, que es muy verstil. Ejemplo de esta versatilidad es el funcionamiento de los compiladores, los cuales son programas que toman como entrada un archivo de texto conteniendo cdigo fuente y generan como datos de salida, el cdigo mquina que corresponde a dicho cdigo fuente (Son programas que crean o modifican otros programas). Estos datos de salida pueden ejecutarse como un programa posteriormente ya que se usa la misma memoria para datos y para el cdigo del programa.
Pgina 8
Arquitectura de Computadoras
Unidad I.
Arquitectura Von Newman La principal desventaja de esta arquitectura, es que el bus de datos y direcciones nico se convierte en un cuello de botella por el cual debe pasar toda la informacin que se lee de o se escribe a la memoria, obligando a que todos los accesos a esta sean secuenciales. Esto limita el grado de paralelismo (acciones que se pueden realizar al mismo tiempo) y por lo tanto, el desempeo de la computadora. Este efecto se conoce como el cuello de botella de Von Newman.
En esta arquitectura apareci por primera vez el concepto de programa almacenado. Anteriormente la secuencia de las operaciones era
dictada por el alambrado de la unidad de control, e cambiarla implicaba un proceso de recableado laborioso, lento (hasta tres semanas) y propenso a errores. En esta arquitectura se asigna un cdigo numrico a cada instruccin. Dichos cdigos se almacenan en la misma unidad de memoria que los datos que van a procesarse, para ser ejecutados en el orden en que se encuentran almacenados en memoria. Esto permite cambiar rpidamente la aplicacin de la computadora y dio origen a las computadoras de propsito general Mas a detalle, el procesador se subdivide en una unidad de control (C.U.), una unidad lgica aritmtica (A.L.U.) y una serie de registros. Los registros sirven para almacenar internamente datos y estado del procesador. La unidad aritmtica lgica proporciona la capacidad de realizar operaciones aritmticas y lgicas.
Pgina 9
Arquitectura de Computadoras
Unidad I.
La unidad de control genera las seales de control para leer el cdigo de las instrucciones, decodificarlas y hacer que la ALU las ejecute.
Arquitectura Harvard
Esta arquitectura surgi en la universidad del mismo nombre, poco despus de que la arquitectura Von Newman apareciera en la universidad de Princeton. Al igual que en la arquitectura Von Newman, el programa se
almacena como un cdigo numrico en la memoria, pero no en el mismo espacio de memoria ni en el mismo formato que los datos. Por ejemplo, se pueden almacenar las instrucciones en doce bits en la memoria de programa, mientras los datos de almacenan en 8 bits en una memoria aparte.
El hecho de tener un bus separado para el programa y otro para los datos permite que se lea el cdigo de operacin de una instruccin, al mismo tiempo se lee de la memoria de datos los operados de la instruccin previa. As se evita el problema del cuello de botella de Von Newman y se obtiene un mejor desempeo.
En la actualidad la mayora de los procesadores modernos se conectan al exterior de manera similar a a la arquitectura Von Newman, con un banco de memoria masivo nico, pero internamente incluyen varios niveles de memoria cache con bancos separados en cache de programa y cache de datos, buscando un mejor desempeo sin perder la versatilidad.
Pgina 10
Arquitectura de Computadoras
Unidad I.
1.1.2 ARQUITECTURAS DE COMPUTO SEGMENTADAS Las arquitecturas segmentadas o con segmentacin del cauce buscan mejorar el desempeo realizando paralelamente varias etapas del ciclo de instruccin al mismo tiempo. El procesador se divide en varias unidades funcionales independientes y se dividen entre ellas el procesamiento de las instrucciones. Para comprender mejor esto, supongamos que un procesador simple tiene un ciclo de instruccin sencillo consistente solamente en una etapa de bsqueda del cdigo de instruccin y en otra etapa de ejecucin de la instruccin. En un procesador sin segmentacin del cauce, las dos etapas se realizaran de manera secuencial para cada una de las instrucciones, como lo muestra la siguiente figura.
Bsqueda y ejecucin en secuencia de tres instrucciones en un procesador sin segmentacin del cause En un procesador con segmentacin del cauce, cada una de estas etapas se asigna a una unidad funcional diferente, la bsqueda a la unidad de bsqueda y la ejecucin a la unidad de ejecucin. Estas unidades pueden trabajar en forma paralela en instrucciones diferentes. Estas unidades se comunican por medio de una cola de instrucciones en la que la unidad de bsqueda coloca los cdigos de instruccin que ley para que la unidad de ejecucin los tome de la cola y los ejecute. Esta cola se parece a un tubo donde las instrucciones entran por un extremo y salen por el otro. De esta analoga proviene el nombre en ingls: Pipelining o entubamiento.
Figura 1.1.2.3 Comunicacin entre las unidades en un procesador con segmentacin de cauce.
Pgina 11
Arquitectura de Computadoras
Unidad I.
Completando
el
ejemplo
anterior,
en
un
procesador
con
segmentacin, la unidad de bsqueda comenzara buscando el cdigo de la primera instruccin en el primer ciclo de reloj. Durante el segundo ciclo de reloj, la unidad de bsqueda obtendra el cdigo de la instruccin 2, mientras que la unidad de ejecucin ejecuta la instruccin 1 y as sucesivamente. La siguiente figura muestra este proceso.
Figura 1.1.2.3 Bsqueda y ejecucin en secuencia de tres instrucciones en un procesador con segmentacin del cause En este esquema sigue tomando el mismo nmero de ciclos de reloj (el mismo tiempo), pero como se trabaja en varias instrucciones al mismo tiempo, el nmero promedio de instrucciones por segundo se multiplica. La mejora en el rendimiento no es proporcional al nmero de segmentos en el cauce debido a que cada etapa no toma el mismo tiempo en realizarse, adems de que se puede presentar competencia por el uso de algunos recursos como la memoria principal. Otra razn por la que las ventajas de este esquema se pierden es cuando se encuentra un salto en el programa y todas las instrucciones que ya se buscaron y se encuentran en la cola, deben descartarse y comenzar a buscar las instrucciones desde cero a partir de la direccin a la que se salt. Esto reduce el desempeo del procesador y an se investigan maneras de predecir los saltos para evitar este problema.
Pgina 12
Arquitectura de Computadoras
Unidad I.
Cuando se desea incrementar el desempeo ms aya de lo que permite la tcnica de segmentacin del cauce (limite terico de una instruccin por ciclo de reloj), se requiere utilizar ms de un procesador para la ejecucin del programa de aplicacin. Las CPU de multiprocesamiento se clasifican de la siguiente manera: SISO SIMO (Single Instruction, Single Operand ) computadoras
vectoriales MISO (Multiple Instruction, Single Operand). No implementado MIMO 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 (Multiple Instruction, Multiple Operand). Sistemas SMP,
En
los
sistemas
SMP
(Simetric
Multiprocesesors),
varios
procesadores comparten la misma memoria principal y perifricos de I/O, Normalmente conectados por un bus comn. Se conocen como simtricos, ya que ningn procesador toma el papel de maestro y los dems de esclavos, sino que todos tienen derechos similares en cuanto al acceso a la memoria y perifricos y ambos son administrados por el sistema operativo.
Los Clusters son conjuntos de computadoras independientes conectadas en una red de rea local o por un bis de interconexin y que trabajan cooperativamente para resolver un problema. Es clave en su
funcionamiento contar con un sistema operativo y programas de aplicacin capaces de distribuir el trabajo entre las computadoras de la red.
Pgina 13
Arquitectura de Computadoras
Unidad I.
1.1.3 ARQUITECTURAS DE COMPUTO DE MULTIPROCESAMIENTO SMP es el acrnimo de Symmetric Multi-Processing, multiproceso simtrico. Se trata de un tipo de arquitectura de ordenadores en que dos o ms procesadores comparten una nica memoria central. La arquitectura SMP (Multi-procesamiento simtrico, tambin llamada UMA, de Uniform Memory Access), se caracteriza por el hecho de que varios microprocesadores comparten el acceso a la memoria. Todos los
microprocesadores compiten en igualdad de condiciones por dicho acceso, de ah la denominacin simtrico. Los sistemas SMP permiten que cualquier procesador trabaje en cualquier tarea sin importar su localizacin en memoria; con un propicio soporte del sistema operativo, estos sistemas pueden mover fcilmente tareas entre los procesadores para garantizar eficientemente el trabajo. Una computadora SMP se compone de microprocesadores
independientes que se comunican con la memoria a travs de un bus compartido. Dicho bus es un recurso de uso comn. Por tanto, debe ser arbitrado para que solamente un microprocesador lo use en cada instante de tiempo. Si las computadoras con un solo microprocesador tienden a gastar considerable tiempo esperando a que lleguen los datos desde la memoria, SMP empeora esta situacin, ya que hay varios parados en espera de datos.
Pgina 14
Arquitectura de Computadoras
Unidad I.
1.2
1.2.1. UNIDAD CENTRAL DE PROCESO (CPU) La Unidad Central de Proceso es el lugar donde se realizan las operaciones de clculo y control de los componentes que forman la totalidad del conjunto del sistema informtico. Las CPU de las actuales computadoras son microprocesadores construidos sobre un cristal de silicio semiconductor donde se crean todos los elementos que forman un circuito electrnico (transistores, etc.) y las conexiones necesarias para formarlo. El microcircuito se encapsula en una pastilla de plstico con una serie de conexiones hacia el exterior, en forma de patillas metlicas, que forman su nexo de unin al resto del sistema informtico.
El microprocesador central de una computadora se divide en: Unidad de Control (Control Unit o CU en ingls). Unidad Aritmtico-Lgica (Aritmethic Control Unit o ALU en ingls). Registros. La Unidad de Control maneja y coordina todas las operaciones del sistema informtico, dando prioridades y solicitando los servicios de los
L.I. Esteban Snchez Mendoza Pgina 15
Arquitectura de Computadoras
Unidad I.
diferentes componentes para dar soporte a la unidad aritmtico-lgica en sus operaciones elementales. La Unidad Aritmtico-Lgica realiza los diferentes clculos
matemticos y lgicos que van a ser necesarios para la operatividad de la computadora 1.2.1.1 ARQUITECTURA DEL CPU Partiendo de esa base, han surgido dos grandes arquitecturas de microprocesadores para PCs: los diseados con instrucciones avanzadas o complejas llamados CISC (Complex Instruction Set Computer) y los diseados con instrucciones simples o reducidas llamados RISC (Reduced Instruction Set Computer).
La arquitectura CISC. Fue la primera tecnologa de CPUs con la que la maquina PC se dio a conocer mundialmente. Adoptada por Intel, se coloc en las primitivas PC (procesador 8088) que fueron lanzadas bajo la marca IBM el 12 de Agosto de 1981. Su sistema de trabajo se basa en la Microprogramacin. Considerando la extraordinaria cantidad de instrucciones que la CPU puede manejar, la construccin de una CPU con arquitectura CISC es realmente compleja. A este grupo pertenecen los microprocesadores populares utilizados en PC de escritorio y laptops.
Pgina 16
Arquitectura de Computadoras
Unidad I.
El origen de la arquitectura CISC se remonta a los inicios de la programacin ubicada en los aos 60 y 70. Entre las bondades de CISC destacan las siguientes: 1. Reduce la dificultad de crear compiladores. 2. Permite reducir el costo total del sistema. 3. Reduce los costos de creacin de Software. 4. Mejora la compactacin de cdigo. 5. Facilita la depuracin de errores (debugging). La arquitectura RISC. Ha sido la consecuencia evolutiva de las CPU. Como su nombre lo indica, se trata de microprocesadores con un conjunto de instrucciones muy reducidas en contraposicin a CISC. RISC vs CISC. Partiendo de lo expuesto, habra que evaluar las ventajas de ambas arquitecturas para tomar decisiones sobre la escogencia de una u otra a la hora de disear un sistema. 1.2.1.2 TIPOS DE CPU Una supercomputadora es el tipo de computadora ms potente y ms rpida que existe en un momento dado. Estas mquinas estn diseadas para procesar enormes cantidades de informacin en poco tiempo y son dedicadas a una tarea especfica. As mismo son las ms caras, sus precios alcanzan los 30 MILLONES de dlares y ms; y cuentan con un control de temperatura especial, sto para disipar el calor que algunos componentes alcanzan a tener. Unos ejemplos de tareas a las que son expuestas las supercomputadoras son los siguientes: 1. Bsqueda y estudio de la energa y armas nucleares. 2. Bsqueda de yacimientos petrolferos con grandes bases de datos ssmicos. 3. El estudio y prediccin de tornados. 4. El estudio y prediccin del clima de cualquier parte del mundo. 5. La elaboracin de maquetas y proyectos de la creacin de aviones, simuladores de vuelo. Macrocomputadoras o Mainframes son grandes, rpidos y caros sistemas que son capaces de controlar cientos de usuarios simultneamente, as como cientos de dispositivos de entrada y salida.
L.I. Esteban Snchez Mendoza Pgina 17
Arquitectura de Computadoras
Unidad I.
Minicomputadoras En 1960 surgi la minicomputadora, una versin ms pequea de la Macrocomputadoras. Al ser orientada a tareas especficas, no necesitaba de todos los perifricos que necesita un Mainframe, y sto ayudo a reducir el precio y costos de mantenimiento. Las minicomputadoras, en tamao y poder de procesamiento, se encuentran entre los mainframes y las estaciones de trabajo. Microcomputadoras o PCs Las microcomputadoras o Computadoras
Personales (PCs) tuvieron su origen con la creacin de los microprocesadores. Un microprocesador es una computadora en un chip, o sea un circuito integrado independiente. 1.2.1.3 CARACTERISTICAS DE CPU Memoria Unidad aritmtica lgica Unidad o procesador de control
MEMORIA PRINCIPAL (interna o central): Se almacenan datos y programas, hay dos operaciones que se hacen en la memoria (lee y escribe) entonces se dice que es donde almacena, se lee y se escribe. Es un conjunto de clulas numeradas y dos registros especiales con los que realiza las transacciones. El registro de direccin que indica el nmero de la clula afectada y el de intercambio que contiene la informacin leda o la que hay que escribir en la clula de cuestin. La memoria central o simplemente memoria (interna o principal) se utiliza para almacenar informacin. UAL (UNIDAD ARITMETICA LOGICA): La unidad aritmtica lgica opera los datos que recibe siguiendo las indicaciones por la unidad de control. Esta unidad puede realizar operaciones aritmticas lgicas, por ejemplo: el de realiza UNIDAD DE CONTROL (La unidad que va decidir controlar).
L.I. Esteban Snchez Mendoza Pgina 18
Arquitectura de Computadoras
Unidad I.
La unidad de control es el autentico cerebro que controla y coordina el funcionamiento de la computadora. A raz de la interpretacin de las instrucciones que integran el programa esta unidad genera el conjunto de rdenes elementales necesarias para que se realice la tarea necesitada. 1.2.2.4 FUNCIONAMIENTO CPU Funciones que realiza La Unidad central de proceso o CPU, se puede definir como: Un circuito microscpico que interpreta y ejecuta instrucciones. La CPU se ocupa del control y el proceso de datos en los ordenadores. Habitualmente, la CPU es un microprocesador fabricado en un chip, un nico trozo de silicio que contiene millones de componentes electrnicos. El microprocesador de la CPU est formado por una unidad aritmtico lgica que realiza clculos y comparaciones, y toma decisiones lgicas (determina si una afirmacin es cierta o falsa mediante las reglas del lgebra de Boole); por una serie de registros donde se almacena informacin Temporalmente, y por una unidad de control que interpreta y ejecuta las instrucciones. Para aceptar rdenes del usuario, acceder a los datos y presentar los resultados, la CPU se comunica a travs de un conjunto de circuitos o conexiones llamado bus. El bus conecta la CPU a los dispositivos de almacenamiento (por ejemplo, un disco duro), los dispositivos de entrada (por ejemplo, un teclado o un ratn) y los dispositivos de salida (por ejemplo, un monitor o una impresora). Procesamiento de la CPU: Una CPU procesa informacin almacenada en los bytes de la memoria. Esta informacin puede ser datos o instrucciones. Un dato es una representacin binaria de una letra, un nmero, o un color; mientras que una instruccin le dice a la CPU que hacer con ese dato, es decir si sumarlo, si restarlo, moverlo, etc.
Pgina 19
Arquitectura de Computadoras
Unidad I.
1.2.2 MEMORIAS
La organizacin y administracin de la memoria principal, memoria primaria o memoria real de un sistema ha sido y es uno de los factores ms importantes en el diseo de los S. O. Los trminos memoria y almacenamiento se consideran equivalentes. Los programas y datos deben estar en el almacenamiento principal para: