Sie sind auf Seite 1von 8

T10: Síntesis de Arquitectura del Computador

Por:

Guadaña Pérez, Yeison Gonzalo

León Vásquez, Juan Jesús

Livaque Malaver, Ronaldo Jesús

Romero Prado, Gyno Paolo

Sangay Vargas, Dan Kennedy

Vera Rodríguez, Eymie Hypatia

Julio 25, 2017

1. Conexión y Buses

Los buses son el mecanismo más común para la comunicación entre los dispositivos del computador. Físicamente son
conductores por donde viajan señales eléctricas Los buses son casi todos esos caminos que se ven en las tarjetas madre.
El bus es un dispositivo en común entre dos o más dispositivos, si dos dispositivos transmiten al mismo tiempo señales las
señales pueden distorsionarse y consecuentemente perder información. Por dicho motivo existe un arbitraje para decidir
quién hace uso del bus. Por cada línea se pueden trasmitir señales que representan unos y ceros, en secuencia, de a una
señal por unidad de tiempo. Si se desea por ejemplo transmitir 1 byte, se deberán mandar 8 señales, una detrás de otra, en
consecuencia se tardaría 8 unidades de tiempo. Para poder transmitir 1 byte en 1 sola unidad de tiempo tendríamos que
usar 8 líneas al mismo tiempo. Existen varios tipos de buses que realizan la tarea de interconexión entre las distintas partes
del computador, al bus que comunica al procesador, memoria y E/S se lo denomina bus del sistema.

La cantidad de líneas del bus a medida que pasa el tiempo se va incrementando como uno de los métodos para incrementar
la velocidad de transferencia de señales en el computador, y así incrementar el desempeño. Cada línea tiene un uso
específico, y hay una gran diversidad de implementaciones, pero en general podemos distinguir 3 grandes grupos de buses:
a) 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.

b) 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.
c) 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 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. Primero tenemos un bus local,
de alta velocidad que conecta el procesador a la cache, el controlador de la cache también puede acceder al bus del
sistema, con esta implementación, la mayor parte de los datos a los que va a acceder el procesador, que están en la cache,
serán entregados a una alta velocidad, otro punto a destacar de esta parte es que los accesos a memoria por parte de la
cache no van a interrumpir el flujo de datos entre procesador y cache. También se ve la posibilidad de conectar un
dispositivo de entrada salida al bus local.

2. Módulos de Entrada Y Salida

En computación, entrada/salida, también abreviado E/S o I/O (del original en inglés input/output), es la colección de
interfaces que usan las distintas unidades funcionales (subsistemas) de un sistema de procesamiento de información para
comunicarse unas con otras, o las señales (información) enviadas a través de esas interfaces. Las entradas son las señales
recibidas por la unidad, mientras que las salidas son las señales enviadas por ésta. Él término puede ser usado para
describir una acción; "realizar una entrada/salida" se refiere a ejecutar una operación de entrada o de salida. Los
dispositivos de E/S los usa una persona u otro sistema para comunicarse con una computadora. De hecho, a los teclados y
ratones se los considera dispositivos de entrada de una computadora, mientras que los monitores e impresoras son vistos
como dispositivos de salida de una computadora. Los dispositivos típicos para la comunicación entre computadoras realizan
las dos operaciones, tanto entrada como salida, y entre otros se encuentran los módems y tarjetas de red.

Es importante notar que la designación de un dispositivo, sea de entrada o de salida, cambia al cambiar la perspectiva
desde el que se lo ve. Los teclados y ratones toman como entrada el movimiento físico que el usuario produce como salida
y lo convierten a una señal eléctrica que la computadora pueda entender. La salida de estos dispositivos es una entrada
para la computadora. De manera análoga, los monitores e impresoras toman como entrada las señales que la computadora
produce como salida. Luego, convierten esas señales en representaciones inteligibles que puedan ser interpretadas por el
usuario. La interpretación será, por ejemplo, por medio de la vista, que funciona como entrada. En arquitectura de
computadoras, a la combinación de una unidad central de procesamiento (CPU) y memoria principal (aquélla que la CPU
puede escribir o leer directamente mediante instrucciones individuales) se la considera el corazón de la computadora y
cualquier movimiento de información desde o hacia ese conjunto se lo considera entrada/salida. La CPU y su circuitería
complementaria proveen métodos de entrada/salida que se usan en programación de bajo nivel para la implementación de
controladores de dispositivos.

