viernes, 2 de noviembre de 2012

Tutorial del SIMULADOR DE MIPS – QTSPIM


SIMULADOR DE MIPS – QTSPIM
1. INTRODUCCIÓN
Una vez instalado el programa QtSpim, procederemos a realizar un pequeño ejemplo, de la utilidad que nos ofrece este software




Aki les dejo el tutorial en formato PDF.

https://dl.dropbox.com/u/98042137/QTSPIM.rar

martes, 30 de octubre de 2012

SISTEMAS DE ARCHIVOS VIRTUALES



Un sistema de archivos virtual (VFS) es una capa de abstracción encima de un sistema de archivos más concreto, es decir que es una interfaz que proporciona el Sistema Operativo para el acceso a los sistemas de archivos, es por eso que puede manejar diversos sistemas de archivos. “El secreto para toda esta versatilidad es el uso del VFS o Virtual File System, un divisor de aguas entre el sistema de archivos y el kernel y los programas” (Duran, 2006, Pág. 231). El propósito de una VFS es permitir que las aplicaciones cliente tengan acceso a diversos tipos de sistemas de archivos concretos de una manera uniforme. “La función del VFS es asumir toda la parte administrativa, traduciendo vía software, todos los detalles y estructuras del sistema de archivos y entregando solo los datos al kernel, que a su vez, los entrega a los programas.” (Duran, 2006, Pág. 231). Entonces podemos decir que es un sistema de archivos virtual que posibilita que los recursos de datos reales como un archivo de contenido, recursos de datos virtuales, etc. Sean accedidos a través de una raíz única.


IMPLEMENTACIÓN

Uno de los primeros mecanismos virtuales del sistema de archivos dentro de los sistemas UNIX-LIKE fue introducido por Sun Microsystems en SunOS 2.0 del año 1985. Esto permitió que las llamadas del sistema UNIX  tuvieran acceso a sistemas de archivos locales UFS y a sistemas de archivos remotos NFS transparentemente.

El mecanismo del sistema de archivos en espacio de usuario Fuse Linux permite que el código de espacio de usuario se acople en el mecanismo del sistema de archivos virtual en GNU/Linux, FreeBSD, de OpenSolaris, y MAC OS X.

En Windows, los sistemas de archivos virtuales pueden también implementarse a través de las extensiones de consola de nombre de usuario en espacio de usuario, sin embargo, no soportan las interfaces de programación de aplicaciones del sistema de bajo nivel de acceso de archivos, de modo que no todas las aplicaciones serán capaces de acceder sistemas de archivos que se hayan implementado como extensiones de nombre de usuario.

“Cuando realizamos una llamada al sistema de archivos, bien sea desde una aplicación o desde una línea de comandos, la interfaz que utilizamos es la que nos suministra el VFS. El VFS recibe la llamada, mira cual es el tipo de sistema de archivos al que va dirigida y le pasa la llamada, pero con el formato o interfaz del sistema de archivos de destino.” (Maciá, 2008, Pág. 253).


BIBLIOGRAFÍA

  • Lluis Duran Rodríguez, Ampliar, Configurar y reparar su Pc (2006).

  • Francisco Maciá Pérez, D Marcos Jorquera,  Administración de servicios de internet: De la teoría a la práctica (2008).





sábado, 20 de octubre de 2012

ARQUITECTURA Y MICROARQUITECTURA


Para entender mejor la diferencia empezaremos primero definiendo que es:

ARQUITECTURA
La arquitectura de computadoras es el diseño conceptual de una 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 (UCP) trabaja internamente y accede a las direcciones de memoria.
Entre los atributos de la Arquitectura se encuentra el definir el juego de instrucciones, el número de tipos de datos que acepta la máquina y el número de bits para representarlos, además de las formas en que se pueden direccionar a memoria, pero principalmente se ve los aspectos que influyen directamente en el programador de bajo nivel.


