Sie sind auf Seite 1von 16

CORPORATIVO INTERNACIONAL UNIVERSITARIO

ASIGNATURA: LABORATORIO DE ARQUITECTURA DE COMPUTADORAS

DOCENTE: L.I. GABRIEL FLORES GONZALEZ

ALUMNO: HERNAN DARIO GONZALEZ VASQUEZ

SEGUNDO CUATRIMESTRE

FEBRERO DE 2012

INDICE

TEMAS Y SUBTEMAS INTRODUCCIN 1.0 ORGANIZACIN DE COMPUTADORAS, LENGUAJE DE MAQUINA Y ENSAMBLADORES 1.1.2 Procesadores 1.1.3 Memoria 1.1.4 Organizacin de entrada y salida 1.1.5 Unidad de Control(CU) 1.1.6 Registros de propsito general 1.2 Lenguaje de Mquina 1.2.1 Instrucciones 1.2.2 Direccionamiento 1.2.3 Ciclos de ejecucin 1.3 Ensamblador 1.3.1 Lenguaje Ensamblador 1.3.2 Macro-ensambladores 1.4 Ligadores y cargadores CONCLUSIONES BIBLIOGRAFA

PGINA 3 4

4 5 6 6 7 8 8 8 9 10 10 11 11 15 16

INTRODUCCION

Prcticamente es este trataremos de explicar la Arquitectura de Computadoras, es decir, dar una descripcin funcional de los requerimientos y las implementaciones de diseo para varias partes de una computadora, con especial inters en la forma en el que la unidad central de proceso (UPC) trabaja internamente y accede a las direcciones de memoria. Este trmino tambin se aplica como la forma para crear computadoras segn los requerimientos de funcionalidad, rendimiento y costo. Posteriormente explicaremos algunas de las partes ms importantes de la computadora como son: Procesador Memoria, y Unidad de control (CU)

Despus nos adentraremos a los lenguajes de la computadora, explicando las caractersticas de cada uno de ellos, y algunas funciones de stos. Los lenguajes a explicar son: Lenguaje de Mquina Lenguaje ensamblador

1.0 ORGANIZACIN ENSAMBLADORES 1.1.2 Procesadores

DE

COMPUTADORAS,

LENGUAJE

DE

MAQUINA

El procesador es el cerebro del sistema, encargado de procesar toda la informacin. Es el componente donde es usada la tecnologa ms reciente. Existen en el mundo slo cuatro grandes empresas con tecnologa para fabricar procesadores competitivos para computadoras: Intel (que domina ms de un 70% del mercado), AMD, Va (que compr la antigua Cyrix) e IBM, que fabrica procesadores para otras empresas, como Transmeta. Algunos de los modelos ms modernos, y los cuales cuentan con la tecnologa ms avanzada de la actualidad son el Intel Core Sandy Bridge en sus variantes i3, i5 e i7, el AMD Fusion y FX, los cuales pueden incorporar hasta 8 ncleos. Los anteriormente mencionados cubren la mayora de las necesidades en computadoras de escritorio, mientras que para dispositivos porttiles como celulares y tablets podemos contar con procesadores ARM, Atom, Tegra2 y Snapdragon. El procesador es el componente ms complejo y frecuentemente ms caro, pero l no puede hacer nada solo. Como todo cerebro, necesita de un cuerpo, que es formado por los otros componentes de la computadora, incluyendo la memoria, el disco duro, la placa de vdeo y de red, monitor, teclado y mouse. Algunos tipos de procesadores comunes son los siguientes: Pentium-75 ; 5x86-100 (Cyrix y AMD) AMD 5x86-133 Pentium-90 AMD K5 P100 Pentium-100 Cyrix 686-100 (PR-120) Pentium-120 Cyrix 686-120 (PR-133) ; AMD K5 P133 Pentium-133 Cyrix 686-133 (PR-150) ; AMD K5 P150 Pentium-150 Pentium-166 Cyrix 686-166 (PR-200) Pentium-200 Cyrix 686MX (PR-200) Pentium-166 MMX Pentium-200 MMX Cyrix 686MX (PR-233) AMD K6-233 Pentium II-233 Cyrix 686MX (PR-266); AMD K6-266
4