La arquitectura de computadoras es el diseño conceptual y la estructura operacional fundamental de un sistema que


conforma una computadora. Es decir, es un modelo y una descripción funcional de los requerimientos y las
implementaciones de diseño para varias partes de una computadora, con especial interés en la forma en que la unidad
central de proceso (CPU) trabaja internamente y accede a las direcciones de memoria. La arquitectura de una computadora
explica la situación de sus componentes y permite determinar las posibilidades de un sistema informático, con una
determinada configuración, pueda realizar las operaciones para las que se va a utilizar. La arquitectura básica de cualquier
ordenador completo está formado por solo 5 componentes básicos: procesador, memoria RAM, disco duro, dispositivos de
entrada/salida y software.

La arquitectura Von Neumann tiene sus orígenes en el trabajo del matemático John Von Neumann desarrollado con John
Mauchly y John P. Eckert y divulgado en 1945 en la Moore School de la Universidad de Pensilvania, Estados Unidos, en el
que se presentaba e EDVAC ( Electronic Discrete Variable Automatic Computer). De aquí surgió la arquitectura del
programa almacena en memoria y búsqueda/ejecución secuencial de instrucciones. En términos generales una
computadora tiene que realizar 3 funciones:Procesamiento de Datos, Almacenamiento de Datosy Transferencia de Datos.

3. Memorias Internas

Todo computador necesita un sistema de memoria para almacenar los programas que se ejecutan y los datos necesarios
para ejecutar estos programas. Existen diferentes tipos de memorias, con capacidades y tiempos de acceso diferentes. En
general, cuanta más capacidad de almacenamiento tiene una memoria, mayor es el tiempo de acceso. Es decir, las
memorias con gran capacidad son memorias lentas, mientras que las más rápidas suelen tener poca capacidad de
almacenamiento. En los últimos años, la evolución de la tecnología ha permitido reducir mucho el espacio necesario para
almacenar un bit de información. Eso ha originado que el tamaño de las memorias aumente mucho con relación al espacio
físico que ocupan y que se reduzca el precio que se ha de pagar por un bit de información.
En las memorias internas existe la memoria caché, que es una memoria de capacidad reducida, pero más rápidas que la
memoria principal, que utilizan un método de acceso asociativo. En la memoria caché se guardan los datos que se prevé
que se utilizarían habitualmente, de manera que sea posible reducir el número de accesos que debe hacer el procesador a
la memoria principal, es bueno mencionar que no es accesible por el programador por parte del programador, es gestionada
por el hardware y el sistema operativo y se implementa utilizando la tecnología SRAM. Los procesadores utilizan diferentes
niveles de memoria caché. Cada vez es más frecuente que algunos de estos niveles se implementen dentro del chip del
procesador y que el nivel este dividido en dos partes: una dedicada a las instrucciones y otra a los datos.

Tenemos diferentes elementos de diseño de memoria caché, dentro de ello tenemos el tamaño caché, que no se puede
predecir, en segundo lugar, tenemos la función de correspondencia que es un algoritmo que permite corresponder los
bloques de la memoria principal a las líneas de caché, la elección de la función de correspondencia determina como se
organiza la caché, para la elección se pueden determinar tres técnicas: Directa, Asociativa y Asociativa por conjuntos.
También tenemos algoritmos de sustitución, que son programas que optimizan la gestión de la información en la memoria
caché del ordenador y el tamaño de línea, aquí existen dos efectos concretos en juego: tamaño de bloque y taza de acierto,
que red esto generara que se sobrescriban datos, aquí debemos tener en cuenta las políticas de escritura.

