transferencia de bus

Upload: diana-ordonez

Post on 14-Jan-2016

6 views

Category:

Documents


0 download

DESCRIPTION

TRANSFERENCIA DE BUS

TRANSCRIPT

  • 2.3 TRANSFERENCIA DE BUS

    Una computadora digital tpica tiene muchos registros y debe haber rutas para proveer el camino para transferir informacin entre los registros. El nmero de cables sera excesivo si

    se utilizaran lneas separadas y multiplexores entre un registro y otro, en el sistema. Un esquema ms eficiente de transferencia de informacin entre registros en una configuracin

    de mltiples registros es un sistema de bus. Una estructura de bus consiste en un conjunto de lneas comunes, una para cada bit del registro, a travs de los cuales la informacin

    binaria es transferida de un dato a la vez. Las seales de control seleccionan cul registro ser la fuente y cul registro ser el destino durante cada transferencia.

    Una manera de construir un sistema de bus comn es con multiplexores y un decodificador. Los multiplexores seleccionan un registro fuente, cuya informacin binaria es puesta en el

    bus. El decodificador selecciona un registro destino que va a aceptar la informacin proveniente del bus. La construccin de un sistema de bus para cuatro registros se muestra

    en la Figura 2.6. Cada registro tiene n bits numerados de 0 hasta n - 1. Los bits en la misma posicin significativa en cada registro son aplicados al multiplexor de 4 X 1 por una lnea

    del bus. Slo se muestran tres multiplexores en el diagrama. El circuito completo debe tener n multiplexores numerados de 0 a n - 1. Las n lneas formadas por el sistema de bus comn

    son ruteadas a las n entradas de cada registro. La transferencia de informacin del bus a un registro destino es llevada a cabo activando la entrada de carga del registro seleccionado.

    La entrada de carga particular es seleccionada de las salidas del decodificador.

  • Figura 2.6 Sistema de bus para 4 registros.

    La entrada de seleccin del multiplexor determina cul registro pondr su contenido en el bus. Las entradas de seleccin del multiplexor pueden ser 00, 01, 10 u 11, las cuales

    seleccionarn los registros R0, R1, R2 o R3, respectivamente. Las entradas de seleccin del destino al decodificador determinan el registro que recibe la informacin del bus. Las

    entradas de seleccin del registro destino pueden ser 00, 01, 10 u 11, y ellas seleccionan el registro destino R0, R1, R2 o R3, respectivamente.

    Considera, por ejemplo, la transferencia dada por la siguiente declaracin.

  • Las variables de control que habilitan esta transferencia deben seleccionar al registro R0

    como fuente para el bus y R2 como el registro destino. Las entradas de seleccin del multiplexor deben ser el binario 00. Esto ocasiona que el bit 0 de R0 sea aplicado a la lnea

    0 del bus a travs de MUX 0. Al mismo tiempo el bit 1 de R0 se aplica a la lnea 1 del bus a travs de MUX 1. Esto se repite para todas las lneas del bus hasta la lnea n - 1, la cual

    recibe el bit n - 1 del registro R0 a travs de MUX n - 1. De esta manera, el valor de n bits de R0 se pone en las lneas del bus cuando la seleccin del multiplexor es 00. Las entradas

    de seleccin de destino deben ser el binario 10. Esto activa la salida 2 del decodificador, la cual a su vez activa y carga la entrada de R2. Con la siguiente transicin del reloj, el

    contenido de R0, puesto en el bus, es cargado en el registro R2 para completar la transferencia.

    2.4 CDIGOS DE INSTRUCCIN

    Una computadora digital es un dispositivo de propsito general capaz de ejecutar varias

    operaciones y, adems, puede ser instruida acerca de cules operaciones llevar a cabo. El usuario de una computadora puede controlar el proceso por medio de un programa. Un

    programa es un conjunto de instrucciones que especifican las operaciones, operandos, y la secuencia en la cual el debe ocurrir el procesamiento. La tarea de procesamiento de datos

    puede ser alterada especificando un nuevo programa con diferentes instrucciones o especificando las mismas instrucciones con diferentes datos. Los cdigos de instruccin,

    junto con los datos, son almacenados en memoria. El control lee cada instruccin de la memoria y la coloca en el registro de control. El control, entonces, interpreta la instruccin

    y procede a ejecutarla por medio de una secuencia de microoperaciones. Cada computadora tiene su conjunto de instrucciones.

    La habilidad de almacenar y ejecutar instrucciones es la propiedad ms importante de una computadora de propsito general.

    Un cdigo de instruccin es un grupo de bits que instruye a la computadora para llevar a cabo una operacin especfica. sta, usualmente se divide en dos partes, cada una teniendo

    su propia interpretacin particular. La parte bsica de un cdigo de instruccin es su parte de operacin. El cdigo de operacin de una instruccin es un grupo de bits que define una

    operacin: suma, substraccin, corrimiento o complemento. El conjunto de operaciones de mquina formuladas por una computadora depende del procesamiento que se intenta llevar

    a cabo. El nmero total de operaciones obtenido determina el conjunto de operaciones de mquina.

    El nmero de bits requeridos para el cdigo de operacin de una instruccin es en funcin del nmero total de operaciones usadas. ste debe consistir de, al menos, n bits para tener

    2n operaciones distintas. El diseador asigna una combinacin (un cdigo) para cada operacin. La unidad de control de la computadora es diseada para aceptar esta

    configuracin de bits en el tiempo apropiado en una secuencia y para proporcionar los datos

  • adecuados al procesador de datos para ejecutar la operacin especificada. Como un ejemplo

    especfico, considera una computadora usando 64 operaciones distintas, una de ellas una operacin de suma (ADD). El cdigo de operacin consiste de seis bits, con una

    configuracin de bits 100110 asignada a la operacin ADD. Cuando el cdigo de operacin 100110 es detectado por la unidad de control, una seal de control es aplicada al circuito

    sumador para sumar dos nmeros binarios.

    La parte de operacin de un cdigo de instruccin especifica la operacin que se va a llevar

    a cabo. La operacin debe ejecutarse usando datos almacenados en los registros de la computadora o en memoria. Un cdigo de instruccin, por consiguiente, debe especificar

    no slo la operacin, sino tambin los registros o palabras de memoria donde sern encontrados los operandos. Los operandos podran ser especificados en un cdigo de

    instruccin de dos maneras: un operando se dice especificado implcitamente si el cdigo de instruccin contiene bits especiales para su identificacin. Por ejemplo, un cdigo de

    operacin puede contener parte de la operacin y la direccin de memoria especfica del operando en memoria. Un operando se dice especificado explcitamente si es incluido como

    parte de la definicin de la operacin. Por ejemplo, una operacin que complementa un registro implica el registro en la parte de operacin del cdigo.

    Formato de cdigos de instruccin

    El formato de una instruccin es usualmente dibujado en una caja rectangular,

    simbolizando los bits de una instruccin como aparecen en palabras de memoria o en un registro de control.

    Los bits del cdigo de instruccin son divididos en grupos que subdividen la instruccin en partes llamadas campos. Cada campo es asignado a una tarea tal como un cdigo de

    operacin o una direccin de memoria. Los campos especifican diferentes funciones para la instruccin, y cuando se muestran juntos constituyen el formato de cdigo de instruccin.

    Considera, por ejemplo, los tres formatos de cdigo de instruccin mostrados en la Figura 2.7. El formato de instruccin en (a) consiste de un cdigo de operacin, el cual implica un

    registro en la unidad de procesamiento. Puede ser usado para especificar instrucciones tales como incrementar un registro del procesador o complementar un registro del procesador. El registro en este caso es implicado por el cdigo de operacin. El formato de instruccin en (b) tiene un cdigo de operacin seguido por un operando. sta es llamada

    una instruccin con operando inmediato debido a que el operando sigue inmediatamente al cdigo de operacin. ste puede ser usado para especificar operaciones tales como sumar el operando al contenido presente de un registro o transferir el operando en un registro o puede especificar alguna operacin que ser llevada a cabo entre el operando dado y un

    registro del procesador. El formato de instruccin especificado en (c) da la direccin del operando en memoria. En otras palabras, la operacin especificada por el cdigo de

    operacin es llevada a cabo entre un registro del procesador y un operando, el cual es almacenado en memoria. La direccin de este operando es incluida como parte de la

    instruccin. El tipo de instruccin es llamado instruccin de direccionamiento directo.

  • Los formatos de instruccin mostrados en la Figura 2.7 son tres de los muchos posibles

    formatos que pueden ser formulados para una computadora digital.

    Figura 2.7 Formatos de instruccin.

    Ejemplo numrico.

    Se asume que se tiene una memoria con 8 bits por palabra y que el cdigo de operacin

    contiene 8 bits. La colocacin de los tres cdigos de instruccin en memoria en binario es mostrada en la Figura 2.8. En la direccin 25 tenemos una instruccin que especifica una

    operacin de incremento al registro R. Esta operacin puede ser simbolizada por la declaracin:

    En las direcciones de memoria 35 y 36 tenemos una instruccin de operando inmediato que ocupa dos palabras de 8 bits. La primera palabra en la direccin 35 es el cdigo de

    operacin para la instruccin para transferir el operando R al registro, simbolizado por la declaracin:

    El operando en s mismo es almacenado inmediatamente despus del cdigo de operacin en la direccin 36.

    En la direccin de memoria 45 hay una instruccin de direccionamiento directo que especifica la operacin:

    La segunda palabra de instruccin en la direccin 46 contiene la direccin. Por

    consiguiente, el operando que ser transferido al registro R es el almacenado en esta direccin. Para el ejemplo numrico mostrado en la Figura, tenemos la instruccin

    simbolizada por . El smbolo significa el contenido de la palabra de memoria en la direccin 70. Como esta palabra contiene el equivalente binario de 28, el resultado de la

    operacin es la transferencia de la palabra de 8 bits 00011100 en el registro R.

    y

  • Debe comprenderse que poniendo instrucciones en memoria, como se muestra en la figura

    2.8, es slo una de las muchas posibles alternativas. Las computadoras grandes pueden tener de 16 a 64 bits por palabra. En muchas computadoras, la instruccin entera puede

    ponerse en una sola palabra, y en algunas incluso, dos o ms instrucciones se pueden poner en una sola palabra de memoria.

    Figura 2.8 Ejemplo representacin de instrucciones en memoria.

    Hasta este punto, debemos reconocer la relacin entre la operacin de una computadora y la microoperacin del hardware. Una operacin se especifica por una instruccin almacenada

    en la memoria de la computadora. Es un cdigo binario que le dice a la computadora que tiene que llevar a cabo una operacin especfica. La unidad de control en la computadora

    recupera la instruccin de memoria e interpreta los bits del cdigo de operacin. Emite, entonces, una secuencia de funciones de control para llevar a cabo las microoperaciones

    requeridas para la ejecucin de la instruccin.