You are on page 1of 95

INSTITUTO TECNOLOGICO DE VERACRUZ

ANTOLOGIA DE ARQUITECTURA DE COMPUTADORAS

INGENIERIA EN SISTEMAS COMPUTACIONALES

Elaborado por: Abraham Nieva Martnez Cesar Vicente Morales Morales

ARQUITECTURA DE COMPUTADORAS ING. JUAN FRANCISCO MEJIA PEREZ

H. Veracruz, Ver.

Mayo de 2012

UNIDAD 1 MODELO DE ARQUITECTURAS DE CMPUTO 1.1 MODELOS DE ARQUITECTURAS DE CMPUTO 1.1.1 Clsicas 1.1.2 Segmentadas 1.1.3 De multiprocesamiento 1.2 ANLISIS DE LOS COMPONENTES 1.2.1 CPU
1.2.1.1 Arquitecturas 1.2.1.2 Tipos 1.2.1.3 Caractersticas 1.2.1.4 Funcionamiento

4 4 4 6 8 9 10
11 16 20 22

1.2.2 Memoria
1.2.2.1 Arquitecturas 1.2.2.2 Tipos 1.2.2.3 Caractersticas 1.2.2.4 Funcionamiento

26
26 27 28 29

1.2.3 Dispositivos de I/O


1.2.3.1 Arquitecturas 1.2.3.2 Tipos 1.2.3.3 Caractersticas 1.2.3.4 Funcionamiento

30
30 31 32 33

UNIDAD 2 COMUNICACIN INTERNA EN LA COMPUTADORA 2.1 BUSES 2.1.1 Bus local 2.1.2 Bus de datos 2.1.3 Bus de direcciones 2.1.4 Bus de control 2.1.5 Buses normalizados 2.2 DIRECCIONAMIENTO 2.2.1 Modo real 2.2.2 Modo protegido 2.2.3 Modo real virtual 2.3 TEMPORIZACIN 2.3.1 Reloj de Sistema 2.3.2 Reset del Sistema 2.3.3 Estados de espera 2.4 INTERRUPCIONES DE HARDWARE 2.5 ACCESO DIRECTO A MEMORIA UNIDAD 3 SELECCIN DE COMPONENTES Y ENSAMBLE DE EQUIPOS DE CMPUTO 3.1 CHIPSET 3.1.1 CPU 3.1.2 Controlador del bus 3.1.3 Puertos de E/S 3.1.4 Controlador de interrupciones 3.1.5 Controlador de DMA

36 36 37 37 37 38 38 39 39 41 42 43 43 44 45 45 49 53 53 58 61 61 62 62

3.1.6 Circuitos de temporizacin y control 3.1.7 Controladores de video 3.2 APLICACIONES 3.2.1 Entrada / Salida 3.2.2 Almacenamiento 3.2.3 Fuente de alimentacin 3.3 AMBIENTES DE SERVICIOS 3.3.1 Negocios 3.3.2 Industria 3.3.3 Comercio electrnico UNIDAD 4 MICROCONTROLADORES 4.1 ARQUITECTURA 4.1.1 Terminales 4.1.2 CPU 4.1.3 Espacio de memoria 4.1.4 Entrada/Salida 4.1.5 Caractersticas especiales 4.2 PROGRAMACIN 4.2.1 Modelo de Programacin 4.2.2 Conjunto de Instrucciones 4.2.3 Modos de Direccionamiento 4.2.4 Lenguaje Ensamblador 4.3 APLICACIONES BIBLIOGRAFIAS

62 63 63 63 71 77 78 78 79 80 83 83 83 84 84 85 86 86 86 88 90 91 93 95

Unidad 1 Modelo de arquitecturas de cmputo

1.1 Modelos de arquitecturas de cmputo 1.1.1 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.1

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

Organizacin y Arquitectura de Computadores. William Stallings - 7 edicin

de o se escribe a la memoria, obligando a que todos los accesos a esta sean


2

secuenciales. Esto limita el grado de paralelismo (acciones que se pueden realizar al 3

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. 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.

2
3

Organizacin y Arquitectura de Computadores. William Stallings - 7 edicin

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 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.4 1.1.2 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.

Organizacin y Arquitectura de Computadores. William Stallings - 7 edicin

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.5

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.

Organizacin y Arquitectura de Computadores. William Stallings - 7 edicin

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.6

1.1.3 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 se clasifican de la siguiente manera: 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

Organizacin y Arquitectura de Computadores. William Stallings - 7 edicin

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. 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.7

1.2 Anlisis de los componentes En su forma ms simple, un sistema de computadora cuenta con una unidad que ejecuta instrucciones de programas. Esta unidad se comunica con otros subsistemas dentro de la computadora, y a menudo controla su operacin. Debido al papel central de tal unidad se conoce como unidad central de procesamiento, o CPU (Central processing unit). Dentro de muchas computadoras, un subsistema como una unidad de entrada, o un dispositivo de almacenamiento masivo, puede incorporar una unidad de procesamiento propia. Tal unidad de procesamiento, aunque es central para su propio subsistema, resulta claro que no es "central" para el sistema de computadora en su conjunto. Sin embargo, los principios del diseo y operacin de una CPU son independientes de su posicin en un sistema de computadora. Este trabajo estar dedicado a la organizacin del hardware que permite a una CPU realizar su funcin principal: traer instrucciones desde la memoria y ejecutarlas.

Organizacin y Arquitectura de Computadores. William Stallings - 7 edicin

1.2.1 CPU La unidad central de procesamiento, CPU, o, simplemente, el procesador. Es el componente en una computadora digital que interpreta las instrucciones y procesa los datos contenidos en los programas de computadora. 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.8 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 ordenadores que existieron mucho antes que el trmino "CPU" estuviera en amplio uso. Sin embargo, el trmino 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 las CPU ha cambiado drsticamente desde los primeros ejemplos, pero su operacin fundamental ha permanecido bastante similar. En ordenadores grandes, las CPUs requieren uno o ms tableros de circuito impresos. En los ordenadores personales y estaciones de trabajo pequeas, la CPU est contenida en un solo chip llamado microprocesador. Dos componentes tpicos de una CPU son: 1. La unidad de lgica/aritmtica (ALU), que realiza operaciones aritmticas y lgicas. 2. La unidad de control (CU), que extrae instrucciones de la memoria, las descifra y ejecuta, llamando a la ALU cuando es necesario.

Organizacin y Arquitectura de Computadores. William Stallings - 7 edicin

10

1.2.1.1 Arquitecturas La arquitectura de computadores se refiere a los atributos de un sistema que son visibles a un programador, o para decirlo de otra manera, aquellos atributos que tienen un impacto directo en la ejecucin lgica de un programa. La organizacin de computadores se refiere a las unidades funcionales y sus interconexiones, que dan lugar a especificaciones arquitectnicas. Entre los ejemplos de atributos arquitectnicos se encuentran el conjunto de instrucciones, el nmero de bits usados para representar varios tipos de datos, mecanismos de E/S y tcnicas para direccionamiento de memoria. Entre los atributos de organizacin se incluyen aquellos detalles de hardware transparentes al programador, tales como seales de control, interfaces entre el computador y los perifricos y la tecnologa de memoria usada.9

Para poner un ejemplo, una cuestin de diseo arquitectnico es si el computador tendr la instruccin de multiplicar la velocidad relativa de las dos aproximaciones, y el coste y el temario fsico de una unidad especializada en multiplicar.

Unidad entrada y salida Dado que la CPU trabaja a velocidades mucho mayor que los equipos perifricos (nsg. v/s msg) se requiere una unidad que se encargue de organizar cul de los perifricos conectados ser habilitado para intercambiar informacin con el procesador.
9

Organizacin y Arquitectura de Computadores. William Stallings - 7 edicin

11

La unidad de entrada/salida puede ser un multiplexor/de multiplexor, a travs del selector de puertas se direcciona cul de los equipos debe conectarse, la seal de control establece la modalidad de comunicacin I/O, la informacin se transfiere al I/O data desde donde se traslada al DB. Existen diversas modalidades de organizacin para transferir informacin: Tiempo: sincrnico o asincrnico Datos: secuenciales, paralelos Conexin directa al DB, se elimina el I/O data Conexin directa a memoria, DMA (Data Memory Access), permite conexin entre procesadores y entre unidades controladoras rpidas, interfaces de discos, etc. Unidad de control Realiza funciones organizativas a partir de un mecanismo de relojera con el cual se sincroniza y secuencian los tiempos y los momentos en que los distintos elementos, que constituyen la estructura del procesador, deban participar en la ejecucin de una instruccin.10 Un ciclo de reloj es la unidad de tiempo para la ejecucin de las operaciones dentro del procesador. Las operaciones se realizan dentro del ciclo de reloj o en mltiplos, enteros, de ciclos de reloj. Cada ciclo de reloj est dividido en diferentes tiempos, o fases, los cuales indican el momento en que se efectan las micro-operaciones, dentro de cada ciclo. Una micro operacin corresponde a acciones como: desplazamiento de un registro, transferencia de un registro a un bus, complementar un registro, etc. La unidad de control comanda el registro que contiene la direccin de la instruccin que se est ejecutando o de la prxima instruccin a ejecutar, esto depende del estado de avance en el tiempo de ejecucin de la instruccin. El registro de direccin de instruccin y la memoria stack estn relacionados ya que esta contiene las direcciones de retorno de las rutinas del programa.

10

Organizacin y Arquitectura de Computadores. William Stallings - 7 edicin

12

El registro de direcciones requiere de un procesamiento aritmtico de direcciones de acuerdo al largo, en bytes, de la instruccin en ejecucin. La unidad de control dispone del registro de instruccin que almacena la instruccin que se est efectuando, es decir una vez finalizado el fetch. La instruccin est compuesta de dos partes: El cdigo de operacin el llamado opcode, con el cual se alimenta al decodificador de instruccin. Una direccin que se puede almacenar en algn registro de direcciones.

La unidad de control contiene toda la circuitera necesaria para efectuar las microoperacioens ordenadas de acuerdo a la naturaleza de la instruccin a ejecutar.11 Unidad aritmtica lgica Es donde se realizan las operaciones aritmticas y lgicas, para ello se apoya usando el registro acumulador, los registros generales y tambin un registro flag. Los registros flag sirven para indicar el estado del procesador despus de realizar una operacin de clculo. Los registros son flip flop que registran las caractersticas del resultado arrojado por una instruccin. Dependiendo de los fabricantes los flags pueden ser muy diversos pero hay algunos que en general se encuentran en casi todos los procesadores: Flag de signo: indica si el resultado de la ltima operacin fue positiva o negativa. Flag de cero: indica si el resultado de la ltima operacin fue cero o distinto de cero. Flag de overflow: indica si el resultado fue mayor que la capacidad de representacin del acumulador Flag de underflow: cuando el resultado es menor a la mnima capacidad de representacin del acumulador. Operaciones aritmticas y lgicas
11

Organizacin y Arquitectura de Computadores. William Stallings - 7 edicin

13

Las operaciones aritmticas y lgicas se realizan siempre sobre algn registro y tienen como pivote el registro acumulador: Sobre el acumulador, solamente Entre el acumulador y algn registro Entre el acumulador y una direccin de memoria Entre el acumulador y un dato inmediato. El resultado de las operaciones es almacenado en el acumulador. Algunas operaciones aritmticas lgicas tpicas: Sumas Restas Complementacin Desplazamiento a la izquierda (multiplicado por 2) Desplazamiento a la derecha (dividido por 2) Incrementar o decrementar en 1 el acumulador OR, AND, OR-EX, etc., entre un par de registros. Las operaciones de multiplicacin y divisin no son efectuadas por la ALU y se implementan en software que comandan la ALU o hardware, especial, que realiza estas funciones.12 Registros de trabajo Se usan para almacenar datos empleados en la ejecucin de las instrucciones, es muy importante su velocidad de respuesta. Unidad de Memoria Corresponde a un conjunto de registros direccionables a travs del bus de direcciones. Cada registro de memoria est constituido por un determinado nmero de unidades bsicas, bit, que constituyen la celda de memoria. El tamao de la celda es constante para un procesador determinado.
12

Organizacin y Arquitectura de Computadores. William Stallings - 7 edicin

14

Los tamaos tpicos son 4, 8, 16, 32 y ms bits por celda. La memoria tiene dos usos principales: Almacenar programas Almacenar datos o resultados.

El almacenamiento de programas est asociado a la naturaleza de los mismos. Si son de uso permanente se almacenan en memoria ROM (read only memory), caso de los programas BIOS (basic input output system). Si son de uso espordico y afectos a cambios se almacenan RAM (ramdom access memory) caso de los programas de aplicacin. Las memorias del tipo ROM corresponden a tecnologa de memorias, electrnicas, de estado solida no voltil, esto significa que no requieren de energa para mantener los valores que almacenan.13 Las memorias RAM necesitan energa para mantener la informacin almacenada, se reconocen dos grandes familias: Las SRAM (Static RAM), rpidas, caras, de alto consumo tiles como memorias cache L2. Las DRAM (Dynamic RAM), lentas, baratas, de bajo consumo se usan como memoria principal. Operacin de la memoria La forma de trabajo de un ciclo de memoria con el envi de una direccin por el BUS de DIRECCION, AB (address bus), dicha direccin se almacena en un registro de direcciones de memoria, MAR (memory address register) La operacin de memoria puede ser de lectura o escritura. Lectura: el contenido de la celda direccionada por el MAR se transfiere a un registro de datos de memoria MDR (memory data register) el que transfiere su contenido al bus de datos DB (data bus), de all al registro del procesador que corresponda.
13

Organizacin y Arquitectura de Computadores. William Stallings - 7 edicin

15

Escritura: una vez seleccionado el MAR, se transfiere el contenido del DB al MDR, desde donde se lleva a la celda seleccionada, completando el proceso de escritura. Papel del bus de control: a travs de este bus, la unidad de control activa el MAR el MDR y los dems registros involucrados en los procesos de lectura-escritura. Sincroniza el momento en que se activan AB y DB, esto corresponde a un conjunto de microoperaciones necesarias para producir una lectura o escritura en memoria. 1.2.1.2 Tipos La arquitectura IBM Sistemas/370. Esta arquitectura apareci por primera vez en 1970 e inclua varios modelos. Un cliente con necesidades modestas poda comprar un modelo ms barato y lento, y, si la demanda se incrementa, cambiarse ms tarde a un modelo ms caro y rpido sin tener que abandonar el software nuevos con tecnologa mejorada para reemplazar a modelos ms viejos, ofreciendo al consumidor mayor velocidad, precios ms bajos o ambos a la vez. Estos modelos ms nuevos conservaban la misma arquitectura para proteger as la inversin en software del consumidor. Podemos destacar que la arquitectura del Sistema/370 con unas pocas mejoras ha sobrevivido hasta hoy da como la arquitectura de la lnea de grandes productos de computacin IMB.
14

Los CPUs modernos pueden clasificarse de acuerdo a varias caractersticas, tales como: el tamao del ALU o del Bus de conexin al exterior (8, 16, 32, 64 bits), si tienen cauce segmentado o no segmentado, si con tipo CISC o RISC, Von Newan o Harvard y si solo tienen

instrucciones enteras o implementan tambin instrucciones de punto flotante.

Supercomputadoras 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, esto para disipar el calor que algunos
14

Organizacin y Arquitectura de Computadores. William Stallings - 7 edicin

16

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. Debido a su precio, son muy pocas las supercomputadoras que se construyen en un ao.15

Macrocomputadoras o Mainframes Las macrocomputadoras son tambin conocidas como Mainframes. Los 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. Los mainframes tienen un costo que va desde 350,000 dlares hasta varios millones de dlares. De alguna forma los mainframes son ms poderosos que las supercomputadoras porque soportan ms programas simultneamente. Pero las sper computadoras pueden ejecutar un solo programa ms rpido que un mainframe. En el pasado, los Mainframes ocupaban cuartos completos o hasta pisos enteros de algn edificio, hoy en da, un Mainframe es parecido a una hilera de archiveros en algn cuarto con piso falso, esto para ocultar los cientos de cables de los perifricos, y su temperatura tiene que estar controlada.

15

Organizacin y Arquitectura de Computadores. William Stallings - 7 edicin

17

Minicomputadoras En 1960 surgi la minicomputadora, una versin ms pequea de la Macrocomputadora. Al ser orientada a tareas especficas, no necesitaba de todos los perifricos que necesita un Mainframe, y esto 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. En general, una minicomputadora, es un sistema multiproceso (varios procesos en paralelo) capaz de soportar de 10 hasta 200 usuarios simultneamente. Actualmente se usan para almacenar grandes bases de datos, automatizacin industrial y aplicaciones multiusuario.16

Microcomputadoras o PCs.
16

Organizacin y Arquitectura de Computadores. William Stallings - 7 edicin

18

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. Las PCs son computadoras para uso personal y relativamente son baratas y actualmente se encuentran en las oficinas, escuelas y hogares. El trmino PC se deriva de que para el ao de 1981 , IBM, sac a la venta su modelo "IBM PC", la cual se convirti en un tipo de computadora ideal para uso "personal", de ah que el trmino "PC" se estandariz y los clones que sacaron posteriormente otras empresas fueron llamados "PC y compatibles", usando procesadores del mismo tipo que las IBM , pero a un costo menor y pudiendo ejecutar el mismo tipo de programas. Existen otros tipos de microcomputadoras, como la Macintosh, que no son compatibles con la IBM, pero que en muchos de los casos se les llaman tambin "PCs", por ser de uso personal. En la actualidad existen variados tipos en el diseo de PCs: 1. 2. 3. Computadoras personales, con el gabinete tipo mini torre, separado del monitor. Computadoras personales porttiles "Laptop" o "Notebook". Computadoras personales ms comunes, con el gabinete horizontal, separado del monitor. 4. Computadoras personales que estn en una sola unidad compacta el monitor y el CPU. 5. Las computadoras "laptops" son aquellas computadoras que estn diseadas para poder ser transportadas de un lugar a otro. Se alimentan por medio de bateras recargables, pesan entre 2 y 5 kilos y la mayora trae integrado una pantalla de LCD (Liquid Crystal Display). 6. Estaciones de trabajo o Workstations

Las estaciones de trabajo se encuentran entre las minicomputadoras y las macrocomputadoras (por el procesamiento). Las estaciones de trabajo son un tipo de computadoras que se utilizan para aplicaciones que requieran de poder de procesamiento moderado y relativamente capacidades de grficos de alta calidad.

19

1.2.1.3 Caractersticas Las caractersticas ms importantes a considerar al escoger un CPU para usarlo en una aplicacin, son: Modelo del programador (Conjunto de registros que el programador puede utilizar), forman el modelo mental del CPU que el programador utiliza al programar en ensamblador. Conjunto de instrucciones que puede ejecutar el CPU Modos de direccionamiento que pueden usarse para obtener los operandos de las instrucciones. Ciclo de instruccin (el conjunto de pasos que realiza el CPU para procesar cada instruccin) Buses de interconexin, usados para que el CPU lea y escriba a la memoria y a los dispositivos de entrada y salida.17

CPU Es el cerebro del computador. Se encarga de controlar el flujo de la informacin entre todos los componentes y de procesar las instrucciones de los distintos programas en uso, en un determinado momento. Sus componentes son:

17

Organizacin y Arquitectura de Computadores. William Stallings - 7 edicin

20

Unidad de Control: coordina las acciones que se llevan a cabo en la CPU, como decodificar e interpretar informacin desde un componente a otro, entre otras tareas. Unidad Aritmtica y Lgica: Realiza las operaciones aritmticas como adicin, sustraccin, divisin, multiplicacin y las lgicas como mayor que, menor que, mayor o igual, menor o igual. Memoria Principal RAM: (Random Access Memory) Es una zona de almacenamiento temporal, entre cuyas caractersticas estn ser de lectura y escritura, pudindose acceder a la informacin aqu almacenada, con el objeto de modificarla. Se le considera reutilizable. Es voltil, reteniendo la informacin basndose en energa elctrica. Al apagarse el computador, todo lo contenido se pierde. ROM: (Read Only Memory) Es permanente, ya que lo que permanece en la ROM no se pierde aunque el computador se apague.18 Su funcin principal es guardar informacin inicial que el computador necesita para colocarse en marcha una vez que se enciende. Solo sirve para leer. Se puede leer la informacin desde esta memoria y no recibir informacin. CACH Tiene la informacin que el procesador ocupar a continuacin. Memorias Auxiliares Son los dispositivos fsicos magnticos en que se almacena informacin en forma permanente, con el objeto de recuperarla posteriormente. Cintas magnticas: Sistema de almacenamiento antiguo. Su apariencia era parecida a las cintas de video o a cintas de film.

18

Organizacin y Arquitectura de Computadores. William Stallings - 7 edicin

21

Disquetes: Son unidades magnticas de 31/2 (pulgadas) y que en ellos se almacenan hasta 1.44 Mb (Megabyte) de informacin, pudindose decir que es igual a 1.474 Kb (Kilobyte). Son borrables y reutilizables, pudindose escribir varias veces sobre la informacin almacenada anteriormente.

Disco duro: Disco metlico que se encuentra en el interior del computador donde se almacena mucha informacin (programas, datos numricos, documentos, etc.). Se puede decir que es la bodega del computador.

CD ROM: Son discos compactos que se graban por medio del lser. Son regrabables ya la mayora de ellos. Aceptan gran cantidad de informacin.

Unidades de medida de la informacin almacenada La unidad que se utiliza para medir la informacin es el byte. Depender de la cantidad de caracteres (bytes) archivados.19 1.000 bytes = 1 Kilobyte (Kb) =1.024 bytes 1.000.000 de bytes = 1 Megabyte (Mb) = 1.024 Kb 1.000 de bytes = 1 Gigabyte (Gb) = 1.024 Mb 1.000 de bytes = 1 Terabyte (Tb) = 1.024 Gb

1.2.1.4 Funcionamiento Funcionamiento: La operacin de cada componente individual como parte de la estructura.

19

Organizacin y Arquitectura de Computadores. William Stallings - 7 edicin

22

Tanto la estructura como el funcionamiento de un computador son en esencia sencillos. En trminos generales solo hay cuatro funciones bsicas que un computador puede llevar a cabo: Procesamiento de datos Almacenamiento de datos Transferencia de datos Control

El computador, por supuesto, tiene que ser capaz de procesar datos. Los datos pueden adoptar una gran variedad de formas, y el rango de los requisitos de procesado es amplio. Sin embargo, veremos que hay solo unos pocos mtodos o tipos fundamentales de procesado de datos. Tambin es esencial que un computador almacene datos. Incluso si el computador est procesando datos al vuelo (es decir, los datos se introducen, se procesan, y los resultados se obtienen inmediatamente), el computador tiene que guardar temporalmente al menos aquellos datos con los que est trabajando en un momento dado. As hay al menos una funcin de almacenamiento de datos a largo plazo. El computador almacena ficheros de datos para que se recuperen y actualicen en un futuro. El computador tienes que ser capaz de transferir datos entre el mismo y el mundo exterior. El entorno de operacin del computador se compone de dispositivos que sirven bien como fuente o bien como destino de datos. Cuando se reciben o se llevan datos a un dispositivo que est directamente conectado con el computador, el proceso se conoce como entrada-salida (E/S), y este dispositivo recibe el nombre de perifrico. El proceso de transferir datos a largas distancias, desde o hacia un dispositivo remoto, recibe el nombre de comunicacin de datos. Finalmente, debe haber control, el nmero de operaciones posibles que pueden ser realizadas es pequeo. El computador puede funcionar como un dispositivo de transferencia de datos, simplemente transfiriendo datos de un perifrico o lnea de comunicaciones a otro. Tambin puede funcionar como un dispositivo de almacenamiento de datos, con datos transferidos desde un entorno externo al almacn de datos del computador (leer) y viceversa (escribir). Los dos diagramas siguientes muestran

23

operaciones que implican procesamiento de datos, en datos o bien almacenados o en trnsito entre el almacn y el entrono externo. La funcin bsica de una computadora es ejecutar programas, el cual est compuesto de un conjunto de instrucciones almacenadas en memoria. La CPU es la encargada de ejecutar las instrucciones especficas del programa. Para comprender esta funcin debe considerarse el detalle del proceso de ejecucin del programa. Desde el punto de vista ms simple, se considera el procesamiento de una instruccin en dos etapas: la CPU lee (busca, trae; fetch en ingls) la instruccin de memoria y la ejecuta. La ejecucin del programa consiste en la repeticin del proceso de traer y ejecutar la instruccin. Buscar una instruccin es una operacin comn a todas las instrucciones, y consiste en la lectura de la instruccin de una localidad de memoria. La ejecucin de la instruccin puede suponer varias operaciones y depende de la naturaleza de la instruccin. El procesamiento de una instruccin se denomina ciclo de instruccin. Se representa en la figura 4. Los dos pasos se denotan como ciclo de bsqueda y ciclo de ejecucin. La ejecucin del programa se detiene slo si la computadora se desconecta, se produce algn error o se encuentra una instruccin que detiene la computadora.20

20

Organizacin y Arquitectura de Computadores. William Stallings - 7 edicin

24

Al principio de cada ciclo de instruccin, la CPU busca o trae una instruccin de memoria. En una CPU tpica, se utiliza un registro llamado contador de programa (PC program counter) para apuntar a la instruccin que debe traerse a continuacin. A no ser que se indique otra cosa, la CPU siempre incrementa el PC despus de traer una instruccin para determinar de dnde traer la siguiente instruccin de la secuencia (siguiente direccin de memoria).21 La instruccin trada se almacena en un registro de la CPU conocido como registro de instruccin (IR instruction register). La CPU interpreta la instruccin y realiza la accin requerida. En general, sta puede ser de cuatro tipos: CPU - Memoria: Deben transferirse datos desde la CPU a la memoria o viceversa. CPU - E/S: Deben transferirse datos a o desde el exterior mediante el mdulo de E/S. Procesamiento de datos: La CPU realizar alguna operacin aritmtica o lgica con los datos. Control: Una instruccin puede especificar que la secuencia de ejecucin se altere por lo que la CPU debe poner el contador de programa al valor adecuado.

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. La CPU necesita solo cuatro elementos para realizar dichas operaciones con los datos: Las instrucciones, un puntero a las instrucciones (Instruccin Pointer), algunos registros, y la unidad aritmtica lgica.

21

Organizacin y Arquitectura de Computadores. William Stallings - 7 edicin

25

o o

El Instruccin Pointer le indica a la CPU en que lugar de la memoria necesita ser ubicada la instruccin. Los Registros son lugares de almacenamiento temporario ubicados en la CPU. Un registro contiene datos que esperan ser procesados por cualquier instruccin, o datos que ya han sido procesados, como por ejemplo, la suma o resta de algn nmero, etc.

La unidad aritmtica lgica es una especie de calculadora que ejecuta funciones matemticas y lgicas dedicadas a las instrucciones.

Por otro lado, la CPU contiene algunas partes adicionales que ayudan a dichos componentes principales a realizar el trabajo: o o Un buscador de instrucciones (fetch), que recoge las instrucciones de la RAM o un rea de memoria localizada en la CPU. Un decodificador de instrucciones, que toma la instruccin desde el buscador y la traslada hasta que la CPU la entienda. Luego determina cuales son los pasos necesarios para cumplir con dicha instruccin. o La unidad de control, maneja y coordina todas las operaciones del chip. Este le permite saber a la unidad aritmtica lgica cuando debe calcular, al buscador cuando debe grabar una cifra, y al decodificador cuando trasladar la cifra dentro de una instruccin. 1.2.2 Memoria 1.2.2.1 Arquitecturas La memoria de un ordenador se puede definir como los circuitos que permiten almacenar y recuperar la informacin. En un sentido ms amplio, puede referirse tambin a sistemas externos de almacenamiento, como las unidades de disco o de cinta.

Hoy en da se requiere cada vez ms memoria para poder utilizar complejos programas y para gestionar complejas redes de computadores.

26

1.2.2.2 Tipos Clasificacin de memorias semiconductoras de acceso aleatorio Las memorias se clasifican, por la tecnologa empleada y, adems segn la forma en que se puede modificar su contenido, A este respecto, las memorias se clasifican en dos grandes grupos: a) Memorias RAM: Son memorias en las que se puede leer y escribir, si bien su nombre (Random access memory) no representa correctamente este hecho. Por su tecnologa pueden ser de ferritas (ya en desuso) o electrnicas. Dentro de stas ltimas hay memorias estticas (SRAM, static RAM), cuya clula de memoria est basada en un biestable, y memorias dinmicas (DRAM, dynamic RAM, en las que la clula de memoria es un pequeo condensador cuya carga representa la informacin almacenada. Las memorias dinmicas necesitan circuitos adicionales de refresco ya que los condensadores tienen muy poca capacidad y, a travs de las fugas, la informacin puede perderse, por otra parte, son de lectura destructiva. b) Memorias ROM (Read 0nly Memory): Son memorias en las que slo se puede leer. Pueden ser: o o o o ROM programadas por mscara, cuya informacin se graba en fbrica y no se puede modificar. PROM, o ROM programable una sola vez. EPROM (erasable PROM) o RPROM (reprogramable ROM), cuyo contenido puede borrarse mediante rayos ultravioletas para regrabarlas. EAROM (electrically alterable ROM) o EEROM (electrically erasable ROM), que son memorias que est en la frontera entre las RAM y las ROM ya que su contenido puede regrabarse por medios elctricos, estas se diferencian

