Saltar al contenido principal

# 6.1: Examen Final

$$\newcommand{\vecs}[1]{\overset { \scriptstyle \rightharpoonup} {\mathbf{#1}} }$$

$$\newcommand{\vecd}[1]{\overset{-\!-\!\rightharpoonup}{\vphantom{a}\smash {#1}}}$$

$$\newcommand{\id}{\mathrm{id}}$$ $$\newcommand{\Span}{\mathrm{span}}$$

( \newcommand{\kernel}{\mathrm{null}\,}\) $$\newcommand{\range}{\mathrm{range}\,}$$

$$\newcommand{\RealPart}{\mathrm{Re}}$$ $$\newcommand{\ImaginaryPart}{\mathrm{Im}}$$

$$\newcommand{\Argument}{\mathrm{Arg}}$$ $$\newcommand{\norm}[1]{\| #1 \|}$$

$$\newcommand{\inner}[2]{\langle #1, #2 \rangle}$$

$$\newcommand{\Span}{\mathrm{span}}$$

$$\newcommand{\id}{\mathrm{id}}$$

$$\newcommand{\Span}{\mathrm{span}}$$

$$\newcommand{\kernel}{\mathrm{null}\,}$$

$$\newcommand{\range}{\mathrm{range}\,}$$

$$\newcommand{\RealPart}{\mathrm{Re}}$$

$$\newcommand{\ImaginaryPart}{\mathrm{Im}}$$

$$\newcommand{\Argument}{\mathrm{Arg}}$$

$$\newcommand{\norm}[1]{\| #1 \|}$$

$$\newcommand{\inner}[2]{\langle #1, #2 \rangle}$$

$$\newcommand{\Span}{\mathrm{span}}$$ $$\newcommand{\AA}{\unicode[.8,0]{x212B}}$$

$$\newcommand{\vectorA}[1]{\vec{#1}} % arrow$$

$$\newcommand{\vectorAt}[1]{\vec{\text{#1}}} % arrow$$

$$\newcommand{\vectorB}[1]{\overset { \scriptstyle \rightharpoonup} {\mathbf{#1}} }$$

$$\newcommand{\vectorC}[1]{\textbf{#1}}$$

$$\newcommand{\vectorD}[1]{\overrightarrow{#1}}$$

$$\newcommand{\vectorDt}[1]{\overrightarrow{\text{#1}}}$$

$$\newcommand{\vectE}[1]{\overset{-\!-\!\rightharpoonup}{\vphantom{a}\smash{\mathbf {#1}}}}$$

$$\newcommand{\vecs}[1]{\overset { \scriptstyle \rightharpoonup} {\mathbf{#1}} }$$

$$\newcommand{\vecd}[1]{\overset{-\!-\!\rightharpoonup}{\vphantom{a}\smash {#1}}}$$

$$\newcommand{\avec}{\mathbf a}$$ $$\newcommand{\bvec}{\mathbf b}$$ $$\newcommand{\cvec}{\mathbf c}$$ $$\newcommand{\dvec}{\mathbf d}$$ $$\newcommand{\dtil}{\widetilde{\mathbf d}}$$ $$\newcommand{\evec}{\mathbf e}$$ $$\newcommand{\fvec}{\mathbf f}$$ $$\newcommand{\nvec}{\mathbf n}$$ $$\newcommand{\pvec}{\mathbf p}$$ $$\newcommand{\qvec}{\mathbf q}$$ $$\newcommand{\svec}{\mathbf s}$$ $$\newcommand{\tvec}{\mathbf t}$$ $$\newcommand{\uvec}{\mathbf u}$$ $$\newcommand{\vvec}{\mathbf v}$$ $$\newcommand{\wvec}{\mathbf w}$$ $$\newcommand{\xvec}{\mathbf x}$$ $$\newcommand{\yvec}{\mathbf y}$$ $$\newcommand{\zvec}{\mathbf z}$$ $$\newcommand{\rvec}{\mathbf r}$$ $$\newcommand{\mvec}{\mathbf m}$$ $$\newcommand{\zerovec}{\mathbf 0}$$ $$\newcommand{\onevec}{\mathbf 1}$$ $$\newcommand{\real}{\mathbb R}$$ $$\newcommand{\twovec}[2]{\left[\begin{array}{r}#1 \\ #2 \end{array}\right]}$$ $$\newcommand{\ctwovec}[2]{\left[\begin{array}{c}#1 \\ #2 \end{array}\right]}$$ $$\newcommand{\threevec}[3]{\left[\begin{array}{r}#1 \\ #2 \\ #3 \end{array}\right]}$$ $$\newcommand{\cthreevec}[3]{\left[\begin{array}{c}#1 \\ #2 \\ #3 \end{array}\right]}$$ $$\newcommand{\fourvec}[4]{\left[\begin{array}{r}#1 \\ #2 \\ #3 \\ #4 \end{array}\right]}$$ $$\newcommand{\cfourvec}[4]{\left[\begin{array}{c}#1 \\ #2 \\ #3 \\ #4 \end{array}\right]}$$ $$\newcommand{\fivevec}[5]{\left[\begin{array}{r}#1 \\ #2 \\ #3 \\ #4 \\ #5 \\ \end{array}\right]}$$ $$\newcommand{\cfivevec}[5]{\left[\begin{array}{c}#1 \\ #2 \\ #3 \\ #4 \\ #5 \\ \end{array}\right]}$$ $$\newcommand{\mattwo}[4]{\left[\begin{array}{rr}#1 \amp #2 \\ #3 \amp #4 \\ \end{array}\right]}$$ $$\newcommand{\laspan}[1]{\text{Span}\{#1\}}$$ $$\newcommand{\bcal}{\cal B}$$ $$\newcommand{\ccal}{\cal C}$$ $$\newcommand{\scal}{\cal S}$$ $$\newcommand{\wcal}{\cal W}$$ $$\newcommand{\ecal}{\cal E}$$ $$\newcommand{\coords}[2]{\left\{#1\right\}_{#2}}$$ $$\newcommand{\gray}[1]{\color{gray}{#1}}$$ $$\newcommand{\lgray}[1]{\color{lightgray}{#1}}$$ $$\newcommand{\rank}{\operatorname{rank}}$$ $$\newcommand{\row}{\text{Row}}$$ $$\newcommand{\col}{\text{Col}}$$ $$\renewcommand{\row}{\text{Row}}$$ $$\newcommand{\nul}{\text{Nul}}$$ $$\newcommand{\var}{\text{Var}}$$ $$\newcommand{\corr}{\text{corr}}$$ $$\newcommand{\len}[1]{\left|#1\right|}$$ $$\newcommand{\bbar}{\overline{\bvec}}$$ $$\newcommand{\bhat}{\widehat{\bvec}}$$ $$\newcommand{\bperp}{\bvec^\perp}$$ $$\newcommand{\xhat}{\widehat{\xvec}}$$ $$\newcommand{\vhat}{\widehat{\vvec}}$$ $$\newcommand{\uhat}{\widehat{\uvec}}$$ $$\newcommand{\what}{\widehat{\wvec}}$$ $$\newcommand{\Sighat}{\widehat{\Sigma}}$$ $$\newcommand{\lt}{<}$$ $$\newcommand{\gt}{>}$$ $$\newcommand{\amp}{&}$$ $$\definecolor{fillinmathshade}{gray}{0.9}$$

Examen Final (50%)

## Instrucciones

1. Responde la pregunta uno y cualquier otra dos

2. La primera pregunta lleva 30 marcas

3. Otras preguntas llevan 20 marcas cada una

## Preguntas

1. a). Qué es la memoria caché- Explicar el funcionamiento de una memoria caché. (10 marcas)
(b). ¿Qué es la canalización? Explicar instrucciones de canalización. (10 marcas)
(c). Describir E/S impulsadas por interrupciones. (10 marcas)

2. Explicar el trabajo de la transferencia de datos DMA. Compárelo con E/S programadas y transferencia de datos impulsada por interrupciones. (20 Marks)

3. Explicar la diferencia entre el control cableado y el control micro programado. ¿Es posible tener un control cableado asociado a una memoria de control? (20 Marcas)

1. Explicar el diagrama de bloques de una unidad de interfaz de E/S. (20 marcas)

2. Usando un diagrama, explica los siguientes pasos al ejecutar un programa

1. Fetch

2. Decodificar

3. Ejecutar (20 marcas)

Marcadores a distribuir como se indica contra cada pregunta en las respuestas que los alumnos brindarán

## Comentarios

1. a). Memoria caché

Es la memoria que almacena instrucciones del programa a las que frecuentemente el software vuelve a referenciar durante la operación. El acceso rápido a estas instrucciones aumenta la velocidad general del programa de software.

b). Tuberías

Forma de organización informática en la que sucesivos pasos de una secuencia de instrucción son ejecutados a su vez por una secuencia de módulos capaces de operar simultáneamente, de manera que se pueda iniciar otra instrucción antes de que termine la anterior.

La canalización de instrucciones es una técnica que implementa una forma de paralelismo llamada paralelismo a nivel de instrucción dentro de un solo procesador. Por lo tanto, permite un rendimiento de CPU más rápido (el número de instrucciones que se pueden ejecutar en una unidad de tiempo) de lo que sería posible de otra manera a una velocidad de reloj dada.

La CPU trabaja en sus tareas dadas continuamente. Cuando hay una entrada disponible, como cuando alguien escribe una tecla en el teclado, entonces la CPU se interrumpe de su trabajo para cuidar los datos de entrada.

2. Trabajo de transferencia de datos DMA

• Primero la CPU programa el controlador DMA configurando sus registros para que sepa qué transferir donde

• También emite un comando al controlador de disco diciéndole que lea los datos del disco a su búfer interno y verifique la suma de comprobación.

• Cuando los datos válidos están en el búfer del controlador de disco, DMA puede comenzar. El controlador DMA inicia la transferencia emitiendo una solicitud de lectura a través del bus al controlador de disco. Esta solicitud de lectura se parece a cualquier otra solicitud de lectura, y el controlador de disco no sabe (o le importa) si vino de la CPU o de un controlador DMA. Normalmente, la dirección de memoria en la que escribir está en las líneas de dirección del bus, por lo que cuando el controlador de disco obtiene la siguiente palabra de su búfer interno, sabe dónde escribirla. La escritura en la memoria es otro ciclo de bus estándar.

• Cuando se completa la escritura, el controlador de disco envía una señal de acuse de recibo al controlador DMA, también a través del bus. Luego, el controlador DMA incrementa la dirección de memoria para usar y disminuye el recuento de bytes. Si el recuento de bytes sigue siendo mayor que 0, los pasos del 2 al 4 se repiten hasta que el recuento llegue a 0.

• En ese momento, el controlador DMA interrumpe la CPU para hacerle saber que la transferencia ya está completa. Cuando se inicia el sistema operativo, no tiene que copiar el bloque de disco a la memoria; ya está ahí.

Comparación de DMA con E/S programadas y transferencia de datos impulsada por interrupciones

La E/S programada (PIO) se refiere a las transferencias de datos iniciadas por una CPU bajo control de software del controlador para acceder a registros o memoria en un dispositivo. mientras que el dispositivo interrumpe la CPU cuando han llegado nuevos datos y está listo para ser recuperado por el procesador del sistema. Las acciones reales a realizar dependen de si el dispositivo usa puertos de E/S, mapeo de memoria.

3. El control micro programado es un mecanismo de control para generar señales de control mediante el uso de una memoria llamada almacenamiento de control (CS), que contiene las señales de control. Aunque el control microprogramado parece ser ventajoso para las máquinas CISC, dado que CISC requiere el desarrollo sistemático de señales de control sofisticadas, no hay diferencia intrínseca entre estos 2 mecanismos de control.

El control cableado es un mecanismo de control para generar señales de control mediante el uso de una máquina de estado finito (FSM) apropiada. El par de “registro de microinstrucción” y “registro de dirección de almacenamiento de control” puede considerarse como un “registro estatal” para el control cableado. Tenga en cuenta que el almacenamiento de control puede considerarse como una especie de circuito lógico combinacional. Podemos asignar cualquier valor 0, 1 a cada salida correspondiente a cada dirección, que puede considerarse como la entrada para un circuito lógico combinacional.

4.

5. Es el proceso mediante el cual una computadora o una máquina virtual realiza las instrucciones de un programa de computadora. Las instrucciones en el programa desencadenan secuencias de acciones simples en la máquina ejecutora.

Fetch; el primer paso que lleva a cabo la CPU es recuperar algunos datos e instrucciones (programa) de la memoria principal y luego almacenarlos en sus propias áreas de memoria temporal interna. Estas áreas de memoria se llaman 'registros'. La computadora obtiene la instrucción de su memoria y luego la ejecuta. Esto se hace repetidamente desde que se arranca la computadora hasta cuando se apaga. Cuando se ha decodificado la instrucción, la CPU puede llevar a cabo la acción que se necesite. Esto se llama ejecutar la instrucción. La CPU está diseñada para comprender un conjunto de instrucciones: el conjunto de instrucciones.

Decodificar; El siguiente paso es que la CPU dé sentido a la instrucción que acaba de obtener. Este proceso se llama 'decodificar'. La CPU está diseñada para comprender un conjunto específico de comandos.

Estos se llaman el 'conjunto de instrucciones' de la CPU. Cada marca de CPU tiene un conjunto de instrucciones diferente. La CPU decodifica la instrucción y prepara varias áreas dentro del chip en preparación para el siguiente paso.

Ejecutar; Esta es la parte del ciclo cuando realmente se lleva a cabo el procesamiento de datos. La instrucción se lleva a cabo sobre los datos (ejecutados). El resultado de este procesamiento se almacena en otro registro más. Una vez que se completa la etapa de ejecución, la CPU se configura para comenzar otro ciclo una vez más.

This page titled 6.1: Examen Final is shared under a CC BY-SA license and was authored, remixed, and/or curated by Harrison Njoroge (African Virtual University) .