Docsity
Docsity

Prepara tus exámenes
Prepara tus exámenes

Prepara tus exámenes y mejora tus resultados gracias a la gran cantidad de recursos disponibles en Docsity


Consigue puntos base para descargar
Consigue puntos base para descargar

Gana puntos ayudando a otros estudiantes o consíguelos activando un Plan Premium


Orientación Universidad
Orientación Universidad

Estructura Básica de una Computadora, Resúmenes de Arquitectura de ordenadores

Arquitectura del computador. Estructura básica de una computadora, resumen.

Tipo: Resúmenes

2019/2020

Subido el 26/10/2020

luzvk
luzvk 🇦🇷

1 documento

1 / 17

Toggle sidebar

Esta página no es visible en la vista previa

¡No te pierdas las partes importantes!

bg1
_________________________________________________________________________________________
UTN - FRM Arquitectura de las computadoras – Unidad 4 Página 1 de 17
UNIDAD 4
ESTRUCTURA BASICA DE UNA COMPUTADORA
La estructura básica de una computadora está compuesta por cuatro elementos:
¾ LA UNIDAD DE PROCESO CENTRAL (CPU)
¾ LA UNIDAD DE MEMORIA
¾ LA UNIDAD DE ENTRADA/SALIDA (PERIFERICOS)
¾ BUSES DE INTERCONECCION ENTRE LAS UNIDADES.
La unidad de memoria es la encargada de almacenar programas y datos.
Su estructura y funcionamiento se desarrolló en la unidad temática anterior.
La unidad de entrada/salida se verá en detalle en la unidad temática Nº7. Ahora sólo
mencionaremos que dicha unidad se encarga de conectar al cerebro de la computadora (CPU)
con los dispositivos externos accesibles al usuario como son el teclado, el monitor, la
impresora, etc, por los cuales podemos ingresar o extraer información a o desde la CPU. Estos
dispositivos son también llamados Periféricos.
UNIDAD DE PROCESO CENTRAL
La CPU, o centro de control de una computadora, tiene varias funciones, donde las
principales son:
Ejecutar las instrucciones de los programas almacenados en la memoria del
sistema
Controlar la transferencia de datos entre la CPU y los circuitos de memoria y
de E/S
Responder a las peticiones de servicio procedentes de los dispositivos de E/S.
CPU
CPU
ALU UC
ALU UC
BUS DE DATOS
UNIDAD
UNIDAD
DE
DE
MEMORIA
MEMORIA
UNIDAD
UNIDAD
DE
DE
ENTRADA
ENTRADA
SALIDA
SALIDA
CONTROL
BUS DE DIRECCIONES
pf3
pf4
pf5
pf8
pf9
pfa
pfd
pfe
pff

Vista previa parcial del texto

¡Descarga Estructura Básica de una Computadora y más Resúmenes en PDF de Arquitectura de ordenadores solo en Docsity!


UNIDAD 4

ESTRUCTURA BASICA DE UNA COMPUTADORA

La estructura básica de una computadora está compuesta por cuatro elementos:

¾ LA UNIDAD DE PROCESO CENTRAL (CPU) ¾ LA UNIDAD DE MEMORIA ¾ LA UNIDAD DE ENTRADA/SALIDA (PERIFERICOS) ¾ BUSES DE INTERCONECCION ENTRE LAS UNIDADES.

La unidad de memoria es la encargada de almacenar programas y datos. Su estructura y funcionamiento se desarrolló en la unidad temática anterior.

La unidad de entrada/salida se verá en detalle en la unidad temática Nº7. Ahora sólo mencionaremos que dicha unidad se encarga de conectar al cerebro de la computadora (CPU) con los dispositivos externos accesibles al usuario como son el teclado, el monitor, la impresora, etc, por los cuales podemos ingresar o extraer información a o desde la CPU. Estos dispositivos son también llamados Periféricos.

UNIDAD DE PROCESO CENTRAL

La CPU , o centro de control de una computadora, tiene varias funciones, donde las principales son: ♦ Ejecutar las instrucciones de los programas almacenados en la memoria del sistemaControlar la transferencia de datos entre la CPU y los circuitos de memoria y de E/SResponder a las peticiones de servicio procedentes de los dispositivos de E/S.

CPUCPU
ALUALU^ UCUC

BUS DE DATOS

UNIDADUNIDAD DEDE MEMORIAMEMORIA