27

de las RAM en que no son voltiles. En ocasiones a este tipo de memorias tambin se las denomina NYRAM (no voltil RAM). o Memoria FLASH, denominada as por la velocidad con la que puede reprogramarse, utilizan tecnologa de borrado elctrico al igual que las EEPROM. Las memorias flash pueden borrar-e enteras en unos cuantos segundos, mucho ms rpido que las EPROM. Bsicamente las memorias ROM se basan en una matriz de diodos cuya unin se puede destruir aplicando sobre ella una sobretensin (usualmente comprendida entre -12.5 y -40 v.). De fbrica la memoria sale con 1's en todas sus posiciones, para grabarla se rompen las uniones en que se quieran poner 0's. Esta forma de realizar la grabacin se denomina tcnica de los fusibles. 1.2.2.3 Caractersticas La memoria de un ordenador se puede definir como los circuitos que permiten almacenar y recuperar la informacin. En un sentido ms amplio, puede referirse tambin a sistemas externos de almacenamiento, como las unidades de disco o de cinta. Hoy en da se requiere cada vez ms memoria para poder utilizar complejos programas y para gestionar complejas redes de computadores. Una memoria vista desde el exterior. Para efectuar una lectura se deposita en el bus de direcciones la direccin de la palabra de memoria que se desea leer y entonces se activa la seal de lectura (R); despus de cierto tiempo (tiempo de latencia de la memoria), en el bus de -+datos aparecer el contenido de la direccin buscada. Por otra parte, para realizar una escritura se deposita en el bus de datos la informacin que se desea escribir y en el bus de direcciones la direccin donde deseamos escribirla, entonces se activa la seal de escritura (W), pasado el tiempo de latencia, la memoria escribir la informacin en la direccin deseada. Internamente la memoria tiene un registro de direccin (MAR, memory address register), un registro buffer de memoria o registro de datos (MB, memory buffer, o MDR, memory data register) y, un decodificador como se ve en la figura 3-2. Esta forma de estructurar la memoria se llama organizacin lineal o de una dimensin.

28

1.2.2.4 Funcionamiento Una memoria RAM esttica con organizacin lineal cada clula de memoria toma como se muestra en la figura. En este esquema las primeras puertas AND slo son necesarias en el una de las clulas de cada palabra. Se debe comentar la necesidad de la puerta de tres estados a la salida del biestable: esta puerta se pone para evitar que se unan las salidas de los circuitos de las clulas de diferentes palabras a travs del hilo de bit. Si esa puerta no se pusiera (o hubiera otro tipo de puerta en su lugar, como una puerta AND) la informacin correspondiente a la palabra activa entrara por los circuitos de salida de las dems clulas, lo que los daara. Organizar la memoria de esta forma, tiene el inconveniente de que la complejidad del decodificador crece exponencialmente con el nmero de entradas y, en una memoria de mucha capacidad, la complejidad del decodificador la hace inviable. Esto hace necesaria una alternativa que simplifique los decodificadores. Esta alternativa la constituye la organizacin en dos dimensiones en que los bits del registro de direccin se dividen en dos partes y cada una de ellas va a un decodificador diferente. En este caso, las lneas procedentes de ambos decodificadores (X e Y) se cruzan formando un sistema de coordenadas en que cada punto de cruce corresponde a una palabra de memoria. Dado que en cada decodificador slo se activa una lnea, slo se activar la palabra correspondiente al punto de cruce de las dos lneas activadas. Fcilmente se puede comprender que los decodificadores se simplifican mucho ya que cada uno tiene la mitad de entradas que en el caso anterior. Hay que decir, sin embargo, que la clula de memoria se complica un poco porque hay que aadir una puerta AND en cada palabra para determinar si coinciden las lneas X e Y. La organizacin de la memoria en dos dimensiones tambin es til para las memorias dinmicas ya que el refresco de estas memorias se realiza por bloques y stos pueden coincidir con una de las dimensiones (la que corresponda a los bits de direccin de mayor peso). En la prctica, las memorias dinmicas son ms lentas que las estticas y adems son de lectura destructiva, pero resultan ms baratas, aunque necesiten circuitos de refresco, si la memoria no es de mucha capacidad.

29

1.2.3 Dispositivos de I/O 1.2.3.1 Arquitecturas 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) enviada 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 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.

30

1.2.3.2 Tipos Dispositivos de entrada Estos dispositivos permiten al usuario del ordenador introducir datos, comandos y programas en la CPU. El dispositivo de entrada ms comn es un teclado similar al de las mquinas de escribir. La informacin introducida con el mismo, es transformada por el ordenador en modelos reconocibles. Otros dispositivos de entrada son los lpices pticos, que transmiten informacin grfica desde tabletas electrnicas hasta el ordenador; joysticks y el ratn, que convierte el movimiento fsico en movimiento dentro de una pantalla de ordenador; los escneres luminosos, que leen palabras o smbolos de una pgina impresa y los traducen a configuraciones electrnicas que el ordenador puede manipular y almacenar; y los mdulos de reconocimiento de voz, que convierten la palabra hablada en seales digitales comprensibles para el ordenador. Tambin es posible utilizar los dispositivos de almacenamiento para introducir datos en la unidad de proceso. Otros dispositivos de entrada, usados en la industria, son los sensores.

Dispositivos de Entrada/Salida Los dispositivos de almacenamiento externos, que pueden residir fsicamente dentro de la unidad de proceso principal del ordenador, estn fuera de la placa de circuitos principal. Estos dispositivos almacenan los datos en forma de cargas sobre un medio magnticamente sensible, por ejemplo una cinta de sonido o, lo que es ms comn, sobre un disco revestido de una fina capa de partculas metlicas. Los dispositivos de almacenamiento externo ms frecuentes son los disquetes y los discos duros, aunque la mayora de los grandes sistemas informticos utiliza bancos de unidades de almacenamiento en cinta magntica. Los discos flexibles pueden contener, segn sea el

31

sistema, desde varios centenares de miles de bytes hasta bastante ms de un milln de bytes de datos. Los discos duros no pueden extraerse de los receptculos de la unidad de disco, que contienen los dispositivos electrnicos para leer y escribir datos sobre la superficie magntica de los discos y pueden almacenar desde varios millones de bytes hasta algunos centenares de millones. La tecnologa de CD-ROM, que emplea las mismas tcnicas lser utilizadas para crear los discos compactos (CD) de audio, permiten capacidades de almacenamiento del orden de varios cientos de megabytes (millones de bytes) de datos. Tambin hay que aadir los recientemente aparecidos DVD que permiten almacenar ms de 4 Gb de informacin.

Dispositivos de salida Estos dispositivos permiten al usuario ver los resultados de los clculos o de las manipulaciones de datos de la computadora. El dispositivo de salida ms comn es la unidad de visualizacin, que consiste en un monitor que presenta los caracteres y grficos en una pantalla similar a la del televisor. Por lo general, los monitores tienen un tubo de rayos catdicos como el de cualquier televisor, aunque los ordena-dores pequeos y porttiles utilizan hoy pantallas de cristal lquido (LCD, acrnimo de Liquid Crystal Displays) o electroluminiscentes. Otros dispositivos de salida ms comunes son las impresoras, que permiten obtener una copia impresa de la informacin que reside en los dispositivos de almacenamiento, las tarjetas de sonido y los mdem. Un mdem enlaza dos ordenadores transformando las seales digitales en analgicas para que los datos puedan transmitirse a travs de las lneas telefnicas convencionales. 1.2.3.3 Caractersticas Vamos a sealar las funciones que debe realizar un computador para ejecutar trabajos de entrada/salida: Direccionamiento o seleccin del dispositivo que debe llevar a cabo la operacin de E/S. Transferencia de los datos entre el procesador y el dispositivo (en uno u otro sentido). Sincronizacin y coordinacin de las operaciones.

32