MICROARQUITECTURA

En computación, una microarquitectura es una descripción del circuito eléctrico de una computadora, de la unidad central de proceso o del procesador digital de señal, que es suficiente para describir completamente el funcionamiento del hardware , la microarquitectura, también llamada como organización de la computadora, es la manera que una arquitectura del conjunto de instrucciones (ISA) es implementada por el procesador. En ámbitos académicos, suele emplearse el término "organización de la computadora", mientras que en la industria de la computación suele utilizarse el término microarquitectura. Ambas palabras son sinónimos. La microarquitectura y la arquitectura de conjunto de instrucciones constituyen la arquitectura de computadora.
En computación

Un ISA dado puede ser implementado con diferentes microarquitecturas. Las implementaciones pudieran variar debido a diferentes objetivos de un diseño dado o debido a los cambios en la tecnología. La arquitectura de computadora es la combinación del diseño determinado de la microarquitectura y del conjunto de instrucciones.

TRADEOFFS

El concepto trade-off tiene difícil denominación en español. Significa gestión de situaciones en que aparecen efectos contrapuestos; pero en computadoras nos referimos al periodo desarrollado de una logística que trata particularmente del ciclo pedido-entrega, servicio al cliente y sistema logístico, tradeoff es un criterio de desempeño, que evalúa a la arquitectura de una determinada compudatdora, con respecto a su tecnología empleada. Los principales aspectos que se toman son los de capacidad y velocidad. 

UNIFICACIÓN DEL SET DE INSTRUCCIONES

Un set de instrucciones son unas especificaciones que detalla las instrucciones que una CPU de un ordenador pueda entender y ejecutar, o al conjunto de comandos implementados por un diseño particular de un CPU.

VENTAJAS y DESVENTAJAS
Una de las vantajas que se puede obserbar es que estas arquitecturas siguen cresiendo de manera repida y con costos cada ves mas bajos esto nos facilita la avolucion de la arquitectura ya que si no no abria posibilidades de aumentar mas el desarrollo de las arquitecturas.

DIFERENCIAS ENTRE ARQUITECTURA Y MICROARQUITECTURA

 En computación, una microarquitectura es una descripción del circuito eléctrico de una computadora, de la unidad central de proceso o del procesador digital de señal, que es suficiente para describir completamente el funcionamiento del hardware.

En ámbitos académicos, suele emplearse el término "organización de la computadora", mientras que en la industria de la computación suele utilizarse el término microarquitectura. Ambas palabras son sinónimos.

La microarquitectura y la arquitectura de conjunto de instrucciones constituyen la arquitectura de computadora.

Microarquitectura vs. arquitectura de conjunto de instrucciones

La microarquitectura debe distinguirse de la arquitectura de conjunto de instrucciones. Esta última es una imagen abstracta de un sistema de computación como sería visto por un programador en lenguaje máquina, e incluye el conjunto de instrucciones, modos de dirección de memoria, registros del procesador, y formatos de direcciones y datos.

La microarquitectura, en cambio, es de nivel más inferior, más concreto. Muestra las partes constituyentes del sistema y cómo se interconectan e interoperan, para así implementar la especificación de arquitectura.

Diferentes máquinas podrían tener una misma arquitectura de conjunto de instrucciones, y así ser capaces de ejecutar los mismos programas, sin embargo pueden tener diferentes microarquitecturas.

Estas diferentes microarquitecturas (junto con los avances en las tecnologías de fabricación de semiconductores) son las que permiten nuevas generaciones de procesadores que permiten alcanzar mejores niveles de performance comparadas con las generaciones previas. En teoría, una única microarquitectura (especialmente si ésta incluye microcódigo) podría ser usada para implementar dos conjuntos de instrucciones diferentes, por la programación de dos almacenes de control diferentes (el almacén de control almacena el microprograma del CPU).

Representación de una microarquitectura

