Arquitecturas de computo clásicas
Consiste en una unidad central de proceso que se comunica a través de un
solo bus con un banco de memoria en donde se almacenan tanto los códigos de
instrucción del programa, como los datos que serán procesados por este.
Esta arquitectura es la más empleada en la actualidad ya, que es muy
versátil.
El modelo clásico de arquitectura de computadoras fué diseñado por JhonVon Newman
Constan de una unidad de procesamiento que contiene
una unidad aritmético lógica y registros del procesador, una unidad de control
que contiene un registro de instrucciones y un contador de programa, una
memoria para almacenar tanto datos como instrucciones, almacenamiento
masivo externo, y mecanismos de entrada y salida.
Las principales limitaciones que nos encontramos con la arquitectura
Von Neumann son:
- 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
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.
Arquitectura Harvard. Es una arquitectura de computadora con
pistas de almacenamiento y de señal físicamente separadas para las
instrucciones y para los datos. El término proviene de la computadora Harvard
Mark I basada en relés, que almacenaba las instrucciones sobre cintas
perforadas (de 24 bits de ancho) y los datos en interruptores
electromecánicos. Estas primeras máquinas tenían almacenamiento de datos
totalmente contenido dentro la unidad central de proceso, y no proporcionaban
acceso al almacenamiento de instrucciones como datos. Los programas necesitaban
ser cargados por un operador; el procesador no podría arrancar por sí mismo.
El PIC16FXXX cuenta con un bus de datos de 14-bits para acceder a la memoria
de programas y un bus independiente de 8-bits para acceder a la memoria de
datos. Esto mejora el ancho de banda en relación a la arquitectura tradicional
de Von-Neumann, en la cual en la cual memoria de programa y la memoria de datos
son accedidas a través del mismo bus.
Esta arquitectura ofrece la posibilidad de poder acceder a una sola
instrucción en un ciclo de reloj. Mientras la memoria de programa es accedida
la memoria de datos está en un bus independiente y puede ser leída y escrita.
Esta separación de buses permite que una instrucción sea ejecutada mientras la
siguiente es extraída.
Ventajas de esta arquitectura:
* El tamaño de las instrucciones no
esta 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.
Arquitectura de computo segmentada
La arquitectura en pipeline (basada en filtros) consiste en ir transformando un flujo de datos en un proceso comprendido por varias fases secuenciales, siendo la entrada de cada una la salida de la anterior. Esta arquitectura es muy común en el desarrollo de programas para el intérprete de comandos, ya que se pueden concatenar comandos fácilmente con tuberías (pipe). También es una arquitectura muy natural en el paradigma de programación funcional, ya que equivale a la composición de funciones matemáticas. La arquitectura pipe-line se aplica en dos lugares de la maquina, en la CPU y en la ALU.
Esta arquitectura es similar al uso de una cadena de montaje en una fábrica de manufacturación. Una cadena de montaje saca partida del hecho de que el producto pasa atreves de varias etapas de producción. Extendiendo el proceso de producción de una cadena de montaje se puede trabajar sobre los productos en varias etapas como segmentación porque como en una tubería o cause en un extremo nuevo entradas se aceptan antes de que algunas entradas aceptadas con anterioridad aparezcan como salidas en el otro extremo.
Pipeline
Pipeline o tubería es un conjunto de elementos procesadores de datos conectados en serie en donde la salida de un elemento es la entrada del siguiente. Los elementos de pipeline son generalmente ejecutados en paralelos, en esos casos, debe haber un almacenamiento tipo buffer insertado entre elementos.
Arquitectura de computadora Multiprocesos
Un multiprocesador puede verse como un computador paralelo compuesto por varios procesadores interconectados que comparten un mismo sistema de memoria.
Los sistemas multiprocesadores son arquitecturas MIMD con memoria compartida. Tienen un único espacio de direcciones para todos los procesadores y los mecanismos de comunicación se basan en el paso de mensajes desde el punto de vista del programador.
Dado que los multiprocesadores comparten diferentes módulos de memoria, pudiendo acceder a un mismo módulo varios procesadores, a los multiprocesadores también se les llama sistemas de memoria compartida
.
Dependiendo de la forma en que los procesadores comparten la memoria, se clasifican en sistemas multiprocesador UMA, NUMA y COMA.
Multiproceso
Multiproceso es tradicionalmente conocido como el uso de múltiples procesos concurrentes en un sistema en lugar de un único proceso en un instante determinado. Como la multitarea que permite a múltiples procesos compartir una única CPU, múltiples CPUs pueden ser utilizados para ejecutar múltiples hilos dentro de un único proceso.
1.2 Análisis de componentes
Además de las Arquitecturas clásicas mencionadas anteriormente, en la actualidad han aparecido Arquitecturas híbridas entre la Von Newman y la Harvard, buscando conservar la flexibilidad, pero mejorando el rendimiento.Esta escuela pretende aplicar un enfoque totalmente distinto al tradicional hasta entonces, que pasó a conocerse como computadoras de conjunto complejo de instrucciones (CISC) para diferenciarla de la nueva tendencia.Se implementan instrucciones especiales que realizan funciones complejas, de manera que un programador puede encontrar con seguridad, una instrucción especial que realiza en hardware la función que el necesita.
CISC vs RISC
Considere los siguientes fragmentos de programas:
El total de ciclos de reloj para la versión cisc debe ser:
(2 movs * 1 ciclo) +(1 mul * 30 ciclos) = 32 ciclos
El total de ciclos de reloj para la version risc debe ser:
(3 movs * 1 ciclo) +(5 adds * 1 ciclo)+(5 loops *1 ciclo) = 13 ciclos
Memoria:
La Memoria: existen diferentes tipos de memoria, que básicamente son dispositivos de almacenamiento, entre las más conocidas están:
RAM:(Random Acces Memory) es una memoria de tipo aleatoria es decir en cuanto se apaga el computador esta borra toda la información que se habia guardado, además de que solo guarda instrucciones dadas a la maquina.
ROM: (Read Only Memory) es la memoria fija, es de solo lectura y es capaz de almacena r cualquier información.
Cache: Es una memoria virtual que guarda el registro de las instrucciones ordenadas más frecuentemente a la maquina.
Los módulos de entrada y salida están conectados con el procesador y la memoria principal, y cada uno controla uno o más dispositivos externos. La arquitectura de E/S es su interfaz con el exterior, esta arquitectura se diseña de manera que permita una forma sistemática de controlar las interacciones con el mundo exterior y proporcione al sistema operativo la información que necesita para gestionar la actividad de E/S.
Hay tres técnicas de E/S principales:
Entrada/Salida Programada
Se produce bajo el control directo y continuo del programa que solicita la operación de E/S. tanto en la entrada y salida programada como con interrupciones, el procesador es responsable de extraer los datos de la memoria en una salida, y almacenar los datos en la memoria principal. El problema con la E/S es que el procesador tiene que esperar un tiempo considerable hasta que el modulo en cuestión esté preparado para recibir o transmitir datos
Entrada y salida mediante interruptores
El programa genera una orden de E/S y después continúa ejecutándose hasta que el hardware lo interrumpe para indicar que la operación ha concluido. La entrada y salida con interrupciones, aunque es más eficiente que la sencilla, también requiere la intervención activa del procesador para transferir los datos entre la memoria y el módulo de E/S.
Acceso directo a memoria
Un procesador de E/S específico toma el control de la operación para transferir un bloque de datos. El módulo DMA(Acceso Directo a Memoria) es capaz de imitar al procesador y, de hecho, es capaz de transferir datos desde memoria a través del bus del sistema. El módulo DMA debe utilizar el bus solo cuando el procesador no lo necesita, o debe forzar al procesador a que suspenda temporalmente su funcionamiento. Un módulo de E/S no es únicamente un conector mecánico que permite enchufar el dispositivo al bus del sistema, sino que además, está dotado de inteligencia, es decir, contiene la lógica necesaria para permitir la comunicación entre el periférico y el bus.
Para su mayor comprensión puede
ver:
Enlaces para la mayor compresión del tema:
https://es.wikipedia.org/wiki/Arquitectura_de_computadoras
http://rvazquez.org/Misitio/Arquitectura_de_Computadoras_files/CPU.pdf
https://prezi.com/-gatekoi_iha/arquitectura-de-computadoras-segmentadas/
http://wiki.inf.utfsm.cl/index.php?title=Estructura_de_I/O
Sandra Lizbeth Pérez Almaguer , Jovani Reyes Benitez , Itsoeh 2018 , ING. en TICS
Enlaces para la mayor compresión del tema:
https://es.wikipedia.org/wiki/Arquitectura_de_computadoras
http://rvazquez.org/Misitio/Arquitectura_de_Computadoras_files/CPU.pdf
https://prezi.com/-gatekoi_iha/arquitectura-de-computadoras-segmentadas/
http://wiki.inf.utfsm.cl/index.php?title=Estructura_de_I/O
Sandra Lizbeth Pérez Almaguer , Jovani Reyes Benitez , Itsoeh 2018 , ING. en TICS