Esta ltima funcin es necesaria debido a la deferencia de velocidades entre los dispositivos y la CPU y a la independencia que debe existir entre los perifricos y la CPU (por ejemplo, suelen tener relojes diferentes). Se define una transferencia elemental de informacin como la transmisin de una sola unidad de informacin (normalmente un byte) entre el procesador y el perifrico o viceversa. Para efectuar una transferencia elemental de informacin son precisas las siguientes funciones: Establecimiento de una comunicacin fsica entre el procesador y el perifrico para la transmisin de la unidad de informacin. Control de los perifricos, en que se incluyen operaciones como prueba y modificacin del estado del perifrico. Para realizar estas funciones la CPU gestionar las lneas de control necesarias. Definiremos una operacin de E/S como el conjunto de acciones necesarias para la transferencia de un conjunto de datos (es decir, una transferencia completa de datos). Para la realizacin de una operacin de E/S se deben efectuar las siguientes funciones: Recuento de las unidades de informacin transferidas (normalmente bytes) para reconocer el fin de operacin. Sincronizacin de velocidad entre la CPU y el perifrico. Deteccin de errores (e incluso correccin) mediante la utilizacin de los cdigos necesarios (bits de paridad, cdigos de redundancia cclica, etc.) Almacenamiento temporal de la informacin. Es ms eficiente utilizar un buffer temporal especfico para las operaciones de E/S que utilizan el rea de datos del programa. Conversin de cdigos, conversin serie/paralelo, etc. 1.2.3.4 Funcionamiento Las capas que hacen parte de la Arquitectura del Sistema de E/S son las siguientes: Interfaz del Sistema Operativo para E/S Proporciona servicios de E/S sncrona y asncrona a las aplicaciones y una interfaz homognea para poderse comunicar con los manejadores de los dispositivos, ocultando detalles de bajo nivel.

33

Sistema de Archivos Proporciona una interfaz homognea a travs del sistema de archivos virtuales, para acceder a todos los Sistemas de Archivos que proporciona el Sistema Operativo (NTFS, FFS, SV, FAT, etc.). Permite acceder a los manejadores de dispositivos de almacenamiento de forma transparente, incluyendo en muchos casos, como el caso de NFS o NTFS, accesos remotos a travs de redes. Gestor de Redes Proporciona una interfaz homognea para acceder a todos los sistemas de red que proporciona el Sistema Operativo (TCP/IP, NOVEL, etc). Adems, permite acceder a los manejadores de cada tipo de red particular de forma transparente. Gestor de Bloques Admite nicamente operaciones a nivel de bloques e interacciona con la cache de bloques para optimizar la E/S. Los Sistemas de Archivos y otros dispositivos lgicos con acceso al nivel de bloques traducen las operaciones del formato del usuario al de bloques que entiende el dispositivo y las pasan al gestor de bloques. Gestor de Cache Optimiza las E/S mediante la gestin de almacenamiento intermedio de memoria para dispositivos de tipo bloques. El tamao de la cache de bloques vara dinmicamente en funcin de la memoria RAM disponible, y los bloques se escriben a los dispositivos segn la poltica que se tenga definida. Manejadores de Dispositivos Proporcionan operaciones de alto nivel sobre los dispositivos y traduce en su mbito interno las operaciones de control de cada dispositivo en particular. Los Manejadores se comunican con los dispositivos reales mediante puertos o zonas de memoria especiales.

34

Unidad 2

35

Unidad 2 Comunicacin interna en la computadora 2.1 Buses Un bus es el camino elctrico comn entre varios dispositivos. Los buses pueden clasificarse por su funcin. Pueden usarse internamente en la CPU para transportar datos a y de la ALU, o externos a la CPU para conectarla con la memoria o los dispositivos de E/S.22 Elemento responsable de establecer una correcta comunicacin entre dos o ms dispositivos del ordenador, una caracterstica clave de un bus es que se trata un medio de transmisin compartido, es por lo tanto el dispositivo principal de comunicacin. El bus, quiz fuera mejor decir los buses ya que existen varios con diversas funciones, es un circuito que conecta el procesador central con todo el resto de componentes de la computadora. El bus sirve para que le llegue al procesador la informacin y las solicitudes de trabajo, desde el exterior, y enve hacia afuera los resultados del trabajo realizado.

22

Andrew S. Tanenbaum. Organizacin de computadoras. 4 Edicin. Capitulo 3. Pagina 156

36

2.1.1 Bus local Bus entre la CPU, la memoria y dispositivos perifricos que corre a la velocidad de la CPU. En un computador personal, el bus VL y el PCI suministran una transferencia de datos ms rpida que el bus ISA tradicional. A partir del 386, cuando las velocidades de la CPU comenzaron a acelerarse enormemente, los computadores personales vienen con dos buses. La CPU tiene acceso a sus chips de memoria a travs de una va de acceso interna de 32 bits (63 bits con el Pentium), conocida como bus local, a la velocidad ms alta del reloj de la CPU (25MHz, 33MHz, etc.). Sin embargo, tradicionalmente ha tenido acceso a sus dispositivos perifricos en forma ms lenta, en un bus ISA de 16 bits slo a 8MHz. Incluso en el bus EISA de 32 bits inherentemente ms rpido corre en forma lenta para acomodar las tarjetas ISA, que se conectan a ste. Los estndares de bus VL de VESA y de bus local PCI de Intel se crearon para aprovechar las velocidades ms altas de la CPU. El PC corre a 33MHz; el bus VL hasta a 40MHz; esperndose ms altas velocidades. Las tarjetas base ISA y EISA se construyen ahora con ranuras adicionales para el bus VL o las tarjetas PCI, o ambos.

2.1.2 Bus de datos Un bus de datos es un dispositivo mediante el cual al interior de una computadora se transportan datos e informacin relevante. El bus de datos propiamente dicho, transporta informacin entre dispositivos de hardware como teclado, mouse, impresora, monitor y tambin de almacenamiento como el disco duro o memorias mviles. Estas transferencias que se dan a travs del Bus de Datos son gobernadas por varios dispositivos y mtodos, de los cuales el Controlador PCI, "Peripheral Component Interconnect", Interconexin de componentes Perifricos, es uno de los principales. Su trabajo equivale, simplificando mucho el asunto, a una central de semforos para el trfico en las calles de una ciudad.

2.1.3 Bus de direcciones El bus de direcciones es un canal del microprocesador totalmente independiente del bus de datos donde se establece la direccin de memoria del dato en trnsito. El bus de direccin consiste en el conjunto de lneas elctricas necesarias para establecer una direccin. La capacidad de la memoria que se puede direccionar depende de la cantidad de bits que conforman el bus de direcciones, siendo 2n (dos elevado a la ene) el tamao mximo en bytes del banco de memoria que se podr direccionar con n lneas. Por ejemplo, para direccionar una memoria de 256 bytes, son necesarias al menos 8 lneas, pues 28 = 256. Adicionalmente pueden ser necesarias lneas de control para sealar cuando la direccin est disponible en el bus. Esto depende del diseo del propio bus.

37

2.1.4 Bus de control El bus de control gobierna el uso y acceso a las lneas de datos y de direcciones. Como estas lneas estn compartidas por todos los componentes, tiene que proveerse de determinados mecanismos que controlen su utilizacin. Las seales de control transmiten tanto rdenes como informacin de temporizacin entre los mdulos. Mejor dicho, es el que permite que no haya colisin de informacin en el sistema.

2.1.5 Buses normalizados Todos los buses poseen unas especificaciones normalizadas, como son:- protocolos de transmisin de datos,- velocidades y temporizacin de las transferencias,- anchuras de los sub-buses,- y sistema fsico de conexin (conectores estandarizados).

Un bus debe cumplir las siguientes especificaciones: Nivel mecnico En el nivel mecnico deben definirse aspectos tales como el tipo de soporte, el nmero de hilos del bus, el tipo de conector, etc. Por ejemplo, en los buses para la conexin de placas impresas, hay que definir, entre otras cosas, la altura de las placas, los conectores y las posiciones de stos, para garantizar la compatibilidad de las distintas placas. Nivel elctrico El nivel elctrico (u ptico, en el caso de emplear como soporte la fibra ptica), debe especificar el circuito equivalente de los dispositivos que se conectan a las lneas del bus, tanto de los emisores como de los receptores. Tambin debe especificar las tensiones y corrientes utilizadas para establecer el valor de las seales. En este nivel, debe quedar definida la forma en la que los distintos dispositivos deben conectarse elctricamente.

Nivel lgico Este nivel define estticamente todas las lneas del bus, estableciendo las equivalencias entre los valores elctricos de las seales y sus valores lgicos. Por ejemplo, se definir que los hilos 0-7 su nivel alto (5V) equivale a un 1 lgico y los hilos 8-15 su nivel activo es a nivel bajo (0V). Nivel de temporizacin bsica En este nivel se establecen los cronogramas para la realizacin de la operacin ms elemental del bus, esto es, de un ciclo.

38

Nivel de transferencia elemental En este nivel se establece el procedimiento empleado para realizar una transferencia de un dato por el bus. En el caso de un bus de ciclo completo, este nivel coincide con el anterior puesto que la temporizacin bsica establece todas las condiciones necesarias para transferir un dato. Sin embargo, en el caso de un bus de ciclo partido, se especifican las ranuras que forman cada tipo de ciclo o transferencia. 2.2 Direccionamiento El direccionamiento de la memoria puede considerarse desde dos puntos de vista: fsico y lgico. El primero se refiere a los medios electrnicos utilizados en el ordenador para acceder a las diversas posiciones de memoria. El segundo, a la forma en que se expresan y guardan las direcciones. En este epgrafe nos referiremos exclusivamente a la forma en que son tratadas las direcciones de memoria del PC. Advirtiendo desde ahora, que este asunto, como muchos otros, ha sufrido mutaciones a lo largo del tiempo, y que arrastra modos que solo tienen una justificacin de tipo histrico, en razn de las caractersticas del hardware de los primeros PCs. El sistema de numeracin utilizado por los informticos para representar las direcciones de memoria en el texto escrito no suele ser la decimal (como parecera razonable), sino el hexadecimal. La razn es que los nmeros hexadecimales guardan cierta concordancia con las potencias de 2. Por ejemplo, un bus de direcciones de 8 bits puede acceder a 256 posiciones (en hexadecimal es el rango 00-FFh). En caso de direcciones de 16 bits, se puede acceder 65.536 posiciones (es el rango 0000-FFFFh). El bus de direcciones del PC XT, que tiene 20 bits, las posibilidades son 1.048.576 (es el rango 00000-FFFFFh). Como veremos a continuacin, puede utilizarse una doble notacin: Direcciones absolutas, indicadas por un hexadecimal de cinco dgitos, en el rango 00000-FFFFFh, o en direcciones segmentadas, que utiliza dos grupos de cuatro dgitos hexadecimales. 2.2.1 Modo real El modo de direccionamiento real solo puede direccionarse 1MB de memoria, del 00000 al FFFFFh. El procesador solo puede ejecutar un programa a la vez, pero puede interrumpir en forma momentnea ese programa para procesar las solicitudes (interrupciones) de los perifricos. Los programas de aplicacin pueden leer y modificar cualquier rea de la RAM y pueden leer pero no modificar cualquier rea de la ROM.23 La solucin consisti en expresar las direcciones mediante dos palabras de 16 bits, denominadas desplazamiento y segmento que, por consiguiente, pueden ser representadas mediante un hexadecimal de cuatro cifras en el rango 0000-FFFFh. Estas dos palabras pueden ser traducidas a una direccin de 20 bits mediante la operacin
23

Kip R. Irvine. Lenguaje ensamblador para computadoras basadas en Intel. 5 Edicin. Capitulo 2. Pagina 39

39

denominada suma con desplazamiento. Por ejemplo, suponiendo que el desplazamiento y el segmento fuesen respectivamente ABCDh y E1FAh, la forma de obtener la direccin resultante es como sigue: Una de las palabras, el desplazamiento, se desplaza una posicin aadindole un cero a la derecha (equivale a multiplicarla por 16, ya que las direcciones se expresan en hexadecimal). En nuestro caso, si el desplazamiento es ABCDh resulta ABC D0h?. Puesto que inicialmente es un hexadecimal de 4 cifras (ABCD en nuestro caso), el desplazamiento la transforma en un hexadecimal de 5 cifras (ABCD0). El valor obtenido se suma con el valor del segmento (E 1 F Ah), as que la direccin resultante, sera 69ECAh. Para distinguirla de la anterior, esta ltima forma se denomina direccin absoluta. Modelos de memoria DOS Los programas DOS requieren la existencia de una zona contigua de memoria convencional (preferiblemente de 640 KB), aunque en realidad este espacio debe ser compartido con la tabla de vectores de interrupcin; rea de datos de la ROM BIOS ( H4) y buena parte del propio Sistema Operativo DOS. Por ejemplo, controladores de dispositivos (los famosos device= del fichero CONFIG.SYS). Como consecuencia de la escasez de espacio, se desarrollaron tcnicas para permitir que controladores de dispositivos y TSRs [2] se cargaran en otras zonas de memoria. Generalmente este tipo de instrucciones de carga se sitan en los ficheros CONFIG.SYS y AUTOEXEC.BAT, y aprovechan que no todo el espacio de memoria superior es utilizado por el Sistema, de modo que existen zonas ociosas en las que podan situarse los citados controladores. Memoria expandida Muy pronto se comprob que el Megabyte de memoria inicialmente previsto era claramente insuficiente, por lo que se arbitraron diversos tipos de soluciones. Los ingenieros de software, en cooperacin con los de hardware, debieron hacer verdaderos juegos malabares para tratar de suplir la cortedad de miras de los diseadores del PC. Poco ms tarde Quadram, Ahston-Tate y el fabricante de tarjetas de memoria AST publicaron otra ms flexible denominada EEMS (Enhanced EMS); adems, la especificacin LIM fue perfeccionada para proporcionar 32 MB adicionales mediante una combinacin hardware/software. El procedimiento consista en aadir al ordenador una placa adicional de memoria de conmutacin de bancos de hasta 32 MB, que era conducida por un driver adecuado, el EMM (Expanded Memory Manager) cargado por el CONFIG.SYS. El truco consiste en que en un rea en desuso de la memoria superior , se sita una zona 64 KB, denominada marco de pgina, en la que existen 4 secciones de 16 KB (ventanas) que se emplean como punteros a una pgina ms grande en la memoria de conmutacin de bancos. Los programas podan utilizar segmentos de datos muy grandes ya que el gestor de memoria EMM se encargaba de traer automticamente a la ventana la zona necesaria en cada momento. 40

2.2.2 Modo protegido En el modo protegido, el procesador puede ejecutar varios programas al mismo tiempo. A cada proceso le asigna un total de 4GB de memoria. A cada programa se le puede asignar su propia rea reservada de memoria, y los programas no pueden acceder de manera accidental al cdigo y los datos de los dems programas.24 La especificacin EMS de Lotus/Intel/Microsoft, permita manejar grandes cantidades de datos, pero no resolva el problema de grandes cantidades de cdigo, ya que el segmento de cdigo no poda manejarse de esta forma. Esto presentaba problemas no solo para programas grandes, sino para cualquier intento de multiprogramacin, cuando varios programas deben coexistir en memoria. Como siempre, la solucin vino de la mano de otro avance tecnolgico; en este caso, la aparicin del procesador Intel 80286, que en 1982 inici la era del PC AT. Este micro permite un acceso a memoria que recuerda vagamente la especificacin EMS, pero de forma nativa, ya que los mecanismos estn incluidos en el procesador. Como la poltica de Intel ha sido mantener compatibilidad con los micros anteriores, el 80286 poda trabajar en modo real, imitando el funcionamiento del 8088 , mientras que la nueva forma se denomin modo protegido. El modo protegido utiliza los registros de segmento como punteros a unos nuevos registros de direccin de 24 bits denominados tablas de descripcin (descriptor tables), que permiten acceder a un mximo de 224 (16 M Bytes) de memoria fsica, de forma que los registros de segmento son selectores que marcan el inicio de una direccin de 24 bits. La memoria que se haca accesible mediante este sistema se denomin memoria extendida, para distinguirla de la antigua EMS . La posterior introduccin del 80386, con registros de 32 bits, permiti direccionar hasta 232 (4 G Bytes) de memoria externa. Los nuevos micros incluyeron otras mejoras que permitan al Sistema Operativo un funcionamiento ms cmodo y seguro de las aplicaciones cuando operaba en modo protegido. Los mecanismos pertinentes estaban incluidos en el hardware o al menos este proporcionaba recursos al SO para realizarlos cmodamente, aunque desde luego, para sacar provecho de estas mejoras el Sistema deba estar preparado ex profeso. El DOS no poda utilizarlas, s en cambio los sistemas ms avanzados del momento, como OS/2, Unix o Windows. Manejo de memoria virtual Memoria virtual Esta tcnica consiste en hacer creer al programa que dispone de ms memoria que la fsicamente disponible en RAM. Este artificio tiene sentido porque en ese momento (y actualmente), la memoria extendida era mayor que la fsicamente disponible en muchos sistemas, adems el disco duro era estndar en todos los equipos.

24

Kip R. Irvine. Lenguaje ensamblador para computadoras basadas en Intel. 5 Edicin. Capitulo 2. Pagina 39

41

Esta RAM ficticia se conoce como memoria virtual; una simulacin conocida de antiguo en el mundo de los mainframes, que fue introducida en la informtica personal a partir del 80286. Este procesador ya dispona de un controlador hardware para este menester, de forma que su manejo no significaba una gran sobrecarga para el Sistema. Su funcionamiento se basa en que cuando una aplicacin necesita ms espacio y la memoria fsica est agotada, el controlador de memoria virtual proporciona espacio auxiliar utilizando un fichero de intercambio (Swap file) situado en memoria externa (disco duro generalmente H2), donde se almacena la informacin que no cabe en la RAM. Adems de facilitar la apariencia de ms RAM que la fsicamente disponible, este mecanismo permite que diversas aplicaciones compartan la misma memoria fsica. Aunque para ello se requieran constantes maniobras de carga y descarga (swapping) de trozos del fichero de intercambio a memoria, por lo que el rendimiento global del sistema se resiente si la desproporcin entre el fichero de intercambio y la RAM es muy notable. 2.2.3 Modo real virtual El modo real (tambin llamado modo de direccin real en los manuales de Intel) es un modo de operacin del 80286 y posteriores CPUs compatibles de la arquitectura x86. El modo real est caracterizado por 20 bits de espacio de direcciones segmentado (significando que solamente se puede direccionar 1 MB de memoria), acceso directo del software a las rutinas del BIOS y el hardware perifrico, y no tiene conceptos de proteccin de memoria o multitarea a nivel de hardware. Todos los CPUs x86 de las series del 80286 y posteriores empiezan en modo real al encenderse el computador; los CPUs 80186 y anteriores tenan solo un modo operacional, que era equivalente al modo real en chips posteriores.25 La arquitectura 286 introdujo el modo protegido, permitiendo, entre otras cosas, la proteccin de la memoria a nivel de hardware. Sin embargo, usar estas nuevas caractersticas requiri instrucciones de software adicionales no necesarias previamente. Puesto que una especificacin de diseo primaria de los microprocesadores x86 es que sean completamente compatibles hacia atrs con el software escrito para todos los chips x86 antes de ellos, el chip 286 fue hecho para iniciarse en modo real - es decir, en un modo que tena apagadas las nuevas caractersticas de proteccin de memoria, de modo que pudieran correr sistemas operativos escritos para microprocesadores ms viejos. Al da de hoy, incluso los ms recientes CPUs x86 se inician en modo real al encenderse, y pueden correr el software escrito para cualquier chip anterior. Los sistemas operativos DOS (MS-DOS, DR-DOS, etc.) trabajan en modo real. Las primeras versiones de Microsoft Windows, que eran esencialmente un shell de interface grfica de usuario corriendo sobre el DOS, no eran realmente un sistema operativo por s mismas, corran en modo real, hasta Windows 3.0, que poda correr tanto en modo real como en modo protegido. Windows 3.0 poda correr de hecho en dos sabores de

