domingo, 28 de enero de 2018

1.1 Modelos de arquitecturas de computo


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.

Resultado de imagen para Entrada y salida mediante interruptores

 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.

Resultado de imagen para acceso a memoria




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

3 comentarios:

  1. falta más información sobre el tema

    ResponderEliminar
  2. Buen enfoque, pero necesita un poco más de información sobre el tema

    ResponderEliminar
  3. Es bastante información , bien clasificada , me han apoyado bastante con mi tarea de la universidad , visitare sus demás entradas ya que llevo un curso similar y me interesa.

    ResponderEliminar