martes, 24 de mayo de 2016

Lenguajes de Programación

Un lenguaje de programación es un lenguaje formal diseñado para realizar procesos que pueden ser llevados a cabo por máquinas como las computadoras.
Pueden usarse para crear programas que controlen el comportamiento físico y lógico de una máquina, para expresar algoritmos con precisión, o como modo de comunicación humana.
Está formado por un conjunto de símbolos y reglas sintácticas y semánticas que definen su estructura y el significado de sus elementos y expresiones. Al proceso por el cual se escribe, se pruebase depurase compila (de ser necesario) y se mantiene el código fuente de un programa informático se le llama programación.
También la palabra programación se define como el proceso de creación de un programa de computadora, mediante la aplicación de procedimientos lógicos, a través de los siguientes pasos:
  • El desarrollo lógico del programa para resolver un problema en particular.
  • Escritura de la lógica del programa empleando un lenguaje de programación específico (codificación del programa).
  • Ensamblaje o compilación del programa hasta convertirlo en lenguaje de máquina.
  • Prueba y depuración del programa.
  • Desarrollo de la documentación.

PROGRAMACIÓN ORIENTADA A OBJETOS

La programación orientada a objetos (POO, u OOP según sus siglas en inglés) es un paradigma de programación que usa objetos en sus interacciones, para diseñar aplicaciones y programas informáticos.
Está basada en varias técnicas, incluyendo herenciacohesiónabstracciónpolimorfismoacoplamiento y encapsulamiento.
Su uso se popularizó a principios de la década de 1990. En la actualidad, existe una gran variedad de lenguajes de programación que soportan la orientación a objetos.
























martes, 1 de marzo de 2016

Historia de los procesadores II

5ª Generación: Pentium 1993, primera tecnología de Intel que incorpora una arquitectura súper escalada. Esto quiere decir que incorporaba dos unidades de procesamiento o pipelines trabajando en paralelo por lo que podía ejecutar dos instrucciones por ciclo de reloj esta CPU también incremento a 64 bits el ancho del bus FSB y subió su frecuencia de 33 a 66MHz, su nueva arquitectura le permitió aprovechar el incremento constante de la velocidades de trabajo de las CPU’s. Cyrix se retira. AMD saca su K5 en el 1994 procesador de 32 bits de AMD que no tuvo éxito y con un flujo rendimiento respecto a Pentium, utilizaba un pipeline de 6 etapas para los números enteros y así poder incrementar algo su potencia de trabajo.


6ª Generación: El Pentium PRO del año 1995 orientado a entorno profesional, servidores y equipos de gama alta, incorpora un pipeline de 14 etapas y un juego de instrucciones RISC que permite el trabajo en multiproceso en placas capaces de alojar 2 o 4 CPU´s, introdujo como gran mejora el DIB(Arquitectura Independiente Dual) que permite a la CPU enviar y recibir información diferente por los 2 buses de los que dispone (uno con la RAM y otro con la cache). Esto incremento mucho el rendimiento, el cual subió aun mas porque fue el primer micro que integró cache L2 en su núcleo, además modifico a 36 bits el bus de direcciones para poder manejar hasta 64 GB de RAM. 

Pentium MMX del año 1997 incorpora el juego de instrucciones MMX con 57 nuevas instrucciones para el tratamiento multimedia y aumenta el doble la cache L1 para aumentar la velocidad de trabajo de la CPU y que el rendimiento suba proporcionalmente. Pentium II en el año 1997 (diferencia con el anterior, 9 meses aprox.) Es una versión reducida del Pentium PRO pero añadiendo las instrucciones MMX el CORE inicialmente se llamo Klamath y la versión más avanzada tiene el nombre de Deschutes. Esta CPU incorpora cache L2 pero no integrada pero montada al lado del CORE en una placa con lo que trabaja a la mitad de velocidad que la CPU. Este conjunto fue un nuevo tipo de cartucho y de socket conocido como SLOT1.

7 Generación: Athlon 1999, se le considera como un K7, supera claramente en rendimiento a un Pentium III de su misma velocidad. Desde que AMD desarrollo su Athlon a 500Mhz su arquitectura de diseño casi no evoluciono hasta la aparición del Athlon64. Las primeras versiones de estas CPU´s se montaban en un zócalo especial de tipo cartucho llamados Slot A, donde la chache L2 se montaba en chips junto al Core, en versiones posteriores ya se integró la cache L2 dentro del Core y apareció un nuevo socket llamado socket A de 462 contactos.