UNIDADUNIDAD DEDE ENTRADAENTRADA SALIDASALIDA

CONTROL

BUS DE DIRECCIONES


Los programas tienen como objetivo general la realización de diferentes aplicaciones o funciones, limitadas sólo por la imaginación del programador y por la capacidad de la computadora que se dispone. Para que un programa pueda ser ejecutado por la CPU, debe estar guardado en un determinado lugar de la memoria del sistema y escrito en un lenguaje que la CPU pueda entender. Un programa, básicamente, es una lista de instrucciones que la CPU lee ordenadamente, las interpreta y posteriormente controla su ejecución una tras otra. La ejecución completa de cada instrucción lleva varios pasos, a saber:

  • Leer de la memoria la instrucción correspondiente y guardarla en un registro interno de la CPU
  • Identificar ( o decodificar) dicha instrucción
  • Comprobar si la instrucción necesita datos de la memoria (o de registros internos) y determinar su ubicación
  • Buscar los datos correspondientes y traerlos a la CPU
  • Ejecutar la instrucción propiamente dicha. En este paso es posible tener que volverse a comunicar con la memoria o con dispositivos de E/S
  • Volver al primer paso para ejecutar una nueva instrucción.

Para poder realizar estas tareas la CPU normalmente se divide en dos unidades: ¾ LA UNIDAD DE CONTROL (UC) ¾ LA UNIDAD ARITMETICA-LOGICA (ALU)

UNIDAD DE CONTROL La UC controla todas las funciones que realiza una computadora. En la secuencia de ejecución de una instrucción es la encargada de controlar la búsqueda, decodificación y ejecución de la misma. Los elementos principales que posee dicha unidad están esquematizados en la sig figura:

Registro de Datos

Contador de Programa

Registro de Instrucciones

Decodificador de Instrucciones

Generador de Señales

Registros Auxiliares

Registro de Bus de Direcciones Direcciones

Bus de Datos

Bus de Control


DESCRIPCION DE UNA MAQUINA ELEMENTAL - BLUE

Las características principales de esta computadora son: ¾ Usa sistema binario y complemento a dos ¾ Su memoria es de 4096 x 16 (4096 posiciones de memoria de 16 bits cada una) ¾ Usa punto fijo por hardware y sus datos son de 16 bits (15 bits de magnitud y un bit de signo) ¾ Usa instrucciones de longitud fija de 16 bits. ¾ El bus de datos es de 16 bits y el de direcciones es de 12 bits.

Externamente tiene un frente con las siguientes llaves y luces: ♦ Pulsador de ARRANQUE (Start) ♦ Pulsador de PARADA (Stop) ♦ Pulsador de CARGAR PC (Load PC) ♦ Pulsador de DEPOSITAR (Deposite) ♦ Pulsador de EXAMINAR (Examine) ♦ Pulsador de RESET (Reset) ♦ 16 Llaves de 3 posiciones ♦ 16 Leds (luces)

START STOP LOAD PC EXAMINE DEPOSIT RESET

LLAVES BINARIAS

ON

OFF

BLUE


Esta máquina, aunque antigua, posee todas las funciones que realiza una computadora y su arquitectura responde a la máquina elemental de Von Newmann. Su esquema general es:

EL CONJUNTO DE INSTRUCCIONES

Como anticipamos, esta computadora pose un tipo de instrucción de longitud fija de 16 bits con el siguiente formato:

Código de Direccionamiento Operación

bit 15 bit 12 bit 11 bit 0

Debido a que tenemos solamente 4 bits para el código de operación, disponemos de 16 instrucciones que se describen a continuación:

P.C.

M.A.R.

Reg. Llaves Reg. Inst.

M.B.R.

ACC

A.L.U.

Z Y

MEMORIA

4096 x 16

UNIDAD DE E/S


