Beruflich Dokumente
Kultur Dokumente
Contenidos
Captulo I: Introduccin a la Arquitectura de computadoras ... ... Captulo II: Sistemas de representacin Captulo III: La unidad aritmtica lgica Captulo IV: Memorias ..... Captulo V: Modos de direccionamiento y repertorio de instrucciones .. Captulo VI: La unidad de control .... ...
.... ..
Captulo X: El microprocesador 8086, caractersticas .. Captulo XI: Lenguaje Asembler, puertos LPT1 y RS-232 ..
Captulo 1:
Introduccin a la Arquitectura de Computadoras
INTRODUCCIN
El ordenador recibe y enva la informacin a travs de los perifricos por medio de los canales. La UCP es la encargada de procesar la informacin que le llega al ordenador. El intercambio de informacin se tiene que hacer con los perifricos y la UCP. Todas aquellas unidades de un sistema exceptuando la UCP se denomina perifrico, por lo que el ordenador tiene dos partes bien diferenciadas, que son: la UCP (encargada de ejecutar programas y que est compuesta por la memoria principal, la UAL y la UC) y los perifricos (que pueden ser de entrada, salida, entrada-salida y comunicaciones). Un computador ejecuta programas que estn formados por instrucciones. Con el objetivo de ejecutar cada una de las instrucciones de forma adecuada Dado que las instrucciones se guardan en posiciones consecutivas de memoria, es necesario que el PC tenga asociado un incrementador que acte sobre su valor cada vez que se comience a ejecutar una nueva instruccin. Un UCP o procesador, interpreta y lleva a cabo las instrucciones de los programas El escner o Digitalizador Son perifricos diseados para registrar caracteres escritos, o grficos en forma de fotografas o dibujos, facilitando su introduccin la computadora convirtindolos en informacin binaria comprensible para sta. Los discos duros en general su organizacin es igual a los disquetes. La capacidad del disco resulta de multiplicar el nmero de caras por el de pistas por cara y por el de sectores por pista, al total por el nmero de bytes por sector. El Monitor es la pantalla en la que se ve la informacin suministrada por el ordenador. En el caso ms habitual se trata de un aparato basado en un tubo de rayos catdicos (CRT) como el de los televisores, mientras que en los porttiles es una pantalla plana de cristal lquido (LCD). Las redes Comunicaciones son un sistema complejo que puede llegar a estar constituido por millones de componentes electrnicos elementales.
1.1 DEFINICIONES
A) MICROCOMPUTADORA: Una microcomputadora es un tipo de computadora que utiliza un microprocesador como unidad central de procesamiento (CPU). Generalmente son computadoras que ocupan espacios fsicos pequeos, comparadas a sus predecesoras histricas, las mainframes y las minicomputadoras. Generalmente, el microprocesador tiene los circuitos de almacenamiento (o memoria cach) y entrada/salida en el mismo circuito integrado (o chip). El primer microprocesador comercial fue el Intel 4004, que sali el 15 de noviembre de 1971. B) CPU: (Unidad Central de Procesamiento) Tambin llamado procesador, es el componente principal del ordenador y otros dispositivos programables, que interpreta las instrucciones contenidas en los programas y procesa los datos. Las CPU proporcionan la caracterstica fundamental del ordenador digital (la programabilidad) y son uno de los componentes necesarios encontrados en los ordenadores de cualquier tiempo, junto con la memoria principal y los dispositivos de entrada/salida La unidad central de proceso se compone de: Una Unidad de Control que manejar los diferentes componentes del sistema informtico as como los datos a utilizar en los diferentes procesos. Una Unidad Aritmtico-Lgica que realizar las diferentes operaciones de clculo en las que la computadora basa su funcionamiento. Unos Registros del Sistema que sirven como rea de trabajo interna a la unidad central de proceso. La unidad central de proceso se conecta a una serie de memorias que le sirven como soporte para el manejo de los datos y programas que se han de utilizar mientras se encuentre operativa. C) Memoria Principal: La memoria principal o primaria, Memoria Central ", es aquella memoria de un ordenador, donde se almacenan temporalmente tanto los datos como los programas que la CPU est procesando o va a procesar en un determinado momento. Por su funcin, es una amiga inseparable del microprocesador, con el cual se comunica a travs de los buses de datos. Por ejemplo, cuando la CPU tiene que ejecutar un programa, primero lo coloca en la memoria y despus lo empieza a ejecutar. Lo mismo ocurre cuando necesita procesar una serie de datos; antes de poder procesarlos los tiene que llevar a la memoria principal. Esta clase de memoria es voltil, es decir que, cuando se corta la energa elctrica, se borra toda la informacin que estuviera almacenada en ella.
Por su funcin, la cantidad de memoria RAM de que disponga una computadora es un factor muy importante; hay programas y juegos que requieren una gran cantidad de memoria para poder usarlos. Otros andarn ms rpido si el sistema cuenta con ms memoria RAM. La memoria principal cada da perfecciona ms su capacidad de almacenamiento y su velocidad de transmisin de datos, la cual trata de estar acorde a las nuevas exigencias del nuevo software, los cuales exigen cada da memorias con un mejor funcionamiento.
Para cumplir todos estos retos las nuevas memorias tienen que cambiar muchas veces su diseo establecido ya que a causa de una mayor transmisin de datos estas tienden a producir mayor calor las cuales necesitan estar cada vez ms alejadas y consumir una menor energa elctrica, lo cual conlleva a una evolucin de la memoria que dada da se hace ms perfectible. Es la memoria de acceso aleatoria, la computadora utiliza la memoria de acceso aleatorio para almacenar los datos e instrucciones temporalmente, para ejecutar las tareas; de esta manera la CPU puede acceder ms rpidamente a los datos e instrucciones. Es una memoria en la que se puede leer e escribir informacin pero esta memoria es voltil se pierde la informacin una vez se le deja de suministrar energa elctrica. D) I/O: Es la Interfaz entre el Hombre y el computador. Las computadoras electrnicas modernas son una herramienta esencial en muchas reas: industria, gobierno, ciencia, educacin,..., en realidad en casi todos los campos de nuestras vidas. El papel que juegan los dispositivos perifricos de la computadora es esencial; sin tales dispositivos sta no sera totalmente til. A travs de los dispositivos perifricos podemos introducir a la computadora datos que nos sea tiles para la resolucin de algn problema y por consiguiente obtener el resultado de dichas operaciones, es decir; poder comunicarnos con la computadora. La computadora necesita de entradas para poder generar salidas y stas se dan a travs de dos tipos de dispositivos perifricos existentes: Dispositivos perifricos de entrada. Dispositivos perifricos de salida E) Lgica Cableada Tambin conocida como lgica de contactos, la lgica cableada es la forma de realizar controles, en la que el tratamiento de datos se efecta en conjunto con contactares.
F) Lgica de Programa almacenada: Es multiaplicativo. Los primeros computadores constaban de programas almacenados. Algunos muy simples siguen utilizando este diseo, por ejemplo, una calculadora es un computador que tiene un programa almacenado. Puede hacer operaciones matemticas simples, pero no puede ser usada como procesador de textos o videoconsola. Cambiar el programa que contenan los dispositivos que usaban esta tecnologa requera reescribir, reestructurar y/o redisear el dispositivo. Los primeros computadores no estaban lo suficiente programados cuando fueron diseados. La tarea de reprogramar, cuando era posible, era un proceso laborioso, empezando con notas en papel y siguiendo con detallados diseos de ingeniera. Y tras esto llegaba el a veces complicado proceso de reescritura y reestructuramiento fsico del computador. El concepto de programa almacenado cambi por completo, se pens en un computador que en su diseo contena un conjunto de instrucciones que podan ser almacenadas en memoria, o sea, un programa que detallaba la computacin del mismo. El diseo de un programa almacenado tambin daba la posibilidad a los programas de ser modificados ellos mismos durante su ejecucin. Uno de los primeros motivos para su creacin fue la necesidad de un programa que incrementara o modificara las direcciones de memoria de algunas instrucciones, las cuales tenan que ser hechas manualmente en los primeros diseos. Esto se volvi menos importante cuando el ndice de registros y el direccionamiento indirecto se convirtieron en algo habitual en la arquitectura de computadores. El cdigo automodificable fue en gran parte ganando posiciones.
En 1947 el matemtico John Von Neumann ide una solucin que evitara el "recablear" la ENIAC, la cual consista en introducir las operaciones por medio de tarjetas perforadas, por lo que un programa previamente "almacenado" y en las tarjetas, se poda mantener latente en
memoria para su uso. Este modelo permite que las instrucciones se encuentren residentes en una memoria listas para ser ledas y ejecutadas.
La arquitectura de Von Newmann define los siguientes elementos: Unidad Central de Proceso (CPU - Central Processing Unit) Memoria principal Controlador de entrada salida Buses del sistema o Bus de datos o Bus de direcciones o Bus de control
UNIDAD CENTRAL DE PROCESO (CPU) La CPU es el lugar en el que se procesa la informacin de acuerdo a las instrucciones del programa. La CPU de un sistema informtico repite una serie de pasos en los que continuamente accede a memoria para leer la prxima instruccin a ejecutar, realiza lo que ordena la instruccin y vuelta a empezar. Cuando la CPU est implementada en un nico circuito integrado se llama microprocesador (P). En una CPU podemos distinguir: Unidad aritmtico lgica (ALU Arithmetic and logical unit) Se encarga de realizar las operaciones aritmticas (sumas, restas, multiplicaciones, etc..) y lgicas (AND, OR, rotaciones, desplazamientos, etc...) con los datos. Normalmente los datos con los que opera, as como los resultados de la operacin se encuentran en registros de la CPU. Las operaciones que es capaz de realizar estn definidas por el juego de instrucciones de la CPU. Es posible encontrar ALUs con capacidades orientadas hacia la operacin con valores enteros, coma flotante o nmeros imaginarios (por ejemplo en las DSP.) Banco de registros Proporciona un espacio de almacenamiento para los datos con los que trabaja la CPU. Los registros se deben cargar con informacin que proviene de la memoria principal antes de comenzar a operar, cuando se necesita dejar espacio libre en el banco de registros para operar con nuevos datos su valor debe escribirse en la memoria principal. Operar con datos en el banco de registros es mucho ms rpido que operar con datos que se encuentran en la memoria principal, por eso, cuanto mayor sea el banco de registros se requerirn menos trasvases con la memoria principal y la tarea se realizar antes. Es posible que no todos los registros tengan las mismas caractersticas. Normalmente se distingue entre: Registros de datos: Guardan la informacin con la que se trabaja. Registros de direcciones: Guardan direcciones de memoria (en las que puede haber datos).
Unidad de control Se encarga de leer las instrucciones mquina almacenadas en la memoria principal y de generar las seales de control necesarias para controlar y coordinar
el resto de las unidades funcionales de un ordenador, con el fin de ejecutar las instrucciones ledas. Partes fundamentales: Contador de programa: Registro que apunta a la direccin de memoria de la prxima instruccin a ejecutar. Se incrementa automticamente despus de ejecutar cada instruccin. Registro de instruccin: Guarda la instruccin que se est ejecutando. Decodificador: Interpreta la instruccin a ejecutar. Reloj: Genera una seal de sincrona. Secuenciador: Activa en el orden adecuado las diferentes unidades funcionales para ejecutar la instruccin.
Los dos tipos ms frecuentes de unidades de control son: Cableada: La lgica de las operaciones est implementada mediante hardware. Microprogramada: Se trata de una pequea CPU en miniatura que puede programarse para realizar diferentes tareas. Son ms flexibles pero ms lentas.
Buses Transportan la informacin entre los diferentes elementos de la CPU. Se distingue entre el bus de datos (que transporta la informacin que se est procesando) y el bus de control (que proporciona toda la sealizacin necesaria para realizar el trabajo de forma ordenada). MEMORIA PRINCIPAL La memoria principal tiene por objeto guardar informacin que es accesible a la CPU. La CPU puede leer y/o escribir datos en las diferentes posiciones de memoria que componen la memoria principal. La memoria principal tiene menor capacidad que la memoria secundaria (que virtualmente es ilimitada), pero es mucho ms rpida. Actualmente la memoria principal se implementa mediante circuitos integrados. La memoria principal de los sistemas informticos suele estar formada por dos reas diferenciadas:
Memoria RAM (Random Access Memory): Memoria de acceso aleatorio (no tiene porqu ser utilizada de manera secuencial) que permite tanto la lectura como la escritura. Habitualmente en los sistemas informticos se trata de un medio de almacenamiento
10
voltil, de manera que se pierde su contenido al cesar la alimentacin. Memoria ROM (Read Only Memory): Memoria de acceso aleatorio que slo permite la lectura de los datos que almacena. Se trata de un medio de almacenamiento persistente, pues no pierde su contenido cuando cesa la alimentacin.
CONTROLADOR DE ENTRADA/SALIDA (I/O) En la medida en la que el sistema informtico precisa comunicarse con el mundo exterior (utilizando diferentes perifricos), es necesario un elemento que controle el flujo de informacin que entra y/o sale del sistema informtico.
Los perifricos del sistema informtico se pueden clasificar en: Perifricos de entrada: Si sirven para introducir informacin en el sistema informtico (ej. teclado, ratn...) Perifricos de salida: Si representan informacin que sale del sistema informtico (ej. monitor, impresora...)
Polling o espera activa: La CPU se encarga de la transferencia de informacin consultando contnuamente el estado del dispositivo perifrico. Simple e ineficiente. Uso de interrupciones: La CPU se encarga de la transferencia de informacin pero el dispositivo perifrico le notifica los cambios de estado mediante una interrupcin. DMA (Direct Memory Access): El controlodador DMA se encarga de toda la transferencia de informacin (puede ser un bloque, y puede requerir de conversin). Al finalizar el controlador DMA utiliza una interrupcin para notificarlo a la CPU. Con esta tcnica, la CPU programa al controlador DMA para realizar el trabajo y queda libre (para realizar otras tareas). Es la tcnica ms eficiente.
BUSES DEL SISTEMA Los buses son las vias de comunicacin que permiten mover la informacin entre los distintos elementos de la arquitectura Von Newmann. Desde el punto de vista electrnico un bus es una serie de pistas que transportan informacin entre diferentes elementos. El nmero de lneas que tiene el bus determina el nmero de bits
11
que se pueden transportar en paralelo. Los buses suelen ser elementos sncronos que funcionan gobernados por un reloj. Normalmente en cada ciclo de reloj se transporta un dato (de 8, 16 o 32 bits segn la anchura del bus), tambin existen buses que realizan dos operaciones en cada ciclo de reloj (utilizan tanto el flanco de bajada como el flanco de subida). Ejemplo: El bus PCI cuenta con la siguiente especificacin: Ancho del bus: 32 bits Reloj: 33 Mhz Fcilmente podemos calcular la cantidad mxima de informacin que puede transportar en un segundo. Simplemente necesitamos multiplicar la informacin que mueve en cada ciclo (32 bits = 4 Bytes) por el nmero de ciclos que tienen lugar en un segundo (33*106).
Si el bus fuese capaz de utilizar tanto el flanco de subida como el de bajada para transmitir informacin, se doblara la capacidad til. Bus de datos: Como su nombre indica transporta datos. Estos datos pueden ser la informacin que se est procesando o las instrucciones del programa que se ejecuta. Hay que recordar que en la arquitectura Von Neumann el programa est guardado en el interior del sistema informtico codificado como informacin. El ancho en bits del bus de datos define el tamao de la palabra del sistema informtico, habitualmente es 8bits, 16bits, 32bits o 64bits. Bus de direcciones: El bus de direcciones se utiliza para indicar el origen y/o el destino de los datos. En el bus de direcciones se indica la posicin de memoria a la que se est accediendo en cada momento. Puede tratarse de una direccin de la memoria principal o puede tratarse de una direccin de memoria en la que est mapeado un perifrico. El ancho en bits del bus de direcciones determina el tamao del espacio de memoria direccionable.
Bus de control:
12
El bus de control proporciona seales para coordinar las diferentes tareas que se realizan en el sistema informtico. Algunas de las seales que podemos encontrar: CLK: Frecuencia de reloj CS (Chip select): Activa el chip a utilizar READY: Est disponible el dispositivo R/W: Se trata de una operacin de lectura o escritura
Es importante mencionar que lo anterior es un modelo bsico, no hay que olvidar que tambin hacen falta otros elementos que no entran dentro de la clasificacin de Neumann pero que tambin son importantes como la fuente de suministro de electricidad y la placa base, adems de otros secundarios como la unidad de soporte Hardware (gabinete), los ventiladores, etc.
B) ARQUITECTURA MULTIUSUARIO
Diagrama de la arquitectura multiusuario A inicios de 1970, basndose en la arquitectura de Non Neumann, se le realiza una mejora, integrando un DMA (Direct Access Memory) acceso directo a memoria, la cual permite que los dispositivos se comuniquen de manera directa con la memoria sin la necesidad de la intervencin del microprocesador, por lo que este ltimo puede entonces dedicarse a otras actividades y se libera de carga de trabajo, con ello se vuelve ms eficiente el sistema.
13
C) Arquitectura multiproceso
Diagrama de la arquitectura multiproceso Durante los aos 70, se desarrolla un tipo nuevo de arquitectura denominada multiproceso, en la cual se asignan tiempos a los procesos los cules pueden permanecer en varios estados como "modo espera", "modo ejecucin", "modo cancelacin" y "fin de proceso". El modo multiproceso necesita de una gran cantidad de memoria fsica disponible en el equipo.
Diagrama de la arquitectura basada en memoria virtual Debido al alto costo relativo de la memoria y que la arquitectura multiproceso necesita de grandes cantidades de memoria disponible, se opt por un sistema de emulacin de la misma, utilizado el espacio libre de dispositivos como discos duros o disquetes (actualmente un ejemplo muy popular es la funcin del Software ReadyBoost de Microsoft Windows Vista que permite utilizar el espacio disponible en memorias USB o unidades SSD).
14
A finales de la dcada de los aos 70 hasta la fecha en las redes ms avanzadas, se utiliza esta arquitectura que interconecta los equipos entre s o los concentra en uno principal llamado servidor o Host. Esta arquitectura permite que se compartan recursos tanto Hardware como Software y reduce costos de operacin.
15
Durante la dcada de 1950 se construyeron varias computadoras notables, cada una contribuy con avances significativos: uso de la aritmtica binaria, acceso aleatorio y el concepto de programas almacenados.
b) SEGUNDA GENERACIN Estas computadoras comenzaron a utilizar transistores. Se comunicaban mediante lenguajes de alto nivel. El invento de los transistores signific un gran avance, ya que permiti la construccin de computadoras ms poderosas, ms confiables, y menos costosas. Adems ocupaban menos espacio y producan menos calor que las computadoras que operaban a bases de tubos de vaco.
16
c) TERCERA GENERACIN Son las computadoras que comienzan a utilizar circuitos integrados. La IBM 360 es el smbolo de esta generacin. A mediados de los aos 60 se produjo, la invencin de Jack St. Claire Kilby y Robert Noyce del circuito integrado o microchip, despus llev a la invencin de Ted Hoff del microprocesador, en Intel. A partir de finales de 1960, empezaron a empaquetarse varios transistores diminutos y otros componentes electrnicos en una sola pastilla o encapsulado. Naturalmente, con estas pastillas (circuitos integrados) era mucho ms fcil montar aparatos complicados: receptores de radio o televisin y computadoras. Estas computadoras de tercera generacin sustituyeron totalmente a los de segunda, introduciendo una forma de programar que an se mantiene en las grandes computadoras actuales.
d) CUARTA GENERACIN Dos mejoras en la tecnologa de las computadoras marcan el inicio de la cuarta generacin: el reemplazo de las memorias con ncleos magnticos, por las de chips de silicio y la colocacin de muchos ms componentes en un Chip: producto de la microminiaturizacin de los circuitos electrnicos. El tamao reducido del microprocesador de chips hizo posible la creacin de las computadoras personales. Las microcomputadoras o Computadoras Personales (PCs) tuvieron su origen con la creacin de los microprocesadores. Las PCs son computadoras para uso personal y relativamente son baratas y actualmente se encuentran en las oficinas, escuelas y hogares. Hicieron su gran debut las microcomputadoras.
17
e) QUINTA GENERACIN Las computadoras de quinta generacin son computadoras basados en inteligencia artificial Usando Lo que se puede denominar micro chip inteligente. Fue un proyecto ambicioso lanzado por Japn a finales de los 70. Su objetivo era el desarrollo de una clase de computadoras que utilizaran tcnicas de inteligencia artificial al nivel del lenguaje de mquina y seran capaces de resolver problemas complejos, como la traduccin automtica de una lengua natural a otra. El proyecto dur diez aos, los campos principales para la investigacin de este proyecto inicialmente eran: -Tecnologas para el proceso del conocimiento. -Tecnologas para procesar bases de datos y bases de conocimiento masivo. -Sitios de trabajo del alto rendimiento. -Supercomputadoras para el clculo cientfico.
18
f)
SEXTA GENERACIN Las computadoras de esta generacin cuentan con arquitecturas combinadas Paralelo / Vectorial, con cientos de microprocesadores vectoriales trabajando al mismo tiempo. Se han creado computadoras capaces de realizar ms de un milln de millones de operaciones aritmticas de punto flotante por segundo (teraflops). Las redes de rea mundial (Wide Area Network, WAN) seguirn creciendo desorbitadamente utilizando medios de comunicacin a travs de fibras pticas y satlites, con anchos de banda impresionantes. Las tecnologas de esta generacin ya han sido desarrolladas. Algunas de ellas son: inteligencia / artificial distribuida; teora del caos, sistemas difusos, holografa, transistores pticos, etctera.
Teniendo en cuenta las diferentes etapas de desarrollo que tuvieron las computadoras, se consideran las siguientes divisiones como generaciones aisladas con caractersticas propias de cada una, las cuales se enuncian a continuacin de manera resumida
Primera generacin 1. Sistemas constituidos por tubos de vaco. (1951-1958) 2. Mquinas grandes y pesadas. se construye el ordenador ENIAC de grandes dimensiones (30 toneladas). 3. Alto consumo de energa. 4. Continas fallas o interrupciones en el proceso. 5. Programacin en lenguaje de mquina. 6. Uso de tarjetas perforadas para suministrar datos y los programas. Segunda generacin 1. Transistor como potente principal. El componente principal es un (1959- 1964) trozo pequeo de semiconductor y se expone en los circuitos transistorizados. 2. Disminucin del tamao. 3. Disminucin del consumo y de la produccin de calor. 4. Mayor rapidez, la velocidad de las operaciones ya no se mide en segundos sino en milisegundos. 5. Instrumentos de almacenamiento: cintas y discos. 6. Lenguajes de programacin de alto nivel, ms potentes y ensambladores (fortran, cobol y algol) Tercera 1. generacin(1964-1971) 2. 3. Circuito integrado, miniaturizado y reunin de centenares elementos en una placa de silicio o chip. Aumento de fiabilidad y flexibilidad. Aumenta la capacidad de almacenamiento y se reduce el tiempo respuesta. 4. Teleproceso: se instalan terminales remotas, que acceden computadoras centrales para realizar operaciones, extraer introducir informacin en bancos de datos, etc. 5. Renovacin de perifricos. de
de a o
19
6. Ampliacin de aplicaciones en procesos industriales, educacin, hogar, agricultura, administracin y juegos. Cuarta 1. El microprocesador: el proceso de reduccin del tamao de los generacin(1971-1982) componentes llega a operar a escalas microscpicas. 2. Se minimizan los circuitos, aumenta la capacidad de almacenamiento. 3. Reducen el tiempo de respuesta. 4. Gran expansin del uso de las computadoras. 5. Memorias electrnicas ms rpidas. 6. Multiproceso y microcomputadora. Quinta generacin(1982 1. Mayor velocidad -1989) 2. lenguaje natural y lenguajes de programacin: PROGOL Y LISP 3. Capacidad de traduccin entre lenguajes que permitirn la traduccin instantnea de lenguajes hablados y escritos. 4. Caractersticas de procesamiento similares a las secuencias de procesamiento humano. 5. Aumenta la capacidad de memoria. 6. Inteligencia artificial que recoge en su seno a sistemas expertos, lenguaje natural, robotica y reconocimiento de la voz Sexta generacin (1990- Las computadoras de esta generacin cuentan con arquitecturas actualmente) combinadas Paralelo / Vectorial, con cientos de microprocesadores vectoriales trabajando al mismo tiempo. Se han creado computadoras capaces de realizar ms de un milln de millones de operaciones aritmticas de punto flotante por segundo (teraflops).
20
Captulo 2:
Sistemas de representacin de la Informacin
INTRODUCCIN
Para que el ordenador ejecute programas necesita dos tipos de informaciones: Las instrucciones ( forman el programa ) Los datos ( con los que opera el programa )
Cmo se representa la informacin con la que trabaja el computador? Sistema de Numeracin es el conjunto de elementos o smbolos, operaciones y relaciones que, a travs de reglas propias, permite establecer el papel de tales relaciones y operaciones. El ms conocido y usado es el sistema de numeracin decimal, no es el nico y por el contrario los ms utilizados en los circuitos digitales son el octal, el hexadecimal y sobre todo el binario. Las computadoras suelen efectuar las operaciones aritmticas utilizando una representacin para los datos numricos basada en el sistema de numeracin de base dos conocido como binario natural o simplemente binario. Se utilizan los sistemas octal y hexadecimal (bases 8 y 16) respectivamente para obtener cdigos intermedios. A nivel electrnico, utilizar cdigos intermedios resulta ms favorable que transformar directamente decimales en binarios y al revs.
21
Los humanos recibimos informacin a travs de nuestros cinco sentidos. Todos ellos son vlidos para captar informacin, pero cuando pretendemos transmitir informacin, comunicar algo a alguien, los sentidos que mejor se prestan a establecer la comunicacin son el odo y la vista. Cuando pretendemos plasmar la informacin de una forma transmisible y ms o menos permanente, se debe disponer de un soporte fsico, el cual contenga a la informacin. Cuando una informacin que originalmente vena representada en un alfabeto A1 es transcrita a un segundo alfabeto A2, se dice que ha sido codificada. Existen razones que determinan la necesidad de que la informacin sea codificada y ellas son: - Debido a la transmisin automtica de la informacin. - Necesidad de abreviar la escritura. - Hacer secreta e ininteligible la informacin que se codifica. Se trata de hacer crptico un mensaje plasmndolo en un sistema de codificacin que el emisor y el receptor conocen pero que un posible interceptor desconocer. Codificar significa transformar unos datos de su representacin actual a otra representacin predefinida y preestablecida, que podr ser tan arbitraria y convencional como se quiera, pero que deber tener en cuenta el soporte fsico sobre el cual se va a mantener los datos, as como los procesos a los cuales se los deber someter y, tambin, si necesitamos o no transmitirlos a travs de ciertos canales fsicos de comunicacin. Cdigos de representacin de la informacin en las computadoras
22
2.1 DEFINICIONES
Espacio material: nmero de bits que se tienen para almacenar el dato (nmero o carcter) Byte (8 bits) Palabra (n bits)
Rango de representacin: valores mximo y mnimo que se pueden representar en un determinado sistema. Resolucin de la representacin: diferencia entre un nmero y el siguiente inmediato Longitud del cdigo: cuntos elementos diferentes se pueden obtener para una representacin con n bits de espacio material. La longitud del cdigo para n bits es 2n
La ejecucin de un programa implica realizar unos tratamientos segn un conjunto ordenado de instrucciones sobre unos datos. Se presentan los problemas de cmo representar y registrar la informacin fsicamente. La informacin se suministra al ordenador con un conjunto de smbolos y caracteres que nosotros entendemos, pero deben de sufrir un proceso interno de traduccin para que lo entienda el ordenador. En el ordenador, la informacin, ya sean instrucciones o datos, se almacena en la memoria principal, se procesa en UAL y se transfiere en las diferentes unidades en formato binario. En ste tema, se explicar cmo se guarda fsicamente la informacin, para lo que ser necesario seguir unos mtodos para su representacin y codificacin.
23
Normalmente los bits no se almacenan individualmente, sino que forman grupos denominados palabras, siendo la longitud de palabra con la que trabaja un ordenador, la cantidad de bits que trata de forma conjunta. Mediante estos conjuntos de bits codificaremos la informacin. Una forma de codificar es asignar una correspondencia unvoca entre los smbolos a representar y la secuencia de bits que lo representa, de forma que cada uno de los smbolos tenga una y slo una secuencia de bits asignada. As por ejemplo queremos representar el conjunto de smbolos A = {a,b,c} con el grupo de bits B = {0,1}. Podramos realizar una asignacin como sigue: A a b c B 0 1 01
Pero sta asignacin pude dar lugar a diferentes representaciones. En al caso de tener una serie de bits como 011, puedo interpretarlo como abb o como ca.
24
A a b c
B 00 01 10
Normalmente solucionaramos este problema obligando a que cada smbolo de A se represente con la misma cantidad de bits.
En general, para codificar en binario un conjunto de n smbolos, ser necesario un nmero de n bits de modo que se cumpla. Cantidad de bits >= log 2 n-smbolos Ejemplos: Si tenemos un sistema con tres tipos de seales diferentes y queremos representar once smbolos cuantos bits necesitamos. Tres puesto que 3 a la 3 son 27. Queremos representar 352 smbolos en un sistema binario, cuantos bits necesitamos. Nueve, 2 a la 9 son 512.
25
2.3 CODIFICACIN:
Se muestra el siguiente esquema:
Normalmente trabajamos con un sistema de numeracin decimal pero existen otros. As hemos visto que los ordenadores utilizan un sistema binario, aunque tambin pueden trabajar con otros sistemas que le resultan fciles, como el octal o base 8 y el hexadecimal o base 16 que veremos a continuacin. Existen varios sistemas de numeracin, los ms comunes, como el decimal, son sistemas posicionales, donde cada dgito tiene un peso concreto dependiendo de su posicin. Hay otros sistemas no posicionales como por ejemplo la numeracin romana. Los sistemas posicionales son aquellos en los que los valores de los nmeros, no solo dependen de la cifra utilizada sino de su posicin. En estos sistemas de numeracin cada valor se obtiene a partir de la frmula siguiente:
(digito)i * (base)i
i
n = n de dgitos i = posicin de 0 a n
La suma de todos los trminos del sumatorio da lugar al nmero en base 10. Cuando hay parte decimal, se aplica la misma frmula pero con potencia negativa.
26
Sistema binario.
Se corresponde naturalmente con el contenido de los registros del ordenador de modo que independientemente de su significado, la informacin se puede representar por un conjunto de dos valores. Esta informacin mnima representada con 1 o 0 es lo que conocemos como bit (binary digit). A partir de esta unidad elemental se manejan otras unidades superiores:
1 Byte = octeto = 8 bits 1 Kilobyte = 1024 Bytes 1 Megabyte = 1024 Kb 1 Gigabyte = 1024 Mb 1 Terabyte = 1024 Gb
Para convertir un nmero de binario a decimal usamos la frmula general para calcular cualquier nmero sabiendo que es un sistema posicional y sabiendo su base.
Ejemplo: 1011101(2 = 1 * 26 + 0 * 25 + 1 * 24 + 1 * 23 + 1 * 22 + 0 * 21 + 1 * 20 + = 93
Para convertir un nmero decimal a binario se divide sucesiva/ el nmero por dos. El ltimo cociente y los restos forman su representacin en base dos.
Si el nmero en base diez tiene parte decimal se va multiplicando la parte decimal por potencias de dos y las partes enteras resultantes forman el nmero binario. El proceso termina cuando la parte decimal es nula.
Ejemplos: Realizar la comprobacin de que el nmero 93 en base diez es el nmero binario de antes. 93/2/2/2.......= 1011101 Pasar 315(10 a base (2 = 100111011 Convertir 0.625(10 a base (2 = 0.101 Pasar 332661(10 a base(2 = 101001100101
27
El sistema binario escrito se denomina cdigo binario natural. En general un ordenador utiliza sistemas ms complicados que el binario dentro de estos el octal y el hexadecimal. Adems para datos numricos se utilizan otros formatos para almacenarlos de forma que se utilice mejor los recursos de la mquina, por ejemplo formatos de coma fija, formatos de coma flotante que se basan en la representacin como Ca1(completo a1) y Ca2, se vern ms adelante.
Sistema de numeracin con ocho smbolos diferentes que son: 0, 1, 2, 3, 4, 5, 6,7. Este sistema se utiliza debido a la facilidad con que puede pasarse a binario para lo cual: De binario a octal: tomamos la cifra binaria y cogemos grupos de 3 dgitos empezando por la derecha. Pasamos cada grupo a octal y el conjunto de cifras obtenidas forman el grupo octal. Ejercicio: Pasar 10110001001011(2 a base (8 = 26113(8 De octal a binario: se coge cada cifra en base 8 y se cambia por su correspondiente nmero de bits. Ejercicio: Pasar 4375(8 a base (2 = 100011111101(2 De octal a decimal: utilizamos la forma general. Ejercicio: 4375672(8 = 4*8...........................= 2301862 De decimal a octal: Igual que pasar de decimal a binario con la diferencia que en lugar de dividir entre 2, se divide entre 8. Ejemplo: Pasar 372395(10 a base (8 = 564312
28
Hexadecimal o base 16
Dec Hex.l 0 1 2 9 10 11 12 13 14 15 16 17 18 19 25 26 30 31 32 0 1 2 9 A B
Consta de 16 smbolos cogiendo desde 0 hasta 9 y continuando con las letras desde la A hasta la F as obtendramos la siguiente tabla:
De hexadecimal a binario: C D E F 10 11 12 13 19 1A 1E 1F 20 As podemos construirnos una tabla general de equivalencias como sigue: 457379 (10 = 11DDCA3. De decimal a hexadecimal: Se hacen divisiones entre 16. B7F (16 = 2943 (10 De hexadecimal a decimal: aplicando la forma general de los sistemas de numeracin posionales. Ejemplo Pasar A34E2 (16 a base (2 = 10100011010011100010 Se separan cada una de las cifras del hexadecimal y se pone su correspondiente binario utilizando cuatro cifras.
29
Decimal 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16
Binario 0000 0001 0010 0011 0100 0101 0110 0111 1000 1001 1010 1011 1100 1101 1110 1111 10000
Octal 0 1 2 3 4 5 6 7 10 11 12 13 14 15 16 17 20
Hexadecimal 0 1 2 3 4 5 6 7 8 9 A B C D E F 10
A modo de resumen, en la siguiente tabla se indica el mtodo a seguir para pasar de un sistema de numeracin a otro.
30
Decimal
Binario
Octal
Hexadecimal
----
Dnde: Formula Gral. = Frmula general de numeracin. Div -Mult = Divisiones sucesivas parte entera y multiplicaciones sucesivas la parte decimal. Grupo de 3 bits = del binario se cogen de 3 en 3 para pasarlos a octal. Grupo de 4 bits = del binario se cogen de 4 en 4 para pasarlos a hexadecimal. Por tabla = Segn la tabla y si no se pasa primero a binario.
31
CDIGOS ALFANUMRICOS:
ASCII ( American Standard Code for Information Interchange) Utiliza 7 bits aunque tambin existe con 8 bits. Podemos dividir la tabla ASCII en grupos: Cdigos transparentes: no se corresponden a ningn carcter alfanumrico y se utilizan para transmitir instrucciones de control como por ejemplo indicar un salto de lnea a la impresora, emitir un pitido, etc.
Smbolos y nmeros: ocupan las posiciones desde el 32 al 64 ( Decimal). Letras: ocupan las posiciones desde 65 hasta 127, se incluyen las maysculas, minsculas y algunos smbolos matemticos y de puntuacin.
32
En Windows 98 se utiliza la codificacin ANSI, similar al ASCII, pero cambian algunos caracteres. De ah que si intentamos sacar con la combinacin de teclas [ALT +Cod.ascii], algunos caracteres no son como nos aparecen en la tabla ASCII. Fieldata.
Utiliza 6 bits con lo cual permite codificar 64 caracteres. En este cdigo no se hace ninguna distincin entre letras minsculas y maysculas.
BCD o Binary Coded Decimal. Normalmente utilizaba 6 bits y en la actualidad aade un bit adicional para controlar posibles errores de transmisin. Los caracteres numricos del 1 al 9 se corresponden con su representacin en binario por eso se denominan Decimal Codificado en Binario, bsicamente su estructura es la siguiente:
Bit de verificacin: Se utiliza para controlar posibles errores de codificacin. Bits de zona: es el 4 o 5 bit, cuando son 00 indican que el que se representa es un nmero. Bits de posicin: codifican el carcter.
Similar al BCD, pero utiliza 8 bits por lo que representa 256 smbolos, lo que posibilita codificar ms caracteres de control y especiales. Es bastante utilizado en mquinas IBM. Unicode.
Es un juego de caracteres en el que se emplean dos bytes (16 bits) para representar cada carcter. Esto permite la representacin de 65536 smbolos, lo que posibilita representar cualquier carcter de cualquier lenguaje escrito del mundo, incluido el chino, japons o coreano. Lo utiliza Windows NT.
33
Captulo 3:
La Unidad Aritmtica Lgica
INTRODUCCIN
Es la parte del ordenador que realiza las operaciones aritmticas y lgicas. Las unidades aritmticas lgicas son circuitos lgicos combinatorios o secuenciales que realizan operaciones sobre los datos, segn lo indicado por la unidad de control. Cada UAL se caracteriza por el tipo de datos que puede manejar y por el conjunto de operaciones que puede realizar sobre tales datos. La mayor parte de las UAL pueden operar con enteros de varios tamaos y tambin puede incluir operaciones para manipular nmeros de punto fijo, nmeros de punto flotante y diversos datos no numricos. Las operaciones ms comunes de la UAL son: Aritmticas: suma, resta, multiplicacin, y divisin. Lgicas: AND, OR, OR EXCLUSIVO, COMPLEMENTO. Corrimiento y rotacin de datos Conversin de datos de un tipo a otro.
Regularmente los circuitos de la unidad de control y de la UAL se construyen con dispositivos semiconductores en varios esquemas de empaque. Los modelos de la segunda generacin tienen transistores, resistencias, diodos, etc. montados en tarjetas de circuitos impresos, mientras que en los modelos de la tercera generacin utilizan circuitos integrados a pequea escala en tarjetas de circuitos. Las mquinas de la cuarta generacin utilizan circuitos integrados a gran escala y a muy grande escala.
34
Estructura de una ALU La unidad de control coordina todas las operaciones de la UAL la memoria y los dispositivos de E/S, llevando a cabo un ciclo continuo con un conjunto de operaciones que recuperan las instrucciones de la memoria para ejecutarla. El ciclo de instruccin de una computadora digital sencilla, incluye los siguientes pasos bsicos:
Proceso en una ALU Recuperar de la memoria la siguiente instruccin del programa actual y llevarla a la unidad de control. 1. Decodificar la instruccin, determinar la instruccin de mquina que debe ejecutarse.
35
2. Recuperar los operando necesarios para la instruccin desde la memoria o desde los dispositivos de entrada. 3. Realizar la operacin indicada por la instruccin. 4. Guardar en memoria los resultados generados por la operacin, o enviar los resultados a un dispositivo de salida.
Recuperar Instruccin
Decodificar Instruccin
Recuperar operando
Realizar operacin
Guardar resultados
Las instrucciones se recuperan de la memoria en orden secuencial, a menos que se encuentre un tipo especial de instruccin, llamado indistintamente ramificacin, salto, brinco, o transferencia. Las instrucciones de ramificacin permiten escribir programas con ciclos y tomas de decisiones. Cuando el sistema bsico de control de una computadora digital recupera una instruccin desde la memoria para su ejecucin, se pueden tener varios tipos de operaciones. 1. Las instrucciones aritmticas hacen que los datos binarios se sumen, resten, multipliquen o dividan segn lo especificado por el programador de la computadora en el programa. 2. Se dispone de operaciones de prueba y comparacin que determinan la relacin (mayor que, menor que, igual a u otras) entre dos elementos de datos binarios. 3. Las instrucciones de ramificacin o de salto se pueden utilizar para alterar la naturaleza secuencial de la ejecucin del programa, con base en los resultados de una prueba o comparacin. Este tipo de funcin aade una gran flexibilidad a los programas. 4. Se incluyen las instrucciones de entrada y salida para leer mensajes que llegan a la computadora, escribir mensajes desde la computadora y controlar dispositivos perifricos. 5. Las operaciones lgicas y de corrimiento permiten a la computadora traducir e interpretar todos los diferentes cdigos que utiliza. Estas instrucciones permiten el manejo de bits bajo el control del programa.
36
alfanumricos se emplean internacionalmente ciertos esquemas completos de codificacin como pueden ser el cdigo ASCII (American Standard Code for lnformation Interchange, cdigo estndar americano para el intercambio de informacin), En el que cada carcter se representa mediante un cdigo de siete bits, y el EBCDIC (Extender Binary Coded Decimal Interchange Code) en el que se emplean ocho en lugar de siete bits parar presentar un cirerto carcter. Todas las pistas conductoras de un determinado mdulo o tarjeta (es decir, que son los caminos principales para la transmisin de los datos) se agrupan bajo la denominacin de bus. Los agrupamientos de pistas conductoras o caminos de datos se emplean para la transmisin de datos y para los cuales el nmero de pistas corresponde al de bits que forman cada palabra.
37
alguna informacin de control. Una vez finalizada la rutina de interrupcin / servicio, se restaura el estado del procesador con lo cual la ejecucin del programa que haba sido interrumpida contina. Adems de las pistas conductoras agrupadas para la denominacin de bus para datos hay otras destinadas al direccionamiento. Los agrupamientos de pistas conductoras o caminos, de direccin indican la localizacin para el acceso a los datos contenidos en memoria. La representacin a bloque que utilizamos en nuestro diseo se representa en la siguiente figura donde los operandos se indican como entradas A y B, Las lneas de seleccin de la operacin a realizar.
Entrada A
Salida
ALU
Entrada B Operacin A realizar Contando ya con la ALU nuestro siguiente problema es automatizar su trabajo, para lograr que sea bsicamente inteligente. Entonces lo que debemos hacer primariamente, es pensar que las acciones que realiza el cerebro humano por lo menos lo que imaginamos que hace, tenemos que implementar circuitos. Por ejemplo cuando se nos pide resolver una operacin aritmtica, el primer nmero lo retenemos en la mente, luego esperamos saber la operacin a realizar lo cual tambin debemos retener en la mente y despus que sepamos el otro nmero, nuestro cerebro procesara la informacin y luego nos dar el resultado para que cuando as lo deseemos, lo escribimos, se lo digamos a alguien o lo retengamos en la mente. Esto nos incluye un diagrama de bloques bsico para el sistema electrnico que deseamos implementar y que mostramos a continuacin.
Dato 1
Dato 1
38
El ltimo dato que nos dan para efectuar la operacin ocasiona que en nuestro cerebro, mediante algn mecanismo biolgico, se busque en toda la informacin acumulada durante nuestra vida para encontrar la respuesta. En forma electrnica, este ltimo dato pasa directamente a la ALU. (Unidad Aritmtico Lgica), corresponde a una parte de la experiencia y conocimientos aprendidos por la CPU(Cerebro) Cuando los Datos estn ya presentes en las entradas da la ALU el decirle qu operacin queremos que realice significa enviarle un cierto cdigo sacado de la tabla de comportamiento, la cual es proporcionada por el fabricante. Probablemente queremos guardar el resultado de la operacin en algn lugar para emplearlo posteriormente, este lugar es un registro especial conocido como acumulador. El diagrama a bloque incluyendo al acumulador se representa a continuacin.
Dato 1
Memor ia ALU
Acumulador
Dato 1
Memor ia
La ALU a utilizar tambin hace comparaciones entre los dos datos de entrada, por lo cual tambin hace comparaciones entre dos datos de entrada, por lo que se puede utilizar para tomar decisiones ya que puede decir si uno de los datos es mayor menor que el otro son de la misma magnitud. Cuando el ser humano tiene que tomar decisiones, tambin efecta la comparacin bajo todas las normas asimiladas durante su vida, tomados los valores y costumbres que le han sido involucrados, todos los conocimientos que ha aprendido, y la vivencia que se encuentra analizando. Cuando queremos que los circuitos tomen decisiones; debemos ordenarles esos recuerdos, pero grabados de forma binaria, de alguna manera debemos de hacer que el circuito inteligente los vaya comparando y de acuerdo al resultado de la comparacin sea capaz de tomar decisiones. Tambin debemos considerar que si no tuviramos la posibilidad de hacer variaciones en la forma de ejecutar instalaciones, provocara que el sistema fura muy rgido, y por lo tanto muy limitado, por lo que se necesita una planeacin de las palabras de control que se nos pide prcticamente y tal vez un rediseo de los circuitos combinatorios para las secuencias fijas Los micro procesadores fabricados como circuitos integrados, hacen gala de una gran variedad de formas de llevar el control interno como externo a la CPU e incluso utilizan elementos esclavos como son los puertos de interfaces, que aumentan sus posibilidades
39
de control externo. Nuestra CPU en forma Externa, tiene la posibilidad de hacer una requisicin de memoria o un puerto, esto es lo nico que realiza como asistente de control externo. En forma interna, controla las secuencias para que los datos del control salgan en el momento adecuado de la memoria y provoquen que los datos externos que forman parte de una operacin aritmtica lgica lleguen hasta la ALU y adems que el resultado obtenido sea retenido por el sistema y presentado en forma visual al usuario.
40