25

Kip R. Irvine. Lenguaje ensamblador para computadoras basadas en Intel. 5 Edicin. Capitulo 2. Pagina 39

42

modo protegido - el modo estndar, que corra usando modo protegido, y el modo mejorado 386, que adems usaba direccionamiento de 32 bits y por lo tanto no corra en un 286 (que a pesar de tener modo protegido, segua siendo un chip de 16 bits; los registros de 32 bits fueron introducidos en la serie 80386). El Windows 3.1 removi el soporte para el modo real, y fue el primer ambiente operativo de uso masivo que requiri por lo menos un procesador 80286 (no contando con el Windows 2.0 que no fue un producto masivo). Casi todos los sistemas operativos modernos x86 (Linux, Windows 95 y posteriores, OS/2, etc.) cambian el CPU a modo protegido o a modo largo en el arranque.

2.3 Temporizacin Los temporizadores estn aplicacin anloga mas funcionamiento se basa normalmente asociados a circuitos presentes en casi todos los circuitos electrnicos y son la comn de la electrnica de control. Su principio de en el tiempo de descarga de los condensadores (C), una resistencia de carga (R), en lo que se conoce como RC.

Al aplicar momentneamente un voltaje DC al circuito RC, el condensador adquirir una carga por medio de la R asociada. El tiempo que dure en descargarse este voltaje depender principalmente de la capacidad en Faradios del C, y la impedancia de salida del circuito. Esto quiere decir que a mayor valor en Faradios del C, mayor tiempo tomar en descargarse; este tiempo vara proporcionalmente tambin con la impedancia de salida del circuito RC, lo que aplica si el circuito RC tiene que alimentar en su salida elementos electrnicos como LED o transistores etc., etc.

2.3.1 Reloj de Sistema El reloj del sistema es un pulso electrnico usado para sincronizar el procesamiento, entre cada pulso puede haber una sola accin. Los pulsos ciclos se miden en Hertz, dependiendo de la capacidad de este, pueden ser MegaHerz (MHz) GigaHerz (GHZ). Un Hertz es un ciclo por segundo, y mientras ms rpido son los ciclos ms instrucciones se ejecutan y por lo tanto el equipo es mas rpido, pero tambin hay que tomar en cuenta el tamao del bus. El reloj de una computadora se utiliza para dos funciones principales: Para sincronizar las diversas operaciones que realizan los diferentes subcomponentes del sistema informtico. Para saber la hora. El reloj fsicamente es un circuito integrado que emite una cantidad de pulsos por segundo, de manera constante.

Un reloj del sistema reside en la tarjeta madre. Este enva una seal a todos los componentes de la computadora en ritmo, como un metrnomo. Generalmente, este ritmo

43

se genera como una onda cuadrada, como la siguiente: Sin embargo, en realidad la seal de reloj real, cuando se ve con un osciloscopio, se ve ms como el ejemplo que se da a continuacin. Cada onda en esta seal mide un ciclo de reloj. Si el reloj del sistema funciona a 100MHZ, esto significa que hay 100 millones de ciclos del reloj en un segundo. Cada accin en la computadora se marca con un tiempo mediante estos ciclos del reloj y para realizarse, cada accin toma cierto nmero de ciclos del reloj. Cuando se procesa una solicitud de la memoria, por ejemplo, el controlador de la memoria puede informar al procesador que los datos requeridos llegarn en seis ciclos de reloj. Es posible que el CPU y otros dispositivos funcionen ms rpidos o ms lentos que el reloj del sistema. Los componentes de distintas velocidades requieren un factor de multiplicacin o un factor de divisin para sincronizarlos. Por ejemplo, cuando un reloj del sistema de 100MHZ interacta con un CPU de 400MHZ, cada dispositivo entiende que cada ciclo de reloj del sistema es igual a cuatro ciclos de reloj del CPU; stos utilizan un factor de cuatro para sincronizar sus acciones. Mucha gente asume que la velocidad del procesador es la velocidad de la computadora. Sin embargo, la mayor parte del tiempo, el bus del sistema y otros componentes funcionan a distintas velocidades 2.3.2 Reset del Sistema Los reset y las operaciones de interrupcin cargan el contador de programa con un vector que apunta a la nueva localidad desde la cual las instrucciones sern buscadas (fetch). Un reset detiene inmediatamente la ejecucin de la actual instruccin y fuerza al contador de programa a una direccin de inicio conocida. Los registros internos y bits de control son inicializados para que la MCU pueda reanudar la ejecucin de instrucciones. Durante el reset, el sistema de temporizador es inicializado en el conteo de $0000. Los bits de pre escala son borrados, y todas las salidas de los registros de salida de comparacin son iniciados en $FFFF. Todas las entradas de los registros de captura son indeterminadas despus del reset. El registro mascarable de comparacin de salida (OC1M) es limpiado de modo que el comparador OC1 no afecta ninguna terminal de E/S. El reset del sistema iniciar el equipo o forma de mandar al equipo a su estado inicial. Fuentes posibles del reset: RESET DE ALIMENTACION (POR): Es una transicin positiva que genera un reset de alimentacin y es usada solo en condiciones de encendido, no puede emplearse para reducciones en el voltaje de fuentes de alimentacin. Por ejemplo: cuando se mantiene presionada la tecla de encendido por ms de30 segundos. RESET EXTERNO (RESET): Sube un nivel lgico 1 en menos de 2 ciclos de reloj, despus que un dispositivo interno lo desactiva cuando la condicin de reset es detectada, la terminal reset, es dirigida a 0 por un dispositivo interno en4 ciclos de reloj, entonces se desactiva. Si la terminal despus de 2 ciclos de reloj tiene un valor 0 la CPU asume que ocurri un reset externo, si la terminal es alta esto 44

indica que el reset fue iniciado internamente por el sistema o el monitor de reloj. Por ejemplo: cuando se presiona directamente el botn de reset que algunos ordenadores tienen. RESET DE NO ADECUADA OPERACIN DE LA COMPUTADORA (COP):La arquitectura MCU incluye un sistema, este tipo de reset (COP) para proteger contra las fallas del software cuando el COP es habilitado el software es responsable de guardar un temporizador. Por ejemplo: cuando se reinicia el equipo por un error de software RESET DE MONITOR DE RELOJ: Esta basado en un conjunto interno de resistor- capacitor que produce una demora de tiempo sin ningn flanco de reloj, el monitor de reloj puede generar opcionalmente un reset del sistema, la funcin del monitor de reloj puede ser habilitada o deshabilitada por el bit de control. Por ejemplo: cuando el ciclo de reloj disminuye debido a la fuente de energa

2.3.3 Estados de espera Los estados de espera se refieren a extender la longitud de un ciclo para sincronizar el bus del sistema, con algn otro dispositivo ms lento, o en algunos casos alreves. La seal READY del bus se puede usar para extender la longitud del ciclo del bus para igualar una tarjeta lenta o parar el bus del sistema hasta que se sincronice con el ciclo de la tarjeta. Cuando se conectan tarjetas de la PC, un problema comn es igualar la velocidad de los ciclos del bus con la de las tarjetas. Es comn que una tarjeta sea ms lenta que el bus. As, El bus de la PC est diseado para resolver este problema. La seal ready del bus se puede usar para extender la longitud del ciclo del bus para igualar una tarjeta lenta o para el bus del sistema hasta que se sincronice con el ciclo de la tarjeta. Los ciclos del bus 8088 normalmente son de cuatro pulsos y se describen por T1hasta T4. En algunos ciclos el hardware dela PC, automticamente inserta un pulso ocioso extra llamado TW. La seal ready se usa para insertar estados nuevos o adicionales de espera. Debido a que los diferentes ciclos del bus requieren distintos tiempos, la seal ready se debe controlar de manera diferente. El hardware de la PC no inserta estados de espera en los ciclos de lectura o escritura a memoria, sino que esto lo hace la tarjeta usando la seal ready. Si se introduce un estado de espera, entonces el tiempo normal de acceso a la memoria (que es de 460 nseg con un reloj de 5 MHz) se alarga por un periodo de reloj (200 nseg) hasta 660 nseg.

2.4 Interrupciones de hardware Debido a que el procesador no puede procesar mltiples datos al mismo tiempo (procesa un dato a la vez) el sistema de multitareas es en realidad una alternancia de fragmentos de instrucciones de muchas tareas diferentes. Es posible suspender momentneamente un programa que se estaba ejecutando mediante una interrupcin que dure el tiempo que 45

lleva una rutina de servicios de interrupcin. Luego, el programa interrumpido puede continuar ejecutndose. Existen 256 direcciones de interrupcin diferentes.

Una interrupcin se realiza cuando un componente del hardware del ordenador requiere la interrupcin del hardware. Un ordenador posee muchos perifricos. Generalmente, necesitan utilizar recursos del sistema, aunque slo sea para comunicarse con ste. Cuando necesitan un recurso, envan una peticin de interrupcin al sistema para que ste les preste atencin. Cada perifrico cuenta con un nmero de interrupcin llamado IRQ (Interruption request [Peticin de interrupcin]). Una manera de poder entender este proceso es imaginar a cada perifrico tirando de una "cuerda" conectada a una campana para indicarle al ordenador que requiere de su atencin.

De hecho, la "cuerda" es una lnea fsica que conecta la ranura a la placa madre. Para una ubicacin ISA de 8 bits, por ejemplo, hay 8 lneas IRQ (Interruption Request [Peticin de Interrupcin]) que conectan la ranura ISA de 8 bits a la placa madre, IRQ 0 a IRQ7. Estas IRQ son controladas por un "controlador de interrupciones" que verifica qu IRQ tiene mayor prioridad. Para las ranuras de 16 bits, se agregan las IRQ que van desde la 8 a la 15, las cuales requieren de un segundo controlador de interrupciones. La conexin entre los dos grupos de interrupciones se realiza por medio de la IRQ 2 que est conectada a la IRQ 9 (denominada "cascada"). El trmino "cascada" se puede pensar como una manera de "insertar" las IRQ del 8 al 15 entre las IRQ del 1 al 3:

46

Dado que la prioridad se otorga a medida que va aumentando el orden en el nmero de IRQ, y debido a que las IRQ del 8 al 15 se insertan entre las IRQ del 1 al 3, el orden de prioridad es el siguiente: 0 > 1 > 8 > 9 > 10 > 11 > 12 > 13 > 14 > 15 > 3 > 4 > 5 > 6 > 7

