Vous êtes sur la page 1sur 13

Hoy en da, a grandes rasgos es similar, se lee una instruccin, se decodifica, la unidad de control manda las seales necesarias

por los buses, los datos se mandan a la ALU, y se realiza la operacin. Con este avance se logro tener el primer computador de propsito general, era mas fcil usarlo para diversas tareas. Buses Los buses son el mecanismo mas comn para la comunicacin entre los dispositivos del computador. Fsicamente son conductores por donde viajan seales elctricas.

Bueno, los buses son casi todos esos caminos que se ven en las motherboard de las imgenes anteriores. El bus es un dispositivo en comn entre dos o mas dispositivos, si dos dispositivos transmiten al mismo tiempo seales las seales pueden distorcionarce y consecuentemente perder informacin. Por dicho motivo existe un arbitraje para decidir quien hace uso del bus. Por cada linea se pueden trasmitir seales que representan unos y ceros, en secuencia, de a una seal por unidad de tiempo. Si se desea por ejemplo transmitir 1 byte, se debern mandar 8 seales, una detrs de otra, en consecuencia se tardara 8 unidades de tiempo. Para poder transmitir 1 byte en 1 sola unidad de tiempo tendramos que usar 8 lineas al mismo tiempo. Existen varios tipos de buses que realizan la tarea de interconexin entre las distintas partes del computador, al bus que comunica al procesador, memoria y E/S se lo denomina BUS DEL SISTEMA

y es que que vamos a detallar ahora. La cantidad de lineas del bus a medida que pasa el tiempo se va incrementando como uno de los mtodos para incrementar la velocidad de transferencia de seales en el computador, y as incrementar el desempeo. Cada linea tiene un uso especifico, y hay una gran diversidad de implementaciones, pero en general podemos distinguir 3 grandes grupos de buses. Bus de datos: Por estas lineas se transfieren los datos, pueden ser de 8, 16, 32 o mas lineas( no se realmente en cuanto andan hoy en da), lo cual nos indica cuantos datos podemos transferir al mismo tiempo, y es muy influyente en el rendimiento del sistema. Por ejemplo si el bus es de 8 lineas y las instrucciones son de 16 bits, el sistema va a tener que acceder 2 veces a memoria para poder leer la instruccin, el doble de tiempo en leer instrucciones comparado con un bus de datos de 16 lineas. Bus de direcciones:Por estas lineas se enva la direccin a la cual se requiere hacer referencia para una lectura o escritura, si el bus es de 8 lineas por ejemplo, las combinaciones posibles para identificar una direccin iran del 00000000 al 11111111, son 256 combinaciones posibles, en consecuencia el ancho del bus de datos nos indica la cantidad de direcciones de memoria a la que podemos hacer referencia. Dentro de la direcciones posibles, en general el sistema no usa todas para hacer referencia a la memoria principal, una parte las usa para hacer referencia a los puertos de E/S. Bus de control:Estas lneas son utilizadas para controlar el uso del bus de control y del bus de datos. Se transmiten ordenes y seales de temporizacin. las ordenes son muy diversas las mas comunes son: * Escritura en memoria. * Lectura de memoria. * Escritura de E/S. * Lectura de E/S. * Transferencia reconocida. * Peticin del bus. * Cesin del bus. * Peticin de interrupcin. * Interrupcin reconocida. * Seal de reloj. * Inicio.. Las seales de temporizacin indican la validez de los datos que estn en el bus en un momento dado.

10

Todo elemento que este conectado al bus tiene que saber reconocer si la direccin que esta en el bus de datos le corresponde, tiene que reconocer algunas ordenes transmitidas por el bus de control, y puede emitir algn tipo de seal por el bus de control (seal de interrupcin, seal de reconocimiento de alguna peticin, etc). En general, cuanto mas dispositivos conectamos al bus, disminuye el rendimiento del sistema; las causantes de esto son varias, pero las mas importantes son el tiempo de sincronizacin que se necesita para coordinar el uso del bus entre todos los dispositivos, y que el bus tiene una capacidad mxima, la cual puede llegar a convertirse en un cuello de botella del sistema. Una de las formas de tratar este problema es implementando jerarqua de buses. Jerarqua de buses: Para mejorar el rendimiento del bus, las jerarquas de buses fueron implementadas cada vez mas, una primera aproximacin a una jerarqua de bus bsica seria la siguiente:

Primero tenemos un bus local, de alta velocidad que conecta el procesador a la cache, el controlador de la cache tambin puede acceder al bus del sistema, con esta implementacin, la mayor parte de los datos a los que va a acceder el procesador, que estn en la cache, sern entregados a una alta velocidad, otro punto a destacar de esta parte es que los accesos a memoria por parte de la cache no van a interrumpir el flujo de datos entre procesador y cache. Tambin se ve la posibilidad de conectar un dispositivo de entrada salida al bus local. Luego tenemos el bus del sistema, al cual esta conectada la memoria y por debajo el bus de expansin, al cual se pueden conectar una amplia diversidad de dispositivos, entre el bus del sistema y el bus de expansion se encuentra una interfase, que entre las principales tareas esta la de adaptar las velocidades de transmision, por ejemplo para un dispositivo muy lento conectado al bus de expansin la interfase podra acumular una cierta cantidad de datos y luego transmitirla a travs del bus del sistema. El hecho de que cada vez mas salgan al mercado dispositivos que requieren mas velocidad de transmision en los buses, hizo que los fabricantes implementaran los buses de alta velocidad, el cual esta muy estrechamente ligado al bus local, solo hay un adaptador que los une. debajo de

11

este bus tenemos el bus de expansin, mas lento conectado mediante otro adaptador.

Existen varios parmetros y elementos en los buses con los cuales podemos clasificarlos. Tipos de buses: Una clarificacin que podemos hacer es segn la funcionalidad de este, los podramos dividir en dedicados o multiplexados.. Un ejemplo comn de dedicados serian el bus de datos y el bus de direcciones, cada uno se utiliza solo para una funcin especifica. Esta situacin de bus de datos y de direcciones dedicados es lo mas comn, pero podra llegar a implementarse con un solo bus multiplexado el el tiempo. Esto funcionaria a grandes rasgos de la siguiente forma: Al comienzo de la transferencia se sita en el bus la direccin de donde se quiere leer o a donde se desea escribir, luego se emite por el bus de datos una seal indicando que en el bus se encuentra una direccin valida. A partir de ese momento se dispone de una unidad de tiempo para que los dispositivos identifiquen si es su direccin, luego de esto se pone en el mismo bus los datos y se realiza la transferencia en el sentido que lo indique una orden emitida por el bus de control. Ventaja de este mtodo es la reduccin de la cantidad de lineas, lo cual ahorra espacio y costos, la desventaja son que para poder implementar es forma de operar la circuitera en cada modulo tiene que ser mas compleja, y que el rendimiento del sistema sera menor por no poder transmitir los datos simultneamente, en paralelo (datos y direccin). Otro tipo de clarificacin podra ser segn su dedicacin fsica: Podramos poner como ejemplo el bus de E/S, el cual se encarga de conectar solo los dispositivos de E/S, este bus se conecta al bus principal mediante algn adaptador, la ventaja esta en que al ser dedicado solo a E/S, el rendimiento de este va a ser mejor, ya que solo van a operar con el los mdulos de E/S, y no va a

12

haber tanta competencia por el bus, este ejemplo lo voy a explicar mas detalladamente cuando llegue al la parte de E/S. Mtodo de arbitraje: Por la razn de que en un momento dado solo puede usar el bus un solo dispositivo, debe existir un mtodo para decidir quien hace uso de el. Todos los mtodos que existen en general pueden ser clasificados en 2 grandes grupos: Arbitraje centralizado: Una parte del hardware del sistema denominada controlador del bus se encarga de decidir el uso del bus en cada momento, este dispositivo puede ser un modulo separado o puede estar incorporado al procesador. Arbitraje distribuido: En este esquema no existe un controlador centralizado, en su lugar, cada dispositivo que hace uso del bus tiene que tener incorporada la logica necesaria para poder interactuar con los dems dispositivos y decidir quien hace uso del bus. En cualquiera de los dos casos lo que se busca es que se decida quien va a tener la posesin del bus en un momento dado, procesador, modulo de E/S o memoria, al cual se lo denomina maestro del bus, el maestro del bus establecer una comunicacin con otro dispositivo (lectura o escritura) al cual se lo denominara esclavo. Temporizacin: La temporizacin clasifica al mtodo utilizado para coordinar los eventos dentro del bus. Segn la temporizacin usada podemos clasificar los buses en 2 grupos. Temporizacin sncrona: Todos los eventos del bus se rigen a travez del reloj del computador. Una de las lineas del bus transmite continuamente una seal de reloj, simplemente una secuencia de unos y ceros, la cual puede ser leda por todos los dispositivos conectados al bus. Al intervalo transcurrido en la emisin de un uno y un cero se lo llama ciclo de reloj, todo los eventos ocurridos dentro del bus comienzan el principio del ciclo y pueden durar uno mas . En este mtodo de temporizacin todos van al ritmo del reloj.

Bien, en el diagrama anterior podemos apreciar como seria en forma simplificada una lectura de datos a travez del bus. Tener en cuenta que hay muchsimas mas lineas que no se figuran en el grfico, por ejemplo la linea del reloj, que seria algo mas constante como el siguiente grfico.

13