Pentium II-266 Pentium II-300 Pentium II-333 (Deschutes) Pentium II-350 Pentium II-400

1.1.3 Memoria En informtica, la memoria se refiere a parte de los componentes que forman parte de una computadora. Son dispositivos que retienen datos informticos durante algn intervalo de tiempo. Las memorias de computadora proporcionan una de las principales funciones de la computacin moderna, la retencin o almacenamiento de informacin. Los tipos de memoria son: Memoria RAM - Random Access Memory (Memoria de Acceso Aleatorio)

La memoria RAM es la memoria de almacenamiento temporal, que almacena los programas y los datos que estn siendo procesados, solamente durante el procesamiento. Es una memoria voltil, los datos slo permanecen en ella almacenados mientras la computadora este prendida. En el momento que la PC se apaga, todos esos datos se pierden. Hay algunos conceptos que deben conocerse para que sea ms fcil comprender la memoria RAM de las computadoras modernas: Es usada para el almacenamiento temporal de datos o instrucciones. Cuando escribimos un texto en una computadora, la informacin es almacenada en la memoria RAM, as como los datos de entrada. La RAM tambin es conocida como memoria de escritura y lectura, pues leemos o escribimos informaciones en este tipo de memoria. La memoria RAM es fundamental para lograr una buena performance de nuestro equipo.

Memoria

ROM

Read

Only

Memory

(Memoria

slo

de

Lectura)

Es usada para almacenar aplicaciones y /o datos permanentes o raramente alterados. La informacin generalmente es colocada en el chip de almacenamiento cuando es fabricado y el contenido de la ROM no puede ser alterado por un programa de usuario. Por ese motivo es una memoria slo de lectura. La ROM se constituye en un chip que posee un software determinado y no programado por el usuario. De esta forma la ROM es hardware y software a la vez
5

(a esto se da el nombre de firmware). Por lo tanto, firmware, es un hardware que contiene un software ya determinado, asociando as las dos capacidades. Ejemplo: un CD de juegos play station.

1.1.4 Organizacin de entrada y salida Componentes: CPU Dispositivos de E/S (Disco magntico, teclado, mouse, red, video, etc.) Memoria BUS de E/S

1.1.5 Unidad de Control (CU) Es la parte de la unidad central de proceso que acta como coordinadora de todas las tareas que ha de realizar la computadora. Asimismo, se encarga de manejar todas las rdenes que la computadora necesita para realizar la ejecucin de las operaciones requeridas por los programas de aplicacin. Sus funciones Bsicas son: 1. Manejar todas las operaciones de acceso, lectura y escritura a cada una de las posiciones de la memoria principal donde se almacenan las instrucciones necesarias para realizar un proceso. 2. Interpretar la instruccin en proceso. 3. Realizar las tareas que se indican en la instruccin. Esta unidad tambin se ocupa de controlar y coordinar a las unidades implicadas en las operaciones anteriormente mencionadas, de manera que se eviten problemas internos que se puedan producir entre los componentes de la computadora. La unidad de control, finalmente, comunica entre s y dirige las entradas y salidas desde y hasta los perifricos, dando el oportuno tratamiento a la informacin en proceso.

1.1.6 Registros de propsito general En arquitectura de ordenadores, un registro es una memoria de alta velocidad y poca capacidad, integrada en el microprocesador, que permite guardar transitoriamente y acceder a valores muy usados, generalmente en operaciones matemticas. Los registros estn en la cumbre de la jerarqua de memoria, y son la manera ms rpida que tiene el sistema de almacenar datos. Los registros se miden generalmente por el nmero de bits que almacenan; por ejemplo, un registro de 8 bits o un registro de 32 bits. Los registros generalmente se implementan en un banco de registros, pero antiguamente se usaban biestables individuales, memoria SRAM o formas an ms primitivas. El trmino es usado generalmente para referirse al grupo de registros que pueden ser directamente indexados como operandos de una instruccin, como est definido en el conjunto de instrucciones. Sin embargo, los microprocesadores tienen adems muchos otros registros que son usados con un propsito especfico, como el contador de programa. Por ejemplo, en la arquitectura IA32, el conjunto de instrucciones define 8 registros de 32 bits. Algunos tipos de registros son: Los registros de datos son usados para guardar nmeros enteros. En algunas computadoras antiguas, exista un nico registro donde se guardaba toda la informacin, llamado acumulador. Los registros de memoria son usados para guardar exclusivamente direcciones de memoria. Eran muy usados en la arquitectura Harvard, ya que muchas veces las direcciones tenan un tamao de palabra distinto que los datos. Los registros de propsito general (en ingls GPRs o General Purpose Registers) pueden guardar tanto datos como direcciones. Son fundamentales en la arquitectura de von Neumann. La mayor parte de las computadoras modernas usa GPR. Los registros de coma flotante son usados para guardar datos en formato de coma flotante. Los registros constantes tienen valores creados por hardware de slo lectura. Por ejemplo, en MIPS el registro cero siempre vale 0. Los registros de propsito especfico guardan informacin especfica del estado del sistema, como el puntero de pila o el registro de estado.