Pentium 4 (año 2000). INTEL diseño un CORED completamente diseñado a los anteriores pensando en el futuro con su arquitectura NET BURST seria capaz de sacar el máximo diseño al alcanzar una frecuencia de 5 GHZ . El problema no llego ni a los 4 GHZ por culpa de las corrientes de fuga de los transistores y el sobrecalentamiento de las CPU otro problema de esta CORED se produce debido al gran numero de etapas de pipeline que sen tienen que volver a cargar entero de nuevo cada vez que se produce un error perdiendo ciclos de reloj para evitar este problema INTEL tuvo que diseñar unas unidades especiales dentro de su CORED para predecir resultados y evitar e lo posible que se produjera estos errores.

Procesadores Doble Núcleo (Dual Core). Integran dos cores en un mismo chip compartiendo elementos comunes como la RAM haciendo imposible de esta manera que realmente se doble el rendimiento. Los primeros modelos incluso compartían una misma cache L2. Pentium D en el 2005, procesador de doble núcleo a cuyo CORE llamaron Smithfield que en realidad eran dos cores Prescott pegados. En este CORE tuvieron que bajar el FSB hasta 300 porque no aguantaba velocidades tan altas sacaron modelos de los que iban a los 2,8Ghz a los 3,4GHz pero con el problema añadido de que se comunicaban ambos CORES a través de un bus.





Core 2 Duo (2006). Nueva arquitectura o rediseño de un microprocesador Intel que incorporá características que ya estaban en el Pentium3 y sobretodo gran parte de lo que se encontraba en un Pentium M. Encontraremos versiones con nombres como Allendale y Conroe (para "desktop" o escritorio), Merom (portátiles), Wodcrest (servidores) y Solo (un núcleo). Una de las características de esta nueva arquitectura es que la cache L1 pasa a 64KB y la cache L2 es compartida y va de 2 a 4MB. Este CORE saca un gran rendimiento entre otros motivos por su unidad de Advanced Branch Prediction que es una unidad capaz de predecir los datos que se van a necesitar y los resultados de algunas operaciones y que ya ha sido muy probada con los Pentium4 y los Pentium Mobile, a esta forma de trabajar también se le llama OOO (Out Of Order) lo que te permite realizar varias tareas simultáneamente procesando instrucciones en cualquier orden para luego lógicamente reordenarlas.


Core2 EXTREME y Core 2 QUAD. Se trata de modelos de 4 núcleos pero de implementación diferente. Los CORE 2 EXTREME son dos microprocesadores duales del CORE Conroe unidos dentro del mismo encapsulado que se comunican en un bus interno, con 8MB de cache L2 repartida en 2 bloques 4MB. El nombre clave de este CORE fue Kensfield y trabajaba a 2.66GHz y con un consumo de 130W. Las versiones posteriores del CORE2 Extreme en cuyo código encontramos QX ya han resuelto todos estos problemas iniciales y podemos hablar de una auténtica CPU de 4 núcleos que aprovecha todas las ventajas de la tecnología CORE2 Un procesador de cuatro nucleos mejora el rendimiento pero nunca pensemos que el doble.


 

Procesadores para portátiles (7ª Generación). Son procesadores con prestaciones reducidas, menos velocidad, menos cache L2 y menos FSB, pero que a cambio consumen menos engergía. Celeron: Es la versión reducida de Pentium4 para portátiles, los últimos modelos se conocen como Celeron D. Pentium4 M: Versión del Pentium 4 para portátiles que no tuvo demasiado éxito porque el elevado consumo energético hacía imposible que las baterías llegaran a las 2 horas. 

 
Procesadores Profesionales Son procesadores de altas prestaciones como el XEON que dispone de una cache L3 de 4MB pero que su característica más importante es que están diseñados para formar sistemas multiprocesador con hasta 18 CPU´s en la misma placa base. Se suelen utilizar en el mundo del cine, animación, grandes servidores y para supercomputación. Para sacar provecho de un sistema profesional multiprocesador también es necesario instalar la versión profesional de Windows 2000 o de Windows XP conocida como Advanced Server.