Interrupciones Hardware Los IRQ o interrupt request (Pedido de Interrupcin), son las notificaciones de las interrupciones enviadas desde los dispositivos hardware a la CPU, en respuesta a la IRQ, la CPU salta a una direccin una rutina de servicio de interrupcin (ISR), comnmente llamada Interrupt handler (Manejador de interrupciones) - Que se encuentra como una funcin dentro del software manejador de ese dispositivo formando parte del ncleo. As, una funcin manejadora de interrupciones es una funcin del ncleo que ejecuta el servicio de esa interrupcin. Los IRQ se encuentran numerados, y cada dispositivo hardware se encuentra asociado a un nmero IRQ. En la arquitectura IBM PC y compatibles, por ejemplo, IRQ 0 se encuentra asociado al reloj o temporizador, el cual genera 100 interrupciones por segundo, disquete el 6, los discos IDE la 14 y 15. Se puede compartir un IRQ entre varios dispositivos. La siguiente figura, muestra las interrupciones hardware y su correspondiente puerto en el Controlador Programable de Interrupciones (PIC). No se deben confundir los nmeros IRQ entradas al controlador con los nmeros de la interrupcin que son las entradas en la tabla de interrupciones. Los PIC se pueden programar para generar diversos nmeros de interrupcin para cada IRQ. Los Controladores tambin controlan la prioridad de las interrupciones. Por ejemplo, el reloj (en IRQ 0) tiene una prioridad ms alta que el teclado (IRQ 1). Si el procesador est atendiendo una interrupcin del reloj, el PIC no generar una interrupcin para el teclado hasta que ISR del reloj reajusta el PIC. Por otra parte, el reloj puede interrumpir ISR del teclado. El PICs se puede programar para utilizar una variedad de esquemas de la prioridad, pero no se suele hacer esto. Se debe de tener en cuenta que el IRQ 2 del primer PIC, valida o invalida las entradas del Segundo PIC. Algunas interrupciones son fijadas por convenio en la configuracin del PC, as es que los manejadores de los dispositivos solicitan simplemente la interrupcin cuando se inicializan. Por ejemplo esto es lo que lo hace el manejador de disquete, solicita siempre la IRQ 6. Interrupcin IRQ Descripcin 00H - divisin por cero o desbordamiento 02H NMI enmascarable) (interrupcin no-

04H - desbordamiento (EN)

47

08H 0 Temporizador del sistema 09H 1 Teclado 0AH 2 Interrupcin del segundo PIC 0BH 3 COM2 0CH 4 COM1 0DH 5 LPT2 0EH 6 disquetes 0FH 7 LPT1 70H 8 Reloj 71H 9 I/o general 72H 10 I/o general Interrupciones Hardware 73H 11 I/o general 74H 12 I/o general 75H 13 Coprocesador 76H 14 Disco duro 77H 15 I/o general

48

Estructuras de datos para soportar el sistema de interrupciones hardware Las estructuras de datos del sistema de interrupciones: irqaction almacena la direccin de la funcin de manejo de interrupciones. irq_chip contiene las funciones que manejan un controlador de interrupciones particular, es dependiente de la arquitectura. irq_desc vector con una entrada para cada una de las interrupciones que pueden ser atendidos. 2.5 Acceso directo a memoria (DMA) Los perifricos con frecuencia necesitan contar con "memoria prestada" del sistema, la cual utilizarn como bfer. Este bfer ser un rea de almacenamiento temporal que permite que se escriban rpidamente datos de entrada y salida. Para afrontar esta necesidad, se defini un canal de acceso directo a la memoria denominada DMA (Direct Memory Access por sus siglas en ingls). El canal DMA es un acceso a una ubicacin RAM en el ordenador, al que una "Direccin de Inicio RAM" y una "Direccin de Fin" hacen referencia. Este mtodo permite que un perifrico utilice canales especiales que le den acceso directo a la memoria, sin involucrar al microprocesador. Esto permite que el microprocesador se libere de la necesidad de hacer este trabajo. Un ordenador tipo PC cuenta con 8 canales DMA. Los primeros cuatro canales DMA poseen 8 bits mientras que los DMA que van del cuarto al sptimo poseen 16 bits. Normalmente, los canales DMA se asignan de la siguiente manera: DMA0 - libre DMA1 - (tarjeta de sonido)/ libre DMA2 - controlador de disquetes DMA3 - puerto paralelo (puerto de la impresora) DMA4 - controlador del acceso directo a la memoria (redirigido a DMA0) DMA5 - (tarjeta de sonido)/ libre DMA6 - (SCSI)/ libre DMA7 - disponible

Direcciones de base Debido a que a veces los perifricos necesitan intercambiar informacin con el sistema, se les asignan direcciones de memoria para enviar y recibir datos. Estas direcciones se denominan "direcciones de base" (los siguientes trminos tambin se usan algunas veces:

49

"puertos de entrada/salida", "puertos de E/S", "direccin E/S", "direcciones de puertos de E/S", "puertos de base", o "Direcciones de Entrada/Salida"). Por intermedio de esta direccin de base los perifricos se pueden comunicar con el sistema operativo. Por consiguiente, slo puede haber una direccin de base por perifrico. A continuacin, se podr ver una lista de algunas direcciones de base comunes: 060h - teclado 170h/376h - controlador IDE secundario 1F0h/3F6h - controlador IDE primario 220h - tarjeta de sonido 300h - tarjeta de red 330h - tarjeta del adaptador SCSI 3F2h - controlador de la unidad de disquete 3F8h - COM1 2F8h - COM2 3E8h - COM3 2E8h - COM4 378h - LPT1 278h - LPT2

Sin embargo, toda esta informacin es generalmente irrelevante para el usuario medio, que no necesita preocuparse por sta.

Una interrupcin es una lnea que conecta a un perifrico con el procesador. Tambin puede ser una interrupcin del hardware, cuando un componente del hardware de la PC as lo requiere. Por ejemplo, esto sucede cuando se presiona una tecla y el teclado quiere que el procesador lo note. Sin embargo, no se pueden solicitar las 256 interrupciones como interrupciones del hardware. Los diferentes perifricos siempre solicitan interrupciones especficas. Por este motivo, cuando instale y configure tarjetas de expansin, deber asegurarse de que dos perifricos deferentes no usen la misma interrupcin. 50

De hecho, si dos perifricos poseen la misma IRQ, el sistema no sabr a qu hardware deber darle el control...el sistema se bloquear o no funcionar normalmente... generando lo que se denomina conflicto con el hardware. Un conflicto con el hardware no slo se produce cuando dos perifricos sufren la misma interrupcin del hardware. Tambin puede generarse un conflicto si dos perifricos tienen la misma direccin de entrada/salida o si se les asignan los mismos canales DMA. El acceso directo a memoria (DMA, del ingls Direct Memory Access) permite a cierto tipo de componentes de ordenador acceder a la memoria del sistema para leer o escribir independientemente de la CPU principal. Muchos sistemas hardware utilizan DMA, incluyendo controladores de unidades de disco, tarjetas grficas y tarjetas de sonido. DMA es una caracterstica esencial en todos los ordenadores modernos, ya que permite a dispositivos de diferentes velocidades comunicarse sin someter a la CPU a una carga masiva de interrupciones. Una transferencia DMA consiste principalmente en copiar un bloque de memoria de un dispositivo a otro. En lugar de que la CPU inicie la transferencia, la transferencia se lleva a cabo por el controlador DMA. Un ejemplo tpico es mover un bloque de memoria desde una memoria externa a una interna ms rpida. Tal operacin no ocupa el procesador y como resultado puede ser planificado para efectuar otras tareas. Las transferencias DMA son esenciales para aumentar el rendimiento de aplicaciones que requieran muchos recursos. Cabe destacar que aunque no se necesite a la CPU para la transaccin de datos, s que se necesita el bus del sistema (tanto bus de datos como bus de direcciones), por lo que existen diferentes estrategias para regular su uso, permitiendo as que no quede totalmente acaparado por el controlador DMA.

51

Unidad 3

52

Unidad 3 Seleccin de componentes y ensamble de equipos de cmputo

3.1 Chipset Es el conjunto de circuitos integrados diseados con base a la arquitectura de un procesador (en algunos casos diseados como parte integral de esa arquitectura), permitiendo que ese tipo de procesadores funcionen en una placa base. Sirven de puente de comunicacin con el resto de componentes de la placa, como son la memoria, las tarjetas de expansin, los puertos USB, ratn, teclado, etc. No podemos hablar de las placas base modernas sin hablar de los chipsets. El chipsets la placa base; por lo tanto, cualquiera de las dos placas con los chipsets mismo ofrecen bsicamente el mismo nivel de rendimiento y caractersticas. Dependiendo del modelo, el chipset por lo general contiene la interfaz del bus del procesador (denominado frontal bus o FSB), controladores de memoria, los controladores de bus, controladores de E / S, y mucho ms. Todos los circuitos primarios de la placa base estn contenidas en el chipset. Si el procesador de su PC es como el motor de su coche, el chipset representa la transmisin y el chasis. Es el marco en el que el motor descansa y es su conexin con el mundo exterior. El chipset es el marco, suspensin, direccin, ruedas y los neumticos, la transmisin, eje de transmisin, diferencial y frenos. El chasis de su coche es lo que hace el la potencia al suelo, permitiendo que el vehculo arranque, parada, y la esquina. En el PC, representa el conjunto de chips la conexin entre el procesador y todo lo dems. El procesador no se puede hablar con el adaptador tableros, dispositivos de memoria (en algunos modelos), y as sucesivamente, sin pasar por el chipset. Si usted piensa del procesador como el cerebro, el chipset es la columna vertebral y sistema nervioso central. Debido a que el chipset controla la interfaz o conexin entre el procesador y todo a punto otra cosa, el conjunto de chips acaba dictando qu tipo de procesador que tiene, lo rpido que los autobuses ejecutar, y en algunos casos, la velocidad, el tipo y cantidad de memoria que puede utilizar. De hecho, el conjunto de chips podra ser el componente ms importante en su sistema, posiblemente incluso ms importante que el procesador.

53

Evolucin del Chipset Cuando IBM cre la PC madre en primer lugar, utiliza varios chips discretos (por separado) para completar la diseo. Adems el procesador y coprocesador matemtico opcional, muchos otros componentes se requiere para completar el sistema. Estos otros componentes incluyen elementos tales como el generador de reloj, el controlador del bus, temporizador del sistema, interrupciones y DMA controladores, RAM CMOS, y el controlador del teclado. Adems, muchos otros chips lgicos simples se utilizaron para completar el circuito de placa madre, adems, por supuesto, cosas como el procesador real, coprocesador matemtico (unidad de punto flotante), la memoria, y en otras partes. Tabla se enumeran todos los componentes del chip principal utilizado en el original de la PC / XT y AT placas base. Funcin del Chip Procesador Coprocesador Matemtico Generador del reloj Controlador de bus Sistema de temporizador Interrupcin del controlador de bajo orden Interrupcin del controlador de alto orden Controlador DMA de orden inferior Controlador DMA de orden superior CMOS RAM/ Reloj en tiempo real Controlador de teclado PC/XT Versin 8088 8087 8284 8288 8243 8259 8237 8255 AT Versin 80286 80287 82284 82288 8254 8259 8259 8237 8237 MC146818 8042

Las placas base modernas suelen incluir dos integrados, denominados Norte y Sur, y suelen ser los circuitos integrados ms grandes despus del microprocesador. El chipset determina muchas de las caractersticas de una placa base y por lo general la referencia de la misma est relacionada con la del chipset. El Chipset es el que hace posible que la placa base funcione como eje del sistema, dando soporte a varios componentes e interconectndolos de forma que se comuniquen entre ellos haciendo uso de diversos buses. Es uno de los pocos elementos que tiene conexin directa con el procesador, gestiona la mayor parte de la informacin que entra y sale por el bus principal del procesador, del sistema de vdeo y muchas veces de la memoria RAM.

54

En el caso de los computadores PC, es un esquema de arquitectura abierta que establece modularidad: el Chipset debe tener interfaces estndar para los dems dispositivos. Esto permite escoger entre varios dispositivos estndar, por ejemplo en el caso de los buses de expansin, algunas tarjetas madre pueden tener bus PCI-Express y soportar diversos tipos de tarjetas con de distintos anchos de bus (1x, 8x, 16x). En el caso de equipos porttiles o de marca, el chipset puede ser diseado a la medida y aunque no soporte gran variedad de tecnologas, presentar alguna interfaz de dispositivo. La mayora de los chipsets anteriores de Intel (y, hasta hace unos aos, prcticamente todos los chipsets no Intel) se rompen en una arquitectura de mltiples niveles que incorpora lo que se conoce como el Norte y los componentes de South Bridge, as como un Sper I / O chip: El North Bridge, llamado as porque es la conexin entre el procesador de alta velocidad bus AGP y el ms lento y los buses PCI. El Puente Norte es lo que el chipset es el nombre de, lo que significa que, por ejemplo, lo que llamamos el chipset 440BX se deriva del hecho de que el Puente real del Norte de chips nmero para ese conjunto es 82443BX. El South Bridge, llamado as porque es el puente entre el bus PCI (66/33MHz) y an ms lento el bus ISA (8 MHz). El Super I / O chip es un chip separado conectado al bus ISA que no es considerada parte del chipset y, a menudo proviene de un tercero, como National Semiconductor o Standard Microsystems Corp. (SMSC). El Super I / O chip contiene comnmente utilizados perifricos todos los elementos se combinan en un solo chip. Tenga en cuenta que los chips ms recientes de Puente Sur incluyen ahora Super I / O funciones (chips que se conoce como Super-Sur chips de puente), por lo que la mayora de los ltimos madre ya no incluyen una por separado Super I / O chip.

55

Un socket tpico de una placa base (AMD Athlon / Duron) con la ubicacin de los componentes

El puente del norte se refiere a veces como el PAC (PCI / AGP Controller). Bsicamente, es el principal componente de la placa base y es el circuito de la nica tarjeta madre, adems del procesador que normalmente funciona a la placa base completa (del bus del procesador) de velocidad. Chipsets ms modernos utilizan un solo chip del Norte Puente, sin embargo, algunos de los ms viejos en realidad consista en un mximo de tres chips individuales para compensar la completa North Bridge circuito. El Puente del Sur es el componente de menor velocidad en el chipset y siempre ha sido un solo individuo chip. El Puente del Sur es un componente un tanto intercambiable en que diferentes chipsets (Chips Norte de conexin) a menudo estn diseados para utilizar el mismo componente de South Bridge. Este modular diseo de 56

los chips permite un menor coste y mayor flexibilidad para los fabricantes de placas base. Del mismo modo, muchos vendedores de producir varias versiones de pin compatible con chips puente sur con diferentes caractersticas que permiten la fabricacin ms flexible y de menor costo y el diseo. El puente sur conecta a los 33 MHz de bus PCI y que contiene la interfaz o puente para el bus ISA de 8 MHz (si existe). Tambin por lo general contiene dos ATA / IDE interfaces de controlador de disco duro, una o ms interfaces USB, y en Diseos posteriores, incluso la CMOS RAM en tiempo real y funciones de reloj. En los diseos ms antiguos, el South Bridge contiene todos los componentes que forman el bus ISA, incluyendo la interrupcin y los controladores de DMA. La tercera componente de la placa, el Super I / O chip, est conectado a la 8MHz bus ISA o bajo la pin (LPC) de bus y contiene todos los perifricos estndar que se construyen en una placa base. Para ejemplo, la mayora de los Super I / O chips contienen los puertos serie, puerto paralelo, controlador de la disquetera, y el teclado / ratn de la interfaz. Opcionalmente, se puede contener la memoria RAM CMOS / reloj, los controladores IDE, y juego de interfaz de puerto. Sistemas que integren puertos IEEE 1394 y SCSI utilizan chips separados para estos tipos de puertos. La mayora de placas base que utilizan los ltimos Norte / Sur diseos chipset Puente de incorporar un Super-Puente sur, que incorpora el puente sur y funciones Super I / O en un solo chip.

57

3.1.1 CPU La unidad central de procesamiento, UCP o CPU (por el acrnimo en ingls de central Procesing 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. 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 automviles, televisores, neveras, calculadoras, aviones, hasta telfonos mviles o celulares, juguetes, entre otros. Operacin del CPU La operacin fundamental de la mayora de los CPU, es ejecutar una secuencia de instrucciones almacenadas llamadas "programa". El programa es representado por una serie de nmeros que se mantienen en una cierta clase de memoria de computador. Hay cuatro pasos que casi todos los CPU de arquitectura de von Neumann usan en su operacin: fetch, decode, execute, y writeback, (leer, decodificar, ejecutar, y escribir). Diagrama mostrando como es decodificada una instruccin del MIPS32. (MIPS Technologies 2005) El primer paso, leer (fetch), implica el recuperar una instruccin, (que es representada por un nmero o una secuencia de nmeros), de la memoria de programa. La localizacin en la memoria del programa es determinada por un contador de programa (PC), que almacena un nmero que identifica la posicin actual en el programa.

58

En otras palabras, el contador de programa indica al CPU, el lugar de la instruccin en el programa actual. Despus de que se lee una instruccin, el Contador de Programa es incrementado por la longitud de la palabra de instruccin en trminos de unidades de memoria. Frecuentemente la instruccin a ser leda debe ser recuperada de memoria relativamente lenta, haciendo detener al CPU mientras espera que la instruccin sea retornada. Este problema es tratado en procesadores modernos en gran parte por los cachs y las arquitecturas pipeline (ver abajo). La instruccin que el CPU lee desde la memoria es usada para determinar qu deber hacer el CPU. En el paso de decodificacin, la instruccin es dividida en partes que tienen significado para otras unidades del CPU. La manera en que el valor de la instruccin numrica es interpretado est definida por la arquitectura del conjunto de instrucciones (el ISA) del CPU. A menudo, un grupo de nmeros en la instruccin, llamados opcode, indica qu operacin realizar. Las partes restantes del nmero usualmente proporcionan informacin requerida para esa instruccin, como por ejemplo, operandos para una operacin de adicin. Tales operandos se pueden dar como un valor constante (llamado valor inmediato), o como un lugar para localizar un valor, que segn lo determinado por algn modo de direccin, puede ser un registro o una direccin de memoria. En diseos ms viejos las unidades del CPU responsables de decodificar la instruccin eran dispositivos de hardware fijos. Sin embargo, en CPUs e ISAs ms abstractos y complicados, es frecuentemente usado un microprograma para ayudar a traducir instrucciones en varias seales de configuracin para el CPU. Este microprograma es a veces reescribible de tal manera que puede ser modificado para cambiar la manera en que el CPU decodifica instrucciones incluso despus de que haya sido fabricado. Despus de los pasos de lectura y decodificacin, es llevado a cabo el paso de la ejecucin de la instruccin. Durante este paso, varias unidades del CPU son conectadas de tal manera que ellas pueden realizar la operacin deseada. Si, por ejemplo, una operacin de adicin fue solicitada, una unidad aritmtico lgica (ALU) ser conectada a un conjunto de entradas y un conjunto de salidas. Las entradas proporcionan los nmeros a ser sumados, y las salidas contendrn la suma final. La ALU contiene la circuitera para realizar operaciones simples de aritmtica y lgica en las entradas, como adicin y operaciones de bits (bitwise). Si la operacin de adicin produce un resultado demasiado grande para poder ser manejado por el CPU, tambin puede ser ajustada una bandera (flag) de desbordamiento aritmtico localizada en un registro de banderas (ver abajo la seccin sobre rango de nmeros enteros). El paso final, la escritura (writeback), simplemente "escribe" los resultados del paso de ejecucin a una cierta forma de memoria. Muy a menudo, los resultados son escritos a algn registro interno del CPU para acceso rpido por subsecuentes instrucciones. En otros casos los resultados pueden ser escritos a una memoria principal ms lenta pero ms barata y ms grande. Algunos tipos de instrucciones manipulan el contador de 59

programa en lugar de directamente producir datos de resultado. stas son llamadas generalmente "saltos" (jumps) y facilitan comportamientos como bucles (loops), la ejecucin condicional de programas (con el uso de saltos condicionales), y funciones en programas. Muchas instrucciones tambin cambiarn el estado de dgitos en un registro de "banderas". Estas banderas pueden ser usadas para influenciar cmo se comporta un programa, puesto que a menudo indican el resultado de varias operaciones. Por ejemplo, un tipo de instruccin de "comparacin" considera dos valores y fija un nmero, en el registro de banderas, de acuerdo a cul es el mayor. Entonces, esta bandera puede ser usada por una posterior instruccin de salto para determinar el flujo de programa. Despus de la ejecucin de la instruccin y la escritura de los datos resultantes, el proceso entero se repite con el siguiente ciclo de instruccin, normalmente leyendo la siguiente instruccin en secuencia debido al valor incrementado en el contador de programa. Si la instruccin completada era un salto, el contador de programa ser modificado para contener la direccin de la instruccin a la cual se salt, y la ejecucin del programa contina normalmente. En CPUs ms complejos que el descrito aqu, mltiples instrucciones pueden ser ledas, decodificadas, y ejecutadas simultneamente. Esta seccin describe lo que es referido generalmente como el "entubado RISC clsico" (Classic RISC pipeline), que de hecho es bastante comn entre los CPU simples usados en muchos dispositivos electrnicos, a menudo llamados microcontroladores.

60

3.1.2 Controlador del bus El controlador del bus se encarga de la frecuencia de funcionamiento y las seales de sincronismo, temporizacin y control. Est ubicado en un chip en la placa base. El Bus es la va a travs de la que se van a transmitir y recibir todas las comunicaciones, tanto internas como externas, del sistema informtico. El bus es solamente un Dispositivo de Transferencia de Informacin entre los componentes conectados a l, no almacena informacin alguna en ningn momento. Los datos, en forma de seal elctrica, slo permanecen en el bus el tiempo que necesitan en recorrer la distancia entre los dos componentes implicados en la transferencia. En una unidad central de sistema tpica el bus se subdivide en tres buses o grupos de lneas. -Bus de Direcciones. -Bus de Datos. Bus de Control. Bus de Direcciones: Es un canal de comunicaciones constituido por lneas que apuntan a la direccin de memoria que ocupa o va a ocupar la informacin a tratar. Una vez direccionada la posicin, la informacin, almacenada en la memoria hasta ese momento, pasar a la CPU a travs del bus de datos. Bus de Datos: Es el medio por el que se transmite la instruccin o dato apuntado por el bus de direcciones. Es usado para realizar el intercambio de instrucciones y datos tanto internamente, entre los diferentes componentes del sistema informtico. Bus de Control: Es un nmero variable de lneas a travs de las que se controlan las unidades complementaras. El nmero de lneas de control depender directamente de la cantidad que pueda soportar el tipo de CPU utilizada y de su capacidad de direccionamiento de informacin.

3.1.3 Puertos de E/S Son los circuitos electrnicos intermediarios entre el ordenador y los perifricos. Sus funciones: Adaptar las seales, Adaptacin de los cdigos, Descarga de la CPU, Atencin y sincronizacin con los perifricos Tipos de comunicaciones en los ordenadores Serie: Se utiliza un nico conductor para tx los datos, Se envan los datos uno tras otro. La conexin paralela es, en principio mucho ms rpida que la serie, pero necesita un gran nmero de conductores Paralelo: La informacin se enva en grupos de 8, 16,...bits, Cada bit en un conductor diferente. La conexin serie permite las comunicaciones a varios metros mientras que la paralelo tiene un mximo de 1.5m (para ms distancia seran necesarios repetidores).

61

3.1.4 Controlador de interrupciones Es un componente importante del sistema principal. Debido a que el microprocesador debe atender peticiones de muchos componentes externos e internos se cuenta con unos canales llamados IRQ (Interrupt Request) por el que cada dispositivo debe dirigirse al microprocesador. Las interrupciones son seales enviadas a la CPU por el hardware para requerir su atencin o responder alguna accin. Los sistemas actuales poseen 16 IRQs numerados del 0 15, algunos son asignados por el sistema y no deben cambiarse y otros pueden ser asignados por el usuario de acuerdo a la disponibilidad de recursos y a la configuracin de cada componente.

3.1.5 Controlador de DMA

El controlador de DMA (direct memory 62ccess) se utiliza para evitar saturar al microprocesador, algunos perifricos pueden transferir datos a la memoria del computador o viceversa, sin pasar a travs de la CPU. Esta operacin se llama Acceso Directo a Memoria, y se controla mediante un chip conocido como controlador de DMA. El propsito principal del DMA es permitir al controlador del disco que lea, o escriba, datos sin involucrar al microprocesador. Como las operaciones de E/S desde el disco son relativamente lentas, El DMA puede aumentar un poco las prestaciones del ordenador. Los sistemas actuales tienen 8 canales DMA (0 7).

3.1.6 Circuitos de temporizacin y control

El temporizador es un circuito que se encuentra en la tarjeta matriz (Mother Board) de la PC y que es capaz de mantener una cuenta de tiempo basada en el reloj de la computadora. Puede usarse para calcular el intervalo entre dos mediciones de tiempo o para generar pausas. Este chip tiene la capacidad de realizar diferentes funciones de conteo. Es til para medir el tiempo que dura cierto proceso o para mantener actualizadas la hora del da y la fecha si se deja la PC conectada y encendida. El chip mantiene tres contadores independientes (definidos como 0, 1, 2), cada uno de los cuales es alimentado por una seal que equivale a 1.19318 MHZ. El contador obtiene una capacidad mxima de conteo que asciende a 65 536. Su salida tiene una frecuencia de 18.2 HZ.(1.19/65536) aproximadamente. Por lo tanto, cualquier accin que interrumpa a la PC ocurrir 18.2 veces por segundo (cada 55 ms o cada 0.055 segundos en forma redondeada).

62

3.1.7 Controladores de video

Los controladores son circuitos de entrada que tienen todas las impresoras. Son los que procesan la informacin en primer lugar para saber exactamente qu les est llegando y como manipular los datos. Bsicamente, un controlador de una impresora recoge los datos que proceden del PC y los convierte en datos de imagen que debern pasar a lo que llamamos video interface de la impresora. Este otro dispositivo, se encarga de recuperar los datos que ha dejado el controlador e inyectarlos hasta el sistema de escritura del perifrico.

3.2 Aplicaciones Un computador est constituido por un conjunto de unidades o mdulos de tres tipos elementales (procesador, memoria, E/S) que se comunican entre si. En efecto, un computador es una red de mdulos elementales. Por consiguiente, deben existir lneas para interconectar estos mdulos. El conjunto de lneas que conectan los diversos mdulos de denomina estructura de interconexin. El diseo de dicha estructura depender de los intercambios que deban producirse entre los mdulos. Memoria: generalmente, un mdulo de memoria est constituido por N palabras de la misma longitud. A cada palabra se le asigna una nica direccin numrica (0, 1,, N-1). Una palabra de datos puede leerse de o escribirse en la memoria. El tipo de operacin se indica mediante las seales de control Read (Leer) y Write (Escribir). La posicin de memoria para la operacin se especifica mediante una direccin. Mdulo de E/S: desde un punto de vista interno (al computador), la E/S es funcionalmente similar a la memoria. Hay dos tipos de operaciones, leer y escribir. Adems, un mdulo de E/S puede controlar ms de un dispositivo externo. Nos referimos a cada una de estas interfaces con un dispositivo externo con el nombre de puerto (port), y se le asignara una direccin a cada uno (0, 1,, M-1). Por otra parte, existen lneas externas de datos para la entrada y la salida de datos por un dispositivo externo. Por ltimo, un mdulo de E/S puede enviar seales de interrupcin al procesador. Procesador: el procesador lee instrucciones y datos, escribe datos una vez los ha procesado, y utiliza ciertas seales para controlar el funcionamiento del sistema. Tambin puede recibir seales de interrupcin.26 3.2.1 Entrada / Salida Junto con el procesador y el conjunto de mdulos de memoria, el tercer elemento clave de un computador es un conjunto de mdulo de E/S. Cada mdulo se conecta al bus del
26

William Stallings. Organizacin y arquitectura de computadores. 7 Edicin. Capitulo 3. Pagina 75

63

sistema o a un conmutador central y controla uno o ms dispositivos perifricos. Un mdulo de E/S no es nicamente un colector mecnico que permite enchufar el dispositivo al bus del sistema; sino que adems est dotado de cierta inteligencia, es decir, contiene la lgica necesaria para permitir la comunicacin entre el perifrico y el bus.27 El mdulo de E/S tiene dos funciones principales: Realizar la interfaz entre el procesador y la memoria a travs del bus del sistema o un conmutador central. Realizar la interfaz entre uno o ms dispositivos perifricos mediante enlaces de datos especficos.

Dispositivos externos Las operaciones de E/S se realizan a travs de una amplia gama de dispositivos que proporcionan una forma de intercambiar datos entre el exterior y el computador. Un dispositivo externo se conecta al computador mediante un enlace a un mdulo de E/S. El enlace se utiliza para intercambiar seales de control, estado, y datos entre el mdulo de E/S y el dispositivo externo. Un dispositivo externo conectado a un mdulo de E/S frecuentemente se denomina dispositivo perifrico o simplemente perifrico.28 En sentido amplio, los dispositivos externos se pueden clasificar en tres categoras: De interaccin con humanos: permite la comunicacin con el usuario del computador. De interaccin con mquinas: permiten la comunicacin con elementos del equipo. De comunicacin: permiten la comunicacin con dispositivos remotos.

27 28

William Stallings. Organizacin y arquitectura de computadores. 7 Edicin. Capitulo 7. Pagina 208 William Stallings. Organizacin y arquitectura de computadores. 7 Edicin. Capitulo 7. Pagina 209

64

Ejemplos de dispositivos de interaccin con humanos son las terminales de video (VDT, Video, Display Terminals y las impresoras. Ejemplos de dispositivos de interaccin con mquinas son los discos magnticos y los sistemas de cinta, y los sensores y actuadores, tales como los que se usan en aplicaciones de robtica. Los dispositivos de comunicacin permiten que el computador intercambie datos con un dispositivo remoto, que puede ser un dispositivo de interaccin con humanos, como por ejemplo un terminal, un dispositivo de interaccin con mquinas o incluso otro computador. Teclado La forma as comn de interaccin computador/usuario se produce a travs de la combinacin de teclado/monitor. El usuario proporciona la entrada a travs de teclado. A continuacin esta entrada se transmite al computador y puede verse en el monitor. Adems, el monitor muestra los datos que proporciona el computador.29 Es un perifrico de entrada, en parte inspirado en el teclado de las mquinas de escribir, que utiliza una disposicin de botones o teclas, para que acten como palancas mecnicas o interruptores electrnicos que envan informacin a la computadora. 1. Bloque de funciones: Va desde la tecla F1 a F12, en tres bloques de cuatro: de F1 a F4, de F5 a F8 y de F9 a F12. Funcionan de acuerdo al programa que est abierto. Por ejemplo, en muchos programas al presionar la tecla F1 se accede a la ayuda asociada a ese programa. 2. Bloque alfanumrico: Est ubicado en la parte inferior del bloque de funciones, contiene los nmeros arbigos del 1 al 0 y el alfabeto organizado como en una mquina de escribir, adems de algunas teclas especiales. 3. Bloque especial: Est ubicado a la derecha del bloque alfanumrico, contiene algunas teclas especiales como Imp Pant, Bloq de desplazamiento, pausa, inicio, fin, insertar, suprimir, RePag, AvPag, y las flechas direccionales que permiten mover el punto de insercin en las cuatro direcciones. 4. Bloque numrico: Est ubicado a la derecha del bloque especial, se activa al presionar la tecla Bloq Num, contiene los nmeros arbigos organizados como en una calculadora con el fin de facilitar la digitacin de cifras. Adems contiene los signos de las cuatro operaciones bsicas: suma +, resta -, multiplicacin * y divisin /; tambin contiene una tecla de Intro o Enter.

29

Behrouz A. Forouzan. Introduccin a la ciencia de la computacin.1 Edicin. Capitulo 5

65

Ratn o mouse Es un dispositivo apuntador utilizado para facilitar el manejo de un entorno grfico en una computadora. Generalmente est fabricado en plstico y se utiliza con una de las manos. Detecta su movimiento relativo en dos dimensiones por la superficie plana en la que se apoya, reflejndose habitualmente a travs de un puntero o flecha en el monitor.30 Hoy en da es un elemento imprescindible en un equipo informtico para la mayora de las personas, y pese a la aparicin de otras tecnologas con una funcin similar, como la pantalla tctil, la prctica ha demostrado que tendr todava muchos aos de vida til. Funcionamiento Su funcionamiento principal depende de la tecnologa que utilice para capturar el movimiento al ser desplazado sobre una superficie plana o alfombrilla de ratn especial para ratn, y transmitir esta informacin para mover una flecha o puntero sobre el monitor de la computadora. Dependiendo de las tecnologas empleadas en el sensor del movimiento o por su mecanismo y del mtodo de comunicacin entre ste y la computadora, existen multitud de tipos o familias. El objetivo principal o ms habitual es seleccionar distintas opciones que pueden aparecer en la pantalla, con uno o dos clic, pulsaciones, en algn botn o botones. Para su manejo el usuario debe acostumbrarse tanto a desplazar el puntero como a pulsar con uno o dos clics para la mayora de las tareas. Con el avance de las nuevas computadoras, el ratn se ha convertido en un dispositivo esencial a la hora de jugar, destacando no solo para seleccionar y accionar objetos en pantalla en juegos estratgicos, sino para cambiar la direccin de la cmara o la direccin de un personaje en juegos de primera o tercera persona. Comnmente en la mayora de estos juegos, los botones del ratn se utilizan para accionar las armas u objetos seleccionados y la rueda del ratn sirve para recorrer los objetos o armas de nuestro inventario. Tipos o modelos Mecnicos
30

Behrouz A. Forouzan. Introduccin a la ciencia de la computacin.1 Edicin. Capitulo 5

66

Tienen una gran esfera de plstico o goma, de varias capas, en su parte inferior para mover dos ruedas que generan pulsos en respuesta al movimiento de ste sobre la superficie. Una variante es el modelo de Honeywell que utiliza dos ruedas inclinadas 90 grados entre ellas en vez de una esfera. La circuitera interna cuenta los pulsos generados por la rueda y enva la informacin a la computadora, que mediante software procesa e interpreta.31 pticos Es una variante que carece de la bola de goma que evita el frecuente problema de la acumulacin de suciedad en el eje de transmisin, y por sus caractersticas pticas es menos propenso a sufrir un inconveniente similar. Se considera uno de los ms modernos y prcticos actualmente. Puede ofrecer un lmite de 800 ppp, como cantidad de puntos distintos que puede reconocer en 2,54 centmetros (una pulgada); a menor cifra peor actuar el sensor de movimientos. Su funcionamiento se basa en un sensor ptico que fotografa la superficie sobre la que se encuentra y detectando las variaciones entre sucesivas fotografas, se determina si el ratn ha cambiado su posicin. En superficies pulidas o sobre determinados materiales brillantes, el ratn ptico causa movimiento nervioso sobre la pantalla, por eso se hace necesario el uso de una alfombrilla de ratn o superficie que, para este tipo, no debe ser brillante y mejor si carece de grabados multicolores que puedan "confundir" la informacin luminosa devuelta. Lser Este tipo es ms sensible y preciso, hacindolo aconsejable especialmente para los diseadores grficos y los jugadores de videojuegos. Tambin detecta el movimiento deslizndose sobre una superficie horizontal, pero el haz de luz de tecnologa ptica se sustituye por un lser con resoluciones a partir de 2000 ppp, lo que se traduce en un aumento significativo de la precisin y sensibilidad. TrackBall El concepto de TrackBall es una idea que parte del hecho: se debe mover el puntero, no el dispositivo, por lo que se adapta para presentar una bola, de tal forma que cuando se coloque la mano encima se pueda mover mediante el dedo pulgar, sin necesidad de desplazar nada ms ni toda la mano como antes. De esta manera se reduce el esfuerzo y la necesidad de espacio, adems de evitarse un posible dolor de antebrazo por el movimiento de ste. A algunas personas, sin embargo, no les termina de resultar realmente cmodo. Este tipo ha sido muy til por ejemplo en la informatizacin de la navegacin martima.

31

Alex Soojung-Kim Pang. Mighty Mouse. 2002

67

Cmara web Es una pequea cmara digital conectada a una computadora, la cual puede capturar imgenes y transmitirlas a travs de Internet, ya sea a una pgina web o a otra u otras computadoras de forma privada. Las cmaras web necesitan una computadora para transmitir las imgenes. Sin embargo, existen otras cmaras autnomas que tan slo necesitan un punto de acceso a la red informtica, bien sea ethernet o inalmbrico. Para diferenciarlas las cmaras web se las denomina cmaras de red. Tambin son muy utilizadas en mensajera instantnea y chat como en Windows Live Messenger, Yahoo! Messenger, Ekiga, Skype etc. En el caso del MSN Messenger aparece un icono indicando que la otra persona tiene cmara web. Por lo general puede transmitir imgenes en vivo, pero tambin puede capturar imgenes o pequeos videos (dependiendo del programa de la cmara web) que pueden ser grabados y transmitidos por Internet. Este dispositivo se clasifica como de entrada, ya que por medio de l podemos transmitir imgenes hacia la computadora.32

Escner Se utiliza para introducir imgenes de papel, libros, negativos o diapositivas. Estos dispositivos pticos pueden reconocer caractres o imgenes, y para referirse a este se emplea en ocasiones la expresin lector ptico (de caracteres). El escner 3D es una variacin de ste para modelos tridimensionales. Clasificado como un dispositivo o perifrico de entrada, es un aparato electrnico, que explora o permite "escanear" o

32

Javier Gutirrez. Perifricos, interfaces y buses. 2009. Pagina 23

68

"digitalizar" imgenes o documentos, y lo traduce en seales elctricas para su procesamiento y, salida o almacenamiento.33

Monitor Es un visualizador que muestra al usuario los resultados del procesamiento de una computadora mediante una interfaz. Pxel: unidad mnima representable en un monitor. Los monitores pueden presentar pxeles muertos o atascados. Tamao de punto o (dot pitch): el tamao de punto es el espacio entre dos fsforos coloreados de un pxel. Es un parmetro que mide la nitidez de la imagen, midiendo la distancia entre dos puntos del mismo color; resulta fundamental a grandes resoluciones. Los tamaos de punto ms pequeos producen imgenes ms uniformes. un monitor de 14 pulgadas suele tener un tamao de punto de 0,28 mm o menos. En ocasiones es diferente en vertical que en horizontal, o se trata de un valor medio, dependiendo de la disposicin particular de los puntos de color en la pantalla, as como del tipo de rejilla empleada para dirigir los haces de electrones. En LCD y en CRT de apertura de rejilla, es la distancia en horizontal, mientras que en los CRT de mscara de sombra, se mide casi en diagonal. Lo mnimo exigible en este momento es que sea de 0,28mm. Para CAD o en general para diseo, lo ideal sera de 0,25mm o menor. 0,21 en mscara de sombra es el equivalente a 0.24 en apertura de rejilla. rea til: el tamao de la pantalla no coincide con el rea real que se utiliza para representar los datos. ngulo de visin: es el mximo ngulo con el que puede verse el monitor sin que se degrade demasiado la imagen. Se mide en grados. Luminancia: es la medida de luminosidad, medida en Candela. Tiempo de respuesta: tambin conocido como latencia. Es el tiempo que le cuesta a un pxel pasar de activo (blanco) a inactivo (negro) y despus a activo de nuevo. Contraste: es la proporcin de brillo entre un pxel negro a un pxel blanco que el monitor es capaz de reproducir. Algo as como cuantos tonos de brillo tiene el monitor.

33

Tanenbaum, Andrew S. (2009). Sistemas operativos modernos. Mxico: Pearson educacin.

69

Coeficiente de contraste de imagen: se refiere a lo vivo que resultan los colores por la proporcin de brillo empleada. A mayor coeficiente, mayor es la intensidad de los colores (30000:1 mostrara un colorido menos vivo que 50000:1). Consumo: cantidad de energa consumida por el monitor, se mide en Vatio. Ancho de banda: frecuencia mxima que es capaz de soportar el monitor. Hz o frecuencia de refresco vertical: son 2 valores entre los cuales el monitor es capaz de mostrar imgenes estables en la pantalla. Hz o frecuencia de refresco horizontal: similar al anterior pero en sentido horizontal, para dibujar cada una de las lneas de la pantalla. Blindaje: un monitor puede o no estar blindando ante interferencias elctricas externas y ser ms o menos sensible a ellas, por lo que en caso de estar blindando, o semi-blindado por la parte trasera llevara cubriendo prcticamente la totalidad del tubo una plancha metlica en contacto con tierra o masa. Tipo de monitor: en los CRT pueden existir 2 tipos, de apertura de rejilla o de mscara de sombra. Lneas de tensin: son unas lneas horizontales, que tienen los monitores de apertura de rejilla para mantener las lneas que permiten mostrar los colores perfectamente alineadas; en 19 pulgadas lo habitual suelen ser 2, aunque tambin los hay con 3 lneas, algunos monitores pequeos incluso tienen una sola.

Impresora Es un perifrico de ordenador que permite producir una copia permanente de textos o grficos de documentos almacenados en formato electrnico, imprimindolos en medios fsicos, normalmente en papel o transparencias, utilizando cartuchos de tinta o tecnologa lser.34 Muchas impresoras son usadas como perifricos, y estn permanentemente unidas al ordenador por un cable. Otras impresoras, llamadas impresoras de red, tienen una
34

Behrouz A. Forouzan. Introduccin a la ciencia de la computacin.1 Edicin. Capitulo 5

70

interfaz de red interno (tpicamente wireless o ethernet), y que puede servir como un dispositivo para imprimir en papel algn documento para cualquier usuario de la red. Las impresoras suelen disearse para realizar trabajos repetitivos de poco volumen, que no requieran virtualmente un tiempo de configuracin para conseguir una copia de un determinado documento. Sin embargo, las impresoras son generalmente dispositivos lentos (10 pginas por minuto es considerado rpido), y el coste por pgina es relativamente alto.

3.2.2 Almacenamiento En computadores antiguos, la forma ms comn de almacenamiento de acceso aleatorio para la memoria principal consista en una matriz de pequeos anillos ferromagnticos denominados ncleos. Es por esto que la memoria principal reciba a menudo el nombre de ncleo (core), un trmino que perdura en la actualidad. La llegada de la microelectrnica, y sus ventajas, acabo con las memorias de ncleos. Hoy en da es casi universal el uso de chips semiconductores para la memoria principal. Memoria RAM Es una memoria semiconductora. Se denomina memoria de acceso aleatorio (RAM, Random-Access Memory). Una caracterstica distintiva de las RAM es que es posible tanto leer datos como escribir rpidamente nuevos datos en ellas. Tanto la lectura como la escritura se ejecutan mediante seales elctricas.35 La otra caracterstica distintiva de una RAM es que es voltil. Una RAM debe estar siempre alimentada. Si se interrumpe la alimentacin se pierden los datos. As pues, las RAM pueden utilizarse solo como almacenamiento temporal. Las dos formas tradicionales de RAM utilizadas en los computadores son la DRAM y la SRAM. DRAM: una RAM dinmica (DRAM) est hecha con celdas que almacenan los datos como cargas elctricas en condensadores. La presencia o ausencia de carga en un condensador se interpretan como el uno o el cero binarios. Ya que los condensadores tienen una tendencia natural a descargarse, las RAM dinmicas requieren refrescos
35

William Stallings. Organizacin y arquitectura de computadores. 7 Edicin. Capitulo 5. Pagina 150

71

peridicos para mantener memorizados los datos. El termino dinmica hace referencia a esta tendencia a que la carga almacenada se pierda, incluso mantenindola siempre alimentada. SRAM: en contraste con la dinmica, una RAM esttica (SRAM) es un dispositivo digital, basado en los mismos elementos que se usan en el procesador. En una RAM esttica, los valores binarios se almacena utilizando configuraciones de puertas que forma biestables (flip- flops). Una RAM esttica retendr sus datos en tanto se mantenga alimentada. SDRAM: es una memoria dinmica de acceso aleatorio DRAM que tiene una interfaz sncrona (SDRAM, Synchronous Dynamic Random Access Memory). en las SDRAM el cambio de estado tiene lugar en el momento sealado por una seal de reloj y, por lo tanto, est sincronizada con el bus de sistema del ordenador. El reloj tambin permite controlar una mquina de estados finitos interna que controla la funcin de "pipeline" de las instrucciones de entrada. Esto permite que el chip tenga un patrn de operacin ms complejo que la DRAM asncrona, que no tiene una interfaz de sincronizacin. RDRAM: es un tipo de memoria sncrona, conocida como Rambus DRAM. ste es un tipo de memoria de siguiente generacin a la DRAM en la que se ha rediseado la DRAM desde la base pensando en cmo se debera integrar en un sistema.El modo de funcionar de estas memorias es diferente a las DRAM, cambios producidos en una serie de decisiones de diseo que no buscan solo proporcionar un alto ancho de banda, sino que tambin solucionan los problemas de granularidad y nmero de pins. Una de las caractersticas ms destacable dentro de las RDRAM es que su ancho de palabra es de tan slo 16 bits comparado con los 64 a los que trabajan las SDRAM, y tambin trabaja a una velocidad mucho mayor, llegando hasta los 400Mhz.36

Memoria ROM

36

William Stallings. Organizacin y arquitectura de computadores. 7 Edicin. Capitulo 5. Pagina 153

72

Una memoria de solo-lectura (ROM, Read-Only Memory) contiene un patrn permanente de datos que no puede alterarse. Una ROM es no-voltil; es decir, no se requiere fuente de alimentacin para mantener memorizados los valores de los bits. Aunque es posible leer de una ROM, no se pueden escribir nuevos datos en ella. Una aplicacin importante de las ROM es la microprogramacin. Una ROM se construye como cualquier otro chip de circuito integrado, con los datos cableados en el chip durante el proceso de fabricacin. Esto presenta dos problemas: La etapa de insercin de datos implica unos costes fijos relativamente grandes, tanto si se va a fabricar una o miles de copias de una misma ROM. No se permite un fallo. Si uno de los bits es errneo, debe desecharse la tirada completa de chips de memoria ROM.37 Tipos de memoria ROM: PROM: es una ROM programable (PROM). Las PROM son no voltiles y pueden grabarse solo una vez. Para la PROM, el proceso de escritura se lleva a cabo elctricamente y puede realizarlo el suministrador o el cliente con posterioridad a la fabricacin del chip original. Se requiere un equipo especial para el proceso de escritura o programacin. Las PROM proporcionan flexibilidad y comodidad. EPROM: la memoria de solo-lectura programable y borrable pticamente (EPROM, Erasable Programmable Read-Only Memory) se lee y escribe elctricamente como la PROM. Sin embargo, antes de la operacin de escritura, todas las celdas de almacenamiento deben primero borrarse a la vez, mediante la exposicin del chip encapsulado a radiacin ultravioleta. Este proceso de borrado puede realizarse repetidas veces; cada borrado completo puede durar hasta veinte minutos. As pues, las EPROM pueden modificarse mltiples veces y, al igual que la ROM y las PROM, retienen su contenido, en teora indefinidamente. Para una capacidad similar, una EPROM es ms costosa que una PROM, pero tiene como ventaja adicional la posibilidad de actualizar mltiples veces su contenido. EEPROM: la memoria de solo-lectura programable y borrable elctricamente (EEPROM, Electrically Erasable Programmable Read-Only Memory). En esta memoria se puede escribir en cualquier momento sin borrar su contenido anterior; solo se actualiza el byte o bytes direccionados. La EEPROM combina la ventaja de ser no voltil, con la flexibilidad de ser actualizable in situ, utilizando las lneas de datos, de direcciones y de control de un bus ordinario. MEMORIA FLASH: denominada as por la velocidad a la que puede reprogramarse. Las flash utilizan una tecnologa de borrado elctrico. Una memoria flash puede borrarse entera en uno o unos cuantos segundos, mucho ms rpido que las EPROM. Adems, es posible borrar solo bloques concretos de memoria en lugar de todo el chip. Las memorias
37

William Stallings. Organizacin y arquitectura de computadores. 7 Edicin. Capitulo 5. Pagina 154

73

flash deben su nombre a que su micro-chip est organizado de manera que cada una de sus secciones de celdas e borra mediante una nica accin, de un golpe o flash. Sin embargo, las memorias flash no permiten borrar a nivel de byte. 38

39

Tipo de memoria Memoria de acceso aleatorio (RAM) Memoria de solo lectura (ROM) ROM programable (PROM) PROM borrable (EPROM)
38 39

Clase

Borrado

Mecanismos de escritura Elctricamente

Volatilidad

Memoria de Elctricamente lectura/escritura por bytes

Voltil

Memoria de No posible solo lectura

Mediante mascaras No voltil40

Memoria de Luz ultravioleta, sobre-todochip completo lectura

Elctricamente

William Stallings. Organizacin y arquitectura de computadores. 7 Edicin. Capitulo 5. Pagina 155 William Stallings. Organizacin y arquitectura de computadores. 7 Edicin. Capitulo 5. Pagina 152 (Tabla)

74

Memoria FLASH PROM borrable elctricamente (EEPROM)

Elctricamente, por bloques Elctricamente, por bytes

A continuacin se van a examinar distintos sistemas y dispositivos de memoria externa. Comenzando con el dispositivo ms importante, el disco magntico. Los discos magnticos son la base de las memorias externas en casi todos los computadores. Memoria externa Discos magnticos Un disco magntico es un plato circular construido con un material no magntico, llamado sustrato, cubierto por un material magnetizable. Tradicionalmente, el sustrato es aluminio. Recientemente, se ha utilizado sustrato de cristal. Los sustratos de cristal tienen una serie de ventajas, entre las cuales se encuentran:41 Mejora en la uniformidad de a superficie magntica para incrementar la fiabilidad del disco. Reduccin significativa de los defectos en toda la superficie lo que ayuda a reducir los errores de lectura/escritura. Capacidad para soportar grabaciones de gran proximidad Mejor rigidez para reducir la dinmica del disco. Mayor capacidad para resistir golpes y daos. Tanto en los discos rgidos como en los flexibles la informacin se graba en circunferencias concntricas, no notndose visualmente las zonas grabadas. Cada una de las circunferencias concntricas grabadas constituye una pista. As mismo el disco se considera dividido en arcos iguales denominados sectores, de esta forma cada pista est compuesta de sectores. Los sectores de las pistas ms exteriores son de mayor longitud que las interiores, ahora bien el nmero de bits grabados en cada sector es siempre el mismo, con lo que la densidad de grabacin ser mayor en las pistas interiores que en las exteriores. Los sectores comienzan con una cabecera de identificacin, indicando su direccin completa. Un cilindro es un conjunto de pistas, una en cada disco, que son accesibles simultneamente por el conjunto de cabezas. La lectura y escritura en la superficie del disco se hace mediante una cabeza. Esta suele ser de tipo cermico, aunque inicialmente eran metlicas. La cabeza, en las unidades de cabezas mviles, est insertada en un extremo de un brazo mecnico mvil, que se
41

William Stallings. Organizacin y arquitectura de computadores. 7 Edicin. Capitulo 6. Pagina 176

75

desplaza hacia el centro o hacia la parte externa del disco bajo el control de los circuitos electrnicos del perifrico. Disco flexible: Un disco flexible o tambin disquette (en ingls floppy disk), es un tipo de dispositivo de almacenamiento de datos formado por una pieza circular de un material magntico que permite la grabacin y lectura de datos, fino y flexible (de ah su denominacin) encerrado en una carcasa fina cuadrada o rectangular de plstico. Los discos, usados usualmente son los de 3 o 5 pulgadas, utilizados en ordenadores o computadoras personales, aunque actualmente los discos de 5 pulgadas estn en desuso. Disco duro: son en la actualidad el principal subsistema de almacenamiento de informacin en los sistemas informticos. Es un dispositivo encargado de almacenar informacin de forma persistente en un ordenador, es considerado el sistema de almacenamiento ms importante del computador y en l se guardan los archivos de los programas.42

Memoria ptica En 1983, se introdujo uno de los productos de consumo de ms xito de todos los tiempos: el disco compacto (CD, Compact Disk) digital de audio. El CD es un disco no borrable que puede almacenar ms de sesenta minutos de informacin de audio en una cara. El gran xito comercial de CD posibilito el desarrollo de la tecnologa de discos de memoria ptica de bajo coste, que revoluciono el almacenamiento de datos en un computador. CD: disco compacto. Es un disco no borrable que almacena informacin de audio digitalizada. El sistema estndar usa discos de doce cm y puede grabar ms de sesenta minutos de tiempo de ejecucin ininterrumpido. CD-ROM: disco compacto de memoria de solo-lectura. Es un disco no borrable usado como memoria de datos de un computador. El sistema estndar usa discos de doce cm y puede guardar ms de 650 MB.43

42 43

William Stallings. Organizacin y arquitectura de computadores. 7 Edicin. Capitulo 6. Pagina 178 William Stallings. Organizacin y arquitectura de computadores. 7 Edicin. Capitulo 6. Pagina 196

76

DVD: disco verstil digital. Una tecnologa para producir representacin de informacin de video digitalizada y comprimida, as como grandes cantidades de otros datos digitales. Se usan en formato de ocho y doce cm de dimetro, con una capacidad con doble cara de hasta 17 GB. DVD-R: DVD grabable. Es similar al DVD-ROM. El usuario puede escribir en el disco solo una vez. Solo se utilizan discos de una cara. DVD-RW: el usuario puede borrar y reescribir el disco varias veces. Solo se utilizan discos de una cara.44

Dispositivos extrables Pen drive o memoria flash: Es un pequeo dispositivo de almacenamiento que utiliza la memoria flash para guardar la informacin sin necesidad de pilas. Los Pen Drive son resistentes a los rasguos y al polvo que han afectado a las formas previas de almacenamiento portable, como los CD y los disquetes. Los sistemas operativos ms modernos pueden leer y escribir en ello sin necesidad de controladores especiales. En los equipos antiguos (como por ejemplo los equipados con Windows 98) se necesita instalar un controlador de dispositivo.

3.2.3 Fuente de alimentacin Una fuente de alimentacin es un dispositivo que convierte la tensin alterna de la red de suministro, en una o varias tensiones, prcticamente continuas, que alimentan los distintos circuitos del aparato electrnico al que se conecta (ordenador, televisor, impresora, router, etc.). Las fuentes de alimentacin, para dispositivos electrnicos, pueden clasificarse bsicamente como fuentes de alimentacin lineales y conmutadas. Las lineales tienen un diseo relativamente simple, que puede llegar a ser ms complejo cuanto mayor es la corriente que deben suministrar, sin embargo su regulacin de tensin es poco eficiente. Una fuente conmutada, de la misma potencia que una lineal, ser ms pequea y normalmente ms eficiente pero ser ms compleja y por tanto ms susceptible a averas.

44

William Stallings. Organizacin y arquitectura de computadores. 7 Edicin. Capitulo 6. Pagina 197

77

En cuanto a los tipos de fuentes de alimentacin, existen dos tipos bsicamente: Fuentes AT Ya en desuso. Estas fuentes se caracterizan por el tipo de conector que va a la placa y por el sistema de encendido que utilizan. El suministro de corriente a la placa lo hacen mediante dos conectores planos de 6 pines cada uno. Esto entre otros representaba el problema de la posible colocacin equivocada de estos, lo que poda llegar a producir averas. A esto hay que aadir las salidas timo molex para alimentacin de discos duros y lectores de CD. En cuanto al sistema de encendido, este es por interruptor, que corta la entrada de corriente a la fuente. Estas fuentes se utilizaron en las placas AT, que eran las usadas hasta la llegada de los Pentium, aunque anteriormente se utilizaron algunas fuentes ATX, pero con los conectores de la placa del tipo AT. Fuentes ATX Fuentes ATX, que sustituyeron a las fuentes AT a partir de la salida de los procesadores Pentium, y que son las que se utilizan en la actualidad. Estas fuentes no llevan interruptor como sistema de encendido (si acaso llevan uno para seguridad), correspondiendo la funcin de encendido a un contacto controlado por la placa base, que mediante un corto enva una seal que es la encargada de activar o desactivar la fuente. Las fuentes ATX siempre estn suministrando un canal de 5 v a la placa base para mantener constante esta funcin. Tambin permiten activarse mediante otros medios, como puede ser mediante la tarjeta de red o mediante el mdem. En cuanto a los conectores, estos pasaron de ser dos de 6 pines a uno de 20 pines (conocidos como conectores ATX), a los que con la salida de los P-4 se les aadi un conector independiente de 4 pines y 12v. 3.3 Ambientes de servicios45 3.3.1 Negocios La globalizacin est cambiando el mundo y lo ha convertido en un ambiente sumamente competitivo, en donde la informacin est al alcance de las manos. Esta situacin ha provocado una enorme presin sobre las organizaciones, que deben flexibilizarse y encontrar nuevos mecanismos para afrontar las presiones, para innovar y en general para sobrevivir. Empujados por la competencia de mercados, las empresas deben hacer un uso ms intensivo de TI y esto genera una mayor gama de oportunidades para el outsourcing. Pero esta tendencia requiere tambin que los CIO y dems lderes de las organizaciones
45

Instituto Tecnolgico de estudios superiores de Jocotitlan. Arquitectura de computadoras. 2010. Pagina 43

78

aprendan a manejar esta herramienta como un mecanismo que permita alinear las funciones de TI con la estrategia de la organizacin. Los CIO deben reconocer los lmites de sus organizaciones para proveer los servicios estratgicos que requiere la organizacin e iniciar el desarrollo de las prcticas del outsourcing y sobre todo, manejar este mecanismo en forma efectiva. En este nuevo mundo, el outsourcing ha surgido como una herramienta que facilita la gestin empresarial y se ha convertido en un tema de actualidad. Sin embargo, ms que una moda, outsourcing es una forma eficaz para apoyar a las organizaciones y asegurar su supervivencia y tiene su principal razn de ser en tres imperativos que deben considerar las organizaciones hoy en da: Enfocarse en un negocio. Asegurarse el acceso a la experiencia tcnica que es crtica para el negocio. Focalizarse en operaciones optimizadas, reduciendo y controlando los costos. En la Tecnologa de Informacin, el impacto del outsourcing es enorme: Outsourcing es la principal fuente de crecimiento en el rea de Servicios de Tecnologa de Informacin (TI), y se ha convertido en un elemento central de las prcticas de negocios de las compaas actuales, sin importar el tamao. 3.3.2 Industria La industrializacin de los Servicios de Tecnologa de Informacin va a redefinir el mercado en trminos de cmo las organizaciones evalan, compran y seleccionan los servicios, y de cmo los vendedores desarrollan, establecen precios e implementan los servicios.46 El aumento de la estandarizacin y la consecuente disminucin en la customizacin es un proceso inevitable y es el resultado del tiempo y la experiencia en cualquier industria. La industria est en un proceso de transicin y el impacto de este viraje ya se siente. Dentro del ambiente de TI (Tecnologa de Informacin), existe una estrategia doble, que incluye prcticas customizadas o estandarizadas. Los proveedores de outsourcing estn respondiendo a este llamado de la estandarizacin, para aprovechar las economas de escala, pero en forma simultnea deben soportar una gran base instalada de ambientes desarrollados a la medida. Aunque los servicios de TI estn en proceso de madurez, la madurez de la industria se ha incrementado en aspectos evidentes, como la forma en que los servicios son implementados y administrados. Para lograr esta estandarizacin, se requiere un enfoque hacia soluciones genricas y esto debe ser responsabilidad de los proveedores, que deben desarrollar, operar y administrar el resultado de estos genricos de TI. Las mtricas deben cambiar entonces,

46

Instituto Tecnolgico de estudios superiores de Jocotitlan. Arquitectura de computadoras. 2010. Pagina 44

79

de la medida de capacidades tcnicas a la medida en el impacto en los negocios, es decir, en los acuerdos de niveles de servicio. La industria de las telecomunicaciones y sus tendencias: Las empresas proveedoras de servicio de telecomunicaciones en estos tiempos tienen un reto mayor, reducir los costos y paralelamente desarrollar iniciativas para crecer el negocio en un mercado tradicional que se vuelve cada vez menos atractivo econmicamente hablando. El mercado de valores refleja una mejora muy considerable en el sector de los servicios de la industria de las telecomunicaciones, y de las empresas que ofrecen los servicios completos. Para lograr mayores ahorros en los costos, tomar las siguientes medidas: Bajar los costos de operacin automatizando e integrando los procesos del negocio. La utilizacin intensiva de los activos, por medio de la consolidacin de las operaciones, dotando a la empresa de una infraestructura escalable que le permita alcanzar los nuevos requerimientos rpidamente. Hacer inversiones de capital eficientemente, como Gastos de Capital justo a Tiempo, anlisis de costo/valor, una cadena de abastecimiento extendida y compras que les permita bajar los precios a mayores niveles. Explotar las sinergias a travs de las operaciones, esto es, Centros de Servicios compartido Administrar el riesgo y la incertidumbre, incorporando servicios administrados o mercerizados a travs de la cadena de valor o dentro de segmentos especficos. Por el otro lado para crear nuevo valor a la empresa y generar ingresos adicionales recomiendan a las empresas: Apoyar los procesos e iniciativas de desarrollo de nuevos productos, que permita mejorar el tiempo de lanzamiento al mercado de nuevas fuentes de generacin de ingresos. Administrar e incorporar alianzas en toda la cadena de valor. Apoyar y soportar integraciones B2B (Negocio a Negocio) por medio de la adopcin de plataformas, sistemas y redes totalmente abiertas.47 Proveer mecanismos para mantener un amplio conocimiento del mercado y de la empresa. 3.3.3 Comercio electrnico El comercio electrnico consiste en la compra, venta, marketing y suministro de informacin complementaria para productos o servicios a travs de redes informticas. La

47

Instituto Tecnologico de estudios superiores de Jocotitlan. Arquitectura de computadoras. 2010. Pagina 45

80

industria de la tecnologa de la informacin podra verlo como una aplicacin informtica dirigida a realizar transacciones comerciales. Una definicin alternativa la vera como la conduccin de comunicaciones de negocios comerciales y su direccin a travs de mtodos electrnicos como intercambio electrnico de datos y sistemas automticos de recoleccin de datos. El comercio electrnico tambin incluye la transferencia de informacin entre empresas.48

48

Instituto Tecnolgico de estudios superiores de Jocotitlan. Arquitectura de computadoras. 2010. Pagina 45

81

Unidad 4

82

Unidad 4 Microcontroladores Un microcontrolador es un circuito integrado programable, capaz de ejecutar las rdenes grabadas en su memoria. Est compuesto de varios bloques funcionales, los cuales cumplen una tarea especfica. Un microcontrolador incluye en su interior las tres unidades funcionales principales de una computadora: unidad central de procesamiento, memoria y perifricos de entrada y salida. Al ser fabricados, la EEPROM del microcontrolador no posee datos. Para que pueda controlar algn proceso es necesario generar o crear y luego grabar en la EEPROM del microcontrolador algn programa, el cual puede ser escrito en lenguaje ensamblador u otro lenguaje para microcontroladores; sin embargo, para que el programa pueda ser grabado en la EEPROM del microcontrolador, debe ser codificado en sistema numrico hexadecimal que es finalmente el sistema que hace trabajar al microcontrolador cuando ste es alimentado con el voltaje adecuado y asociado a dispositivos analgicos y discretos para su funcionamiento.1

4.1 Arquitectura 4.1.1 Terminales

Son diseados para reducir el costo econmico y el consumo de energa de un sistema en particular. Por eso el tamao de la unidad central de procesamiento, la cantidad de memoria y los perifricos incluidos dependern de la aplicacin. El control de un electrodomstico sencillo como una batidora utilizar un procesador muy pequeo (4 u 8 bits) porque sustituir a un autmata finito. En cambio, un reproductor de msica y/o vdeo digital (mp3 o mp4) requerir de un procesador de 32 bits o de 64 bits y de uno o ms cdec de seal digital (audio y/o vdeo). El control de un sistema de frenos ABS 83

(Antilock Brake System) se basa normalmente en un microcontrolador de 16 bits, al igual que el sistema de control electrnico del motor en un automvil. Los microcontroladores representan la inmensa mayora de los chips de computadoras vendidos, sobre un 50% son controladores "simples" y el restante corresponde a DSPs ms especializados. Mientras se pueden tener uno o dos microprocesadores de propsito general en casa (Ud. est usando uno para esto), usted tiene distribuidos seguramente entre los electrodomsticos de su hogar una o dos docenas de microcontroladores. Pueden encontrarse en casi cualquier dispositivo electrnico como automviles, lavadoras, hornos microondas, telfonos, etc. Un microcontrolador difiere de una unidad central de procesamiento normal, debido a que es ms fcil convertirla en una computadora en funcionamiento, con un mnimo de circuitos integrados externos de apoyo. La idea es que el circuito integrado se coloque en el dispositivo, enganchado a la fuente de energa y de informacin que necesite, y eso es todo. Un microprocesador tradicional no le permitir hacer esto, ya que espera que todas estas tareas sean manejadas por otros chips. Hay que agregarle los mdulos de entrada y salida (puertos) y la memoria para almacenamiento de informacin. 4.1.2 CPU (Unidad central de proceso) La funcin de la CPU es ejecutar las instrucciones de un programa. La CPU (Central Processing Unit) est constituida por el microprocesador. La CPU controla el funcionamiento de todos los elementos del sistema, en funcin de las instrucciones del programa.

4.1.3 Espacio de memoria La memoria es el dispositivo que se encarga de almacenar los programas y los datos. Segn la aplicacin se pueden utilizar los siguientes tipos: Memoria para almacenar el Programa:

Se utilizan memorias que conservan la informacin incluso cuando no hay ninguna alimentacin aplicada al sistema (no voltiles). Son del tipo de slo lectura como las ROM (Read Only Memory), EPROM (Erasable Programmable ROM), OTP (One Time Programmable) y FLASH. Memoria para almacenar los Datos:

Para el almacenamiento temporal de datos y el clculo intermedio de los resultados durante las operaciones se utiliza la RAM (Random Access Memory). Es de lectura/escritura y pierde los datos cuando se queda sin alimentacin (voltil).

84

En caso de que se quiera conservar los datos cuando el sistema se queda sin alimentacin se puede utilizar la EEPROM (Electrically Erasable Programmable ROM), que es no voltil. La desventaja de esta memoria es su baja velocidad de acceso. Generalmente, los sistemas de control con microprocesador trabajan con unos pocos KiloBytes de memoria, en contraste con las PC, que funcionan con muchos MegaBytes de memoria. 4.1.4 Entrada/Salida Entradas Los dispositivos de entrada proporcionan informacin del mundo exterior al sistema. En una PC el dispositivo de entrada ms comn es el teclado. Los sistemas de control con microprocesadores normalmente usan dispositivos de entrada ms simples como finales de carrera o pequeos teclados, aunque puede encontrarse dispositivos ms complejos (por ejemplo el sensor de oxgeno en un automvil que mide la eficacia de la combustin tomando muestras en el cao de escape). Las entradas del microprocesador slo pueden procesar informacin en binario: 0 lgico = 0 V (VSS) 1 lgico = Nivel positivo de la fuente (VDD) La alimentacin generalmente es de 5 Vdc. En el mundo real podemos encontrar seales digitales de niveles distintos a los que maneja el micro, para solucionarlo existen dispositivos de entrada que traducen las tensiones de otro nivel a VDD y VSS. Por otro lado, los sensores que miden variables fsicas (temperatura, presin, etc) entregan tensiones analgicas, para convertirlas en digitales se utilizan conversores analgico/digital (ADC).

Salidas Los dispositivos de salida son los que comunican la informacin o acciones del sistema al mundo exterior. En una PC el dispositivo de salida ms comn es el monitor. Los sistemas de control con microprocesador generalmente usan dispositivos de salida mucho ms simples como LEDs, rels o zumbadores. Tambin se pueden manejar displays, motores, etc.

85

El sistema podr necesitar interfaces que permitan el manejo de cargas de potencia, ya que las tensiones y corrientes que manejan los microprocesadores son muy pequeas. Si es necesario, el sistema tambin puede contar con circuitos conversores digital/analgico (DAC). 4.1.5 Caractersticas especiales Estas caractersticas suelen ser los aspectos que ms distinguen la CPU de estos dispositivos con otros microprocesadores Son caractersticas pensadas para que el microcontrolador sea ms autnomo, ms barato, ms seguro y ocupe menos que sus hermanos mayores. Oscilador: ms simple y con menos elementos adicionales necesarios Resets y Watchdog: seguridad en el arranque, reinicio y autovigilancia Sleep: modo de bajo consumo para aplicaciones con bateras Interrupciones: lgica de mscaras y eventos y posicin comn del PTI Proteccin de cdigo: para evitar la copia de programas grabados ICSP e ICSP LVP: (In-Circuit Serial Programming) programacin en serie ya en la tarjeta de la aplicacin y a baja tensin (Low Voltage Program) Modo depuracin ICD: (In-Circuit Debugger) modo especial que permite depurar el cdigo pero ya con el MCU conectado con el resto del circuito, se comunicara con un dispositivo de depuracin o Debugger

La mayor parte de las caractersticas especiales se establecen en unos bits que residen en una palabra de iguales caractersticas que la memoria de programa pero est fuera del mapa de memoria de cdigo a la que se puede acceder en ejecucin normal.

4.2 Programacin 4.2.1 Modelo de Programacin La programacin requiere un claro entendimiento de la lectura de los registros internos de la familia de microprocesadores Intel. En esta seccin se describe la estructura de los registros del microprocesador y se explica la forma en que se direcciona la memoria por medio de los registros de segmentos y de los desplazamientos de direccin. El arreglo de registros internos del microprocesador se aplica a todas las versiones del microprocesador. Tenga en cuenta que las partes sombreadas solo estn disponibles en los microprocesadores 80386 y 80486. El arreglo de registros internos consta de tres grupos de registros: registros de uso general, apuntadores y registros de ndice y registros de segmentos. Adems de esos grupos, hay tambin un registro de banderas que seala

86

49

las condiciones respecto al funcionamiento de la unidad aritmtica y lgica (ALU).

Una computadora digital es una maquina que puede resolver problemas ejecutando las intrucciones que recibe de las personas. Una secuencia de instrucciones que describe como realizar cierta tarea se llama programa. Los crcuitos electronicos de una computadora pueden reconocer y ejecutar directamente un conjunti limitado de instrucciones sencillas, y todos los programas tienen que convertirse en una serie d esas instrucciones para que la computadora pueda ejecutarlos. Dichas intrucciones basicas casi nunca son mas complicadas que : Sumar dos nmeros. Verificar si un nmero es cero. Copiar un dato de una parte de la memoria de la computadora a otra.

Juntas las instrucciones primitivas de una computadora constituyen un lenguaje que permite a las personas comunicarse con la computadora. Dicho lenguaje se llama lenguaje de mquina. Las personas que disean una computadora nueva deben decidir que instrucciones incluirn en su lenguaje de mquina.

49

microprocesadores de intel 3 edicion-Barry Brey

87

4.2.2 Conjunto de Instrucciones El conjunto de instrucciones de la familia 8086/8088 incluye equivalentes de las instrucciones que se encuentran en el 8085 o en casi cualquier microprocesador de 8 bits, ms algunas operaciones nuevas. En esta seccin se presenta un breve panorama de cada categora general de instrucciones y de las instrucciones en s. Las categoras de instrucciones descritas en esta seccin incluyen: transferencia de datos, aritmtica, manipulacin de bits, cadenas o arreglos, transferencia de programa y control del procesador.50 Las instrucciones fundamentalmente se dividen en tres tipos. Esta divisin viene dada por el tipo de datos con los que trabajan:

Instrucciones orientadas a los registros o bytes (byte-oriented operations). Instrucciones orientadas a los bits (bit-oriented operations). Operaciones con literales y de control (literal and control operations).

50

microprocesadores de intel 3 edicion-Barry Brey

88

Transferencia de Datos Transfieren bytes, palabras o dobles palabras de datos entre la memoria y los registros as como entre el acumulador y los puertos de E/S. Las transferencias de dobles palabras solo se pueden hacer en el 80386 y el 80486.

Aritmtica La familia 8086-80486 puede sumar, restar, multiplicar y dividir datos como bytes, palabras o dobles palabras. Se debe tener en cuenta que las operaciones con dobles palabras solo se emplean para los microprocesadores 80386 y 80486. El sistema suma y resta con el empleo de datos con signo o sin singo y datos BCD o de ASCII. Multiplica y divide nmeros ASCII con signo o sin signo.51

Manipulacin de Bits Las instrucciones para la manipulacin de bits se utilizan para controlar los datos hasta el nivel de bits en la familia de microprocesadores 8086-80486. Estas instrucciones incluyen operaciones lgicas, corrimientos y rotaciones.

Instrucciones Para Cadenas Las instrucciones para cadenas o arreglos se emplean para manipular cadenas de datos en la memoria. Cada cadena consta, ya sea, de bytes o de palabras y tiene hasta 64k bytes de longitud. En las instrucciones para la cadena se emplean los registros SI y DI para direccionar los datos y el registro CX para contar el numero de bytes o de palabras en que se trabajo.

Transferencia de Programa Las instrucciones para transferencia de programa incluyen brinco, llamadas (CALL) y para retorno, ya conocidas en el microprocesador 8085. Adems se enumeran algunas instrucciones adicionales para ciclos de programas.

51

microprocesadores de intel 3 edicion-Barry Brey

89

Control del Procesador Las instrucciones para control del procesador habilitan y deshabilitan las interrupciones, modifican los bits de bandera y sincronizan los eventos externos. En el 80286, 80386 y 80486 controlan el funcionamiento del sistema en el modo protegido. 4.2.3 Modos de Direccionamiento Los llamados modos de direccionamiento son las diferentes maneras de especificar en informtica un operando dentro de una instruccin en lenguaje ensamblador. Un modo de direccionamiento especifica la forma de calcular la direccin de memoria efectiva de un operando mediante el uso de la informacin contenida en registros y / o constantes, contenida dentro de una instruccin de la mquina o en otra parte.52 Tipos de Direccionamiento: Implcito: En este modo de direccionamiento no es necesario poner ninguna direccin de forma explcita, ya que en el propio cdigo de operacin se conoce la direccin del (de los) operando(s) al (a los) que se desea acceder o con el (los) que se quiere operar.

Inmediato En la instruccin est incluido directamente el operando. En este modo el operando es especificado en la instruccin misma.

Directo El campo de operando en la instruccin contiene la direccin en memoria donde se encuentra el operando. En este modo la direccin efectiva es igual a la parte de direccin de la instruccin.

Indirecto El campo de operando contiene una direccin de memoria, en la que se encuentra la direccin efectiva del operando.

52

microprocesadores de intel 3 edicion-Barry Brey

90

Por Registro Sirve para especificar operandos que estn en registros.

Indirecto por Registro El campo de operando de la instruccin contiene un identificador de registro en el que se encuentra la direccin efectiva del operando. En este modo el campo de la direccin de la instruccin da la direccin en donde la direccin efectiva se almacena en la memoria.

Direccionamiento Paginado Paginado: La memoria se encuentra actualmente dividida en pginas(bloques de igual longitud). Para obtener las direcciones necesitamos: Indicador de pgina (IP): en un registro especfico o de propsito general de la mquina. Direccin de la palabra (DP): en el campo CD de la instruccin. Direccionamiento Segmentado Segmentado: La memoria se divide en porciones cuyos tamaos son variables. As, para acceder a ellos se tiene una tabla de segmentos que contiene la direccin del comienzo y del final de cada segmento en memoria. Usar este tipo de direccionamiento tiene como ventajas que se puede definir segmentos de tamao arbitrario. Por otro lado, esta misma ventaja, el fraccionamiento de memoria es uno de sus problemas.53 4.2.4 Lenguaje Ensamblador El lenguaje ensamblador, o assembler (assembly language en ingls) es un lenguaje de programacin de bajo nivel para los computadores, microprocesadores, microcontroladores, y otros circuitos integrados programables. Implementa una representacin simblica de los cdigos de mquinabinarios y otras constantes necesarias para programar una arquitectura dada de CPU y constituye la representacin ms directa del cdigo mquina especfico para cada arquitectura legible por un programador. Esta representacin es usualmente definida por el fabricante de hardware, y est basada en los mnemnicos que simbolizan los pasos de procesamiento
53

microprocesadores de intel 3 edicion-Barry Brey

91

(las instrucciones), los registros del procesador, las posiciones de memoria, y otras caractersticas del lenguaje. Un lenguaje ensamblador es por lo tanto especfico a cierta arquitectura de computador fsica (o virtual). Esto est en contraste con la mayora de los lenguajes de programacin de alto nivel, que, idealmente son portables.54

54

microprocesadores de intel 3 edicion-Barry Brey

92

4.3 Aplicaciones Entre las aplicaciones que necesitan velocidades mayores del microprocesador y sistemas de memoria ms grandes, se incluyen los sistemas de software que utilizan una GUI (Interfaz Grfica de Usuario). Las pantallas modernas a menudo contienen 256,000 o ms pxeles (elementos de imagen). La menos sofisticada es la de tipo VGA (Matriz de Grficos de Vdeo) y tiene una resolucin de 640 pxeles por cada una de las 480 lneas de barrido. Para presentar una pantalla de informacin, es necesario cambiar cada elemento grfico, lo que requiere un microprocesador de alta velocidad. Muchos paquetes de software nuevos utilizan este tipo de interfaz de vdeo. Los paquetes basados en la GUI requieren altas velocidades de microprocesador y adaptadores de vdeo acelerados para una manipulacin rpida y eficiente de la informacin de texto y grficos. El sistema ms notorio que requiere una alta velocidad de clculo para su interfaz grfica de despliegue, es el Windows' de Microsoft Corporation. La interfaz grfica de usuario tiene un tipo de despliegue conocido como WYSIWYG (Lo Que Ve Es Lo Que Obtiene).55 El microprocesador de 32 bits es necesario por el ancho de su bus de datos, que transfiere nmeros reales (punto flotante de precisin sencilla) que requieren una memoria de 32 bits de ancho. Para procesar eficientemente los nmeros reales de 32 bits, el microprocesador debe transferirlos eficientemente entre s mismo y la memoria. Si los nmeros pasaran a travs de un bus de datos de 8 bits, le tomara cuatro ciclos de lectura o escritura; sin embargo, cuando pasan a travs de un bus de datos de 32 bits, slo requiere de un ciclo de lectura o escritura. Esto acelera significativamente cualquier programa que trabaje con nmeros reales. La mayora de los lenguajes de alto nivel, hojas de clculo electrnicas y sistemas de administracin de bases de datos, utilizan nmeros reales para almacenar la informacin. Los nmeros reales tambin son usados en paquetes de diseo grfico que utilizan vectores para trazar imgenes en la pantalla. stos incluyen los sistemas CAD (dibujo asistido por computadora), como el AutoCAD, ORCAD y otros. Adems de ofrecer velocidades de reloj mayores, el 80386 incluy una unidad de manejo de memoria que permita al sistema operativo asignar y administrar los recursos de memoria.
55

microprocesadores de intel 3 edicion-Barry Brey

93

Los microprocesadores anteriores dejaron la administracin de memoria completamente a cargo del software. El 80386 incluy circuitera especializada para la administracin y asignacin de memoria, lo que mejor su eficiencia y redujo la carga adicional del software. El conjunto de instrucciones del microprocesador 80386 segua siendo compatible con los anteriores 8086, 8088 y 80286. Algunas instrucciones adicionales usaban los registros de 32 bits y administraban el sistema de memoria. Observe que las instrucciones y tcnicas de administracin de memoria utilizadas por el 80286 tambin eran compatibles con el microprocesador 80386. Estas caractersticas permitan al software anterior de 16 bits operar con el microprocesador 80386.56

56

microprocesadores de intel 3 edicion-Barry Brey

94

BIBLIOGRAFIAS

1. Stallings, William Organizacin y Arquitectura de computadoras. Pearson Educacin. Espaa. 2001.

2. Tanenbaum, Andrew. Educacin. 2000

Organizacin

de

computadoras.

Mxico:Pearson

3. Brey, Barry B. Intel Microprocessors 8086/8088, 80186/80188, 80286, 80386, 80486 Pentium, Pentium Pro Processor, Pentium II, Pentium III, and Pentium IV: Architecture, Programming, and Interfacing, 6/E. USA: Prentice Hall. 2002. 4. Angulo, Jos. Microcontroladores PIC. Diseo Prctico de Aplicaciones. Espaa: McGraw-Hill. 1999.

5. Organizacin de Computadoras, Andrew S. Tanenbaum

6. Organizacin y Arquitectura de Computadores. William Stallings - 7 edicin

95

You might also like