unidad nº ii arquitectura de un computador€¦ · unidad nº ii – arquitectura de un computador...
Post on 13-May-2020
15 Views
Preview:
TRANSCRIPT
Instituto Universitario Politécnico
“Santiago Mariño”
Unidad Nº II – Arquitectura de un computador
a gran escala
Elaborado por: Ing. Víctor Valencia.
Unidad Nº II – Arquitectura de un computador a gran escala
Objetivo de la unidad
Presentar los elementos de un computador y la manera como una arquitectura se
posiciona en ellos para explotarlos y hacer disponibles para el procesamiento de datos
Elaborado por: Ing. Víctor Valencia.
Unidad Nº II – Arquitectura de un computador a gran escala
Definición de arquitectura de computadoras
Es el diseño conceptual y la estructura operacional fundamental de un sistema de
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. También suele definirse como la forma de seleccionar e
interconectar componentes de hardware para crear computadoras según los requerimientos
de funcionalidad, rendimiento y costo.
Elaborado por: Ing. Víctor Valencia.
Unidad Nº II – Arquitectura de un computador a gran escala
Definición de arquitectura de computadoras
El ordenador recibe y envía la información a través de los periféricos por medio de
los canales. La CPU es la encargada de procesar la información que le llega al ordenador. El
intercambio de información se tiene que hacer con los periféricos y la CPU. Todas aquellas
unidades de un sistema exceptuando la UCP se denomina periférico, por lo que el ordenador
tiene dos partes bien diferenciadas, que son : la CPU (encargada de ejecutar programas y
que está compuesta por la memoria principal, la ALU y la UC) y los periféricos (que pueden
ser de entrada, salida, entrada-salida y comunicaciones).
Elaborado por: Ing. Víctor Valencia.
Unidad Nº II – Arquitectura de un computador a gran escala
Arquitectura de Von Neumann
Hoy en día se tiene aceptado que el “corazón” de la computadora es el CPU, íntimamente
ligado a la memoria principal. Esto no siempre fue así.
La forma de organizar el funcionamiento de los ordenadores le llamamos Arquitectura de
Von Neumann, que la describió en los años 50 para el desarrollo del computador EDVAC
Los ordenadores con esta arquitectura constan de cinco partes: La unidad aritmético-lógica o
ALU, la unidad de control, la memoria, un dispositivo de entrada/salida y el bus de datos
que proporciona un medio de transporte de los datos entre las distintas partes.
Elaborado por: Ing. Víctor Valencia.
Unidad Nº II – Arquitectura de un computador a gran escala
Arquitectura de Von Neumann
Un ordenador con esta arquitectura realiza o emula los siguientes pasos secuencialmente:
• Enciende el ordenador y obtiene la siguiente instrucción desde la memoria en la
dirección indicada por el contador de programa y la guarda en el registro de instrucción.
• Aumenta el contador de programa en la longitud de la instrucción para apuntar a la
siguiente.
• Decodifica la instrucción mediante la unidad de control. Ésta se encarga de coordinar el
resto de componentes del ordenador para realizar una función determinada.
Elaborado por: Ing. Víctor Valencia.
Unidad Nº II – Arquitectura de un computador a gran escala
Arquitectura de Von Neumann
• Se ejecuta la instrucción. Ésta puede cambiar el valor del contador del programa,
permitiendo así operaciones repetitivas. El contador puede cambiar también cuando se
cumpla una cierta condición aritmética, haciendo que el ordenador pueda 'tomar
decisiones', que pueden alcanzar cualquier grado de complejidad, mediante la aritmética
y lógica anteriores.
Elaborado por: Ing. Víctor Valencia.
Unidad Nº II – Arquitectura de un computador a gran escala
Arquitectura de Von Neumann
Elaborado por: Ing. Víctor Valencia.
Unidad Nº II – Arquitectura de un computador a gran escala
Unidad aritmetica y lógica
(ALU, Arithmetic and logical unit)
Se encarga de realizar las operaciones aritméticas (sumas, restas, multiplicaciones,
etc..) y lógicas (AND, OR, rotaciones, desplazamientos, etc...) con los datos. Normalmente los
datos con los que opera, así como los resultados de la operación se encuentran en registros
de la CPU.
Las operaciones que es capaz de realizar están definidas por el juego de
instrucciones de la CPU. Es posible encontrar ALUs con capacidades orientadas hacia la
operación con valores enteros, coma flotante o números imaginarios (por ejemplo en las
DSP.)
Elaborado por: Ing. Víctor Valencia.
Unidad Nº II – Arquitectura de un computador a gran escala
Banco de Registros
Proporciona un espacio de almacenamiento para los datos con los que trabaja la
CPU. Los registros se deben cargar con información que proviene de la memoria principal
antes de comenzar a operar, cuando se necesita dejar espacio libre en el banco de registros
para operar con nuevos datos su valor debe escribirse en la memoria principal.
Operar con datos en el banco de registros es mucho más rápido que operar con
datos que se encuentran en la memoria principal, por eso, cuanto mayor sea el banco de
registros se requerirán menos trasvases con la memoria principal y la tarea se realizará
antes.
Elaborado por: Ing. Víctor Valencia.
Unidad Nº II – Arquitectura de un computador a gran escala
Banco de Registros
Es posible que no todos los registros tengan las mismas características.
Normalmente se distingue entre:
•Registros de datos: Guardan la información con la que se trabaja.
•Registros de direcciones: Guardan direcciones de memoria (en las que puede haber
datos).
•Registros de control: Controlan el estado de la CPU (flags: zero, overflow, underflow,
positivo/negativo...)
Elaborado por: Ing. Víctor Valencia.
Unidad Nº II – Arquitectura de un computador a gran escala
Unidad de Control
Se encarga de leer las instrucciones máquina almacenadas en la memoria principal
y de generar las señales de control necesarias para controlar y coordinar el resto de las
unidades funcionales de un ordenador, con el fin de ejecutar las instrucciones leídas.
Partes fundamentales:
•Contador de programa: Registro que apunta a la dirección de memoria de la próxima
instrucción a ejecutar. Se incrementa automáticamente después de ejecutar cada
instrucción.
•Registro de instrucción: Guarda la instrucción que se está ejecutando.
•Decodificador: Interpreta la instrucción a ejecutar.
Elaborado por: Ing. Víctor Valencia.
Unidad Nº II – Arquitectura de un computador a gran escala
Unidad de Control
•Reloj: Genera una señal de sincronía.
•Secuenciador: Activa en el orden adecuado las diferentes unidades funcionales para
ejecutar la instrucción.
Los dos tipos más frecuentes de unidades de control son:
•Cableada: La lógica de las operaciones está implementada mediante hardware.
•Microprogramada: Se trata de una pequeña CPU en miniatura que puede programarse
para realizar diferentes tareas. Son más flexibles pero más lentas.
Elaborado por: Ing. Víctor Valencia.
Unidad Nº II – Arquitectura de un computador a gran escala
Buses
Transportan la información entre los diferentes elementos de la CPU. Se distingue
entre el bus de datos (que transporta la información que se está procesando) y el bus de
control (que proporciona toda la señalización necesaria para realizar el trabajo de forma
ordenada).
Elaborado por: Ing. Víctor Valencia.
Unidad Nº II – Arquitectura de un computador a gran escala
Memoria Principal
La memoria principal tiene por objeto guardar información que es accesible a la
CPU. La CPU puede leer y/o escribir datos en las diferentes posiciones de memoria que
componen la memoria principal.
La memoria principal tiene menor capacidad que la memoria secundaria (que virtualmente
es ilimitada), pero es mucho más rápida. Actualmente la memoria principal se implementa
mediante circuitos integrados. La memoria principal de los sistemas informáticos suele estar
formada por dos áreas diferenciadas:
Elaborado por: Ing. Víctor Valencia.
Unidad Nº II – Arquitectura de un computador a gran escala
Memoria Principal
Memoria RAM (Random Access Memory): Memoria de acceso aleatorio (no tiene porqué ser
utilizada de manera secuencial) que permite tanto la lectura como la escritura.
Habitualmente en los sistemas informáticos se trata de un medio de almacenamiento volátil,
de manera que se pierde su contenido al cesar la alimentación.
Memoria ROM (Read Only Memory): Memoria de acceso aleatorio que sólo permite la
lectura de los datos que almacena. Se trata de un medio de almacenamiento persistente,
pues no pierde su contenido cuando cesa la alimentación.
Elaborado por: Ing. Víctor Valencia.
Unidad Nº II – Arquitectura de un computador a gran escala
Entrada/Salida (E/S, I/O)
En la medida en la que el sistema informático precisa comunicarse con el mundo
exterior (utilizando diferentes periféricos), es necesario un elemento que controle el flujo de
información que entra y/o sale del sistema informático.
Los periféricos del sistema informático se pueden clasificar en:
•Periféricos de entrada: Si sirven para introducir información en el sistema informático (ej.
teclado, ratón...)
•Periféricos de salida: Si representan información que sale del sistema informático (ej.
monitor, impresora...)
Elaborado por: Ing. Víctor Valencia.
Unidad Nº II – Arquitectura de un computador a gran escala
Entrada/Salida (E/S, I/O)
Las tres técnicas más extendidas de gestión de I/O son:
•Polling o espera activa: La CPU se encarga de la transferencia de información consultando
contínuamente el estado del dispositivo periférico. Simple e ineficiente.
•Uso de interrupciones: La CPU se encarga de la transferencia de información pero el
dispositivo periférico le notifica los cambios de estado mediante una interrupción.
•DMA (Direct Memory Access): El controlodador DMA se encarga de toda la transferencia de
información (puede ser un bloque, y puede requerir de conversión). Al finalizar el
controlador DMA utiliza una interrupción para notificarlo a la CPU. Con esta técnica, la CPU
programa al controlador DMA para realizar el trabajo y queda libre (para realizar otras
tareas). Es la técnica más eficiente.
Elaborado por: Ing. Víctor Valencia.
Unidad Nº II – Arquitectura de un computador a gran escala
Bus del Sistema
Los buses son las vías de comunicación que permiten mover la información entre
los distintos elementos de la arquitectura Von Newmann.
Desde el punto de vista electrónico un bus es una serie de pistas que transportan
información entre diferentes elementos. El número de líneas que tiene el bus determina el
número de bits que se pueden transportar en paralelo. Los buses suelen ser elementos
síncronos que funcionan gobernados por un reloj. Normalmente en cada ciclo de reloj se
transporta un dato (de 8, 16 o 32 bits según la anchura del bus), también existen buses que
realizan dos operaciones en cada ciclo de reloj (utilizan tanto el flanco de bajada como el
flanco de subida).
Elaborado por: Ing. Víctor Valencia.
Unidad Nº II – Arquitectura de un computador a gran escala
Bus del Sistema
Ejemplo:
El bus PCI cuenta con la siguiente especificación:
Ancho del bus: 32 bits
Reloj: 33 Mhz
Fácilmente podemos calcular la cantidad máxima de información que puede transportar en
un segundo. Simplemente necesitamos multiplicar la información que mueve en cada ciclo
(32 bits = 4 Bytes) por el número de ciclos que tienen lugar en un segundo (33*106).
Información por segundo: 4 Bytes * 33*106 = 132000000Bytes/s = 125.88MB/s
Si el bus fuese capaz de utilizar tanto el flanco de subida como el de bajada para
transmitir información, se doblaría la capacidad útil.
Elaborado por: Ing. Víctor Valencia.
Unidad Nº II – Arquitectura de un computador a gran escala
Bus del Sistema
Bus de datos: Como su nombre indica transporta datos. Estos datos pueden ser la
información que se está procesando o las instrucciones del programa que se ejecuta. Hay
que recordar que en la arquitectura Von Newmann el programa está guardado en el interior
del sistema informático codificado como información.
El ancho en bits del bus de datos define el tamaño de la palabra del sistema informático,
habitualmente es 8bits, 16bits, 32bits o 64bits.
Elaborado por: Ing. Víctor Valencia.
Unidad Nº II – Arquitectura de un computador a gran escala
Bus del Sistema
Bus de direcciones: El bus de direcciones se utiliza para indicar el origen y/o el destino de los
datos. En el bus de direcciones se indica la posición de memoria a la que se está accediendo
en cada momento. Puede tratarse de una dirección de la memoria principal o puede tratarse
de una dirección de memoria en la que está mapeado un periférico.
El ancho en bits del bus de direcciones determina el tamaño del espacio de memoria
direccionable.
Bus de control: El bus de control proporciona señales para coordinar las diferentes tareas
que se realizan en el sistema informático.
Elaborado por: Ing. Víctor Valencia.
Unidad Nº II – Arquitectura de un computador a gran escala
Direccionamiento de Memoria
En informática, una dirección de memoria es un identificador para una localización
de memoria con la cual un programa informático o un dispositivo de hardware pueden
almacenar un dato para su posterior reutilización.
Una forma común de describir la memoria principal de un ordenador es como una
colección de celdas que almacenan datos e instrucciones. Cada celda está identificada
unívocamente por un número o dirección de memoria. La información que se almacena en
cada celda es un byte (conjunto de ocho bits), que es la unidad mínima de almacenamiento
de datos e instrucciones, puesto que un bit solo puede contener el valor cero o uno y eso no
es suficiente para guardar datos o instrucciones, por lo que se debe almacenar en bytes.
Elaborado por: Ing. Víctor Valencia.
Unidad Nº II – Arquitectura de un computador a gran escala
Direccionamiento de Memoria
Para poder acceder a una ubicación específica de la memoria, la CPU genera
señales en el bus de dirección, que habitualmente tiene un tamaño de 32 bits en la mayoría
de máquinas actuales. Un bus de dirección de 32 bits permite especificar a la CPU 232=
4.294.967.296 direcciones de memoria distintas.
Debido a la estructura de 32 bits de un procesador común como los de Intel, las
direcciones de memoria se expresan a menudo en hexadecimal. Por ejemplo, para no tener
que escribir 111111010100000000000010101100 podemos escribir 3F5000AC en
hexadecimal.
Elaborado por: Ing. Víctor Valencia.
Unidad Nº II – Arquitectura de un computador a gran escala
Direccionamiento de Memoria
Los modos de direccionamiento más comunes son:
•Inmediato
•Directo
•Indirecto
•Registro
•Indirecto con registro
•Desplazamiento
•Pilas
Elaborado por: Ing. Víctor Valencia.
Unidad Nº II – Arquitectura de un computador a gran escala
Registros
Es una memoria de alta velocidad que se encuentra integrada en el CPU. Estos se están en la
cumbre del a jerarquía de memoria.
Elaborado por: Ing. Víctor Valencia.
Unidad Nº II – Arquitectura de un computador a gran escala
Registros
Características:
•Integrados al CPU
•Pueden almacenar direcciones de memoria principal
•Se ejecutan a la misma velocidad del CPU
•El número de registros es limitado y depende del diseño del CPU
Elaborado por: Ing. Víctor Valencia.
Unidad Nº II – Arquitectura de un computador a gran escala
Instrucción
Es una operación elemental que el procesador puede cumplir.. Las instrucciones se
almacenan en la memoria principal, esperando ser tratadas por el procesador. Las
instrucciones poseen dos campos:
El código de operación, que representa la acción que el procesador debe ejecutar;
el código operando, que define los parámetros de la acción. El código operando depende a
su vez de la operación. Puede tratarse tanto de información como de una dirección de
memoria.
Elaborado por: Ing. Víctor Valencia.
Unidad Nº II – Arquitectura de un computador a gran escala
Instrucción
Las instrucciones pueden agruparse en distintas categorías. A continuación presentamos
algunas de las más importantes:
•Acceso a Memoria: acceso a la memoria o transferencia de información entre registros.
•Operaciones Aritméticas: operaciones tales como suma, resta, división o multiplicación.
•Operaciones Lógicas: operaciones tales como Y, O, NO, NO EXCLUSIVO, etc.
•Control: controles de secuencia, conexiones condicionales, etc.
Elaborado por: Ing. Víctor Valencia.
Unidad Nº II – Arquitectura de un computador a gran escala
Conjunto de Instrucciones
También llamado repertorio de instrucciones, juego de instrucciones o ISA (del
inglés Instruction Set Architecture, Arquitectura del Conjunto de Instrucciones), es una
especificación que detalla las instrucciones que una CPU de un ordenador puede entender y
ejecutar, o el conjunto de todos los comandos implementados por un diseño particular de
una CPU.
Elaborado por: Ing. Víctor Valencia.
Unidad Nº II – Arquitectura de un computador a gran escala
Ciclo de instrucciones
Los procesadores son máquinas secuenciales, es decir, su funcionamiento se basa
en ejecutar una tras otra las instrucciones contenidas en memoria.
Estas instrucciones, se encuentran contenidas en memoria como una serie de 0 y 1.
El ciclo de instrucción podemos dividirlo en tres partes:
1. Tomar la siguiente instrucción (fetch).
2. Decodificar la instrucción.
3. Ejecutar la instrucción.
Elaborado por: Ing. Víctor Valencia.
Unidad Nº II – Arquitectura de un computador a gran escala
Interrupciones
Las interrupciones son un método del que disponen los dispositivos e incluso los
procesos para hacer notar a la CPU la aparición de alguna circunstancia que requiera su
intervención. De este modo, los dispositivos pueden provocar que la CPU deje por el
momento la tarea que estaba realizando y atienda la interrupción. Una vez atendida, seguirá
con su labor anterior.
Cuando no existían interrupciones, era el procesador el que tenía que estar
continuamente comprobando el estado del dispositivo cuando lo necesitaba.
Elaborado por: Ing. Víctor Valencia.
Unidad Nº II – Arquitectura de un computador a gran escala
Interrupciones
Las computadoras tienen en un sitio conocido de memoria las distintas rutinas de
tratamiento para las diferentes interrupciones. El procesador reconoce la interrupción de la
que se trata y busca en memoria la rutina correspondiente.
Se pueden distinguir dos tipos de interrupciones: interrupciones software e interrupciones
hardware.
Elaborado por: Ing. Víctor Valencia.
Unidad Nº II – Arquitectura de un computador a gran escala
Palabra de estado de programa (PSW)
la palabra de estado o condición de programa almacena información pertinente
sobre el programa que este ejecutándose. Por ejemplo al completarse una función de la ALU
se modifica un conjunto de bit llamados códigos (o señales de condición). Estos bit
especifican si el resultado de una operación aritmética fue 0 o negativo o si el resultado se
desbordó.
Además el PSW contiene bits que hacen posible crear interrupciones, a solicitud de
dispositivos de E/O, o condiciones de error interno.
Elaborado por: Ing. Víctor Valencia.
Unidad Nº II – Arquitectura de un computador a gran escala
Locks (protección)
Son mecanismos para controlar el accesos de los programas, procesos o usuarios a
los recursos definidos por un sistema de computación. Especifican los controles que se
impondrán, y hacer que se hagan cumplir.
Tipos de protección
•Operaciones modo dual; distinción entre operaciones internas de SO(modo monitor) y
operaciones del usuario (modo usuario)
•Protección de E/S
•Protección de Memoria
•Protección de CPU
Elaborado por: Ing. Víctor Valencia.
Unidad Nº II – Arquitectura de un computador a gran escala
Locks (protección)
¿Por qué protección?
•Para mejorar la utilización del sistema, el Sistema de Operación empezó a compartir
recursos del sistema entre varios programas de manera simultánea.
•Con el spooling (trabajos cargados al buffer), un programa puede estar ejecutando
mientras se lleva a cabo E/S para otros procesos.
•Los discos mantienen datos para muchos procesos.
•Multiprogramación coloca muchos procesos en memoria al mismo tiempo.
Elaborado por: Ing. Víctor Valencia.
Unidad Nº II – Arquitectura de un computador a gran escala
Relojes y temporizadores
La mayor parte de los computadores cuenta con relojes y temporizadores de
hardware que realizan 3 funciones principales:
•Dar la hora actual
•Dar el tiempo transcurrido
•Establecer un temporizador para iniciar la operación X en el instante T
El hardware que mide el tiempo e iniciar operaciones se llama temporizador de
intervalos programable.
Elaborado por: Ing. Víctor Valencia.
Fuentes
•http://es.scribd.com/doc/48037208/Arquitectura-basica-de-un-sistema-minimo-de-
computadora
•http://es.wikipedia.org/wiki/Arquitectura_de_von_Neumann
•http://latecladeescape.com/articulos/1518-arquitectura-de-von-neumann-y-
arquitectura-harvard
•http://es.wikipedia.org/wiki/Direcci%C3%B3n_de_memoria
•http://elpuig.xeill.net/Members/vcarceler/c1/didactica/apuntes/ud2/na1
•http://mimosa.pntic.mec.es/~flarrosa/raton.pdf
Elaborado por: Ing. Víctor Valencia.
top related