La memoria caché al interconectarse con el CPU permite la transferencia de palabras y al interconectarse con la memoria
principal permite la transferencia de bloques; el propósito de la memoria caché es aproximar la velocidad de la memoria a
las de aquellos más rápidos y disponibles. Hoy en día son chips, que tienen en su estructura interna unas celdas de
memoria semiconductora que presentan dos estados semiestables en las que puede escribirse el estado y leerse para
detectarlo además de poseer tres terminales. Tenemos Memoria ROM: es un tipo de memoria de solo lectura con un patrón
de datos inalterable, no volátil. Es posible leer datos de una ROM, pero no se puede escribir en ell. Además, existe
organizaciones más avanzadas y cuentan con una corrección de errores.

4. Memoria externa

Entendemos que los discos magnéticos son la base de las memorias externas ¿Pero que es un disco magnético? Un disco
magnético es un plato circular construido con un material no magnético, tradicionalmente se utilizaba el aluminio pero en la
actualidad se está utilizando el cristal y éste presenta múltiples ventajas como por ejemplo: mejora en la uniformidad de los
defectos en toda la superficie magnética para incrementar la fiabilidad del disco y reducir los errores de lectura/escritura a
su vez tiene mayor capacidad para resistir golpes y daños. En este disco magnético se graban datos, éstos se graban y
después se recuperan del disco a través de una bobina, llamada cabeza; la mayoría de los sistemas utiliza este mecanismo
de una sola cabeza para la escritura y para la lectura pero en algunos sistemas hay dos cabezas una de lectura y otro de
escritura.

Mecanismos de escritura y de lectura; el mecanismo de escritura se basa en el hecho de que un flujo eléctrico atraviesa una
bobina creando un campo magnético para luego enviar pulsos eléctricos a la cabeza de escritura grabando así los patrones
magnéticos en la superficie bajo ella, con patrones diferentes para corrientes positivas y negativas y el mecanismo de
lectura se basa en el hecho de que un campo magnético en movimiento respecto a una bobina, induce una corriente
eléctrica y cuando la superficie del disco pasa bajo la cabeza, en ésta se genera una corriente de la misma polaridad que la
que produjo la grabación magnética, estas cabezas únicas se utilizan en discos duros antiguos; los discos duros de hoy
utilizan un mecanismo diferente para la lectura que consiste en un sensor magnetoresistivo que al pasar por el sensor
corriente, genera señales de tensión.

Organización y formato de los datos; los datos se organizan en un conjunto de anillos concéntricos en el plato, llamados
“pistas” y las pistas adyacentes están separadas por bandas vacías para prevenir el desalineamiento de la cabeza o
interferencias al campo magnético, existen varios sectores, cada sector se separa por intersectores vacios y se utiliza para
almacenar los datos. Un bit cercano al centro de un disco girando, pasa por un punto fijo más despacio que un bit más
externo. Por tanto debe haber alguna forma de compensar la variación de la velocidad de forma que la cabeza pueda leer
todos los bits a la misma velocidad. Esto se puede hacer incrementando el espacio entre bits de la información grabada en
los segmentos de disco; la información se puede escanear a la misma rotando el disco a una velocidad fija, conocida como
“velocidad angular constante”

Características físicas; las cabezas de los discos pueden ser fijas o móviles con respecto a la dirección radial del plato. En
un disco de cabeza fija hay una cabeza de lectura/escritura por pista; en cambio en un disco de cabeza móvil hay solo una
cabeza de escritura/lectura y todas las cabezas se montan en un brazo rígido que se extiende a través de todas las pistas y
luego el mismo disco se monta en una unidad de disco que consta del brazo, un eje que rota el disco y la electrónica
necesaria para la entrada y salida de datos binarios; algunas unidades de disco poseen varios platos apilados verticalmente
y separados por una distancia de alrededor de una pulgada, también disponen de varios brazos, los discos de varios platos
utilizan una cabeza que se mueve con una cabeza de lectura-escritura y el conjunto de todas las pistas que tienen la misma
posición relativa en el plato se denomina cilindro.