Tambin existen registros banderas y de base

1.2 Lenguaje de Mquina Lenguaje de mquina es el sistema de cdigos directamente interpretable por un circuito micro programable, como el microprocesador de una computadora o el micro controlador de un autmata . Este lenguaje est compuesto por un conjunto de instrucciones que determinan acciones a ser tomadas por la mquina. Un programa consiste en una cadena de estas instrucciones de lenguaje de mquina (ms los datos). Estas instrucciones son normalmente ejecutadas en secuencia, con eventuales cambios de flujo causados por el propio programa o eventos externos. El lenguaje de mquina es especfico de cada mquina o arquitectura de la mquina, aunque el conjunto de instrucciones disponibles pueda ser similar entre ellas. Los circuitos micro programables son sistemas digitales, lo que significa que trabajan con dos nicos niveles de tensin. Dichos niveles, por abstraccin, se simbolizan con el cero (0), y el uno (1), por eso el lenguaje de mquina slo utiliza dichos signos. Esto permite el empleo de las teoras del lgebra booleana y del sistema binario en el diseo de este tipo de circuitos y en su programacin.

1.2.1 Instrucciones La instruccin es el elemento clave del equipo, ya que permite indicar al procesador la accin que debe realizar. Las instrucciones a realizar se indican en el archivo fuente y el equipo pasa de una instruccin a otra siguiendo las instrucciones que se indican de arriba hacia abajo (ya que la lectura de un archivo se realiza en una secuencia de arriba hacia abajo). Una instruccin se compone, generalmente, de dos elementos: 1. El operador: la accin que el procesador va a realizar 2. El/los operando(s): uno o ms datos en los cuales se realiza la operacin Las instrucciones en lenguaje mquina, se expresan en trminos de la unidad de memoria ms pequea, el bit (digito binario 0 o 1), en esencia una secuencia de bits que especifican la operacin y las celdas implicadas en una operacin. Una serie de instrucciones en lenguaje maquina son: 0010 0000 0000 1001 1001 0001 1001 1110

1.2.2 Direccionamiento Es la forma en cmo se accede a la memoria. Recordar que un programa no puede ejecutarse sino se encuentra en memoria principal. La forma de acceder a la memoria

depende del microprocesador, pero en general existen dos tipos de direccionamiento: directo e indirecto. El direccionamiento directo tambin recibe el nombre de direccionamiento absoluto y el acceso a las direcciones se hace de manera directa. El direccionamiento indirecto tambin recibe el nombre de direccionamiento relativo y se basa a partir de una direccin genrica, generalmente el inicio del programa. Para acceder a una direccin relativa se suma a la direccin base el nmero de espacios de memorias necesarias. El direccionamiento relativo hace a los programas relocalizables e independientes. Si la direccin base es el inicio de la memoria fija el direccionamiento pasa a ser un variante de direccionamiento absoluto.

