Unidad II Comunicación Interna en la computadora
Short Description
Download Unidad II Comunicación Interna en la computadora...
Description
l
d
l M
i C ti
M
UNIDAD II TEMAS Buses Direccionamiento Temporización
UNIDAD II TEMAS Buses Direccionamiento Temporización
BUS
Es un camino de comunicación entre dos dispositivos Es el conjunto de líneas (cables) de hardware utilizados para la transmisión de datos entre los componentes de un sistema informático. Medio por el cual los datos se transfieren de una parte de una computadora a otra. El bus se puede comparar con una autopista en la que los datos viajan dentro de una computadora. Conjunto de líneas eléctricas (tiras de metal sobre una placa de circuito impreso).
Características
Se trata de un medio de comunicación compartido. La cantidad de información que se transmite es en forma simultánea. Este volumen se expresa en bits y corresponde al número de líneas físicas mediante las cuales se envía la información en forma simultánea. El término "ancho" se utiliza para designar el número de bits que un bus puede transmitir simultáneamente.
Características
La velocidad del bus se define a través de su frecuencia (que se expresa en Hercios o Hertz), es decir el número de paquetes de datos que pueden ser enviados o recibidos por segundo. Cada vez que se envían o reciben estos datos podemos hablar de ciclo.
Características
De esta manera, es posible hallar la velocidad de transferencia máxima del bus (la cantidad de datos que puede transportar por unidad de tiempo) al multiplicar su ancho por la frecuencia. Por lo tanto, un bus con un ancho de 16 bits y una frecuencia de 133 MHz, tiene una velocidad de transferencia de: 16 * 133.10 = 2128 bit/s
Estructura
Puede llegar a tener hasta 100 líneas, cada línea con alguna función particular, existen buses muy diversos, las cuales están ordenados en tres grandes grupos: Bus de datos (para la transmisión de datos) Bus de dirección (para designar la fuente y destino, está limitada por la capacidad de memoria) Bus de control (para controlar el acceso de las líneas de datos y de dirección, CPU ó controlador de Bus)
BUS DE DATOS (Data Bus)
A través del bus de datos circulan los datos entre los elementos componentes del ordenador. Estos datos pueden ser de entrada o salida respecto a la CPU. Comunican a ésta con la memoria y con los controladores de entrada/salida. Este bus también es conocido como bus de entrada/salida.
BUS DE DIRECIONES (Adress Bus):
La información que circula en este bus son direcciones de posiciones de memoria. El sentido en que circulan estas direcciones es siempre desde la CPU hacia la memoria principal
BUS DE CONTROL (Control Bus):
A través de este bus circulan las señales de control de todo el sistema. Este bus, al contrario que el de direcciones, es de entrada y salida, debido a que la CPU envía señales de control a los dispositivos periféricos y estos envían a la CPU información sobre su estado de funcionamiento.
BUS NORMALIZADO
Son los que están en contacto periféricos, las tarjetas de expansión.
con
los
Funcionamiento
Si un módulo desea enviar un dato a otro debe hacer dos cosas A) Obtener el uso del Bus B) Transmitir el dato a través del bus de datos
Si un módulo desea pedir un dato a otro módulo A) Obtener el uso del bus B) Trasmitir petición a través de las líneas de control o dirección
Clasificación
No existe una clasificación de tipos de buses, ya que hay pocos parámetros que sirven para distinguir y clasificar los buses, por la diversidad de fabricantes y desarrollo de la tecnología.
Factores en el rendimiento
Carga de trabajo del CPU
Buses no sincronizados
Procesador
Sistema Operativo
Direccionamiento de una memoria
¿Qué es Direccionamiento?
Direccionamiento Acción de asignar una dirección de memoria a un conjunto de datos.
Memoria
La memoria es uno de los principales recursos de la computadora, la cual debe de administrarse con mucho cuidado. Aunque actualmente la mayoría de los sistemas de cómputo cuentan con una alta capacidad de memoria, de igual manera las aplicaciones actuales tienen también altos requerimientos de memoria, lo que sigue generando escasez de memoria en los sistemas multitarea y/o multiusuario.
La parte del sistema operativo que administra la memoria se llama administrador de memoria y su labor consiste en llevar un registro de las partes de memoria que se estén utilizando y aquellas que no, con el fin de asignar espacio en memoria a los procesos cuando éstos la necesiten y liberándola cuando terminen.
El propósito principal de una computadora es el de ejecutar programas, estos programas, junto con la información que accesan deben de estar en la memoria principal (al menos parcialmente) durante la ejecución.
Para optimizar el uso de la CPU y de la memoria, el sistema operativo debe de tener varios procesos a la vez en la memoria principal, para lo cual dispone de varias opciones de administración tanto del procesador como de la memoria.
TIPOS DE PROCESOS
Monoprogramación
Es en donde solo un proceso reside en memoria a la vez limitando el uso del procesador a las llamadas que requiera dicho proceso, desperdiciando un promedio del 80% del tiempo del procesador. Cuando solo se tiene un proceso que ocupe la memoria a la vez, el esquema de la administración de la memoria es el más sencillo que hay. Sin embargo, éste método ya no tiene aplicación en la actualidad, ya que era visto en las computadoras con sistemas operativos de un solo usuario y una sola tarea.
Multiprogramación de particiones fijas
La memoria se puede organizar dividiéndose en diversas partes, las cuales pueden variar en tamaño. Una vez implementada la partición, hay dos maneras de asignar los procesos a ella. 1. La primera es mediante el uso de una cola única
que asigna los procesos a los espacios disponibles de la memoria conforme se vayan desocupando. 2. Otra forma de asignación es buscar en la cola el
proceso de tamaño mayor que se ajuste al hueco, sin embargo hay que tomar en cuenta que tal método discrimina a los procesos más pequeños.
Multiprogramación de particiones variables
El sistema operativo lleva una tabla indicando cuáles partes de la memoria están disponibles y cuáles están ocupadas. Inicialmente, toda la memoria está disponible para los procesos de usuario y es considerado como un gran bloque o hueco único de memoria. Cuando llega un proceso que necesita memoria, buscamos un hueco lo suficientemente grande para el proceso. Si encontramos uno, se asigna únicamente el espacio requerido, manteniendo el resto disponible para futuros procesos que requieran de espacio.
Compactación de memoria
Cuando un proceso llega y necesita memoria, el sistema operativo busca en la tabla de huecos alguno lo suficientemente grande para el proceso. Si el hueco es muy grande, lo parte en dos. Una parte es asignada al proceso y la otra se identifica como hueco. Cuando el proceso termina y la memoria es liberada, el espacio es identificado como un hueco más en la tabla y si el nuevo hueco es adyacente con otro, ambos huecos se unen formando un solo hueco más grande. En ese momento se debe de checar si no existen procesos a los que este nuevo hueco pueda darles cabida
El proceso de compactación del punto anterior es una instancia particular del problema de asignación de memoria dinámica, el cual es el cómo satisfacer una necesidad de tamaño n c o n u n a l i s ta d e h u ec o s libres.
El conjunto de huecos es analizado para determinar cuál hueco es el más indicado para asignarse. Las estrategias más comunes para asignar algún hueco de la tabla son: 1. Primer ajuste 2. Mejor ajuste 3. Peor ajuste
Primer ajuste:
Consiste en asignar el primer hueco con capacidad suficiente. La búsqueda puede iniciar ya sea al inicio o al final del conjunto de huecos o en donde terminó la última búsqueda. La búsqueda termina al encontrar un hueco lo suficientemente grande.
Mejor ajuste:
Busca asignar el espacio más pequeño de los espacios con capacidad suficiente. La búsqueda se debe de realizar en toda la tabla, a menos que la tabla esté ordenada por tamaño. Esta estrategia produce el menor desperdicio de memoria posible.
Peor ajuste
Asigna el hueco más grande. Una vez más, se debe de buscar en toda la tabla de huecos a menos que esté organizada por tamaño. Esta estrategia produce los huecos de sobra más grandes, los cuales pudieran ser de más uso si llegan procesos de tamaño mediano que quepan en ellos.
Se ha demostrado mediante simulacros que tanto el primer y el mejor ajuste son mejores que el peor ajuste en cuanto a minimizar tanto el tiempo del almacenamiento. Ni el primer o el mejor ajuste es claramente el mejor en términos de uso de espacio, pero por lo general el primer ajuste es más rápido..
Dirección de memoria
Es un identificador único para una ubicación de la memoria, con las cuales una CPU u otros dispositivos puede almacenar, modificar o recuperar datos de la misma. Por lo general, las direcciones de memoria se expresan en base hexadecimal.
Dirección de memoria
El direccionamiento de la memoria considerarse desde dos puntos de vista:
puede
Físico: Medios electrónicos utilizados en el ordenador Lógico: Forma en que se expresan y guardan las direcciones.
Tipos de direccionamiento
Modo real
Modo protegido
Modo virtual
Direccionamiento modo real
Es un modo de operación del 80286 y posteriores CPUs compatibles de la arquitectura x86 Máxima cantidad de memoria direccionable: • 1 Mbyte > 20 bits. No tiene conceptos de protección de memoria o multitarea a nivel de hardware.
Direccionamiento modo real
No pueden utilizarse todos los recursos de CPU. Es unitarea. Programa del usuario
Sistema operativo en RAM
Direccionamiento modo protegido
El modo protegido es un modo operacional de los CPUs compatibles x86 de la serie 80286 y posteriores. El modo protegido tiene un número de nuevas características diseñadas para mejorar las multitareas y la estabilidad del sistema, como protección de memoria, y soporte de hardware para memoria virtual así como de conmutación de tareas.
…Direccionamiento modo protegido
El modo protegido 80286 no agregó mucho más allá de tener acceso de hasta 16 MB de memoria física y de 1 GB de memoria virtual (512 MB global, 512 MB local). También era compatible con el código del modo real a nivel binario, así que en teoría, el código de aplicación del 8086 y 80186 podía correr en modo protegido si seguía las siguientes reglas, (aunque correría más lento que en el modo real porque la carga de registros de segmento es más lenta):
…Direccionamiento modo protegido
El modo protegido es un modo operacional de los CPUs compatibles x86 de la serie 80286 y posteriores. Multitareas Estabilidad del sistema, como protección de memoria.
Modo real virtual
Esta técnica consiste en hacer creer al programa que dispone de más memoria que la físicamente disponible en RAM. Este artificio tiene sentido porque en ese momento (y actualmente), la memoria extendida era mayor que la físicamente disponible en muchos sistemas, además el disco duro era estándar en todos los equipos. Esta RAM ficticia se conoce como memoria virtual; una simulación conocida de antiguo en el mundo de los mainframes, que fue introducida en la informática personal a partir del 80286.
La mayoría de los ordenadores tienen cuatro tipos de memoria:
Registros en la CPU La memoria caché (tanto dentro como fuera del CPU), La memoria física (generalmente en forma de RAM, donde la CPU puede escribir y leer directa y razonablemente rápido) y El disco duro que es mucho más lento, pero también más grande y barato.
Nota: Hay ocasiones en que la RAM está demasiado fragmentada y el Sistema no puede asignar suficiente espacio contiguo a una aplicación. Por ejemplo, el caso en que Windows muestra el conocido mensajito: “ No hay suficiente memoria… debe cerrar alguna aplicación en curso… “ suele deberse a que no hay suficiente “memoria gráfica” contigua. Es decir: memoria RAM asignada a la tarjeta de video.
Además de facilitar la apariencia de más RAM que la físicamente disponible, este mecanismo permite que diversas aplicaciones compartan la misma memoria física. Aunque para ello se requieran constantes maniobras de carga y descarga (“swapping”) de trozos del fichero de intercambio a memoria, por lo que el rendimiento global del sistema se resiente si la desproporción entre el fichero de intercambio y la RAM es muy notable.
Muchas aplicaciones requieren el acceso a más información (código y datos) que la que se puede mantener en memoria física. Una solución al problema de necesitar mayor cantidad de memoria de la que se posee consiste en que las aplicaciones mantengan parte de su información en disco, moviéndola a la memoria principal cuando sea necesario.
El sistema operativo es el responsable de decidir qué partes de la memoria del programa es mantenida en memoria física.
Temporización
Se emplean para controlar periodos de tiempo (timers).
Reloj del sistema
Reset del Sistema
Estados de espera
Reloj del Sistema
El reloj de una computadora se utiliza para dos funciones principales: 1. Para sincronizar las diversas operaciones que realizan los diferentes subcomponentes del sistema informático. 2. Para saber la hora.
El reloj físicamente es un circuito integrado que emite una cantidad de pulsos por segundo, de manera constante. Al número de pulsos que emite el reloj cada segundo se llama Frecuencia del Reloj.
La frecuencia del reloj se mide en Ciclos por Segundo, también llamados Hertzios, siendo cada ciclo un pulso del reloj. Como la frecuencia del reloj es de varios millones de pulsos por segundo se expresa habitualmente en Megaherzios.
El reloj marca la velocidad de proceso de la computadora generando una señal periódica que es utilizada por todos los componentes del sistema informático para sincronizar y coordinar las actividades operativas, evitando el que un componente maneje unos datos incorrectamente o que la velocidad velocidad de transmisión de datos datos entre entre dos componentes sea distinta.
Cuanto mayor sea la frecuencia del reloj mayor será la velocidad de proceso de la computadora y podrá realizar mayor cantidad de instrucciones elementales en un segundo. Entre pulso y pulso solamente puede tener lugar una sola acción.
Medido en megahertz (MHz) y en Gigahertz
1 MHz = 1 millón de ciclos por segundo
1 GHz = 1 ciclo de mil millones por segundo.
De esto es lo que están hablando cuando dicen que una computadora es una máquina de 2.4GHz La velocidad de su reloj es de 2.4 mil millones de ciclos por segundo. •
Cuanto más grande el número = más rápido el
procesamiento
Reset del Sistema Reset, del inglés reponer o reiniciar . Se conoce como reset a la puesta en condiciones iniciales de un sistema. Este puede ser mecánico, electrónico o de otro tipo. Normalmente se realiza al conectar el mismo, aunque, habitualmente, existe un mecanismo, normalmente un pulsador, que sirve para realzar la puesta en condiciones iniciales manualmente.
Los microcontroladores pueden provocar una inicialización por tres causas:
1. Al conectarse la alimentación, mediante el
circuito de autoinicialización (power on reset). 2. Al poner a cero el terminal MCLR (negado de Master Clear Reset )durante el funcionamiento o el estado de reposo del microcontrolador 3. Al rebasar su capacidad el temporizador del
circuito de vigilancia o WDT (watch dog timer).
El Reset manual se utiliza por ejemplo para arrancar una secuencia de encendidos de un conjunto de LEDs o para salir de alguna condición inestable en algunos decodificadores. Como sabemos el reset pone en cero todos los contadores internos. Es un borrar y volver a empezar.
Los PIC son una familia de microcontroladores tipo RISC fabricados por Microchip Technology Inc. y derivados del PIC1650, originalmente desarrollado por la división de microelectrónica de General Instrument. El nombre actual no es un acrónimo. En realidad, el nombre completo es PICmicro, aunque generalmente se utiliza como eripheral nterface ontroller P I C (controlador de interfaz periférico).
El comportamiento del circuito y el estado de los registros afectados por un RESET son diferentes dependiendo de la situación que se produzca.
Perro guardián o “Watchdog ”
Cuando el computador personal se bloquea por un fallo del software u otra causa, se pulsa el botón del reset y se reinicia el sistema. Pero un microcontrolador funciona sin el control de un supervisor y de forma continuada las 24 horas del día. El Perro Guardián consiste en un contador que, cuando llega al máximo, provoca un reset automáticamente en el sistema. Se debe diseñar el programa de trabajo que controla la tarea de forma que resetee al Perro Guardián de vez en cuando antes de que provoque el reset. Si falla el programa o se bloquea (si cae en bucle infinito), no se refrescará al Perro guardián y, al completar su temporización, provocará el reset del sistema.
Estados de espera
Cuando se conectan tarjetas al bus de la PC, un problema común es igualar la velocidad de los ciclos del bus con la de las tarjetas. Es común que una tarjeta sea más lenta que el bus. Así, el bus de la PC esta diseñado para resolver este problema. La señal READY del bus se puede usar para extender la longitud del ciclo del bus para igualar una tarjeta lenta o parar el bus del sistema hasta que se sincronice con el ciclo de la tarjeta.
Los ciclos del bus del 8088 normalmente son de cuatro pulsos y se describen por T1 hasta T4 En algunos ciclos el hardware de la PC, automáticamente inserta un pulso ocioso extra llamado TW. La señal READY se usa para insertar estados nuevos o adicionales de espera. Debido a que los diferentes ciclos del bus requieren distintos tiempos, la señal READY se debe controlar de manera diferente.
El hardware de la PC no inserta estados de espera en los ciclos de lectura o escritura a memoria, sino que esto lo hace la tarjeta usando la señal READY. Un estado de espera es un tiempo (Tw) adicional de reloj introducido entre T2 y T3 para alargar el ciclo del bus. Si se introduce un estado de espera, entonces el tiempo normal de acceso a la memoria (que es de 460 nseg con un reloj de 5 MHz) se alarga por un periodo de reloj (200 nseg) hasta 660 nseg.
Para la generación de un estado de espera se agrega un estado ocioso (0 ó Tw) entre T2 y T3 a partir de la señal READY ( que es la señal de verificación de control de sincronía), extendiendo así la longitud del ciclo del bus para igualarlo a una tarjeta lenta o parar el bus del sistema hasta que se sincronice con el ciclo de la tarjeta (este control de sincronía vuelve a recaer sobre la señal READY).
View more...
Comments