Title | 3. Estructura Basica de un Computador |
---|---|
Author | Bernabe Rd |
Course | Arquitectura de Computadoras |
Institution | Universidad Nacional de Mar del Plata |
Pages | 12 |
File Size | 910.4 KB |
File Type | |
Total Downloads | 15 |
Total Views | 146 |
Apuntes de modulo 3 de arquitectura de computadores...
Apuntes de Cáte Cátedr dr dra: a: Computador: Estructur Estructura a Básica Registros Instrucciones
ESTRUCTURA BASICA DE UNA COMPUTADORA Circuitos digitales combinacionales: son aquellos cuyas salidas dependen solamente de sus entradas y están relacionadas por una función de conmutación.
Circuitos digitales secuenciales: son tales que sus salidas dependen de las entradas actuales y el estado anterior de las salidas.
Funciones Lógicas Complejas Integradas Lógicas elementales: AND, OR, NAND, NOR, OR NOR ECLUSIVE Funciones Combinacionales
Codificadores y Decodificadores Multiplexores y Demultiplexores
Comparadores
Sumadores Funciones Aritméticas ALU
Flip- Flops : JK, RS, D Contadores:binario, decadas, Up/Down, Programables Funciones Secuenciales Registros de desplazamiento: entrada serie-salida paralelo entrada paralelo-salida serie
Funciones de Interfase
Memorias
Buffers Excitadores de línea Convertidores de niveles lógicos
RAM ROM PROM EPROM
Resumen de unidades Las distintas unidades utilizadas en informática son: Un dígito binario (0 y 1) es el bit
Con 8 bits se forma un byte. El byte es la unidad mas usada, con el se mide la capacidad de memoria o se representa un caracter, por ejemplo la letra A es el número (65) en decimal, que en binario se representa como (01000001), esto se puede expresar como: (65)10 = (01000001)2 Un KByte (KiloByte) significa 1024 Bytes. Un MByte (MegaByte) representa aproximadamente un millón de Bytes (1000000 bytes). La capacidad de memoria se mide en Megabytes, por ejemplo 128 MBytes = 128000000 Bytes. Finalmente el GByte (GigaByte), representa 1000 MBytes = 1000000000 Bytes, utilizado para medir la capacidad de un disco duro, por ejemplo 120 GBytes = 120000000000 Bytes. La siguiente tabla muestra estas relaciones entre las distintas unidades de información utilizadas en una computadora y ejemplos de utilización:
Componentes principales de una computadora Procesador central (CPU): es el cerebro del sistema, dado que lee y ejecuta el programa almacenado en memoria. Para esto posee dos partes: ALU (Unidad Aritmética Lógica): efectúa las operaciones que se le indican sobre los operandos que se le suministren, es la responsable de realizar todas las operaciones aritméticas (suma, resta, división, multiplicación) y lógicas, que se necesite en un programa. Unidad de control: interpreta el programa y genera secuencialmente todas las señales de control necesarias para ejecutar el programa. Memoria: almacena la información necesaria para la ejecución de un programa: El programa en lenguaje de máquina (código binario)
Datos de entrada Resultados intermedios Existen distintos tipos de acuerdo a la función que cumplen y se las clasifica en memorias volátiles (que borran su contenido al apagar el sistema) y no volátiles, que mantienen su contenido en todo momento: RAM: (utilizada por el usuario para cargar los programas) memoria volátil de gran capacidad (por ejemplo 128 MBytes) donde se almacenan el sistema operativo y los programas en ejecución. ROM: (empleada por la computadora) memoria no volátil de solo lectura, de baja capacidad (aprox. 100 KBytes) que almacena el programa de arranque del sistema y se la conoce habitualmente como ROMBIOS. Es de uso exclusivo de la máquina y el usuario no tiene acceso a ella, únicamente en forma indirecta mediante la configuración de la RAMSetup. FLASH: memoria no volátil, de lectura/escritura, que permite copiar la ROMBIOS y modificar su contenido con actualizaciones de esta, sin correr el riesgo de perder la configuración original. Dispositivos de Almacenamiento: permiten almacenar todo el software con que cuenta el sistema, compuesto por programas de aplicación y el sistema operativo. Son dispositivos periféricos cuyo funcionamiento difiere notablemente del sistema CPUMemoria, por lo tanto se comunican con este a través de una interfase E/S. Estos dispositivos se dividen en medios magnéticos: discos flexible o disquete (con una capacidad de 1,44 MBytes) y disco duro (con una capacidad actualmente entre 80 y 160 GBytes). En medios ópticos: discos CD ROM de 700 MBytes y DVD de 4,7 GBytes. Y memoria externa Flash: conocidas como Pendrive, con capacidades de 32MB a 2GB. Unidades periféricas: sobre las que se intercambian información, entrada de ordenes de operación, salida de los resultados: mouse, teclado, impresora, monitor, modem, placa de red, etc. Interfases de E/S: circuitos de interfase entre los periféricos y la computadora, que actúan adaptando (en velocidad y formato) las señales internas de la computadora (CPUMemoria), con las utilizadas por cada dispositivo periférico. Interconexiones entre unidades: mediante los Buses (grupo de líneas o conductores) que transportan un bit cada uno y que se clasifican en: Datos: para la transferencia de datos y código, transporta la Información Direcciones: transporta la posición en memoria de una instrucción (código) o dato, o sobre la selección de un periférico. Control: señales de habilitación de operaciones de escritura, lectura y control sobre la memoria y periféricos. Diagrama en bloques de una computadora En el siguiente diagrama vemos un resumen de los componentes básicos de una computadora y sus respectivas funciones, interconectados mediante los buses. Actualmente, el tamaño de los buses es de: bus de datos (64 bits), bus de direcciones (32 bits) y el bus de control (aprox. 24 bits), estos representan muchos conductores sobre el circuito impreso de la computadora, así como circuitos integrados (chips) de muchos pines, como observamos al abrir un gabinete.
CPU
Memoria
Interfases
Almacenamiento
Memoria
BUS DE DATOS
BUS DE DIRECCIONES
BUS DE CONTROL
Registros de la computadora Instrucción 1
CPU Datos en memoria
Direcciones
DR
PC
IR
AR
Datos de la ALU
Instrucción 3 * * * Datos Datos Datos
Datos E/S
AC
INPR
RT
OUTR
Instrucción 2
* * *
RR
MEMORIA
MODULO E/S
Buffers y Registros
Listado de registros de una computadora básica Símbolo DR IR PC AR AC RT INPR OUTR
N° de bits 16 16 12 12 16 16 8 8
Nombre del registro Registro de datos Registro de Instrucción Contador de programa Registro de dirección Acumulador Registro temporario Registro de entrada Registro de salida
Función Contiene operando de la memoria Contiene el código de instrucción Contiene la dirección de instrucción Contiene la dirección del operando Registro del procesador ALU Contiene datos temporales ALU Contiene carácter de entrada Contiene carácter de salida
Ejecución de un programa Para ejecutar un programa, la CPU realiza un proceso que se repite para cada instrucción del programa, siguiendo los siguientes pasos: Búsqueda de la instrucción en memoria: para leer la instrucción, la CPU se conecta con la memoria mediante unas líneas de dirección que indican la posición de memoria (dirección) a la que se accede y las líneas de datos que transportan la instrucción. Una vez que hemos obtenido la información (Instrucción) sobre el bus de datos, ésta se almacena en otro sitio en el procesador llamado registro de instrucción. Decodificación de la instrucción: la unidad de control decodifica (separa el código y la dirección) que posee la instrucción. Con el código, interpreta que operación que deberá realizar y con la dirección obtiene el operando sobre el cual ha de realizarla. Ejecución: la unidad de control genera una secuencia de habilitaciones en las líneas de control internas y externas del procesador, que permiten la ejecución de la instrucción en curso. En este momento la ALU realizará las operaciones que se le indiquen, sobre los operandos que se le suministren. Tipos de Instrucciones Las instrucciones que puede ejecutar una computadora pueden resumirse en tres tipos principales, dado que cualquiera de las funciones que puede realizar un computador se pueden incluir en esta clasificación. Entre paréntesis se indica el dispositivo sobre el cual se realiza la instrucción. Lectura / Escritura. (comunicación con el exterior), que puede ser con dispositivos conectados directamente (periféricos: impresoras, teclado, monitor...) o con dispositivos remotos (redes). Almacenamiento: grabar o leer datos (memoria principal). Procesamiento: operaciones aritmético-lógicas (ALU) Control: toma de dediciones, control de flujo (CPU). Instrucciones de máquina (código de instrucción): es un grupo de bits que instruyen a la computadora sobre como ejecutar una operación específica. Posee un formato de código binario que especifica la acción que desarrollará la CPU. Programa: es un conjunto de instrucciones que especifican las operaciones, operandos y la secuencia mediante la cual tiene que ocurrir el procesamiento.
Formato de una instrucción simple MEMORIA 4096X16 15
12 11 Código de Operación
0 Dirección
(Especifica la operación que se va a ejecutar)
Instrucciones del Programa
(Especifica una dirección)
Operando Binario
Operandos Datos
Código de operación: es un grupo de bits que define operaciones como sumar, restar, multiplicar, desplazar, complementar. El número de bits requerido depende la cantidad total de operaciones disponible en la computadora lo que define el Repertorio de Instrucciones. Repertorio de Instrucciones: los n bits que componen el código de operación de la instrucción determinan la cantidad de operaciones diferentes que conforman el repertorio de la computadora: *En el ejemplo 2n=24=16 operaciones diferentes, suponiendo que (0001) es la operación sumar (ADD). ADD=0001, cuando este código de operación se decodifica en la unidad de control, la CPU emite las señales de control para leer el operando de la memoria y sumarlo a un registro del procesador como el acumulador AC. *La operación especificada por el código debe ejecutarse sobre algunos datos almacenados en registros del procesador o en la memoria, por lo tanto el código debe especificar no solo la operación a realizar , sino también los registros o las palabras de la memoria donde se van a encontrar los operandos, al igual que el registro o la palabra de memoria donde se va a almacenar el resultado. *Cada computadora tiene su propio formato de instrucciones Dirección: le dice a la unidad de control donde encontrar un operando en memoria. Este operando se lee en la memoria y se utiliza como los datos que se van operar o junto con los datos almacenados en el registro del procesador. *La capacidad de direccionamiento del ejemplo es de 2 12 = 4096 palabras. Direccionamiento: existen distintos tipos de direccionamiento que se difrencian principalmente por la cantidad de microoperaciones que necesitan para ejecutar la instrucción: *Inmediato: el operando esta especificado directamente en la instrucción
*Directo: cuando la segunda parte especifica la dirección del operando *Indirecto: cuando la segunda parte especifica la dirección en memoria donde se encuentra la dirección del operando (denominada dirección efectiva).
Ejemplo:
Formatos de Instrucciones
Repertorio básico de Instrucciones
Lenguaje de máquina en memoria Ejemplo: programa para sumar dos números que están en memoria en las direcciones 004 y 005, almacenando el resultado en 006. En binario y hexadecimal, se muestra el aspecto que posee el programa y los datos en la memoria. Y en assembler, el lenguaje usado por un programador para escribir el programa. Binario
Hexadecimal
Ejemplo de ejecución de un programa MEMORIA
PC
300 1
IR AR
2 9 4 0 9 4 0
AC TR
MEMORIA
2940
300
1941
301
3941
302
IR
* * *
* * 940
0002
941
Paso 1: Busqueda Paso 2: Decodificación
2940
300
1941
301
9 4 0
3941
302
AR
9 4 0
* *
AC
0 0 0 3
* * * 0003
940
0002
941
2
3
*
0003
300
PC
TR Paso 3: Ejecución
MEMORIA
PC IR
301 1 9 4 1
AR
9 4 1
AC
0 0 0 3
TR
*
MEMORIA
2940
300
1941
301
3941
302
* * *
* *
0003
940
0002
941
*
301
2940
300
1941
301
9 4 1
3941
302
AR
9 4 1
* *
AC
0 0 0 5
* * * 0003
940
0002
941
PC IR
TR
1
0 0 0 2
*
Códigos de Operación
Descripción
Símbolos de microinstrucciones (Descripción simbólica) Nemonico
Descripción simbólica de microinstrucción
AND
AC AC ^ M [AR]
ADD
AC AC + M [AR]
LDA
AC M [AR]
STA
M [AR] AC
BUN
PC AR
CLA
AC 0
CMA
AC AC
INC
AC AC + 1
Diagrama temporal de Microinstrucciones Reloj T0
T1 MEMORIA
PC
302 3 9 4 1
IR AR AC TR
9 4 1 0 0 0 5 0 0 0 2
MEMORIA
2940
300
1941
301
3941
302
IR
* * *
* *
AR
9 4 1
940
AC
0003 0002
941
TR
*
2940
300
1941
301
3941
302
* *
0 0 0 5
* * * 0003
940
0 0 0 2
0005
941
302
PC 3
9 4 1
T2 T3 Clear
0010 0011 0001
Cargar AC desde Memoria AC...