Parámetros para medir las prestaciones de un disco; en un sistema de cabeza móvil, el tiempo que tarda la cabeza en
posicionarse en la pista se llama “Tiempo de búsqueda”, el tiempo que tarda el sector en alcanzar la cabeza se llama
retardo rotacional, la suma del tiempo de búsqueda se denomina tiempo de acceso, el tiempo que se demora en la
escritura-lectura se llama tiempo de transferencia de datos; además del tiempo de acceso y de transferencia, hay varios
retardos en cola usualmente asociados con operaciones de E/S del disco. Cuando un proceso hace una petición de E/S o
un conjunto de canales de E/S primero debe esperar en cola hasta que el dispositivo esté disponible, si el dispositivo
comparte un único canal E/S o un conjunto de canales de E/S con otros discos, entonces puede tener que hacer esperas
adicionales para que el canal esté disponible.

Memorias ópticas; en 1983, se introdujo los discos compactos como el CD-ROM disco de solo lectura, no borrable y usado
como memoria de datos de un computador, CD disco no borrable que amacena información de audio digitalizada, DVD
disco versátil digital creado para la representación de video digitalizada y comprimida, así como grandes cantidades de
otros datos digitales, similar a DVD-ROM el usuario puede escribir en el disco una sola vez y solo se utilizan discos de una
cara, DVD-RW es un DVD pero el usuario puede borrar y reescribir el disco varias veces; la información grabada
digitalmente se graba como una serie de hoyos microscópicos en la superficie reflectante, hecho con un láser de alta
intensidad creando un patrón y a información se recupera con un láser de baja potencia situado en un lector la intensidad de
potencia cambia al encontrar un hoyo y esto lo transforma en información.

5. Microprocesador: Unidad Aritmético Lógica

Esta parte de la CPU, se la conoce como ALU por sus siglas en inglés (arithmetic logic unit) en su interior tiene los circuitos
digitales que realizan las operaciones aritméticas y lógicas, entre dos operandos. Es necesario que se deba determinar en
su interior las condiciones en las que son procesados los operandos, como si es negativo o positivo, si se ha desbordado la
capacidad, con esta información se determinará cual será la decisión a tomar. Las ALUs existen en todo circuito electrónico
moderno, desde realizar incrementos de 1 al tiempo actual, en contadores de circuitos sencillos e incrementadores en
calculadoras básicas, hasta las sofisticadas en los procesadores. En procesadores gráficos, tarjetas de sonido, lectores
ópticos (CD) y televisores de alta definición en donde se ubican ALUs muy potentes. Los mainframes con muchos núcleos y
estos con múltiples unidades de ejecución y cada una de ellas con su ALU.

"Von Neumann (1945) explicó que una ALU es un requisito fundamental para una computadora, porque tendrá que efectuar
operaciones matemáticas básicas, porque lo que creyó razonable, que una computadora tenga los circuitos especializados
para realizar estas operaciones". Las Terminales de la ALU son: la Entrada, los dos operandos con los datos o con números
a ser procesados y la entrada de un código desde la unidad de Control con la información de que operación debe realizar.
Salida, la respuesta a cómputo de la operación y el notificador de la operación realizada. Registros de estado, entradas y
salidas con información de acarreo, overflow, división por cero y otras más. Pero para estas operaciones se necesita de
buses y los buses utilizados son: el data bus (de entrada) lleva la información a la unidad aritmética para su procesamiento
y el status bus (de salida)