1.2.3 Ciclos de ejecucin La ejecucin de una instruccin de la mquina solo puede dividirse en una secuencia de operaciones individuales llamado el ciclo de ejecucin de la instruccin. Antes de ejecutar un programa se carga en memoria. El puntero de la instruccin contiene la direccin de la siguiente instruccin. La cola de la instruccin contiene un grupo de instrucciones a punto de ser ejecutado. La ejecucin de una instruccin de la mquina requiere de tres pasos bsicos: fetch, decodificar, y ejecutar. Dos pasos son necesarios cuando se utiliza la instruccin de un operando de memoria: buscar operando y operando de salida. Cada uno de los pasos que se describe como sigue: Fetch. Que la unidad de control T recupera la instruccin de la cola de la instruccin y los incrementos del puntero de instruccin (IP). El puntero de instruccin es tambin conocido como el contador de programa. Decode. Que la unidad de control T funcin decodifica la instruccin para determinar lo que la instruccin hacer. Operandos de entrada de la instruccin se pasan a la unidad aritmtica lgica (ALU), y las seales son enviadas a la ALU que indica la operacin a realizar. Fetch operandos. Si la instruccin utiliza un insumo que se encuentra operando en la memoria, la unidad de control utiliza un operacin de lectura para recuperar el operando y copiarla en los registros internos. Registros internos no son visibles para programas de usuario. Ejecutar. La ALU ejecuta la instruccin con los registros con nombre y los registros internos como operandos y enva el resultado a los registros de nombre y / o la memoria. Los indicadores de estado ALU proporcionan informacin sobre el estado del procesador. Operando de salida. Si el operando de salida est en la memoria, la unidad de control utiliza una operacin de escritura para almacenar los datos. La secuencia de pasos puede expresarse perfectamente en pseudocdigo: bucle

buscar la siguiente instruccin avanzar el puntero de instruccin (IP) decodificar la instruccin si la memoria operando es necesario, leer el valor de la memoria ejecutar la instruccin si el resultado est operando de memoria, escribir el resultado a la memoria de continuar bucle

1.3 Ensamblador Los ensambladores son programas que procesan los enunciados del programa origen en lenguaje ensamblador y los traducen en archivos en lenguaje mquina que son ejecutados por un microprocesador o un micro controlador. Los ensambladores permiten que los programas origen se escriban y se editen en una computadora para generar un cdigo ejecutable en otra computadora. El archivo en lenguaje objeto ejecutable resultante se carga y se ejecuta en el sistema destino.

1.3.1 Lenguaje Ensamblador El lenguaje simblico que se utiliza para codificar los programas origen que se procesan por el ensamblador es llamado lenguaje ensamblador. Este lenguaje es una coleccin de smbolos mnemnicos que representan: operaciones (mnemnicos de instrucciones para la mquina o de directrices para el ensamblador), nombres simblicos, operadores y smbolos especiales. El lenguaje ensamblador proporciona cdigos de operacin de los mnemnicos para todas las instrucciones de la mquina contenidas en la lista de instrucciones. Adems, el lenguaje ensamblador contiene mnemnicos directrices, los cuales especifican acciones auxiliares que se llevan a cabo por el ensamblador. Estas directrices no siempre son traducidas a lenguaje maquina. Un programador escribe el programa origen en lenguaje ensamblador utilizando cualquier editor de textos o procesador de palabras que sea capaz de producir una salida de texto en ASCII. Una vez que el cdigo origen ha sido escrito, el archivo origen es ensamblado mediante su procesamiento a travs de algn ensamblador.
10

1.3.2 Macro-ensambladores Un macro ensamblador es un ensamblador modular, descendiente de los ensambladores bsicos. Fueron muy populares en los aos 1950 y aos 1960, antes de la generalizacin de los lenguajes de alto nivel. Hacen todo lo que puede hacer un ensamblador, y adems proporcionan una serie de Directivas para definir y ejecutar macro instrucciones (o simplemente, Macros). Cuando ejecutamos a una macro, sta se expande al cuerpo que hayamos definido.

