sábado, 29 de agosto de 2009

los lenguajes de descripcion de hardware VHDL, PLD, FPGA.



Características.

VHDL: Es un lenguaje de descripción de hardware para circuitos integrados de muy alta velocidad, utilizado por el departamento de defensa de estados unidos y universidades.•



VHDL: Es un lenguaje de simulación discreto para sistemas discretos, un modelo VHDL de un sistema de hardware es visto como un conjunto de procesos concurrentes que se ejecutan asincrónicamente de acuerdo a los eventos y las señales.



VHDL: Soporta el modelamiento de sistemas digitales con diferentes niveles de abstracción, desde el nivel de sistema hasta el nivel de compuertas.Un proceso contiene un conjunto de declaraciones que son ejecutados en la secuencia dada, una vez que el proceso es iniciado por alguna señal.•Una señal es un objeto VHDL que representa una forma de onda de tiempo discreto, cuya amplitud podría tomar un valor de una determinada cantidad de valores.



El evento de una señal esta determinado para que ocurra cuando el valor de la señal cambia. Declaraciones de procesos son por si mismas declaraciones concurrentes que no necesitan ser dadas en algún orden específico.•Declaraciones secuenciales se emplean para describir aspectos algorítmicos de sistemas de hardware, mientras que las declaraciones concurrentes se emplean para describir el comportamiento que los sistemas de hardware presentan por naturaleza.



VHDL permite encapsular comportamientos dentro de estructurasCaracterísticas del FPGA. Muchos FPGA modernos soportan la reconfiguración parcial del sistema, permitiendo que una parte del diseño sea reprogramada, mientras las demás partes siguen funcionando.

- Fácilidad en la reconfiguración.

- Rápido tiempo para el desarrollo.

- Proveen soluciones más baratas y más.

- Flexibles que los ASICs.

- Programables en el campo.

- Hardware fácilmente modificable.

- Suficientemente flexible para acomodar varias tarea.

- Hardware personalizado.

- Circuitos eléctricos de propósito específico.

- Procesamiento paralelo.

- Buses personalizados.

- Tiempo real es posible.

- En general las FPGA son más baratas y de mayor capacidad.



Características de los PLD.

- La mayoría de los PLDs están formados por una matriz de conexiones, una matriz de compuertas AND, y una matriz de compuertas OR y algunos, además, con registros.

- Son recomendables en aplicaciones donde se requieran muchos ciclos de sumas de productos.

- Permiten implementar sistemas más eficaces, ya que utilizan menor espacio, mejoran la fiabilidad del diseño, y reducen costos.

- Un PLD se forma con múltiples bloques lógicos, cada uno similar a un CPLD.

- Los bloques lógicos se comunican entre sí utilizando una matriz programable de interconexiones, lo cual hace más eficiente el uso del silicio, conduciendo a una mejor eficiencia a menor costo.



Fuente:

http://es.edaboard.com/forum75.html



http://es.wikipedia.org/wiki/FPGA

viernes, 28 de agosto de 2009

Tarea 3 Sistema Numerico



SISTEMA OCTAL



El sistema numérico en base 8 se llama octal y utiliza los dígitos 0 a 7.



Por ejemplo, el número binário para 74 (en decimal) es 1001010 (en binario), lo agruparíamos como 1 001 010. De modo que el número decimal 74 en octal es 112.En informática, a veces se utiliza la numeración octal en vez de la hexadecimal. Tiene la ventaja de que no requiere utilizar otros símbolos diferentes de los dígitos. Sin embargo, para trabajar con bytes o conjuntos de ellos, asumiendo que un byte es una palabra de 8 bits, suele ser más cómodo el sistema hexadecimal, por cuanto todo byte así definido es completamente representable por dos dígitos hexadecimales. Es posible que la numeración octal se usara en el pasado en lugar del decimal, por ejemplo, para contar los espacios interdigitales o los dedos distintos de los pulgares.