Las operaciones en la ALU se dividen en: simples y complejas, dentro de las simples tenemos a las operaciones aritméticas
que se realiza desde la más básica: suma, resta, multiplicación, división la mayoría se basa en comparaciones para que
pueda tomar decisiones entre 2 o más opciones o saltos condicionados. Al realizarse estas sube el costo del procesador,
consume más energía y su diseño será más sofisticado y complejo por eso clasificaremos a las ALUs por su complejidad
avanzadas, semiavanzadas, básicas: estas tienen un equilibrio en software y hardware, contienen circuitos que realizan
operaciones en coma flotante, utilizan micro códigos y software para complementar las tareas, elementales: emulan la
existencia del coprocesador, verifica la existencia o no de circuitos de cálculo o coprocesador matemático, proceso
denominado emulación por software. Contiene los circuitos más simples pero es lenta en sus procesos.
A veces se desea tomar un entero de n bits y almacenarlo en m bits, siendo m > n. Esto se resuelve fácilmente en la
notación signo-magnitud: simplemente trasladando el bit de signo hasta la nueva posición más a la izquierda y rellenando
con ceros. Este procedimiento no funciona con los enteros negativos en complemento a dos, en su lugar la regla para los
enteros en complemento a dos es trasladar el bit de signo a la nueva posición más a la izquierda y completar en copias del
bit de signo. Para números positivos rellenar con ceros, y para negativos con unos. Tenemos la representación en coma fija,
es donde la coma de la base (coma binaria) está fija y se supone que a la derecha del bit menos significativo. Como
programadores podemos utilizar la misma representación para fracciones binarias escalando los números de manera que la
coma binaria esté implícitamente en alguna otra posición.

Las funciones aritméticas más comunes con números enteros representados en complemento a dos. Primero tenemos la
Negación, en la representación signo magnitud, la regla para obtener el opuesto de un entero es sencilla: invertir el bit de
signo. En la notación de complemento a dos, la negación de un entero puede realizarse siguiendo las reglas: Primero,
obtener el complemento booleano de cada bit del entero. Es decir, cambiar cada 1 por 0, y cada 0 por 1; Segundo, tratando
el resultado como un entero binario sin signo, sumarle 1. Este proceso en dos etapas se denomina transformación a
complemento a dos, u obtención del complemento a dos de un entero. Tenemos dos casos especiales: En primer lugar,
consideremos que A= 0, para una representación de 8 bits, el resultado es que la negación del 0 es 0; En segundo, si
generamos el opuesto de la combinación de bits en un 1 seguido de n-1 se obtiene el mismo número.

Ahora veremos la suma y la resta, la suma se efectúa al igual que si los números fuesen enteros sin signo. Si el resultado
de la operación es positivo, se obtiene un número positivo en forma de complemento a dos, que tiene la misma forma como
entero sin signo. Si el resultado de la operación es negativo, conseguimos un número negativo en forma de complemento a
dos. Obsérvese que, en algunos casos, hay un bit acarreo más allá del final de la palabra, este bit se ignora. En cualquier
suma, el resultado puede que sea mayor que el permitido por la longitud de palabra que está utilizando. Esta condición se
denomina desbordamiento (overflow). Cuando ocurre un desbordamiento, la ALU debe indicarlo para que no se intente
utilizar el resultado obtenido. Para detectar el desbordamiento se debe observar la siguiente regla: Regla de
desbordamiento; y para la resta se trata con la regla de la resta.

6. Control

Algunas microoperaciones son: desplazar, contar, borrar y carga. Por ejemplo un contador con carga paralela puede realizar
las operaciones de incremento y carga; un registro de desplazamiento bidireccional puede realizar las microoperaciones de
desplazamiento a la izquierda y a la derecha. La organización interna del hardware de una computadora digital se define
mejor al especificar: Él conjunto de registros que contienen y sus funciones, La secuencia de microoperaciones que se
realizan sobre la información binaria almacenada en los registros, Él control que inicia la secuencia de microoperaciones, El
termino transferencia de registros implica la disponibilidad de circuitos lógicos de hardware que pueden efectuar una micro-
operación definida y transferir el resultado de la operación al mismo o a otro registro, Un lenguaje de programación es un
procedimiento para escribir símbolos, con el fin de especificar cierto proceso computacional.