Las lineas solo pueden tener uno de dos estados, uno o cero. La velocidad en el ritmo que se alterna de un uno a un cero en la linea del reloj nos da la velocidad del bus, y como todas las operaciones se van a realizar al ritmo del reloj, al aumentar la velocidad del ciclo vamos a aumentar la velocidad del sistema. Con referencia al grfico de un ciclo de lectura de datos, el maestro (el que tiene permiso para el uso del bus) pone en el bus de direcciones la direccin de la cual desea leer su contenido, luego de haber puesto la direccin en las lineas correspondientes, enva por una linea del bus de control una seal indicando que desea hacer una lectura, el dispositivo correspondiente a esa direccin reconoce la direccin, y pone en el bus de datos la informacin solicitada, tras lo cual, manda otra seal por una linea del bus de control indicando que se le a reconocido su peticin (que los datos situados en el bus de datos son validos, son los datos solicitados) Todo con este mtodo de temporizacin empieza o finaliza rigiendose de las seales del reloj, en general la mayora de los eventos tiene un duracin de un ciclo. Temporizacin asncronica: Ac los eventos no se rigen por la linea del reloj, en general todo evento es disparado por otro evento anterior.

El procesador pone en el bus de direcciones la direccin a ser leda y en el bus de control por la linea correspondiente seal de lectura, luego de un breve tiempo para que las seales elctricas se estabilicen, se manda seal por la linea MSYN (sincronizacin del maestro) indicando que hay

14

seales validas en el bus de direccin y de control, el modulo correspondiente reconocer su direccin, pone el dato solicitado en el bus de datos y emite una seal (SSYN sincronizacin del esclavo) por la en bus de control indicando el las seales del bus de datos son validas(son los datos solicitados) La temporizacin sncrona es mas fcil de implementar y comprobar, pero es menos flexible que la sncrona. Por ejemplo, en el caso de que hubiesen varios dispositivos conectados al bus, de distintas velocidades, todos tienen que funcionar a la velocidad del reloj, si hay uno mas rpido, este tiene que bajar su velocidad: En cambio con el asncrono, cada uno funcionaria a su velocidad, en el mismo bus se trabajara a distintas velocidades, cada transferencia se hara con la velocidad ptima de sus dos partes (maestro-esclavo). Anchura del bus: La anchura del bus ya lo he explicado, es simplemente la cantidad de lineas que posee, y esta directamente relacionado con el rendimiento del sistema, cuanto mas ancho el bus de direcciones, mayor va a ser la cantidad de direcciones posibles utilizadas para direccionar memoria y dispositivos de E/S, y cuanto mas ancho el bus de datos, mayor ya a ser la cantidad de bis que se va a poder transmitir en paralelo. Tipo de transferencia de datos: Todos los buses permiten la transferencia de datos, ya sea para escritura como para lectura.

En el grfico tenemos ejemplificado una escritura y una lectura, en este caso el bus esta multiplexado en el tiempo, primero se utiliza para transmitir la direccin y luego los datos. En el segundo diagrama se puede apreciar un periodo nombrado con "Access time", ese tiempo es el necesario para acceder al medio en donde se encuentra el dato (disco rgido, memoria principal, etc) y ponerlo en el bus. Para optimizar el rendimiento existen algunas operaciones combinadas en las cuales se pasa la direccin una sola vez, por ejemplo "lectura-modificacin-escritura", seria la lectura del dato, se le aplica alguna modificacin y luego se escribe nuevamente. Todo esto es una sola operacin, nadie puede acceder al bus en el medio de la operacin, se utiliza para proteger los recursos de memoria compartida en sistemas con multiprogramacin para mantener la integridad de los datos. Otra instruccin es "lectura despus de escritura" que servira para comprobar el resultado. Otra operacin muy comn es la transferencia por bloque, se pasa al principio de la operacin la

15

direccin inicial y luego se realiza lectura o escritura a las siguientes direcciones, la cantidad de direcciones siguientes tambin es un parmetro que hay que pasar.

Bien, ahora tendra que enumerar algunos buses en especial, pero como tienen muchos datos tcnico que pueden ser medios pesados, voy a poner algunas imgenes donde se pueden ver distintas implementaciones y velocidades. Nobleza obliga, estas diapositivas las tome de las teoras de la catedra de Arquitectura de computadoras de la carrera de Licenciatura en Informtica de la Universidad Nacional de La Plata.

16

17

18

19

20

Memoria Interna La memoria interna de un computador tiene tan amplia diversidad que provoca un poco extenso estudiarla. No existe un tipo de memoria ptima para un computador, por lo cual hay que utilizar varias clases en una misma mquina en busca de la combinacin lo mas aceptable posible teniendo en cuenta principalmente 3 parmetros: * Velocidad de acceso. * Capacidad. * Costo.

21