La numeración octal es tan buena como la binaria y la hexadecimal para operar con fracciones, puesto que el único factor primo para sus bases es 2. Todas las fracciones que tengan un denominador distinto de una potencia de dos tendrán un desarrollo octal periódico.








Sistema Hexadecimal.




El sistema hexadecimal, a veces abreviado como hex, es el sistema de numeración posicional de base 16 —empleando por tanto 16 símbolos—. Su uso actual está muy vinculado a la informática y ciencias de la computación, pues los computadores suelen utilizar el byte u octeto como unidad básica de memoria; y, debido a que un byte representa 28 valores posibles, y esto puede representarse como , que, según el teorema general de la numeración posicional, equivale al número en base 16 10016, dos dígitos hexadecimales corresponden exactamente —permiten representar la misma línea de enteros— a un byte.








En principio dado que el sistema usual de numeración es de base decimal y, por ello, sólo se dispone de diez dígitos, se adoptó la convención de usar las seis primeras letras del alfabeto latino para suplir los dígitos que nos faltan. El conjunto de símbolos sería, por tanto, el siguiente:Se debe notar que A = 10, B = 11, C = 12, D = 13, E = 14 y F = 15. En ocasiones se emplean letras minúsculas en lugar de mayúsculas. Como en cualquier sistema de numeración posicional, el valor numérico de cada dígito es alterado dependiendo de su posición en la cadena de dígitos, quedando multiplicado por una cierta potencia de la base del sistema, que en este caso es 16. Por ejemplo: 3E0,A16 = 3×162 + E×161 + 0×160 + A×16-1 = 3×256 + 14×16 + 0×1 + 10×0,0625 = 992,625.El sistema hexadecimal actual fue introducido en el ámbito de la computación por primera vez por IBM en 1963.




















Fuente:












http://es.wikipedia.org/wiki/Sistema_octal

jueves, 27 de agosto de 2009

Impacto de la computación en México

la sociedad
La vida fluye día con día, a veces sin percatarnos de todo lo que con ella viene. Para algunos, saludarnos y darnos un beso de buenos días, es el alimento de nuestra alma para proseguir; para otros, el tener un buen empleo, buena posición económica y una familia, es suficiente y para otros más, es el saber que podemos estar cerca de los nuestros con el simple click de un mouse de computadora. Para todos y cada uno de nosotros, las prioridades las tenemos establecidas y eso es un aspecto que no podemos juzgar. Sin embargo, no podemos negar que la influencia de la computacion ha cambiado invariablemente nuestra percepción de la vida.

El presente escrito busca la sensibilización del lector ante las ventajas y desventajas que se nos presentan al adoptar la utilización de las tecnologías en nuestra vida diaria y profesional, en especial del uso de lo que se denomina “correo electrónico” a través de una computadora.

Ventajas y desventajas son los adjetivos que utilizaré para determinar el impacto de la tecnología en nuestra vida, en donde debe existir un equilibrio que ubique al hombre y a ésta en el lugar correcto, considerando las creencias, habilidades, ideologías, actitudes, conflictos, luchas sociales, en conjunto, la cultura en donde se desenvuelve el hombre. Muchos se preguntarán, ¿qué cultura? ¿No estamos en un proceso de globalización? ¿Que no se supone que todos pertenecemos a una aldea global? Pero, ¿qué busca esta aldea global?

Educacion y la sociedad

Nuestra intención es que un mayor y más diverso número de mexicanos adquiera habilidades informáticas y que las escuelas incorporen el uso intensivo de herramientas tecnológicas de calidad, las cuales permitan a los profesores y a los estudiantes acceder a un mundo de oportunidades que hasta hace algunos años resultaba inimaginable.

