Sistema computacional (arquitecturas y memorias)

36
Sistema computacional (Arquitecturas y Memorias) Msc. Ing. Jairo E. Márquez D.

Transcript of Sistema computacional (arquitecturas y memorias)

Sistema computacional (Arquitecturas y Memorias)

Msc. Ing. Jairo E. Márquez D.

Estructura de un sistema computacional

Un sistema computacional es una plataforma sobre la cual se construyen los llamados sistemas de información, hoy en día, necesarios para la administración exitosa de cualquier organización.

Un sistema de computación puede dividirse en cuatro componentes: • Hardware • Sistema operativo • Programas de aplicación • Usuarios

• El hardware, conformado por la Unidad Central de Procesamiento (CPU), la memoria y dispositivos de entrada/salida (E/S), proporcionan los recursos de computación básicos.

• Los programas de aplicación definen la forma en que estos recursos se emplean para resolver los problemas de computación de los usuarios.

• Se pueden dividir en programas de sistemas como compiladores, assembler, editores, herramientas de monitoreo y mantención; y en aplicaciones propiamente dichas como sistemas de bases de datos, juegos de video, programas para negocios, navegadores, etc.

• El sistema operativo se encuentra almacenado en la memoria secundaria.

• Primero se carga y ejecuta un fragmento de código que se encuentra en el procesador, el cual carga el BIOS, y este a su vez carga el SO que carga todos los programas de aplicación y software variado.

• Como la función principal de un SO es aliviar las tareas de entrada y salida de un sistema computacional. También implica los mecanismos de protección que provee la CPU para el SO.

Operación de un sistema computacional

• Un sistema computacional consiste en una CPU y un número de dispositivos que tienen acceso a una memoria común vía un bus de interconexión.

• Los controladores de dispositivos se encargan de determinados dispositivos: discos, audio, mouse, módem, etc.

• La CPU y los dispositivos pueden actuar en forma concurrente. Sólo compiten por el acceso a la memoria que es común.

• El controlador de memoria provee un acceso sincronizado a la memoria RAM.

Partida • En la partida se necesita un programa inicial. Este programa se llama bootstrap.

• El bootstrap inicializa todo el sistema: registros de CPU, controladores de dispositivos, memoria, etc.

• El primer proceso que ejecuta el S.O. Se llama init. Init espera la ocurrencia de algún evento.

Interrupciones • Una interrupción es un evento que altera la secuencia en

que el procesador ejecuta las instrucciones.

• La interrupción es generada por el hardware del sistema de cómputo.

• El sistema de interrupciones es una parte muy importante de la arquitectura de un computador.

• Los SOs modernos son sistemas que reaccionan ante interrupciones, es decir, si no hay E/S, ni procesos ejecutándose, el SO está quieto y atento a que ocurra alguna interrupción.

Arquitectura de von Neumann • Los sistemas con microprocesadores se basan en esta arquitectura,

en la cual la unidad central de proceso (CPU), está conectada a una memoria principal única (casi siempre sólo RAM) donde se guardan las instrucciones del programa y los datos.

• A dicha memoria se accede a través de un sistema de buses único (control, direcciones y datos).

• El tamaño de la unidad de datos o instrucciones está fijado por el ancho del bus que comunica la memoria con la CPU.

• Así un microprocesador de 8 bits con un bus de 8 bits, tendrá que manejar datos e instrucciones de una o más unidades de 8 bits (bytes) de longitud.

El tener un único bus hace que el microprocesador sea más lento en su respuesta, ya que no puede buscar en memoria una nueva instrucción mientras no finalicen las transferencias de datos de la instrucción anterior.

• La limitación de la longitud de las instrucciones por el bus de datos, que hace que el microprocesador tenga que realizar varios accesos a memoria para buscar instrucciones complejas.

• La limitación de la velocidad de operación a causa del bus único para

datos e instrucciones que no deja acceder simultáneamente a unos y otras, lo cual impide superponer ambos tiempos de acceso

• Unidad aritmético lógica (ALU, Arithmetic-Logic Unit) es el dispositivo diseñado y construido para llevar a cabo las operaciones aritméticas y lógicas (and, or, NO), y operaciones de comparación o relacionales. En esta unidad es en donde se hace todo el trabajo computacional.

• Unidad de control (UC) sigue la dirección de las posiciones en memoria que contienen la instrucción que el computador va a realizar en ese momento; recupera la información poniéndola en la ALU para la operación que debe desarrollar. Transfiere luego el resultado a ubicaciones apropiadas en la memoria.

• Registros: de datos, de memoria, registros constantes, de coma flotante, de propósito general, de propósito específico.

CPU, Central Processing Unit. Consta de los siguientes tres elementos:

La arquitectura Von Neumann realiza o emula los siguientes pasos secuencialmente:

1) 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. 2) Aumenta el contador de programa en la longitud de la instrucción para apuntar a la siguiente.

3) Descodifica 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.

4) Se ejecuta la instrucción. Ésta puede cambiar el valor del contador del programa, permitiendo así operaciones repetitivas. 5) Regresa al paso N° 1.

• Un procesador hardware extrae sucesivamente de la memoria principal las instrucciones que forman un programa y las va decodificando, interpretando y ejecutando.

• Un procesador hardware tiene, como mínimo, dos modos de funcionamiento: modo supervisor y modo usuario.

Skylake-S , Kaby Lake-S, U

• Cuando está en modo usuario no permite ejecutar ciertas operaciones.

• Si un programa contiene una instrucción que implica alguna de esas operaciones y se ejecuta en modo usuario, al llegar a esa instrucción el procesador aborta la ejecución de ese programa y pasa al modo supervisor.

Arquitectura Harvard Este modelo utiliza los Microcontroladores PIC, tiene la unidad central de proceso (CPU) conectada a dos memorias (una con las instrucciones y otra con los datos) por medio de dos buses diferentes.

Ambos buses son totalmente independientes lo que permite que la CPU pueda acceder de forma independiente y simultánea a la memoria de datos y a la de instrucciones.

Una de las memorias contiene solamente las instrucciones del programa (Memoria de Programa), y la otra sólo almacena datos (Memoria de Datos).

• Como los buses son independientes estos pueden tener distintos contenidos en la misma dirección y también distinta longitud.

• También la longitud de los datos y las instrucciones puede ser distinta, lo que optimiza el uso de la memoria en general.

Ventajas de esta arquitectura:

• El tamaño de las instrucciones no está relacionado con el de los datos, y por lo tanto puede ser optimizado para que cualquier instrucción ocupe una sola posición de memoria de programa, logrando así mayor velocidad y menor longitud de programa.

• El tiempo de acceso a las instrucciones puede superponerse con el de los datos, logrando una mayor velocidad en cada operación.

Memorias • Es el dispositivo que retiene, memoriza o

almacena datos informáticos durante algún intervalo de tiempo.

• La memoria proporciona una de las principales funciones de la computación moderna: el almacenamiento de información y conocimiento.

• Es uno de los componentes fundamentales de la computadora, que interconectada a la CPU y los dispositivos de entrada/salida, implementan lo fundamental del modelo de computadora de la arquitectura de von Neumann.

En la actualidad, la memoria suele referirse a una forma de almacenamiento de estado sólido, conocida como memoria RAM (memoria de acceso aleatorio; RAM, random access memory)

Comparación de tecnologías de memoria

• La memoria principal es la que alberga los programas en ejecución, y para su implementación se hace necesario combinar varias tecnologías de memoria.

• Para que el procesador no tenga que esperar, la memoria principal debe ser obligatoriamente de acceso aleatorio y, a ser posible, que tenga un tiempo de acceso compatible con la velocidad del procesador.

• La memoria más rápida y más cercana al procesador, implementada actualmente con tecnología SRAM, se llama memoria cache.

Los demás buses son estándares: PCI (Peripheral Component Interconnect), PCIe (PCI Express), USB (Universal Serial Bus), SATA (Serial Advanced Technology Attachment) y LPC (Low Pin Count).

Conexión de periféricos mediante buses

• Tanto la memoria principal como la cache son volátiles, son de lectura y escritura y acceso aleatorio y en ambas se puede acceder a un byte o a varios bytes (una «palabra») en una sola operación.

• Se llama espacio de direccionamiento al conjunto de direcciones generado por un procesador al ejecutar un programa.

Memorias secundarias • En la memoria secundaria se guardan

todos los programas, estén en ejecución o no.

• Emplea una tecnología de lectura y escritura no volátil, para que los programas permanezcan sin necesidad de alimentación eléctrica.

• Lo idóneo es la tecnología de discos magnéticos, aunque en algunos equipos se sustituyen por memorias flash (SSD, Solid State Disks).

Memorias terciarias • Son aquellas cuyo

almacenamiento no está conectados permanentemente y que precisa de una intervención humana (insertar un CD/DVD, USB, Micro), o bien de un sistema robótico (en grandes archivos digitales).

• La tecnología más común para grandes volúmenes de datos es la de cintas magnéticas.

Jerarquía de memorias • La primera puede resolverse mediante

hardware, con las caches, pero para la segunda no hay una tecnología disponible.

• Un candidato actualmente es flash, pero sigue habiendo una brecha (menor) y tiene algunos inconvenientes (ser más lenta en escritura y tener un número máximo alto pero limitado de escrituras).

• La solución es mediante software: una cache de disco, que consiste en tener copiadas en zonas de la memoria principal las partes más utilizadas del disco.