martes, 20 de marzo de 2018

2.2 Direccionamiento

Los llamados modos de direccionamiento son las diferentes maneras de especificar en informática un operando dentro de una instrucción. Cómo se especifican e interpretan las direcciones de memoria según las instrucciones. Un modo de direccionamiento especifica la forma de calcular la dirección de memoria efectiva de un operando mediante el uso de la información contenida en registros y / o constantes, contenida dentro de una instrucción de la máquina o en otra parte[3]



Modalidades de Operación:

MODO REAL: (también llamado modo de dirección real en los manuales de Intel) es un modo de operación del 80286 y anteriores CPUs compatibles de la arquitectura x86. El modo real está caracterizado por 20 bits de espacio de direcciones segmentado (significando que solamente se puede direccionar 1 MB de memoria), acceso directo del software a las rutinas del BIOS y el hardware periférico, y no tiene conceptos de protección de memoria o multitarea a nivel de hardware. Todos los CPUs x86 de las series del 80286 y posteriores empiezan en modo real al encenderse el computador; los CPUs 80186 y anteriores tenían solo un modo operacional, que era equivalente al modo real en chips posteriores.

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. A veces es abreviado como p-mode y también llamado Protected Virtual Address Mode (Modo de Dirección Virtual Protegido) en el manual de referencia de programador del iAPX 286 de Intel, (Nota, iAPX 286 es solo otro nombre para el Intel 80286). En el 80386 y procesadores de 32 bits posteriores se agregó un sistema de paginación que es parte del modo protegido.[1]


MODO VIRTUAL: En el microprocesador 80386 y posteriores, el modo 8086 virtual, también llamado modo real virtual o VM86, permite la ejecución de aplicaciones de modo real que violan las reglas bajo control de un sistema operativo de modo protegido. El VM86 usaba la forma de segmentación del modo real, pero usaba la dirección resultante de 20 bits (realmente 21 bits), tratándola como una dirección lineal, de tal manera que era sujeta a paginación. Era usado para ejecutar programas DOS en Microsoft Windows/386, Windows 3.x, Windows 95, Windows 98, Windows Me, y OS/2 2.x y más adelante, a través de las máquinas DOS virtuales, también en SCO UNIX a través de Merge, y en Linux por medio de dosemu.



Referencias

[1]Arquitectura-buses.blogspot.mx. (2018). Modos operacionales del CPU (Real, Protegido y Virtual). [online] Available at: http://arquitectura-buses.blogspot.mx/2009/10/modos-operacionales-del-cpu-real.html [Accessed 20 Mar. 2018].
[2]Es.wikipedia.org. (2018). Modo protegido. [online] Available at: https://es.wikipedia.org/wiki/Modo_protegido [Accessed 20 Mar. 2018].
[3]lenguajeensambladorherramientasj. (2018). MODOS DE DIRECCIONAMIENTO. [online] Available at: https://lenguajeensambladorherramientasj.wordpress.com/2013/02/24/modos-de-direccionamiento/ [Accessed 20 Mar. 2018].

En caso de hacer uso de dicha informacion citarla de la siguiente manera:
Luis Antonio C,G., Johana P,P., Modelos de Arquitecturas de Computo. ITSOEH, Hgo. 20 de Marzo de 2018.

2.1 BUSES


BUSES

Se denomina bus, en informática, al conjunto de conexiones físicas (cables, placa de circuito impreso, etc.) que pueden compartirse con múltiples componentes de hardware para que se comuniquen entre sí. 

El propósito de los buses es reducir el número de rutas necesarias para la comunicación entre los distintos componentes, al realizar las comunicaciones a través de un solo canal de datos. Esta es la razón por la que, a veces, se utiliza la metáfora autopista de datos.[1]








Bus Local: también conocido por las siglas VLB, es un tipo de bus de datos para computadoras personales, utilizado mayoritariamente en equipos diseñados para el microprocesador Intel 80486. Diseñado por Video Electronics Standards Association (VESA), permite conectar directamente una tarjeta gráfica de ese estándar al microprocesador. El VLB es compatible con el bus ISA, aunque mejora la respuesta gráfica solucionando el problema de la insuficiencia de flujo de datos de su predecesor. Para ello, su estructura consistía en un extensión del ISA de 16 bits. El gran tamaño de las tarjetas de expansión hizo desaparecer al bus VESA, junto a la aparición del bus PCI, mucho más rápido en velocidad de reloj y con menores dimensiones y mayor versatilidad.[2]

}}

 CLASES DE BUS:

Bus de datos: Por estas líneas se transfieren los datos, pueden ser de 8, 16, 32 o más líneas, 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 líneas y las instrucciones son de 16 bits, el sistema va a tener que acceder 2 veces a memoria para poder leer la instrucción, el doble de tiempo en leer instrucciones comparando con un bus de datos de 16 líneas. 