En su organización hay varios componentes clave que pueden no explicarse por sí mismos, dentro de los cuales tenemos:
Latch cerrojo) incrementador/decrementador de direcciones: lógica que se puede sumar 1 o restar 1 al contenido del
puntero de pila o al contador del programa. Ahorra tiempo ya que evita utilizar la ALU; Control de interrupciones, este
módulo maneja múltiples niveles de señales de interrupción; control de E/S serie, este módulo se conecta a dispositivos
capaces de trasmitir 1 bit cada vez. Tenemos señales externas que entran y salen de la 8085. Estas se unen al bus de
sistema y son la interfaz entre el procesador 8085 y el resto del sistema. Dentro de ellas tenemos: Señales de datos y
direcciones, Señales de temporización y control, señales originadas en memoria y E/S, señales relacionadas con
interrupciones, reinicio del procesador y la alimentación y tierra.

Para la implementación cableada se ha utilizado una gran variedad de técnicas. La mayoría de ellas se pueden clasificar en
dos categorías: Implementación cableada y la Implementación microprogramada. En una implementación cableada, la
unidad de control es esencialmente un circuito combinacional. Sus señales lógicas de entrada se transforman en un
conjunto de señales lógicas de salida, que son las señales de control. Tiene entradas que son principalmente el registro de
instrucción, el reloj, los indicadores y las señales de control de bus, cada bit tiene normalmente un significado determinado.
Las otras dos entradas, sin embargo, no son útiles a la unidad de control tal como entran. Primeramente, consideramos el
registro de instrucción. La unidad de control hace uso del código de operación y realiza acciones diferentes (emite una
codificación diferente de señales de control) para cada instrucción.
La unidad de control genera señales para cualquier microoperación: señal de activa o inactiva, representada con un digito
binario para cada línea de control, construyéndose así una palabra de control. La secuencia de microoperaciones no es fija
ya que se emplea una secuencia de palabras de control para su representación, a cada palabra se añade un campo de
dirección, indicando la posición de la siguiente palabra a ejecutar si una condición es cierta, a esto se le llama
microinstrucción horizontal, se debe tener en cuenta que hay un bit para cada línea de control interna del procesador y un
bit para cada línea de control del bus del sistema, una condición que indica cuando debe producirse un salto y una dirección
de la microinstrucción a ejecutar cuando el salto se produzca; para ejecutar una microinstrucción se activan todas las líneas
de control cuyos bits estén a 1 y se dejan inactivas todas las líneas de control indicadas con 0, la señal de control resultante
ejecutara una o más microoperaciones.

7. Microinstrucciones

El diseño de unidad de control debe incluir lógica para realizar el secuencia miento de las micro operaciones, ejecutar las
micro operaciones, interpretar los códigos de operación, tomar decisiones basadas en indicadores de ALU. Para ello se
realiza la unidad de control micro programada, donde cada micro operación esta descrita en notación simbólica, que se
llama lenguaje de microprogramación. Cada línea se conoce como microinstrucción. Lo que la unidad de control puede
hacer es generar un conjunto de señales de control. Para cualquier micro operación, cada línea de control procedente de la
unidad de control estará activa o inactiva. Esto puede representarse con un digito binario para cada línea de control.
Podemos construir una palabra de control en la que cada bit representara una línea de control. Cada micro operación se
representaría mediante un patrón diferente de unos y ceros en la palabra de control.

El formato del microinstrucción es: Hay un bit para cada línea de control interna al procesador y un bit para cada línea de
control del bus del sistema. Hay un campo de condición que indica la condición bajo la cual debe producirse un salto y un
campo con la dirección del microinstrucción a ejecutar cuando el salto se produzca. El microinstrucción se interpreta: Para
ejecutar el microinstrucción se activan todas las líneas de control cuyos bits estén a 1 y se deja inactivas las líneas de
control indicadas con un bit a cero. Las señales de control resultantes harán que se ejecuten una o más micro operaciones.
Si la condición de los bits es falsa, se ejecuta el siguiente microinstrucción secuencial. Si la condición es cierta, el siguiente
microinstrucción a ejecutar se indica en el campo de dirección. Los microinstrucciones de cada rutina se ejecutan
secuencialmente, que termina con una instrucción de bifurcación o salto indicando a donde ir a continuación.