1.4 Ligadores y cargadores Las funciones ms importantes de un cargador son: colocar un programa objeto en la memoria e iniciar su ejecucin. Si tenemos un cargador que no necesita realizar las funciones de ligado y relocalizacin de programas, su operacin es simple pues todas las funciones se realizan en un solo paso. Se revisa el registro de encabezamiento para comprobar se ha presentado el programa correcto para la carga (entrando en la memoria disponible). A medida que lee cada registro de texto, el cdigo objeto que contiene pasa a direccin de la memoria indicada. Cuando se encuentra el registro de fin, el cargador salta a la direccin especificada para iniciar la ejecucin del programa cargado. Un programa objeto contiene instrucciones traducidas y valores de datos del programa fuente y especfica direcciones en memoria dnde cargaran estos elementos. Carga que lleva el programa objeto a la memoria para su ejecucin. Relocalizacin que modifica el programa objeto de forma que puede cargarse en una direccin diferente de la localidad especificada originalmente. Ligado que combina dos o ms programas objeto independiente y proporciona la informacin necesaria para realizar diferencias entre ellos. El cargador es un programa del sistema que realiza la funcin de carga pero muchos cargadores tambin incluyen relocalizacin y ligado. Algunos sistemas tienen un ligador ( editor de ligado) para realizar las operaciones de enlace, y un cargador separado para manera la relocalizacin y la carga. En la mayora de los casos todos los traductores de programas (esto es, ensambladores y compiladores) de un sistema en particular producen programas objeto en el mismo formato. De esta misma forma, puede usarse el cargador o ligador del sistema con independencia del lenguaje de programacin fuente original, se suele utilizar el trmino cargador en lugar de cargador y ligador, los procesos de ensamblado y carga estn ntimamente relacionados entre s.

11

Se han desarrollado herramientas especiales de software, llamadas cargadores para asistir, a los programados en la carga del programa. El cargador es normalmente un programa pequeo que permite al usuario entrar directamente las palabras de instruccin y datos a direcciones concretas de la memoria mediante, un teclado una cinta magntica. Los tipos de cargadores y ligadores son los siguientes: Hay diferentes tipos de cargadores como: 1. Cargadores Bootstrap: el programa cargador una vez, situado en la memoria del computador, cargar el programa de aplicacin y los datos. Pero, previamente, se ha debido cargar el cargador en la memoria. Y esto se puede realizar por los siguientes mtodos: Entrada manual: mediante el teclado el usuario teclea el cargador BOOTSTRAP. Despus de esto, el cargador se carga as mismo en la memoria del computador. Entrada por ROM: es posible tener las instrucciones de inicializacin almacenados permanentemente en alguna porcin de la ROM, en lugar de introducirlas manualmente por teclado o por panel frontal. Cuando se requiere el programa de bootstra, el operador simplemente dirige al computador, mediante los conmutadores del panel, a ejecutar las instrucciones memorizadas en ROM: al estar el programa almacenado en ROM se elimina tambin la posibilidad de borrados accidentales. 2. Cargadores iniciales: indican a la computadora la forma de poner, dentro de la memoria principal unos datos que estn guardados en un perifrico de memoria externa (cinta, disco, etc.). Sirven para cargar en la memoria pequeos programas que inician el funcionamiento de una computadora. Algunas computadoras de carcter general no tienen en memoria ningn programa de forma permanente y cuando se desconectan pierden toda la informacin de su memoria interna. Al volverlos a conectar no son capaces de controlar ningn perifrico. Se hace as para que sea el usuario el que ponga los programas que le interese ejecutar. 3. Cargadores absolutos: el programa cargador pone en memoria las instrucciones guardadas en sistemas externos. Independientemente de que sea un cargador inicial, o no sin dichas instrucciones se almacenan siempre en el mismo espacio de memoria (cada vez que se ejecuta el programa cargador) se dice que es un cargador absoluto. 4. Cargadores con reubicacin: en ocasiones un mismo programa necesita ejecutarse en diferentes posiciones de memoria. Para esto la traduccin debe estar realizada en forma adecuada, es decir no utilizando referencias absolutas a direcciones en memoria, sino referencias a una direccin especial llamada de reubicacin. 5. Cargadores ligadores: conocidos tambin como linker. un linker se un trmino en ingls que significa montar.

12