™ AND XXXX: Realiza la AND bit a bit de los operandos ubicados en el acumulador y en la dirección de memoria expresada en el campo XXXX, y deja el resultado en el acumulador. El contenido de la dirección de memoria XXXX no cambia, mientras que el dato que se encontraba en el acumulador sí. ™ IOR XXXX: Realiza la OR bit a bit de los operandos ubicados en el acumulador y en la dirección de memoria expresada en el campo XXXX, y deja el resultado en el acumulador. El contenido de la dirección de memoria XXXX no cambia, mientras que el dato que se encontraba en el acumulador sí. ™ NOT XXXX: Cada bit del dato en el acumulador es reemplazado por su complemento lógico. La dirección de memoria XXXX se ignora. ™ LDA XXXX: El contenido de la ubicación de memoria XXXX es copiado en el acumulador. El contenido de la dirección de memoria XXXX no cambia, mientras que el dato que se encontraba en el acumulador sí. ™ STA XXXX: El contenido del acumulador es copiado en la dirección de memoria XXXX. El contenido del acumulador no cambia, mientras que el dato que se encontraba en la dirección de memoria sí. ™ SRJ XXXX: Sirve para hacer un salto del programa a una subrutina. Para esto realiza una copia del contador del programa en los 12 bits más bajos del acumulador (en los 4 bits más altos del acumulador se ponen ceros). Luego se copia el numero XXXX en el contador del programa para que la próxima instrucción sea tomada de la dicha dirección. ™ JMA XXXX: Produce un salto a otra dirección de programa si el bit de signo del acumulador es uno (es decir si el acumulador contiene un número negativo). Si se cumple dicha condición copia el número XXXX en el contador de programa y la próxima instrucción es tomada de esta dirección. Si no cumple la condición (el bit de signo del acumulador es cero, es decir que el dato en el acumulador es positivo o cero), esta instrucción no realiza nada y el programa sigue normalmente. ™ JMP XXXX: Produce un salto incondicional a otra parte del programa, por lo que copia el número XXXX en el contador de programa y la próxima instrucción a ejecutar es tomada de la dirección XXXX. ™ INP XXYY: Los 8 bits de mayor peso del acumulador se colocan a cero, y el próximo carácter de 8 bits que viene del dispositivo externo YY se coloca en la parte baja del acumulador. La parte XX del campo de dirección se ignora. La próxima instrucción no se ejecuta hasta que la transferencia del dato se haya completado. ™ OUT XXYY: Lo 8 bits más significativos del acumulador se envían al dispositivo externo YY. La parte XX del campo de dirección se ignora. Si el dispositivo externo no puede aceptar el dato en ese momento, la computadora espera hasta que se haya podido realizar la trasferencia. ™ RAL XXXX: Los bits del acumulador se rotan un lugar hacia la izquierda. El bit AC 15 se coloca en ACo de modo que el desplazamiento es cíclico. El campo de direcciones XXXX se ignora. ™ CSA XXXX: El número que está en el registro de llaves (introducido por las llaves de la consola) se copia en el acumulador. El campo de direcciones XXXX se ignora. ™ NOP XXXX: Esta instrucción no hace nada. El campo de direcciones XXXX se ignora.

EL CICLO DE MAQUINA:

Se llama “ciclo de máquina” de una computadora al procedimiento que consta de todas las tareas necesarias para poder ejecutar completamente una instrucción del programa almacenado en memoria, que podemos sintetizar de la siguiente forma:

  • Búsqueda de una instrucción a memoria
  • Lectura e interpretación de esa instrucción
  • Ejecución de la misma.
  • Almacenamiento de resultados
  • Preparación para leer la próxima instrucción.

Esta computadora elemental (BLUE) tiene un ciclo de máquina básico compuesto por dos partes: ¾ CICLO DE BUSQUEDA ¾ CICLO DE EJECUCION

Durante el Ciclo de Búsqueda , la instrucción almacenada en la memoria y apuntada por el Contador de Programa (P.C.) es localizada en la memoria y copiada en el Registro de Instrucciones (R.I.). Luego el número almacenado en el P.C. es incrementado en uno, logrando así que ahora apunte a la próxima celda de memoria (o sea a la siguiente instrucción). Al completar el Ciclo de búsqueda , la instrucción que está en el R.I. es analizada, decodificada y ejecutada. Si la presente instrucción no necesita hacer una nueva búsqueda a memoria (de algún dato u operando) el ciclo de máquina termina acá. Si es necesario buscar un operando a memoria, entonces comienza el Ciclo de Ejecución para realizar un nuevo acceso a memoria para traer al operando necesario y completar así la instrucción.

FLUJO DE INFORMACION EN LA BLUE

Sin analizar las instrucciones en detalle todavía, mostraremos los movimientos de información entre registros dentro de la máquina: ♦ Flujo de direcciones (addreses) en la BLUE (son movimientos de 12 bits entre registros):