La unidad de control tiene como entradas: IR, indicadores de la ALU, reloj y como salidas: señales de control. Para ejecutar
una instrucción, la unidad lógica de secuenciamiento emite una orden de lectura a la memoria de control. La palabra cuya
dirección se especifica en el registro de dirección de control se lee en el registro intermedio de control. El registro intermedio
de control genera las señales de control y la información de dirección siguiente para la unidad lógica de secuenciamiento.
La unidad lógica de secuenciamiento carga en el registro de dirección de control una nueva dirección, basada en la
información de dirección siguiente del registro intermedio y en los indicadores de la ALU. Todo esto sucede durante un
pulso de reloj. Al final de la ejecución de cada microinstrucción, se decide: Captar el microinstrucción siguiente, saltar a una
nueva rutina según indica un microinstrucción de salto, saltar a la rutina de una instrucción máquina.

La unidad de control micro programada realiza: Secuenciamiento y Ejecución de microinstrucciones; ambas afectan al
formato de microinstrucción y temporización de la unidad de control. Hay dos cuestiones involucradas en el diseño de una
técnica de secuenciamiento de microinstrucciones: el tamaño del microinstrucción y el tiempo que genera la dirección. En
cuanto a tamaño al minimizar el tamaño de la memoria de control reduce el coste de este componente, en cuanto al tiempo
es solo un deseo de ejecutar los microinstrucciones lo más rápido posible. Cuando se ejecuta una microprograma, la
dirección del siguiente microinstrucción a ejecutar esta en una de estas situaciones: Viene determinada por el registro de
instrucción, es la siguiente dirección secuencial de un salto. La primera situación tiene lugar solo una vez por ciclo de
instrucción. Los saltos, tanto condicionales como incondicionales, son una parte necesaria de la microprograma.

Las técnicas de generación de direcciones se pueden ser técnicas explicitas donde la dirección aparece explícitamente en
la microinstrucción y técnicas implícitas que requieren lógica adicional para generar la dirección. Con un enfoque de dos
campos, hay dos direcciones alternativas disponibles en cada microinstrucción. Usando un único campo de dirección o un
formato variable, se pueden implementar varias instrucciones de salto. Una instrucción de salto condicional depende de los
siguientes tipos de información: Indicadores de la ALU, parte del código de operación, partes de un registro seleccionado,
bits de estado dentro de la unidad de control. También se usan frecuentemente algunas técnicas implícitas, como la
traducción, que se necesita en casi todos los diseños. La parte de una instrucción máquina que contiene el código de
operación se traduce a una dirección de microinstrucción. Esto ocurre solo una vez por ciclo de instrucción.

El ciclo de microinstrucciones es el evento básico de un procesador micro programado. Cada ciclo se compone de
captación que depende de la generación de una dirección de microinstrucción y ejecución cuyo resultado es la generación
de señales de control. Algunas de estas señales controlan puntos internos del procesador, las demás señales van al bus de
control externo o a otras interfaces externas. El módulo de lógica de secuenciamiento genera la dirección del siguiente
microinstrucción, usando como entradas el registro de instrucción, los indicadores de la ALU, el registro de dirección de
control y el registro intermedio de control; este módulo está controlado por un reloj que determina la temporización del ciclo
de microinstrucción. El módulo de lógica de control genera las señales de control en función de algunos de los bits del
microinstrucción

8. Conclusiones