Montar un programa consiste en aadir al programa objeto obtenido a la traduccin las rutinas externas a las que hace referencia dicho programa. El ensamblador debe permitir dichas referencias y las rutinas deben estar a su vez en lenguaje mquina guardadas en algn elemento accesible por el montador. Generalmente, dichas rutinas se encuentran guardadas en un fichero especial al que suele denominarse librera porque estn almacenadas todas las rutinas externas susceptibles de ser utilizadas por los diferentes programas del usuario. All va el programa ligador cuando est realizando el montaje de un programa a buscarlas y las adjunta al programa objeto. 6. Editores de ligado: la diferencia fundamental entre un editor de ligado y un cargador ligador es: Primero.- se ensambla o compila el programa fuente, produciendo un programa objeto (que puede contener varias secciones de control diferentes). Una cargador ligador realiza todas las operaciones de ligado y relocalizacin incluyendo bsqueda automtica en bibliotecas, si se especfica, y carga el programa ligado directamente en la memoria para su ejecucin. Por otro lado un editor de ligado produce una versin ligada del programa (llamada a menudo modulo de carga imagen ejecutable) que se escribe en un archivo o biblioteca para su ejecucin posterior. Cuando el usuario est listo para ejecutar el programa ligado, se puede utilizar un cargador relocalizador simple para cargar el programa en la memoria. La nica modificacin necesaria al cdigo objeto es la suma de una direccin de carga real a los valores relativos del programa. El editor de ligado realiza la relocalizacin de todas las secciones de control al inicio del programa ligado. De esta forma todos los elementos que necesitan modificarse en el momento de la carga tienen valores relativos al inicio del programa ligado. Los editores de ligado se pueden utilizar para construir paquetes de subrutinas u otras secciones de control que se suelen utilizar juntas. esto puede ser til al tratar con bibliotecas de subrutinas que manejan lenguajes de programacin de alto nivel. A veces permiten al usuario especificar que las referencias externas no se resuelven por bsqueda automtica en biblioteca. 1. Ligado dinmico: ofrece algunas ventajas sobre los tipos de ligado. Proporciona la posibilidad de cargar las rutinas slo cuando si se necesitan. Si las subrutinas son grandes tienen muchas referencias externas se pueden conseguir ahorros considerables de tiempo y espacio en memoria. El ligado dinmico evita la necesidad de cargar la biblioteca completa para cada ejecucin. Puede incluso hacer innecesario que el programa conozca el conjunto de subrutinas que se podra utilizar. El nombre de la subrutina se tratara simplemente como otro elemento de entrada. En el mtodo que se utilice aqu las rutinas que se carguen dinmicamente deben llamarse por medio de una solicitud del servicio al sistema operativo. Este mtodo tambin podra considerarse como una solicitud a una parte del cargador que se mantiene en la memoria durante la ejecucin del programa.
13

Cuando se utiliza ligado dinmico, la asociacin de direccin real y el nombre simblico de la rutina llamada no se hace hasta que se ejecuta la proposicin llamada.

14

CONCLUSIONES

Con este tema aprendimos cuales son los elementos que aportan una funcionalidad correcta a un equipo de computo como son: el procesador y la memoria, en donde sus nos explican algunas de sus caractersticas, los tipos que existen de estos elementos y algunas funciones de los mismos. Tambin conocimos los dos tipos de lenguajes de una computadora como son: el lenguaje mquina y el lenguaje ensamblador, e igualmente las caractersticas y funciones de los dos. Con esto ya comprenderemos mejor cual es la funcin de cada parte de la computadora.

15

BIBLIOGRAFA

1. http://www.informatica-hoy.com.ar/aprender-informatica/El-Procesador-de-lacomputadora.php 2. http://www.monografias.com/trabajos5/sisope/sisope.shtml#proce 3. http://www.informatica-hoy.com.ar/aprender-informatica/La-memoria-de-lacomputadora.php 4. www-2.dc.uba.ar/materias/oc1verano/2004/entradasalida_1.ppt 5. http://www.monografias.com/trabajos17/arquitectura-computadoras/arquitecturacomputadoras.shtml#control 6. http://es.kioskea.net/contents/langages/instruction.php3 7. http://www.mitecnologico.com/Main/LenguajeDeMaquinaInstruccionesYDatos 8. http://www.mitecnologico.com/Main/DireccionamientoLenguajeMaquina 9. http://www.mitecnologico.com/Main/CicloEjecucionDeUnaInstruccion 10. http://proton.ucting.udg.mx/dpto/maestros/mateos/novedades/ensamblador/68HC1 1.html 11. http://es.wikipedia.org/wiki/Macro_ensamblador 12. http://www.monografias.com/trabajos12/sofsiste/sofsiste.shtml#CARGAD

16

Das könnte Ihnen auch gefallen