Bus de direcciones: Por estas líneas se envía la dirección a la cual se requiere hacer referencia para una lectura o escritura, si el bus es de 8 líneas por ejemplo, las combinaciones posibles para identificar una dirección irían 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 las 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 líneas son utilizadas para controlar el uso del bus de control y del bus de datos. Se transmiten órdenes y señales de temporización. Las órdenes son muy diversas, las más comunes son:

·         Escritura en memoria. 

·         Lectura de memoria. 

·         Escritura de E/S. 

·         Lectura de E/S. 

·         Transferencia reconocida. 

·         Petición del bus. 

·         Sesión del bus. 

·         Petición de interrupción. 

·         Interrupción reconocida. 

·         Señal de reloj. 

·         Inicio.. 

Las señales de temporización indican la validez de los datos que están en el bus en un momento dado. 

Todo elemento que esté conectado al bus tiene que saber reconocer si la dirección que está en el bus de datos le corresponde, tiene que reconocer algunas órdenes transmitidas por el bus de control, y puede emitir algún tipo de señal por el bus de control (señal de interrupción, señal de reconocimiento de alguna petición, etc.). 

En general, cuanto más dispositivos conectamos al bus, disminuye el rendimiento del sistema; las causantes de esto son varias, pero las más importantes son el tiempo de sincronización que se necesita para coordinar el uso del bus entre todos los dispositivos, y que el bus tiene una capacidad máxima, la cual puede llegar a convertirse en un cuello de botella del sistema.  Una de las formas de tratar este problema es implementando jerarquía de buses. 

 BUSES NORMALIZADOS:

Todos los buses poseen unas especificaciones normalizadas, como son:
- protocolos de transmisión de datos,
- velocidades y temporización de las transferencias,
- anchuras de los sub
-buses,
- y sistema físico de conexión (conectores estandarizados).[3]


Los Buses normalizados más conocidos son:

1.    S-100 Bus (IEEE 696).
Puede considerarse como el primer bus normalizado para microcomputadores, siendo introducido por A tari para su computador 8080(sistema de 8 bits). En total disponía de unos 100 hilos.

2.    CAMAC (o IEEE 583).
El bus CAMAC (Computer Automated   Measurement and Control ´) Se  introdujo para interconectar instrumentos de medida nuclear es en 1969.

3.    GPIB ( o IEEE 488).
El GPIB (General Purpose Interface Bus´) fue ideado por HewlettPackard (1965 a 1975) usa 24 hilos, 8 de los cuales son para datos y el resto para señales de control.




Referencias

[1]CCM. (2018). Qué es un bus informático. [online] Available at: http://es.ccm.net/contents/364-que-es-un-bus-informatico [Accessed 20 Mar. 2018].
[2]Es.wikipedia.org. (2018). VESA Local Bus. [online] Available at: https://es.wikipedia.org/wiki/VESA_Local_Bus [Accessed 20 Mar. 2018].

Itlalaguna.edu.mx. (2018). METODO DE LAS DOS FASES. [online] Available at: http://www.itlalaguna.edu.mx/academico/carreras/industrial/invoperaciones1/U2D.html [Accessed 16 Mar. 2018].
[3]Gallegos (2018). Buses normalizados. [online] Es.slideshare.net. Available at: https://es.slideshare.net/MajestickFG/buses-normalizados [Accessed 20 Mar. 2018].

En caso de hacer uso de dicha informacion citarla de la siguiente manera:
Luis Antonio C,G., Johana P,P., Modelos de Arquitecturas de Computo. ITSOEH, Hgo. 20 de Marzo de 2018.




TEMPORIZACION

2.3 TEMPORIZACION 

INTRODUCCIÓN:

El temporizador es un circuito digital, dispone de dos salidas al igual que un flip flop, una salida es la inversa de la otra, a diferencia del flip flop quién cuenta con dos estados estables, el temporizador solamente posee un estado estable, el otro estado es inestable, permanece en su estado estable, hasta que se activa con un pulso de entrada, una vez que se activa cambia a su estado inestable y ahí permanece por un periodo fijo de tiempo tw , este tiempo lo determina una constante de tiempo RC externa que se conecta al temporizador, después de que transcurre el tiempo tw , las salidas dos salidas del temporizador regresan a su estado estable, hasta que se activan otra vez. La finalidad de la temporización es retardar el paso de una señal desde un nodo del circuito hasta otro punto, el diseño de este circuito se realiza con un dispositivo que se conoce con el nombre de “monoestable” ó “temporizador”, éste elemento electrónico dispone de una entrada “E” y una salida “S”, se tienen tres temporizadores básicos que se denominan; el primero, temporización a la activación, el segundo se llama temporización a la desactivación y el tercero es una combinación de las dos anteriores, temporización a la “activación y desactivación” simultaneas. 

