Comunicación interna en la computadora - TAPS-CB-16

Anuncio
Comunicación
interna en la
computadora
Buses

Elemento responsable de establecer una correcta
comunicación entre dos o más dispositivos de la computadora,
una característica clave de un bus es que se trata de un medio
de transmisión compartido, es por lo tanto el dispositivo principal
de comunicación.

El bus, quizá fuera mejor decir los buses ya que existen varios con
diversas funciones, es un circuito que conecta el procesador
central con todo el resto de componentes de la computadora.

El bus sirve para que le llegue al procesador la información y las
solicitudes de trabajo, desde el exterior, y envíe hacia afuera los
resultados del trabajo realizado
BUS LOCAL

El bus que conecta la CPU con los otros elementos del
procesador se conoce como bus local o bus de la CPU.

Es un bus muy rápido y conecta la CPU con las tarjetas
de la placa base y los controladores de los dispositivos
externos.

Al contrario que con el EISA, MCA y PCI, el bus VL no
sustituye al bus ISA sino que lo complementa.
Bus EISA
 Una ranura de expansión, bus de expansión ó "Slot" es
un elemento que permite introducir dentro de si, otros
dispositivos llamados tarjetas de expansión (son tarjetas
que se introducen en la ranura de expansión y dan mas
prestaciones al equipo de cómputo).