ƒ Load PC: envía los 12 bits más bajos del registro de llaves (R.Sw.) al P.C. ƒ Saltos (JMP, JMA, SRJ): envía los 12 bits más bajos del R.I. al P.C. ƒ SRJ (salto a subrutina): envía los 12 bits del P.C. al Acumulador (ACC). ƒ Búsqueda de una instrucción: envía los 12 bits del P.C. al M.A.R. ƒ Búsqueda de un Operando: envía los 12 bits más bajos de R.I. al M.A.R.

Flujo de instrucciones y operandos en la BLUE (son movimientos de 16 bits entre registros): ƒ C.S.A.: copia los 16 bits del R.Sw. al ACC ƒ Deposit: copia los 16 bits del R.Sw. al M.B.R. ƒ Instrucciones: se copian del M.B.R. al R.I. ƒ LDA: copia los 16 bits del M.B.R. al ACC ƒ STA: copia los 16 bits del ACC al M.B.R. ƒ Operaciones de la A.L.U. (en el ciclo de ejecución):

  • Copia los 16 bits del ACC al Registro Z de la A.L.U.
  • Copia los 16 bits del M.B.R. al Registro Y de la A.L.U.
  • El Resultado (o salida de la A.L.U.) se copia al ACC

♦ Flujo de señales de control. (que se verán posteriormente).


¾ ASINCRONAS

Las computadoras asíncronas son aquellas en que cada unidad recibe una señal del dispositivo anterior para realizar su tarea, y a su vez envía un señal al siguiente cundo termina de realizar la suya. Esto tiene como ventaja de que cada tarea tarda el mínimo de tiempo posible; pero la desventaja de que cada unidad debe ser lo suficiente inteligente y el hardware se complica.

Las computadoras síncronas son aquellas que tienen un reloj patrón que emite pulsos en periodos de tiempos fijos (frecuencia de reloj), y en cada pulso hay una o más tareas que se realizan. Esto tiene como ventaja que mantiene las distintas tareas de cada dispositivo en orden y secuencia y con un hardware sencillo La desventaja es que ninguna tarea se puede realizar en menos tiempo que la duración de un ciclo de reloj.

La BLUE es una máquina síncrona, y veremos a continuación el diseño de la unidad de control:

Consta básicamente de 3 (tres) biestables (o flip-flops) de control: ♦ RUN (arranque): es un biestable Set-Reset que arranca (pone en “1” su salida Q) por el botón deSTART o se para (pone en “0” su salida Q) por el botón de STOP, por la instrucción HALT o por la detección de un overflow aritmético. ♦ STATE (estado): es un biestable D tiene dos condiciones (sus salidas) para determinar el ciclo de búsqueda (Fetch) o el ciclo de ejecución (Execute) ♦ CLOCK (reloj) : es un biestable Set-Reset que cumple la función de inicializar el reloj.

Cada ciclo de memoria se divide en 8 intervalos de tiempo iguales (o ciclos menores) de 125 nanosegundos cada uno generados por el CLOCK; y en cada intervalo se genera un pulso de salida. Estos pulsos se van generando al pasar por líneas de retardo (o temporizadores) (las marcadas por T en la figura A).

El funcionamiento es el siguiente: Cuando se apreta el botón de START, el flip-flop RUN genera un uno a su salida y después de pasar por unos circuitos lógicos llega un pulso al flip-flop CLOCK. Este pulso se transmite a través de la cadena de temporizadores generando así una secuencia de pulsos como la de la figura B.

EL CICLO DE BUSQUEDA:

Si el flip-flop RUN se setea en ON, arranca el reloj, y si el flip-flop de STATE está en Fetch se inicia el ciclo de búsqueda de la máquina, en el cual la máquina carga la instrucción en el registro de instrucciones que está almacenada en la posición de memoria apuntada por el contador de programa. La secuencia es la siguiente:


Pulso Reloj Acción Comentario.

  1. PC MAR Copia el PC al MAR y a Z y comienza a leer PC Z la próxima instrucción.
  2. +1 Y Coloca +1 en Y
  3. Tiempo de espera
  4. ALU PC Hace la suma de PC+1 y coloca el resultado en el PC
  5. M MBR Coloca el dato de la memoria en el MBR.
    1. MBR IR Copia el contenido del MBR en el IR y co- mienza la decodificación de la instrucción.
    2. Disponible para decodificación y ejecución.