Por lo anterior, entregamos a entidades especializadas licencias de software gratuitas y/o de bajo costo y contribuimos al entrenamiento en el uso de las herramientas tecnológicas, con el fin de optimizar el proceso de enseñanza-aprendizaje. Sabemos que la tarea es extensa y ardua, por eso trabajamos en ámbitos tan diversos como las escuelas públicas, las comunidades de escasos recursos, las áreas de sistemas de las universidades y el mundo de los desarrolladores de software y expertos en la materia. Por ejemplo, creamos herramientas avanzadas para la enseñanza de ciertas materias, como las matemáticas; desarrollamos una academia en línea con una metodología de enseñanza-aprendizaje que promueve la actualización constante y la certificación que eleva la posibilidad de obtener empleo a los profesionistas

En México, tan sólo el 12% de las escuelas de educación básica cuentan con computadoras, mientras que en países como Chile este índice alcanza el 70%. La Unión Nacional de Empresarios para la Tecnología en la Educación (UNETE), la primera organización en México que, conjuntamente con Microsoft y otros socios, tiene como misión reducir la brecha digital en las escuelas públicas, dotándolas de computadoras. Microsoft aporta los contenidos para capacitar a los maestros y licencias de software a precios simbólicos. Con estas acciones, se han beneficiado cerca de 50 mil profesores y más de 1.2 millones de estudiantes en 3,608 escuelas públicas.

Millones de niños en México ya pueden viajar por el mundo del conocimiento desde la pequeña biblioteca de su pueblo. Las nuevas generaciones están aprendiendo a conectarse con los grandes centros de la cultura mundial para enriquecer su experiencia educativa.


Fuentes:
http://www.razonypalabra.org.mx/anteriores/n38/nbuitron.html
http://www.microsoft.com/mexico/potencialilimitado/citizenship/historias1.aspx

Introducción a la Computadora.

Una computadora es una máquina electrónica capaz de procesar datos y generar un información.

Datos --> Proceso --> Información

Los elementos básicos que forman una computadora son:La unidad central de proceso es el cerebro de la computadora que controla el funcionamiento de los componentes y ejecuta operaciones aritmeticas y lógicas.

La memoria se utiliza para almacenar datos. Existen dos tipos la memoria principal y la memoria auxiliar.La memoria principal permite almacenar y extraer datos en forma temporal, este tipo de memoria es vólatil, es decir trabaja con energia, es una memoria de acceso rápido.

La memoria auxiliar almacena grandes cantidades de datos en forma permanente, estos pueden ser disco magnéticos, disco removibles, flexibles...entre otros.

La unidad de entrada y salida proporciona la interface a la que se conectan los componentes perifericos como el teclado,monitor,impresora, mouse ...etc

Programa de una computadora es un conjunto de instrucciones utilizadas para operar una computadora. Al conjunto de programas de una computadora recibe el nombre de software.

Al proceso de escribir un programa o software se llama programación y al conjunto de instruuciones que se utilizan para hacer un programa se le llama lenguaje ensamblador.

Lenguaje Máquina contiene los códigos binarios que puede ejecutar una computadora. Estos lenguajes se les llama ejecutables.

Lenguaje Ensamblador permite usar nombres simbólicos para las operaciones matemáticas y las direcciones de memoria. Cada computadora tiene su proprio lenguaje máquina, la serie de instrucciones contenidas dentro de un programa en lenguaje ensamblador se debe traducir a un programa en lenguaje máquina, a los programas traductores se les conoce como ensambladores.

Los lenguajes de nivel de máquina y los de ensamblador se clasifican como lenguajes de nivel bajo. Esto es porque las instrucciones están vinculadas directamentente a un tipo de computadora.

Un lenguaje de nivel alto utiliza instrucciones similares a las de los lenguajes escritos . como el inglés y se pueden ejecutar en diversos tipos de computadora. Fortan, Basic, Pascal, C,C++,C# son ejemplos de lenguaje de alto nivel.

A los programas escritos en un lenguaje de computadora de nivel alto o bajo se le conoce como programa fuente o código fuente. Una vez que un programa se escribe en un lenguaje de alto nivel, tambien se debe traducir a lenguaje máquina, por medio de un compilador.

