Todos en este cuarto vídeo tutorial
vamos a ver el apartado
titulado técnicas de comunicación
cp o entrada
salida del apartado programación
de la entrada salida.
Todo esto incluido en el tema 6,
gestión de la entrada, salida como
hemos visto anteriormente.
Lo que decíamos era que la va a
ser la encargada de indicarle
al dispositivo de entrada salida,
que es lo que va a hacer,
inscribir primero en lo que era
en el puerto de entrada,
salida que se encargaba del control,
lo que decíamos de control
y escribir un código indicado, que
es lo que tiene que hacer.
Va a ser también el encargado de
leer el código del dispositivo,
indicando su estado.
Recordamos que esto estaba
en el Registro de Estado
y también va a ser el encargado
de escribir o leer el dato
según la operación que se quiere
hacer con el dispositivo,
y lo va a hacer en el
puerto de entrada,
salida que llamábamos
registro de estado.
Bien, pues en este apartado
lo que vamos a ver es cómo
conoce el sistema perdón
como conocen la FP o que las
que lo que ha tenido
está preparado.
O bien que el dispositivo tiene un
dato para el que, por ejemplo,
en el teclado pulsar la tecla
sin que nadie nos lo pida,
y lo mismo pasa con él con el ratón?
Bien, pues el primer método
es el que se conoce como
sondeo en inglés,
llamado.
Lo que pasa es que es la
técnica más sencilla,
y lo que pasa es que la cp se
encarga de estar continuo lentes
preguntando lo que se llama
sondeando al al al puerto de entrada
de entrada salida correspondiente
al dispositivo,
lo que sería el puerto de Estado
y registro de Estado.
Si tiene o no
un dato preparado para ser leído,
este método también se llama encuesta
o escote escrutinio, perdón
por esa idea,
porque se la que está continuamente
preguntando al dispositivo
si tiene la información que
se le ha solicitado
o bien que va a generar
de forma automática,
tener en cuenta que en el
sondeo se puede hacer
de dos formas de forma
continua, es decir,
continuamente sin sin parar la cp o
le está preguntando al dispositivo
si tiene el dato o bien
de forma periódica,
y esto significaría que, por ejemplo
cada le hace el escrutinio.
Le hace la pregunta.
Solo Cada, por ejemplo,
200 segundos tener en cuenta que
me estoy inventando el tiempo,
pero sería sería un ejemplo
el dispositivo.
Recordamos que tenía un
registro de Estado,
que era lo que llamábamos
un puerto de entrada,
salida mediante el cual para
informar de la situación;
y entonces la cp, o lo que
va a hacer Sleep,
se registró de Estado para saber
si hay nuevos datos
o no y, por tanto obrar
en consecuencia,
y en ese proceso que está
continuamente preguntando va a ser.
Por tanto, por ejemplo,
si lo que estamos escuchando
es el teclado,
pues ese mismo ese mismo función que
está continuamente preguntando
al registro de Estado, sí tiene
si hemos puesto una tecla,
pues esa misma función va a
ser también la encargada,
cuando el registro de
estado del teclado
diga que sí que hemos pulsado,
una tecla que os va a ser
esa misma función, la que se encarga
de leer la tecla de registro de datos
del de la del dispositivo de entrada,
salida de la controladora
del dispositivo,
el gran problema que tiene
este método de sondeos,
que se va a preguntar, muchísimas
gracias al dispositivo,
y de esas muchas veces que lo hace,
la mayoría no ha cambiado el Estado.
No tenemos un dato preparado
porque normalmente
no va a ser mucho, mucho más rápida
que lo que es la entrada salida.
Por tanto, si se produce una
gran pérdida de tiempo
pensar esto es lo que sería un
portátil que lo que va a conllevar
es que se va a acabar la quería
mucho más rápido
de lo que debemos.
Por ejemplo, si queremos verificar
si hemos pulsado la tecla del ratón
o si el usuario ha movido el ratón,
pues el siete uvas tener que estar
continuamente preguntando
al a lo que sería la controladora
del ratón,
preguntando por el registro
de Estado,
y cuando la cp use enteré
que sí se ha pulsado,
que sí se ha movido el ratón o que
se pulsa uno de los botones,
le va a tener que informar
al sistema operativo
para que el sistema operativo, en
este caso, el sistema operativo,
le va a informar al programa que
tiene asociado el ratón.
En ese momento del, por ejemplo, del
cambio de posición del ratón
y para que actúe
en consecuencia normalmente los
bucles de esperar activa,
o lo que sería el sondeo activo,
lo que se une a una Encuesta
Continua donde no deja
de estar preguntando al dispositivo
si tenemos un dato preparado,
solo son transmisibles y
lo que serían sistemas
en lo que serían dispositivos
dedicados y además,
si nos damos cuenta en estos
sistemas empotrados,
que normalmente lo que hacen es
una tarea muy específica,
lo que queremos es que actúen
de forma rápida.
Por tanto, es idea, no es ideal,
pero si es conveniente
hacer esta espera,
continuar y no periódica,
lo que serían los computadores más
normal en los ordenadores normales
donde el sistema operativo
está entiende.
Este tiempo compartido donde tenemos
muchos procesos en ejecución
lo más habitual es que se realice
una encuesta periódica;
por ejemplo, para el ratón
-veamos ahora el rendimiento
del este,
de esta técnica de purín o sondeo,
y para ello vamos a resolver un
pequeño ejercicio que además,
como veremos después en el vídeo
tutorial de ejercicios,
se parece mucho a los ejercicios
que vamos a resolver bien.
Supongamos que tenemos una FP
que va 500 megahercios
y que una operación de sondeo con su,
de unos 400 títulos de
reloj, es decir,
llamar a la rutina de sondeo para
acceder al dispositivo,
comprobar el estado del
dispositivo y volver,
y si a ir a leerlo, los
bajos 1.400 títulos
de el ejercicio nos pide que
determine el porcentaje de tiempo
que la FP o subasta realizando
los sondeos
para tres dispositivos distintos,
además de peculiaridades
totalmente distintas.
El primero es un ratón, que se debe
escrutar unas 30 veces por segundo.
Para no perder los movimientos
que realiza el usuario.
Marín un discreto que transfiere
datos en unidades pequeñas
dos maletas y que tiene
un ancho de banda
de lo que serían 50 kilovatios,
por segundo, por supuesto, no
se pueden perder datos.
Por tanto, tenemos que hacer perdón,
tenemos que mantener este
ancho de banda,
y el último sería un disco duro
donde la transferencia de datos
es mayores, 16 países
y el ancho de banda
es ocho megabits por segundo, y
de nuevo nos pasa lo mismo,
no porque no podemos perder
ningún tacto
y, por tanto, la el ancho de banda
se tiene que mantener.
Veamos ahora el rendimiento.
Para los casos que hemos visto
anteriormente para el ratón.
Los ciclos consumidos serían
los siguientes,
puesto que hemos dicho que se tienen
que escrutar 30 veces.
Para no perdernos los movimientos
del usuario en total 30
por 400 serían 12.000 los ciclos
consumidos por segundo.
El porcentaje de uso de la cpp
sería los 12.000 ciclos
que tienen que consumir por segundo
dividido entre los 500 megahercios,
que serían 500.000.000 para obtener
el uso de FP y por 100
para obtener el porcentaje.
Por tanto, en la cp
u se utilizaría solo
un con 24 por 100
para sentía para sondear
al ratón; por tanto,
el impacto es despreciable
respecto al disquetes,
hemos dicho que su ancho de
bandera, de 50 kilos,
por segundo y que no podíamos
perder datos, por tanto,
tenemos que mantenerlo en este caso
la transferencia de dos países,
por tanto 50 kilovatios;
por segundo, dividió entre dos
países medida que tengo
que hacer 25.600 encuestas
por segundo para no
para mantener ese ancho de banda;
para no perder datos,
cada encuesta cada sondeo eran 400
ciclos costaba 400 ciclos,
pues serían 25.600 por 400,
igualan 10.240.000.
ciclos.
Por segundo consumidos en Chequia,
al disquetes esto sí lo pasamos al
porcentaje dividiendo por él
los 500 megahercios, a los
que funciona la cp
o sería 10.240.000, entre
500.000.000 por 100,
sería un dos con 48 por 100, es
decir, dos con 48 por 100,
es decir, en el tiempo de la FP
utilizado en consultar y leer datos,
si están disponibles, sería solo
un dos con 48 por 100.
Ahora es tacto, es más apreciable,
pero aun así es para mí es permisible
si no hay muchos dispositivos
trabajando;
por último para el disco;
los datos se dispara para no
perder ese ancho de banda
de ocho gigabytes por segundo
transfiriendo solo 16 países
por por transferencia.
Tenemos que hacer un total
de 524.288 encuestas.
Esto supone multiplicado por
los 400 ciclos que realiza
con que cuesta cada encuesta perdón,
2.000.000 de perdón,
209.000 millones que dividido entre
los 500.000.000 de megahercios
me da multiplicado por 100 para
pasarlo al porcentaje.
Me da que en total, para poder leer
todos los datos del disco duro,
sin perder ninguno, se tendría
que hacer un consumo
de casi el 42 por 100.
En este caso, el impacto
es inaceptable
y, por tanto, el disco duro no se
podrá hacer mediante sondeo.
Para estos casos tenemos
las interrupciones
a través de lo que serían los
mecanismo de intervenciones.
Lo que lo que está pasando es
que la acepte un teatro
basta bastar perdón consultando
continuamente al dispositivo,
sino que acepte u ordena el
dispositivo, que es lo que tiene
que hacer y eleva al trabajo al
mismo para que posteriormente,
cuando los datos estén preparados,
el dispositivo de entrada salida
le informe así los pasos
serían los siguientes.
La cp u ordena la transacción,
encarnando al dispositivo
la operación que tienen que realizar.
Recordemos que esto lo haría
mediante el registro de control,
la peor continua con otra tarea,
ejecutando otro proceso en
lugar de estar chequear
continuamente sondeando
continuamente la finalización de la transferencia.
Una vez que el dispositivo de entrada
Sanidad ha terminado con la
operación que ha solicitado la FP
o este dispositivo tiene
que avisar a la cpi
y lo hace mediante lo que se
llama una interrupción.
Cuando la FP
o recibe esa interrupción actúa
según le corresponda,
por ejemplo, tiene.
Es posible
que tenga que transferir los datos
a leer los datos del dispositivo
o escribir los datos nuevos
en el dispositivo, etc.
En el caso del sondeo que hemos
visto anteriormente,
el tratamiento de los datos,
hemos dicho que lo hacía la
propiedad y las propias instrucciones,
que estaban en el bucle
de espera activa,
continuamente preguntando
en el dispositivo.
Si los datos estaban preparados,
sin embargo,
las interrupciones son, llegan
de forma sincro,
es decir, en un momento concreto,
sin que la o lo sepa, el dispositivo
de entrada salida
va a terminar la operación
y le va a usar
la cpi que tiene que leer los datos
o hacer en consecuencia
lo que se le diga.
Por tanto, la interrupción llega
en cualquier momento y la FP
o estará haciendo cualquier
otra cosa,
lo que se haya puesto a hacer
ejecutando otro proceso,
etc. Por tanto recalcó las óperas,
las interrupciones
son así respecto a la ejecución
del programa.
Por tanto, está sin esta idea de
que las las instrucciones,
las interrupciones perdón, lleguen
en cualquier momento
y son así implica que tenemos que
habilitar una serie de mecanismos
para que para poder controlar,
por ejemplo,
las tienes que dejar automáticamente
lo que estaba haciendo
y tiene que pasar a lo que se llama
la rutina de tratamiento
de la interrupción
o bien directamente rb6 rutina
de servicio de interrupción,
también llamada de manejado.
La rutina del manejado, esta rutina
va a ser la encargada
de saber qué tiene que
hacer con los datos,
si los tiene que leer o si tiene
que volver a escribir etc.
Para poder saltar a esa rutina,
para alejar siempre dejarlo,
que está haciendo
y poder saltar a ejecutar esa rutina
la tiene que ser capaz,
de salvar la información mínima para
después recuperar el estado
del proceso que estaba en
ejecución, y, al final,
la rutina de al finalizar la rutina
de tratamiento de interrupción
de la rutina del servicio
interrupción en la FP
tiene que ser capaz de volver
al estado en el que dejó
en el que se es decir,
se tienen que reanudar el proceso
que se interrupción.
Se intervención, pero, además,
se tienen que volver,
se tienen que recaudar sin pérdida
de datos y con total normalidad,
como si no hubiera pasado nada,
ahora veremos cómo se hace esto.
La ventaja principal de
las interrupciones
frente al sondeo es que ya no
perdemos tanto ciclos útiles
sin comprobar el estado
del dispositivo,
y, simplemente, cuando el
dispositivo esté preparado,
cuando lo tengan los datos,
será el dispositivo el
que nos informe
para que se ejecute la rutina social
al dispositivo la reseña social
al dispositivo.
Primero es que tenemos que ver,
es cómo el aceite o se entera
de cuál es el dispositivo
que ha marcado su interrupción, pues
cada dispositivo tiene asociado
lo que se llama un número
de interrupción,
y, de esta manera, será capaz de
distinguir entre ellos habría 2,
hay dos formas de hacerla comúnmente.
Una sería un pin asociado,
lo que sería un pin asociado a cada
de interrupción de la FP
o por cada dispositivo,
lo que se hacen, obvia como único pin
de interrupción, que sería usado
por todos los dispositivos,
y después habría que informar a la
cp de alguna manera como perdón,
que dispositivo a ha levantado.
Esa interrupción ha causado
esta interrupción
para después saber reconocer
el dispositivo,
y eso podría ser poner un
código de interrupción,
el código, el número de
cada dispositivo,
con lo que sería el número de
interrupción en el bus de datos.
El anterior método era el que se
está utilizando el día 32,
es el que, si hacen esto,
también se podría llevar
un un modelo mixto
en el que, en vez de tener una única
entrada de interrupción
tuviéramos varias entradas, no
tantas como dispositivos,
pero, por ejemplo, si por
tipos de dispositivos
y que cada tipo de dispositivo
compartiera ese pin de interrupción
y que luego fueran capaces
de informarle
mediante el bus de datos
o mediante lo que sea,
poniendo el código del número de
interrupción de cada dispositivo,
informar a la cpi de cuáles
de los dispositivos
ha sido el que ha generado la
intervención para los mecanismos
que hemos indicado anteriormente
el salto a la rutina
de servicio interrupción,
el salvar el estado
de las para que el proceso que
estaba en ejecución no pierda datos
y pueda reanudar su proceso
porque se pueda reanudar ese proceso.
Posteriormente, hay que resolver
ciertas ciertos problemas
que estas cuestiones.
El primero sería el salto a la
rutina de servicio interrupción.
Dónde está ese proceso?
Cómo se salta?
El?
Lo sabemos que directamente sería
una llamada a una función,
pero la idea sería dónde
está ese proceso.
De nuevo tenemos, como
en el caso anterior,
dos posibles opciones sería.
La primera opción, que sería la
que está haciendo el mic
sería sacar siempre a la misma
dirección de memoria,
a una dirección fija.
Por tanto, sólo tenemos,
se podría decir que solo tenemos
a una dirección
de cuando se produce la interrupción.
La cp salta siempre esa
misma dirección
y lo primero que tiene
que hacer esa rutina
es comprobar qué dispositivo fue
el que provocó la rutina
y, a continuación, bifurca, es decir,
volver a saltar al tratamiento
adecuado,
a la rutina de tratamiento
de interrupción adecuada
para el dispositivo que generó
la interrupción.
Otro opción sería el que hace día 32
es saltar una dirección variable.
De hecho, dependiendo del
número de interrupción
vamos a tener lo que sea lo que
se llama interrupciones,
dependiendo del número introducción
vamos a tener asociado
lo que sería a cada uno de ellos una
rutina de servicio, intervención
mediante una de direcciones,
indexadas por dicho número
de interacción.
De hecho, en algunas versiones
también están siguiendo esta idea
y entonces,
cuando se provoca la interrupción
en número de interrupciones,
el que me va a indicar mediante
el acceso a ese arraigo,
cuál es la dirección de la
rutina de servicio,
interrupción a la que se tiene
que saltar para hacer
el tratamiento de interrupción luego
hemos dicho varias veces
y tenemos que darnos cuenta
que es muy importante
que hay que salvar el
estado de la ue,
es decir, las y las interrupciones
son así como hemos dicho antes,
lleguen en cualquier momento y
lo primero que va a pasar
es que el proceso de ejecución
se va para.
Por tanto, tenemos que conseguir
guardar su estado.
De forma que cuando termine el
tratamiento intervención
se pueda recuperar el estado del
proceso que sigue ejecutándose.
Como si no hubiera pasado nada
y sin pérdida de datos,
lo primero que hay que guardar
y, por tanto el mínimo valor
que hay que abordar es el programa
que en este caso
en el mix para eso para ello existe
un registro especial que se llama
La excepción, programa que nos
permite guardar el plan actual.
Antes de realizar el salto
para aquellas máquinas
que además tengan lo que se llama
el registro de Estado
para las condiciones sería
un flash en el día 32,
habría que salvarlo también, y ahora
además es muy importante
que se salven.
Se guarden todos repito
todos los registros
modificados por la retina el
servicio de interrupción
para que parecido a lo que hacíamos
en la programación de ensamblado
para que después se pueda
recuperar su estado.
Igual que la programación
ensamblados guardan los registros
presentados entre llamadas
en la pila,
antes de hacer una, cuando
entramos en una función
pues la idea sería la misma sala,
voz que en este caso no solo
se guardan los registros reservados
sino que se guardan todos,
y esto es así porque la rutina
del servicio interrupción
puede modificar cualquier registro.
En realidad tenemos si recordamos
teníamos dos registros especiales
que eran presentados para el núcleo,
para el carné que son el
cajero y el camino,
pues se guardan todos menos
esos dos registros
porque no nos vamos a modificar
como registro,
como usuarios es muy importante que
el programador lo modifique
y solo el sistema operativo
los va a modificar,
por tanto, es necesario guardarlos
en cuando hacemos el salto a la rse
y por último, ser capaces
de recuperar el estado
y reanudar el proceso que
estaba interrumpido.
Para ello, si nos damos cuenta
que lo que hemos hecho
ha sido guardar el cam y guardar
todos los registros,
por lo que tendríamos que hacer
y deshacer ese proceso,
recuperar el valor de los registros
que la que la máquina servicio
interrupción
guardó antes de modificar y,
a continuación recuperar
el router que lo teníamos guardado
en el Registro Especial de PC,
y esto una vez que te ponemos
la dirección lo que haremos
es que se reanuda el proceso
con total normalidad.
Aquí tendríamos un ejemplo de lo
que sería el resumen completo,
que tenemos unas instrucciones
en ensamblados
y que lo que estamos indicando
es que cuando se está ejecutando
la instrucción shock,
nos llega la interrupción
de entrada salida.
Esto sería usuario,
y esta sería la de si la rutina de
servicio interrupción bien,
pues nos llega a la interrupción,
cuando se está ejecutando
la instrucción sur
lo primero que hacemos
es salvar el franco,
te indicamos solo como sería
salvar el búnker
y, como hemos dicho todos
los registros,
a continuación.
La dirección de comienzo de la aeb,
seis sería la que pasaría
a ejecutarse, se ejecutaría todo
este código que tenemos aquí
y por último y por tanto volveríamos
de instrucción
Sur que empezaría a ejecutarse
de nuevo en la etc. De abuso
ahora mis ahora de nuevo,
el ejercicio anterior,
pero suponiendo el consumo por las
interrupciones en este caso
lo vamos a ver solo para lo
que sería el disco duro,
no lo vemos ni para el discute ni
para lo que sería el ratón.
Entonces primeros recordamos.
Ahora lo que tenemos es
que era un acepte,
que consumía 500 que tenía 500
megahercios por segundo,
y teníamos un disco duro,
cuya transferencia era de 16 Valls
y que, además, el ancho
de banda era de 8.
Bien, pues, en este caso, la rutina
de servicio interrupción
por cada transferencias suponemos
que consume 500 ciclos,
y luego, además, si pensamos un poco,
lo normal es que el disco duro no
lo estemos usando siempre,
sino que se lo usamos sólo durante
un porcentaje de tiempo.
Bien, pues durante el disco duro,
solo se usa durante el cinco por 100
del tiempo, bien, veamos
ahora los cálculos,
igual que antes, ocho de Cavalls
desde 8.000 caballos,
por segundo, que sería la
el ancho de banda,
dividido entre 16 países
por transferencia,
para no perder ningún dato,
supone que tenemos que hacer 524.288
interrupciones por segundo.
Ahora bien, los ciclos por segundo,
serían 500 veintidos con 7.288
por 500, que me daría 262.144.000,
ciclos.
Por segundo esto hace que el total
del porcentaje de iu,
si el disco se estuviera usando,
siempre es el 52 con cuatro por 100.
Acordado acordamos que dividimos
entre 500 megahercios
entre 500.000.000 multiplicamos
por 100,
sin embargo, como nos han indicado,
el disco duro solo se usa el
cinco por 100 del tiempo
y, por tanto, del porcentaje total
de la cp sería ese número
que hemos obtenido,
el 52 con cuatro por 100
multiplicado por 5,
esto supondría el dos con 62 por 100,
como vemos ahora, si es posible
utilizar las interrupciones para
la transferencia de datos
leídos por un disco entradas.
En el ejemplo anterior sí que,
experta que hacíamos un poquito de,
se podría a que estábamos haciendo
un poquito de trampa
porque no estábamos considerando
que el disco solo
se utilizaba un cinco por 100.
Esto para el disco duro,
si es posible,
a considerarlo, porque es evidente
que para el disco duro somos
es el sistema operativo
es el que le dice si tiene que leer
o si tiene que escribir datos.
Por tanto,
ahí podríamos considerar
ese cinco por 100.
Pero sin pensar en una tarjeta
de una tarjeta
de los datos se pueden recibir
en cualquier momento.
Por tanto, habría que estar
sondeando continuamente ya no me valdría decir
es que los datos me llegan solo
un cinco por 100 del tiempo,
no la tarjeta o sorteamos
o se pierden los datos.
Por tanto, habría que estar
soñando siempre
y tendríamos un porcentaje de
uso parecido al anterior.
Una interrupción de entrada,
salida podemos decir
que es como una excepción.
Necesita su propia rutina
en el tratamiento,
necesita su capacidad
de recuperación,
como lo hemos dicho,
pero sin embargo esa sincronía
programa.
Recordemos que es el dispositivo
el que activa la interrupción
cuando termina de hacer los datos,
y no tiene nada que ver con
el programa que está
en ejecución.
Por tanto, no se sabe en qué momento
se va a producir la interrupción
y no se haya, y no hay ningún
tipo de instrucción,
no se haya asociado a ningún tipo
de instrucción concreta.
Por tanto,
necesitamos saber qué dispositivo
provocó la interacción,
la terminología.
La literatura es bastante variable
y normalmente nosotros lo vamos
a hacer es vamos a utilizar
tres términos
lo que sería excepción interrupción
y si visto anteriormente
una excepción es una instrucción que
provoca una situación anormal;
o un error, o, o no permitida
durante su ejecución;
por ejemplo, una violación
de acceso flow,
un acceso, una zona de memoria
no permitida,
y eso sería una excepción.
El problema es que muchas veces
el término de excepción
en un abuso del lenguaje
se utiliza para todo,
pero tenéis que tener en cuenta que
la excepción es una instrucción
que provoca una situación normal,
una situación que sería un error
porque no está permitida
una interrupción,
o, como acabamos de ver, es
un dispositivo externo
que me que ha terminado de hacer la
operación que se les solicitó
o bien que ha recibido datos,
como es el caso de la tarjeta de red,
y entonces le cpi o que
necesita atención
y que necesita el tratamiento de
los datos correspondientes,
y, por último, en el que ya hemos
utilizado en prácticas
varias veces bastantes veces es
una instrucción especial
en la que el programador le
pide al sistema operativo
que haga que haga una operación
de entrada salida
y que el programador puede
usar para afrontar.
Por tanto, una llamada al servicio,
lo que es una llamada sistema
operativo, por ejemplo,
leer de teclado.
Escribir en pantalla, que serían
los ejemplos en prácticas.
Pasemos a ver ahora el último
método, que es interrupciones
y Denia,
como hemos visto, son
las interrupciones,
son adecuados para dispositivos que
tienen poco ancho de banda,
dependiendo del dispositivo,
una vez será por sondeo y cuando el
ancho de banda sea un poquito mayor,
pues tendremos que recurrir a
interrupciones las interrupciones,
lo que hace, si se reduce el coste
de la controladora y de la interfaz,
y ya que sea la cpi, el
sistema operativo,
que así los que realicen
todo el trabajo.
Tener en cuenta que una
vez, por ejemplo,
en el caso del disco duro,
con el que hemos visto antes
en la interrupción,
una vez que el disco duro
ha leído los datos
y los tiene preparados en
su registro de datos,
la transferencia de los 16 países
que hemos visto anteriormente
desde el dispositivo a la memoria
la tiene que hacer las ett,
o es una secuencia de instrucciones.
Normalmente, la rutina de
servicio interrupción
es la que se va a encargar de Lier
de ese registro de datos,
los 16 Valls y traerlos a
lo que sería la memoria
principal para poder ser utilizados.
El problema es que con dispositivos
con gran ancho de banda,
esta transferencia ocuparía
un gran tiempo de FP
y, por tanto, no serían
válidos los sondeos
y las interrupciones imaginaros,
que el disco duro,
en leer en bloques de sólo 16 ballet,
estuviera leyendo en bloques de
un cabo en bloques de 4.
Entonces, ahí lo que nos
estaría pasando
es que la FP se quedaría bloqueada
mucho tiempo trayendo los datos,
desde el registro de datos, de la
controladora del disco duro,
hasta lo que sería la memoria,
para evitar ese problema.
Lo que se hace es una técnica
que se llama
The Day de memoria o acceso directo
a la memoria, que es como
nosotros lo conocemos en español, y
es un mecanismo que va a conseguir
que la transferencia de datos desde
el dispositivo a la memoria,
o al revés,
se realice sin intervención del
procesador en ningún momento
la idea es que lo que vamos a hacer
es decir la dispositivo,
donde quiere copiar los datos y que
sea la propia controladora
del dispositivo,
la que envíe los datos de su
registro de datos a la zona de memoria
que se le ha dicho y que cuando ya
los datos estén copiados en
esa zona de memoria,
y solo en ese momento, se le avise
a las que, por tanto,
la cp o se le relega, se
le quita esa tarea
de tener que estar leyendo datos
del registro de datos
y pasarlos a copiar los a la memoria,
o, al revés,
para poder implementar el meam, se
utiliza un chip especializado,
que es lo que se llama una controla
de media y esa controladora,
pero en realidad,
la que hace la transferencia de
datos no es el propio dispositivo,
sino que el dispositivo avisa que
los datos están preparados,
la controladora del dispositivo
avisa que los datos están preparados
y está de la que hace la
transferencia de datos,
de entrada, salida del dispositivo
de entrada,
salida, perdona, hacia lo
que sería la memoria
independientemente del procesador.
Esto tendrá una serie
de implicaciones
pues habrá múltiples voces hablan
habrá mucho en el bus
necesitamos múltiples ambos la cp
habrá un sistema de arbitraje,
pero nada que no se pueda solucionar.
Los pasos que se realizan para poder
hacer una transferencia del día
serían los siguientes:
en la sepi o el procesador inicial
Isa lo que es la compra,
indicando la identidad del
dispositivo, el, la operación
a realizar, si lectura o escritura,
la zona de memoria,
lo que sería la dirección de memoria
donde tiene que leer o escribir,
los datos, el número del tamaño
de la transferencia,
el número, de a transferir
y el sentido
del desplace del desplazamiento,
la controla,
de dónde solicitar, solicitándole
bush,
y cuando lo consigue, va realizando
tantas operaciones de transferencia
entre el dispositivo y la memoria,
como sean necesarias.
Una vez que ha terminado, transferir
todos los datos,
la controla de género,
una interrupción para informar
al procesador que finaliza
la finalización de la transferencia
o de la condición de error,
en caso de que sea un error,
tenemos que darnos cuenta que
ahora es la controladora,
la que hace todo el proceso.
Antes he dicho, yo quiera
el dispositivo,
pero no es verdad, es la
controladora de mía
la que hace el proceso,
el dispositivo avisa,
la controladora de enviar a
la controladora de Mia,
hacer la transferencia, por ejemplo,
si es una lectura de datos de disco,
lee los datos de la controladora
del disco duro
y los copia en la zona de memoria
que le han asignado en la dirección
de memoria que le han asignado,
y cuando los datos estén
leídos genera,
la interrupción para avisarle de
que los datos se generan,
interrupción para avisarle de que
los datos han sido leídos.
Aquí tenemos un resumido
el estadio positiva.
Tenemos resumido en el ejemplo
que hemos dicho el proceso
que hemos dicho anteriormente, la
un programa, la controladora,
indicándole que sería el indicador
de la del dispositivo
le está indicando.
La dirección está indicando.
El rumbo y está indicando
el Contador Contador
los datos que tenía que indicar
estos el dispositivo,
la transferencia de memoria,
el dispositivo
es el sería el paso 2, está dirigido
por la controladora,
se expande por la controladora;
se van leyendo dando datos
del Registro de Estado,
de la controladora del disco duro,
y se van copiando memoria o al revés,
y es una escritura de memoria;
se copiaron a la controladora
del disco,
y en el momento que acaba
se avisa a la cpi
o mediante una interrupción.
Por eso se dice que el proceso es
de interrupciones y de media,
porque cuando se termina todo el
proceso para la transferencia,
ya sea tanto de lectura
como escritura,
cuando todo todos los datos
han sido transferidos,
se le quiere que usarla y se le hace
mediante una interrupción.
Veamos ahora el ejemplo anterior,
el ejercicio anterior,
pero suponiendo que estamos
trabajando con Denia,
supongamos de nuevo la misma
cepa, según recordamos,
que era que trabajaba 500
megahercios por segundo con 500 megahercios,
y además, que el disco duro tenía
una tasa de transferencia
de ocho megabits por segundo y
recordamos que no podíamos perder
datos.
Bien, en este caso, el proceso
inicio de la controladora de media,
es decir, la programación
de los puertos,
indicando que, operación se tiene
que hacer con qué dispositivo,
el tamaño, etc, tarda 100 ciclos,
mientras que la rutina tratamiento
de interrupción
en la rutina del servicio
interrupción,
una vez finalizada la transferencia,
tarda 500 ciclos,
darnos cuenta que ahora todo el
proceso sería más costoso,
porque sería un total
de 1.500 títulos.
Además, las transferencias de
debe ser mucho más grandes
que las anteriores, y, en este caso,
no se supone que la transferencia de
ser por cuatro kilovatios aquí
destacar que, por ejemplo, las
lecturas a disco duro,
normalmente tienen ese tamaño,
tanto las lecturas como
las escrituras sería
normalmente de cuatro cabarets,
en un caso normal,
por tanto, si el disco estuviese
continuamente,
transmitiendo datos tendría que
hacer ocho de Cavalls.
Por segundo dividió entre
cuatro kilos,
por segundo, que serían
un total de 2048,
transferencias de Demme, por segundo,
como cada transferencias suponen
un total de 1.500 ciclos,
que, lo que hemos dicho antes,
1.500 ciclos, por 202.048,
perdón, me da, que en total se
consumiría 3.072.000 ciclos.
Por segundo, eso hace que las
transferencias del empleo,
dividido entre los 500.000.000
de ciclos por segundo
que tienen con su marido,
multiplicado por 100
de nuevo con sumar un cero con
62 por 100 del tiempo,
recordamos que los ejercicios
anteriores estaban los tiempos
en los porcentajes estaban alrededor
del 50 el 40 por 100,
pero como decíamos, la aparta
en el ejercicio anterior
con el tema de interrupciones.
El disco duro solo transmite datos
durante un cinco por 100 del tiempo,
por tanto, es tercero, 62,
había que multiplicarlo por
este cinco por 100.
Eso quiere decir que mediante
interrupciones
y de neo, el disco duro solo
consume el con 31 por 100,
con 31 por 100,
perdón, con 31 por 100 de la cpi.
Por tanto, es prácticamente
despreciable,
que en el caso anterior
eran el sondeo,
era un 40 tantos por 142 por 100,
parece que era según un 42 por 100,
usando solo interrupciones,
era un dos por 100,
un dos con 62 que ahora
ha descendido a 0.
Con 31,
algo que es totalmente dispersión
y despreciable tener en cuenta
que el estamos suponiendo que
interfiere con la FP
o, lo cual puede ser muy realista.
Pero, bueno, en estos casos,
si hay el nivel que nosotros
estamos trabajando
se puede considerar así y
normalmente, los accesos a la FP,
uno de la FP o a la memoria,
con el premio,
pueden colisionar y esto equivaldría
que el proceso sería más lento
porque tendríamos que arbitrar
el pulso, etc. Pero, bueno,
a nivel en el que trabajamos
aquí nos quedamos con eso.
Aquí tenemos un resumen
de los cuatro métodos
que se han utilizado en este
caso es el de sondeo.
Este caso es el de interrupción
de este caso,
es el de, recordamos que el
sondeo lo que estamos es
continuamente preguntando
al dispositivo.
Si tiene datos, entonces leemos.
Tenemos que leer el módulo de lo que
sería el registro de entrada,
salida del del dispositivo,
comprobar su estado.
Si no está preparado, es decir,
si no tiene datos,
volveríamos a estar y estaríamos
aquí continuamente
en esta rutina.
Se dice error.
Pues tendríamos que tratara.
Tratar el error correspondiente,
y, si dice preparado,
tendremos que, por ejemplo, leer la
palabra del módulo de entrada,
salida de los datos.
Transferir los datos hasta
la cp, escribo bien,
escribir los datos en la
continuación es que los datos de memoria
y finalizase, o bien, si es
que sí terminaríamos,
no volverá a continuar con la rutina
en el caso de la interrupción
recordamos que lo que hacemos es
enviar la orden a la entrada
salida.
La cp-uso pueden hacer otra cosa.
El dispositivo de entrada, salida,
genera una interrupción.
Las siete tiene que leer el modelo
de tratamiento de esta interrupción.
Comprobar el estado; si es cierto;
si es válido continuar, sino
una comisión de error,
recordamos que antes de esto tiene
que guardar cuando se provoca
la interrupción.
Aquí cuando se lee el
estado del se tiene
que guardar los datos necesarios;
se ha recordado que era El clon;
con todos los registros para poder
volver al volver al proceso
que estaba en ejecución.
Se lee la palabra sellaba.
Se lleva del dispositivo a
la FP o a la memoria,
y, si no ha terminado
volvemos a programa
indicar la orden correspondiente.
Para volver a esperarle,
interrupción, etc.
En el caso es mucho más sencillo,
se le envía la orden a la
controladora enemiga,
la línea es pasar la encargada
de la tarea.
La cp-uso por otra tarea,
cuando le venga,
es porque los datos han sido
recibidos y ya están en memoria,
y lo que tendrá que hacer es,
simplemente tratar de comprobar
el modelo de Estado.
Entendía para saber si ha
sido un error o no,
y, si no, ha sido un error,
pues simplemente tratar el
dato de forma adecuada.
Con esto terminamos en la
zaga con seis puntos.
Tres puntos, tres del tema 6.
Bien, como siempre os recuerdo y
recomiendo que este apartado,
este vídeo tutorial se corresponde
con el apartado seis puntos,
tres puntos, tres de los apuntes.