En el pulso de reloj 1 se copia el contenido del contador de programa (PC) al registro de direcciones de memoria (MAR) y al registro Z de la ALU, y se inicia el ciclo de lectura de la memoria. En el pulso de reloj 2 se coloca el número +1 en el registro Y de la ALU. En el pulso de reloj 3 esperamos que se realice la suma PC + 1. En el pulso 4 se copia el resultado de la suma (la salida de la ALU) al contador de Programa (esto incrementa el PC y está listo para indicar la próxima instrucción). En el pulso 5 se copia el dato de la memoria al registro buffer de memoria (MBR). En el pulso 6 se copia el contenido del MBR al registro de instrucción (IR) y comienza la decodificación de la instrucción extraída de la memoria. La memoria no estará disponible hasta finalizar el pulso de reloj 8, por lo que este tiempo disponible (entre los pulsos 7 y 8) se puede utilizar para finalizar algunas instrucciones de la BLUE, que son HALT, NOP, JMP, JMA, SRJ, CSA, NOT, RAL como indica la figura C. Estas instrucciones finalizan en el ciclo de Búsqueda (no necesitan otro ciclo de memoria) y al finalizar empieza una nueva búsqueda para la próxima instrucción.

Instrucciones de dos ciclos: Todas las instrucciones que requieran la búsqueda de un dato a memoria para realizar una operación lógica o matemática, o realizar una transferencia de datos hacia o desde la memoria, requieren un segundo ciclo de memoria llamado ciclo de ejecución. Las instrucciones que requieren este segundo ciclo son: LDA, STA, ADD, XOR, AND, IOR. La descripción paso a paso del ciclo de ejecución de cada instrucción se explica en la figura D.

Instrucciones de Entrada/Salida:

Existen dos instrucciones que no requieren referencia a memoria, pero sí necesitan más tiempo que un simple ciclo. Estas son las instrucciones INPUT y OUTPUT que su ciclo de ejecución se explica a continuación:


START

STOP HALT OVERFLOW

S Clock R Q

S Q Run R

D E State F

Circuito lógico

EXAMINE DEPOSITE D

D

D

D

D

D

D

D

CP

CP

CP

CP

CP

CP

CP

D 50ns CP

Figura A:


Figura B: Diagrama de tiempo del reloj

Entrada - Salida en BLUE

Como se vió anteriromente las transferencias de entrada - salida en Blue son realizadas bajo control de programa y a través del acumulador. Cuando se ejecuta una instrucción INP o OUT la Unidad de Control genera la señal Transferencia (TRA) que deberá conectarse a todos los dispositivos externos, sólo el dispositivo seleccionado en el campo YY de la instrucción OUT o INP se dará por "aludido" y generará una señal Ready (R) cuando haya completado su tarea. Esta señal R es sensada por la unidad de Control a fin de proseguir con la próxima instrucción. Si R nunca pasa a uno (por ejemplo si el dispositivo externo se dañó) la Unidad de Control permanecerá indefinidamente en el estado de Ejecución de la instrucción de entrada o salida.

Un ciclo de memoria

tiempo 125 ns

CP

CP

CP

CP

CP

CP

CP

CP

_________________________________________________________________________________________UTN - FRM Arquitectura de las computadoras – Unidad 4

Página 17 de 17

PulsoReloj

HALT
NOP
JMP
JMA
SRJ
CSA
NOT
RAL
PC
A
A
Z
A
Z
_

Off

Run

IR
PC

If A

15

IR
PC
SR
A
Z
A
2*Z
A
IR
PC

Figura C: Fin del ciclo de búsqueda para las 8 instrucciones de un solo ciclo.

PulsoReloj

LDA
STA
ADD
XOR
AND
IOR

al finalizar este pulso del ciclo de búsqueda, el biestable de estado cambia a Ejecución

IR
MAR
IR
MAR
IR
MAR
IR
MAR
IR
MAR
IR
MAR
A
Z
A
Z
A
Z
A
Z

Mem

MBR
A
MBR

Mem

MBR

Mem

MBR

Mem

MBR

Mem

MBR
MBR
A
MBR
Y
MBR
Y
MBR
Y
MBR
Y
STATE
F
STATE
F
SUM
A
XOR
A
AND
A
OR
A
STATE
F
STATE
F^
STATE
F
STATE
F

Figura D: Fin del ciclo de búsqueda para las instrucciones de dos ciclos