2.3.1 RELOJ DE 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 de transmisión de datos 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.
El rango de frecuencia de los microprocesadores oscila entre los 4,77 megaherzios del primer PC diseñado por IBM y los 200 megaherzios de las actuales computadoras basadas en los chips Intel Pentium.
En máquinas de arquitectura Von Neumann la mayoría de las operaciones son serializadas, esto significa que la computadora ejecuta los comandos en un orden preestablecido. Para asegurarnos de que todas las operaciones ocurren justo en el tiempo adecuado, las máquinas 80×86 utilizan una señal alternante llamada el reloj del sistema.

Resultado de imagen para temporalizacion reloj de sistema





2.3.2 RESET DEL SISTEMA
 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.
En el ámbito de códigos binarios, trata de poner a 0, así como set, poner a 1.


2.3.3 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.
Como se mencionó anteriormente, 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.
Generación de estados de espera en ciclos de bus de memoria
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.




Resultado de imagen para estados de espera


2.4 INTERRUPCIONES DE HARDWARE


Interrupción (también conocida como interrupción de hardware o petición de interrupción) es una señal recibida por el procesador de un ordenador, indicando que debe "interrumpir" el curso de ejecución actual y pasar a ejecutar código específico para tratar esta situación.
Una interrupción es una suspensión temporal de la ejecución de un proceso, para pasar a ejecutar una subrutina de servicio de interrupción, la cual, por lo general, no forma parte del programa (generalmente perteneciente al sistema operativo, o al BIOS). Luego de finalizada dicha subrutina, se reanuda la ejecución del programa.
Las interrupciones surgen de las necesidades que tienen los dispositivos periféricos de enviar información al procesador principal de un sistema de computación. La primera técnica que se empleó fue que el propio procesador se encargara de sondear (polling) los dispositivos cada cierto tiempo para averiguar si tenía pendiente alguna comunicación para él. Este método presentaba el inconveniente de ser muy ineficiente, ya que el procesador constantemente consumía tiempo en realizar todas las instrucciones de sondeo.




2.4.1 ENMASCARABLE
Todos los microprocesadores prevén algún mecanismo para sincronizar sucesos externos, tales como los fallos de alimentación, peticiones de servicio de señales exteriores, etc. Un método sencillo es el llamado “pollin” que consiste en asociar cada posible suceso asíncrono a un indicador que permite reconocer si el suceso correspondiente necesita ser atendido o no. El microprocesador comprueba todas los indicadores siguiendo una secuencia determinada, y da servicio a aquel que lo precisa. Este método es poco eficiente ya que el microprocesador ha de dedicarse exclusivamente a verificar el estado de los indicadores y, si el número de posibles sucesos externos es grande, el tiempo que pasa hasta que los atiende puede ser excesivamente largo.
2.4.2 NO ENMASCARABLE
Una interrupción no enmascarable (o NMI) es un tipo especial de interrupción usada en la mayoría de los microordenadores como el IBM PC y el Apple II.
Una interrupción no enmascarable causa que la CPU deje lo que está haciendo, cambie el puntero de instrucción para que apunte a una dirección particular y continúe ejecutando el código de esa dirección. Se diferencia de los otros tipos de interrupción en que los programadores no pueden hacer que la CPU las ignore, aunque algunos ordenadores pueden por medios externos bloquear esa señal, dando un efecto similar al resto de las interrupciones.



 2.5 ACCESO DIRECTO A MEMORIA

El acceso directo a memoria (DMA, del inglés direct memory access) permite a cierto tipo de componentes de una computadora acceder a la memoria del sistema para leer o escribir independientemente de la unidad central de procesamiento (CPU). Muchos sistemas hardware utilizan DMA, incluyendo controladores de unidades de disco, tarjetas gráficas y tarjetas de sonido. DMA es una característica esencial en todos los ordenadores modernos, ya que permite a dispositivos de diferentes velocidades comunicarse sin someter a la CPU a una carga masiva de interrupciones.
Una transferencia DMA consiste principalmente en copiar un bloque de memoria de un dispositivo a otro. En lugar de que la CPU inicie la transferencia, la transferencia se lleva a cabo por el controlador DMA. Un ejemplo típico es mover un bloque de memoria desde una memoria externa a una interna más rápida. Tal operación no ocupa al procesador y, por ende, éste puede efectuar otras tareas. Las transferencias DMA son esenciales para aumentar el rendimiento de aplicaciones que requieran muchos recursos.
Resultado de imagen para IMAGENES DE ACCESO  DIRECTO DE MEMORIA




Referencias

[1]arquitecturacomputado.blogspot.com/2012/08/arquitectura-de-computadora.html[Accessed 20Mar018]

 [2]https://www.youtube.com/watch?v=A78-trFT2ZQ[Accessed 20 Mar. 2018].

[3]https://conceptosarquitecturadecomputadoras.wordpress.com/acceso-directo-a-memori.. [Accessed 20 Mar. 2018].


En caso de hacer uso de dicha informacion citarla de la siguiente manera:
Luis Antonio C,G., Johana P,P., Modelos de Arquitecturas de Computo. ITSOEH, Hgo. 20 de Marzo de 2018.