1. Los buses son el mecanismo más común para la comunicación entre los dispositivos del computador. Físicamente son
conductores por donde viajan señales eléctricas Los buses son casi todos esos caminos que se ven en las tarjetas
madre de las imágenes anteriores. El bus es un dispositivo en común entre dos o más dispositivos, si dos dispositivos
transmiten al mismo tiempo señales las señales pueden distorsionarse y consecuentemente perder información
2. Si el sistema emplea un bus, cada interacción entre CPU y E/S implica uno o más arbitrajes de bus una tarea
esencial del módulo E/S es servir de buffer de datos. Mientras la transferencia es muy rápida entre éste y la CPU,
con los periféricos es mucho más lenta. El E/S realiza así la conversión de velocidades de transmisión. Mediante estos
es la interacción entre humano computador.
3. Los discos magnéticos son la base de las memorias externas anteriormente se utilizaba el aluminio pero en la
actualidad se está utilizando el cristal y éste presenta múltiples ventajas a su vez contiene cabezas de lectura y
escritura, para la escritura se graba patrones magnéticos mediante pulsos eléctricos y para la lectura cuando al pasar
por la superficie del disco, se genera una misma polaridad que la que produjo la grabación; se organizan en un
conjunto de anillos concéntricos en el plato, llamados “pistas”, sectores en cada pista separados por los llamados
intersectores vacíos y las cabezas de los discos pueden ser fijas o móviles con respecto a la dirección radial del plato;
todas las cabezas se montan en un brazo rígido que se extiende a través de todas las pistas y luego el mismo disco se
monta en una unidad de disco que consta del brazo.
4. Debido a que todo computador necesita un sistema de memoria para almacenar los programas que se ejecutan y los
datos. Tenemos tres clases de memorias internas como son: La memoria caché, es aquella memoria más rápida que
la caché donde se almacenan lo datos que se utilizan frecuentemente; La memoria RAM es la memoria principal en
donde se puede leer y escribir datos y la memoria ROM que solo es una memoria de lectura, con un patrón de datos
inalterables
5. Como ya hemos visto dentro de sistemas digitales la información está dada por ceros y unos los cuales son
transformados mediante métodos para obtener números ya sea positivos o negativos estos son con los cuales el
computador está en constantes operaciones algebraicas para realizar las respuestas más rápidas obteniendo un
cálculo muy mejorado y simplificado dentro del procesador. En las funciones aritméticas, encontramos la negación,
suma, resta, multiplicación y división. La división está basada en principios generales como repetidos desplazamientos
y sumas o restas y es algo más compleja que la multiplicación, su algoritmo es la aproximación a lo que se hace con
“Papel y lápiz” existe un dividendo, un divisor, un cociente y un resto parcial, en el lenguaje máquina existe un
dividendo en el registro Q y A y un divisor en el registro M.
6. Una microoperación es una operación básica realizada sobre la información almacenada en uno o más registros (flip-
flops) , por ende el resultado de la operación puede sustituir la información binaria anterior de un registro o
simplemente puede transferirse a otro registro las mircooperaciones más conocidas dentro de él computador son
:desplazar, contar, borrar y carga. La unidad de control funciona en base a señales es decir genera señales que
indican el estado de activo o inactivo, representadas en código binario (formando una palabra de control) y asociadas
a una dirección que se almacena en la memoria de control, si se indica la posición de la siguiente palabra a ejecutar si
cumple una condición se le llama microinstrucción horizontal; se sigue teniendo las mismas entradas (IR, indicadores
de la ALU, reloj) y salidas (señales de control).
7. Hoy en día, los programas cada vez más grandes y complejos demandan mayor velocidad en el procesamiento
de información, lo que implica la búsqueda de microprocesadores más rápidos y eficientes. Los avances y progresos
en la tecnología de semiconductores han reducido las diferencias en las velocidades de procesamiento de los
microprocesadores con las velocidades de las memorias, lo que ha repercutido en nuevas tecnologías en
el desarrollo de microprocesadores. En la década de los sesentas, la microprogramación era la técnica más apropiada
para la tecnología de memorias existentes. Cada usuario debe decidirse a favor o en contra de determinada
arquitectura de procesador en función de la aplicación concreta que quiera realizar. Nunca será decisiva únicamente la
capacidad de procesamiento del microprocesador; se debe considerar por igual la capacidad real que puede alcanzar
el sistema en su conjunto.

Das könnte Ihnen auch gefallen