La microarquitectura de una máquina, generalmente es representada empleando un digrama de bloques que describe las interconexiones entre registros, buses y bloques funcionales de la máquina. Esta descripción incluye el número de unidades de ejecución, el tipo de las unidades de ejecución (como punto flotante, entero, SIMD, etc.), la naturaleza del pipelining, el diseño de la memoria caché y el soporte de periféricos.

El esquema físico del circuito, las construcciones de hardware y otros detalles físicos son llamados implementación

Ejemplo de una miroarquitectura de AMD

Resumen de la arquitectura y microarquitectura
  • Arquitectura
    • Recursos accesibles para el programador
      • Registros
      • Set de instrucciones
      • Estructuras de memoria (descriptores de segmento, de pagina, etc.)
    • Estos recursos se mantienen y evolucionan a lo largo de los diferentes modelos de procesadores de esa arquitectura
  • Micro Arquitectura
    • Implementacion en el silicio de la arquitectura.
    • Es lo que hay detr ´as del set de registros y del modelo de programacion
    • Puede ser muy simple o sumamente compleja.
  • La arquitectura IA-32 se inicia con el procesador 80386 en 1985 y llega hasta el procesador Intel que actualmente se comercializa.
  • Esto se traduce en diferentes generaciones de Micro-Arquitectura para mas de 15 modelos de procesadores.
TRADEOFF
Consiste en la busqueda racional de equilibrio entre factores contrapuestos de costo y servicio en condiciones tecnologicas continuamente variables. En otras palabras es el balance adecuado en el uso de dos o mas recursos.
Trade-off se refiere, generalmente, a perder un tipo de cualidad, pero ganando otro tipo de cualidad. Esto implica que una decisión es tomada teniendo bien en cuenta que tiene tanto un lado bueno como un lado ruin.
Un ejemplo de trade-off es en el juego de ajedrez, donde jugadores de nivel avanzado crean, en el comienzo de la partida, sacrificando peones para la obtención de mejor calidad en el juego, como por ejemplo, movilidad entre las piezas, teniendo como consecuencia un buen desempeño a lo largo del juego.


SET DE INSTRUCCIONES
Es el conjunto completo de instrucciones, y todas sus variantes, que un procesador puede ejecutar.
Las instrucciones incluyen:
  • Aritmética (suma, resta).
  • Instrucciones lógicas (and, or, not). 
  • Instrucciones de datoscomo mover (move), entrada (input), salida (output), cargar (load), y almacenar (store). 
  • Instrucciones de control de flujo como goto, if, call y return.
En general la instrucciones de los microcontroladores pueden clasificarse como:
CISC:
Complex Instruction Set Computer
Juego de Instrucciones Complejo, mas de 80 instrucciones
RISC
Reduced Instruction Set Computer
Juego de Instrucciones Reducido, unas 35 instrucciones. Los microcontroladores PICmicro son de este tipo.
SISC
Specific Instruction Set Computer
Juego de Instrucciones Especifico.



 BIBLIOGRAFIA
  •  ALEGSA. (2012). ALEGSA . Recuperado el 2012, de http://www.alegsa.com.ar/Dic/conjunto%20de%20instrucciones.php
  •  Capitulo Estudiantil CSCMP. (2010). Recuperado el 20 de octubre de 2012, de http://www.azc.uam.mx/alumnos/tradeoff/secundarias/nombre.htm
  • Hennessy, J.L., & Patterson, D.A. 2003. Computer Architecture. A Quantitative Approach. 3 edn.
    Morgan Kaufmann Publishers.
     
  • Electronicaestudio. (2008). Obtenido de http://www.electronicaestudio.com/docs/instrucciones_1.pdf
  • Wikipedia. (09 de octubre de 2012). Recuperado el 20 de octubre de 2012, de http://es.wikipedia.org/wiki/Trade-off

    OBS: Elaborado por Keven Renato Delgado Pinto