EISA proviene de las siglas de ("Extended Industry
Standard Architecture") ó arquitectura estándar de la
industria. Este tipo de ranura se comercializa con una
capacidad de datos de 32 bits.

Los bits en las ranuras de expansión significan la
capacidad de datos que es capaz de proveer, este
dato es importante ya que por medio de una fórmula,
es posible determinar la transferencia máxima de la
ranura ó de una tarjeta de expansión.
Características generales de la ranura EISA

EISA se podría considerar una ranura de expansión de tercera
generación junto con MCA.

Se comercializó con un elevado precio, por lo que no fue muy
difundido.

Su 2 capacidades de datos que maneja es de 32 bits.

Físicamente tiene 2 secciones de contactos, con buen ajuste al
momento de colocar las tarjetas.

Tienen una velocidad de transferencia de 33 Megabytes/s
(MB/s) hasta 40 MB/s.

Cuentan con una velocidad interna de trabajo de 8.33 MHz.

Cuenta con una función llamada "bus master" ó mando a nivel
de bus, que permite trabajar de manera directa con los
dispositivos sin que intervenga el microprocesador.
Bus y bus de datos EISA

El "bus" es una palabra que traducida literalmente significa transporte.

El bus es un conjunto de líneas eléctricas que el dispositivo integra para
comunicarse con el resto de los componentes de la computadora.

Hay varios tipos de bus, ya que cada dispositivo necesita enviar diferentes
tipos de información, entre ellos están los siguientes:
Ejemplo: tenemos un dato que va a ser guardado en memoria RAM.


Bus de direcciones: se encarga de que determinar en que lugar exacto de memoria
se escribirá el dato.

Bus de control: maneja el momento y la forma de escribir el dato.

Bus de datos: se encarga de enviar el dato.
El más utilizado para describir las características es el bus de datos, y el
rendimiento del bus EISA está en función de la velocidad del dispositivo y su
capacidad de datos.
Ranura de expansión MCA

MCA proviene de las siglas de ("Micro Channel
Architecture") ó arquitectura micro canal de IBM®. Este tipo
de ranura se comercializaba con una capacidad de datos
de 16 bits y 32 bits.

Los bits en las ranuras de expansión significan la
capacidad de datos que es capaz de proveer, este dato
es importante ya que por medio de una fórmula, es posible
determinar la transferencia máxima de la ranura ó de una
tarjeta de expansión.
Características generales de la ranura MCA

MCA se podría considerar una ranura de expansión de tercera
generación junto con la ranura EISA.

Fue una nueva ranura de expansión desarrollada por IBM® para sus
equipos PS/2.

No cuenta con compatibilidad con las ranuras ISA y ranuras EISA.

Integra una capacidad de datos de 16 bits y 32 bits.

Reduce radiaciones emitidas con mayor cantidad de tierras físicas.

Tienen una velocidad de transferencia de 20 Megabytes/s (MB/s) para
16 bits y 40 MB/s para 32 bits.

Cuentan con una velocidad interna de trabajo de 10 MHz.

Cuenta con una función llamada "bus master" ó mando a nivel de bus,
que permite trabajar de manera directa con los dispositivos sin que
intervenga el microprocesador.
Bus y bus de datos MCA
El "bus" es una palabra que traducida literalmente significa transporte.
El bus es un conjunto de líneas eléctricas que el dispositivo integra para
comunicarse con el resto de los componentes de la computadora.
Hay varios tipos de bus, ya que cada dispositivo necesita enviar
diferentes tipos de información, entre ellos están los siguientes:
- Ejemplo: tenemos un dato que va a ser guardado en memoria RAM.


Bus de direcciones: se encarga de que determinar en que lugar
exacto de memoria se escribirá el dato.

Bus de control: maneja el momento y la forma de escribir el dato.

Bus de datos: se encarga de enviar el dato.

El más utilizado para describir las características es el bus de datos, y
el rendimiento del bus MCA está en función de la velocidad del
dispositivo y su capacidad de datos
Ranura de expansión PCI

PCI proviene de las siglas de ("Peripheral Components
Interconect") ó componentes periféricos
interconectados.

Este tipo de ranura fue desarrollado por Intel® y
lanzado al mercado en 1993, se comercializa con una
capacidad de datos de 32 bits y 64 bits para el
microprocesador Intel® Pentium.

Los bits en las ranuras de expansión significan la
capacidad de datos que es capaz de proveer, este
dato es importante ya que por medio de una fórmula,
es posible determinar la transferencia máxima de la
ranura ó de una tarjeta de expansión.
Características generales de la ranura PCI

PCI se podría considerar una ranura de expansión de cuarta
generación.

Integra una capacidad de datos de 32 bits y 64 bits para el
microprocesador Intel® Pentium.

Tiene una velocidad de transferencia de hasta 125.88 Megabytes/s
(MB/s) a 503.54 MB/s respectivamente.

Cuentan con una velocidad interna de trabajo de 33 MHz para 32 bits
y 66 MHz para 64 bits.

Cuenta con una función llamada "bus master" ó mando a nivel de
bus, que permite trabajar de manera directa con los dispositivos y la
memoria RAM sin que intervenga el microprocesador
Consta básicamente de una pieza
ranurada, dónde se encuentran
pequeños conectores; está se
encuentra soldada en la parte superior
de la tarjeta principal ("Motherboard"),
cuenta con 47 terminales.
Tarjetas para insertar en la ranura
PCI
 Las
tarjetas diseñadas para la ranura PCI
principalmente son tarjetas controladoras, tarjetas
de audio, tarjetas de video, tarjetas de expansión
de puertos y tarjetas de red entre otras.
Usos específicos de la ranura PCI
 Se utiliza para dar mayores capacidades al
equipo, tales como aumentar las prestaciones de
audio, aumentar capacidad de despliegue de
gráficos para videojuegos, aumentar el número de
puertos USB ó puertos eSATA, etc.
 Actualmente
es muy utilizada pero hay una
variante llamada ranura de expansión PCI-Express,
de la misma familia pero que esta ganando
terreno en el campo de la aceleración de
gráficos.
 Al
contrario que con el EISA, MCA y PCI, el bus VL
no sustituye al bus ISA sino que lo complementa.
 Un
PC con bus VL dispone para ello de un bus ISA y
de lascorrespondientes ranuras (slots) para tarjetas
de ampliación. Además, en un PCcon bus VL
puede haber, sin embargo, una, dos o incluso tres
ranuras deexpansión, para la colocación de
tarjetas concebidas para el bus VL, casi
siempregráficos. Solamente estos slots están
conectados con la CPU a través de un busVL, de
tal manera que las otras ranuras permanecen sin
ser molestadas y las tarjetas ISA pueden hacer su
servicio sin inconvenientes.

VL-bus
bus VL no sustituye al bus ISA sino que lo complementa.

Un PC con bus VL dispone para ello de un bus ISA y de las
correspondientes ranuras (slots) para tarjetas de ampliación.

Además, en un PC con bus VL puede haber, sin embargo, una, dos o
incluso tres ranuras de expansión, para la colocación de tarjetas
concebidas para el bus VL, casi siempre gráficos.

Solamente estos slots están conectados con la CPU a través de un bus
VL, de tal manera que las otras ranuras permanecen sin ser molestadas
y las tarjetas ISA pueden hacer su servicio sin inconvenientes.

El VL es una expansión homogeneizada de bus
local, que funciona a 32 bits, pero que puede
realizar operaciones a 16 bits.

VESA presentó la primera versión del estándar VLBUS en agosto de 1992.

El VL-BUS se acerca mucho al diseño del
procesador 80486.

De hecho presenta las mismas necesidades de
señal de dicho chip, exceptuando unas cuantas
menos estrictas destinadas a mantener la
ompatibilidad con los 386
BUS DE DATOS

Está formado por varias líneas de control, cada una de las cuales
transporta un bits a la vez, el número de líneas depende del tamaño de
la palabra, si la palabra mide 32 bits se necesita un bus de datos con 32
líneas de modo que todos los bits de una palabra puedan trasmitirse al
mismo tiempo.

El bus de datos transfiere tanto las instrucciones que provienen del
procesador como las que se dirigen hacia él. Se trata de un bus
bidireccional.

Un bus de datos es un dispositivo mediante el cual al interior de una
computadora se transportan datos e información relevante.

Su funcionamiento es sencillo: en un bus, todos los distintos nodos que lo
componen reciben datos indistintamente, aquellos a los que estos datos
no son dirigidos los ignoran y, en cambio, aquellos para los cuales los
datos tienen relevancia, los comunican.

Desde el punto de vista técnico, un bus de datos
es un conjunto de cables o conductores
eléctricos en pistas metálicas sobre la tarjeta
madre o ´mother´ de la computadora.

Este conjunto de conductores circulan las señales
que conduce los datos.
BUS DE DIRECCIONES

Permite el acceso a una palabra en particular en la memoria.

l bus de dirección depende del espacio y el
direccionamiento de la memoria, si la memoria tiene dos
palabras, el bus de direcciones necesita transportar n bits a la
vez, por consiguiente debe tener n bits.

Direcciones: Identifica el periférico referido.

El bus de direcciones,
(también conocido como
bus de memoria) transporta
las direcciones de memoria
al que el procesador desea
acceder, para leer o escribir
datos.

Se trata de un bus
unidireccional
BUS DE CONTROL

Lleva la comunicación entre el CPU y la memoria.

Por ejemplo debe haber un código enviado entre el CPU a la
memoria para especificar una operación de lectura y escritura.

El numero de líneas utilizadas en el bus de control dependen del
número total de comandos de control que necesita la
computadora, si una computadora tiene dos acciones de
control se necesitan N líneas pata el bus de control por que en
N bits pueden definirse dos operaciones diferentes.

Control: Lleva información referente al estado de los periféricos
(petición de interrupciones)

El bus de control (en ocasiones denominado bus de comando)
transporta las órdenes y las señales de sincronización que
provienen de la unidad de control y viajan hacia los distintos
componentes de hardware.

Se trata de un bus bidireccional en la medida en que también
transmite señales de respuesta del hardware.
INTERRUPCIONES.
 Una
interrupción es una operación que
suspende la ejecución de un programa de
modo que el sistema pueda realizar una
acción especial.
 La
rutina de interrupción ejecuta y por lo
regular regresa el control al procedimiento que
fue interrumpido, el cual entonces reasume su
ejecución.
- HARDWARE.

Las interrupciones hardware ocurren cuando un dispositivo necesita
atención del procesador y genera una señal eléctrica en la línea IRQ
que tiene asignada.

Esta señal es recogida y procesada por el controlador de excepciones
PIC antes de ser senviada al procesador, lo que puede realizarse de dos
formas, según el tipo de interrupción sea enmascarable o no
enmascarable.

Cuando se habla de una significa que, bajo control del software, el
procesador puede aceptar o ignorar (enmascarar) la señal de
interrupción. Para ello se envía una señal a la patilla INTR, y el
procesador la atiende o la ignora en función del contenido de un bit
(IF) en un registro (FLAGS) que puede estar habilitado o deshabilitado.

En el primer caso, cuando se recibe la señal, el procesador concluye la
instrucción que estuviese en proceso y a continuación responde con
una combinación de señales en algunas de sus patillas componiendo
una sucesión de dos señales INTA ("Interrupt Acknowledge".

La primera señal es simplemente un aviso; la segunda es una petición
para que el PIC coloque en el bus de datos un Byte con el número de
interrupción, de forma que el procesador pueda localizar el servicio
solicitado.

El valor recibido (0-255) es multiplicado por 4 para calcular la dirección
del vector correspondiente en la tabla de vectores de interrupción, lo
que se realiza mediante un desplazamiento binario de dos posiciones a
la izquierda.

Interrupción no enmascarable significa que la interrupción no puede ser
deshabilitada por software.

Este tipo de interrupciones ocurren cuando se recibe una señal en la
patilla NMI ("Nonmaskable Interrupt") del procesador.

Se reservan para casos en que es crítica la respuesta, por ejemplo que
se detecte un error de paridad en la memoria.

Además son de prioridad más alta que las enmascarables.
SOFTWARE.
 Los
procesadores Intel de la gama x86 y
compatibles, disponen de una instrucción INT que
permite generar por software cualquiera de los
256 tipos de interrupción anteriormente descritos.
 El
proceso seguido es exactamente el mismo que
si se recibe una interrupción hardware en la patilla
INTR, salvo que en este caso se conoce el tipo de
interrupción, y no se requiere ningún ciclo INTA.
 Este
tipo de interrupciones son de prioridad más
alta que las de hardware (enmascarables y no
enmascarables), de forma que si se recibe una
interrupción hardware mientras que se ejecuta
una software, esta última tiene prioridad.
FUNCIONES DE LA BIOS

Las funciones de la BIOS se invocan, desde los
programas de usuario, ejecutando una interrupción
software con un cierto valor inicial en los registros.

La BIOS emplea un cierto rango de interrupciones, cada
una encargada de una tarea específica:

INT 10h: Servicios de Vídeo (texto y gráficos).
INT 11h: Informe sobre la configuración del equipo.
INT 12h: Informe sobre el tamaño de la memoria
convencional.
INT 13h: Servicios de disco (muy elementales: pistas,
sectores, etc.).
INT 14h: Comunicaciones en serie.
INT 15h: Funciones casette (PC) y servicios especiales
del sistema (AT)





INT 16h: Servicios de teclado.
 INT 17h: Servicios de impresora.
 INT 18h: Llamar a la ROM del BASIC (sólo máquinas
IBM).
 INT 19h: Reinicialización del sistema.
 INT 1Ah: Servicios horarios.
 INT 1Fh: Apunta a la tabla de los caracteres ASCII
128-255 (8x8 puntos).

FUNCIONES DEL DOS

El DOS emplea varias interrupciones, al igual que la BIOS; sin embargo,
cuando se habla de funciones del DOS, todo el mundo sobreentiende
que se trata de llamar a la INT 21h, la interrupción más importante con
diferencia.

INT 20h: Terminar programa (tal vez en desuso).
INT 21h: Servicios del DOS.
INT 22h: Control de finalización de programas.
INT 23h: Tratamiento de Ctrl-C.
INT 24h: Tratamiento de errores críticos.
INT 25h: Lectura absoluta de disco (sectores lógicos).
INT 26h: Escritura absoluta en disco (sectores lógicos).
INT 27h: Terminar dejando residente el programa (en desuso).
INT 28h: Idle (ejecutada cuando el ordenador está inactivo).
INT 29h: Impresión rápida en pantalla (no tanto).
INT 2Ah: Red local MS NET.
INT 2Bh-2Dh: Uso interno del DOS.
INT 2Eh: Procesos Batch.
INT 2Fh: Interrupción Multiplex.
INT 30h-31h: Compatibilidad CP/M-80.
INT 32h: Reservada.















Acceso directo a Memoria
¿Qué es una transferencia por acceso directo a
memoria?

El modelo de transferencia de información se denomina
transferencia por programa, porque la transferencia de
un dato del controlador a memoria, o viceversa, se
realiza como consecuencia de la ejecución de
instrucciones de un programa (ver figura 1).
 Una
alternativa a la transferencia por programa es
la transferencia por acceso directo a memoria
(DMA) (Aquellas computadoras que tienen canales
DMA pueden transferir datos desde y hacia los
dispositivos con menos utilización de CPU que
aquellas computadoras sin canales DMA.
 Básicamente
una transferencia DMA consiste en
copiar un bloque de memoria de un dispositivo a
otro.
 Esa
transferencia se lleva a cabo por el controlador
DMA, en lugar del CPU.
 El
controlador DMA es generalmente un chipset de
la placa madre) en la que el propio controlador se
responsabiliza de leer o escribir los datos en
memoria.
 Aunque
la transferencia sea por DMA, seguirá
siendo necesaria la sincronización entre el
procesador y el controlador, para que el primero
sepa cuándo ha terminado la transferencia.
 Esta
sincronización puede realizarse por encuesta o
por interrupción.

¿Qué registros debe tener un controlador que realiza transferencia por
DMA?

Para que un controlador pueda realizar una transferencia por DMA (por
ejemplo, enviar un dato a memoria), necesita conocer la dirección de
memoria involucrada en la transferencia (es decir, la dirección donde
debe escribir el dato o de donde debe leerlo).

El controlador deberá tener un registro de dirección (Radr), en el que el
procesador pueda escribir la dirección involucrada en la transferencia
(ver figura 2).

Como ahora el procesador no tendrá que leer ni escribir
el dato directamente del controlador (que es lo que
ocurría en la transferencia por programa), no será
necesario que el registro de datos del controlador (Rdat
en la figura 2) sea visible desde el procesador (es decir,
el controlador no tendrá registro de datos mapeado en
el espacio de memoria ni en el espacio de
entrada/salida).

El hecho de que la transferencia sea por DMA no tiene
ninguna implicación adicional sobre los otros registros
del controlador.

LEA EAX, dato
OUT Radr, EAX

 ¿Cuándo
es adecuada la transferencia por DMA?
 La
transferencia por DMA no tiene ventajas sobre
la transferencia por programa cuando se trata de
transferir un dato aislado.
 Ese
sería el caso de lecturas del teclado, o de
escrituras en la impresora.
 Suponiendo
que representan la lectura de un
carácter del teclado. Se ve que no hay
demasiadas diferencias en cuanto a trabajo que
debe hacer el procesador o tiempo que tarda la
transferencia.

La transferencia por DMA es adecuada cuando debe
transferirse un bloque de datos (es decir, una serie de bytes
consecutivos de memoria).

En el caso de la transferencia de un bloque de datos por
DMA, el procesador debe escribir en el registro Radr

La dirección de memoria involucrada en la transferencia.

Cuando el controlador esté en disposición de transferir el
siguiente byte del bloque usará la dirección que hay en Radr
para leer o escribir la memoria (según el sentido de la
transferencia) e incrementará el valor de la dirección
dejándola preparada para la transferencia del siguiente
byte.

La operación de entrada/salida acabará cuando hayan sido
transferidos todos los datos del bloque (ver figura 3).
 Las
ventajas de la transferencia de un bloque de
datos por DMA frente a la transferencia por
programa son:
 La
transferencia se hace mucho más rápido (no se
pierden ciclos para ejecutar instrucciones que
transfieran datos)
 El
procesador puede hacer otras cosas mientras el
controlador está realizando la transferencia
(siempre que la sincronización sea por interrupción)
 El
ejemplo típico de controlador que realizar
transferencias de bloque de datos (y no de datos
aislados) es el controlador de disco, ya que en un
disco la información se lee y se escribe por bloques.
Componentes
Características
Clasificación de las tarjetas
Monitor
Tipos de monitores
Sistema de discos.
 Dispositivos
Almacenamiento Secundario
 Cintas Magnéticas
 Discos Magnéticos: HD, floppy
 Discos Magneto-ópticos: mini-disk
 Discos Laser ú Opticos: CD, DVD
 Discos de Edo. Sólido: Flash Drives
Como funciona un disco duro

Los discos duros generalmente utilizan un sistema de
grabación magnética analógica.

En este tipo de disco encontramos dentro de la carcasa
una serie de platos metálicos apilados girando a gran
velocidad.

Sobre estos platos se sitúan los cabezales encargados
de leer o escribir los impulsos magnéticos.

Hay distintos estándares a la hora de comunicar un
disco duro con la computadora. Los más utilizados son
IDE/ATA, SCSI, y SATA, este último siendo de reciente
aparición.
 Dentro
de un disco duro hay varios platos (entre 2 y
4), que son discos (de aluminio o cristal)
concéntricos y que giran todos a la vez.
 El
cabezal (dispositivo de lectura y escritura) es un
conjunto de brazos alineados verticalmente que se
mueven hacia dentro o fuera según convenga,
todos a la vez.
 En
la punta de dichos brazos están las cabezas de
lectura/escritura, que gracias al movimiento del
cabezal pueden leer tanto zonas interiores como
exteriores del disco.

Cada plato tiene dos caras, y es necesaria una cabeza de
lectura/escritura para cada cara (no es una cabeza por
plato, sino una por cara).

Si se mira el esquema Cilindro-Cabeza-Sector (más abajo), a
primera vista se ven 4 brazos, uno para cada plato. En
realidad, cada uno de los brazos es doble, y contiene 2
cabezas: una para leer la cara superior del plato, y otra para
leer la cara inferior.

Por tanto, hay 8 cabezas para leer 4 platos.

Las cabezas de lectura/escritura nunca tocan el disco, sino
que pasan muy cerca (hasta a 3 nanómetros).

Si alguna llega a tocarlo, causaría muchos daños en el disco,
debido a lo rápido que giran los platos (uno de 7.200
revoluciones por minuto se mueve a 120 km/h en el borde).
Retardos: disk-latency / seek-time
 Inicio:
Seleccionar superficie ó RW-head (ms)
 Seek time: posicionar brazo en pista correcta
(ms)
 Rotational delay: esperar sector en disco
giratorio (ms)
 Transfer: Transferencia de datos de un sector
(DMA-buffer-cabeza)
Planificación de Disco
 Cuando
un proceso desea leer/escribir a disco
llama al SO
 Al efectuar la llamada, el proceso se suspende
 El SO coloca petición en fila de espera del
dispositivo
 El Algoritmo de Planificación busca peticiones
afines
 El Manejador-Dispositivo lee/escribe bloques
designados
Descargar