Fuente:
http://programacion1colunga.blogspot.com/

Definicion de C#

QUE ES C#.

C# (se debe leer "C sharp" -sostenido-, es una alusión musical) es un lenguaje de Programación Orientada a Objetos, surgido como evolución de C++, propuesto por Microsoft como alternativa a Java.


C# es el nuevo lenguaje de propósito general orientado a objetos creado por Microsoft para su nueva plataforma .NET.


Microsoft.NET es el conjunto de nuevas tecnologías en las que Microsoft ha estado trabajando estos últimos años con el objetivo de mejorar tanto su sistema operativo como su modelo de componentes (COM) para obtener una plataforma con la que sea sencillo el desarrollo de software en forma de servicios web.

Los servicios web son un novedoso tipo de componentes software que se caracterizan a la hora de trabajar por su total independencia respecto a su ubicación física real, la plataforma sobre la que corre, el lenguaje de programación con el que hayan sido desarrollados o el modelo de componentes utilizado para ello.

El acceso a estos servicios se realiza en base a estándares de Internet, como son diferentes mecanismos del protocolo HTTP (GET y PUT) o el novedoso protocolo RPC conocido como SOAP (Simple Access Object Protocol), que no es más que una combinación de estándares como HTTP y XML para realizar llamadas a los miembros de estos servicios web. La idea detrás de SOAP consiste sencillamente en utilizar HTTP como medio de transporte para el envío de los mensajes de solicitud de ejecución de los miembros de servicios web remotos (lo que permite atravesar barreras tales como firewalls) y utilizar XML como lenguaje con el que escribir los cuerpos de estos mensajes.


Pero la plataforma .NET no son sólo los servicios web, sino que también ofrece numerosos servicios a las aplicaciones que para ella se escriban, como son un recolección de basura, independencia de la plataforma, total integración entre lenguajes (por ejemplo, es posible escribir una clase en C# que derive de otra escrita en Visual Basic.NET que a su vez derive de otra escrita en Cobol)


Como se deduce del párrafo anterior, es posible programar la plataforma .NET en prácticamente cualquier lenguaje, pero Microsoft ha decidido sacar uno nuevo porque ha visto conveniente poder disponer de un lenguaje diseñado desde 0 con vistas a ser utilizado en .NET, un lenguaje que no cuente con elementos heredados de versiones anteriores e innecesarios en esta plataforma y que por tanto sea lo más sencillo posible para programarla aprovechando toda su potencia y versatilidad.


C# combina los mejores elementos de múltiples lenguajes de amplia difusión como C++, Java, Visual Basic o Delphi. De hecho, su creador Anders Heljsberg fue también el creador de muchos otros lenguajes y entornos como Turbo Pascal, Delphi o Visual J++. La idea principal detrás del lenguaje es combinar la potencia de lenguajes como C++ con la sencillez de lenguajes como Visual Basic, y que además la migración a este lenguaje por los porgramadores de C/C++/Java sea lo más inmediata posible.


Además de C#, Microsoft propociona Visual Studio.NET, la nueva versión de su entorno de desarrollo adaptada a la plataforma .NET y que ofrece una interfaz común para trabajar de manera cómoda y visual con cualquiera de los lenguajes de la plataforma .NET (por defecto, C++, C#, Visual Basic.NET y JScript.NET, aunque pueden añadirse nuevos lenguajes mediante los plugins que proporcionen sus fabricantes).



Compiladores de C#Para Windows
La versión "Express" de Visual C# 2008 parece poder descargarse libremente desde la página Web de Microsoft, en msdn.microsoft.com/es-es/express/default.aspx.
El proyecto MONO es un compilador de C# de libre distribución. La última versión es la 2.4.2.1 , de julio de 2009.
También puedes echar un vistazo al entorno de desarrollo Sharp Develop.



Fuenete.