Ir al contenido principal

Entradas

Qué es FrameBuffer?

Todos los días cuando las personas, principalmente usuarios comunes, utilizan la computadora observan la pantalla, pero muchas de estas personas no conocen como se visualizan los elementos en la pantalla; en muchos dispositivos la clave está en algo llamado framebuffer, el cual se explica un poco a continuación. El framebuffer consiste en la utilización, por parte de los dispositivos, de una sección de memoria la cual utilizará para la representación de los pixeles en pantalla, por lo general se representa como una matriz de pixeles y así en la memoria, aunque es evidente que a nivel de memoria no existen matrices todo se realiza mediante una implementación a partir de estas posiciones. Cuando se habla de que el framebuffer utiliza una sección de memoria en realidad es un archivo dentro del sistema, dicho archivo es el que se puede modificar, por parte de desarrolladores principalmente, y es el que el sistema modifica para a partir de los valores que contenga este archivo most
Entradas recientes

Procesadores Neuronales

Muchas veces se escucha sobre temas de procesadores, pero en la mayoría de los casos es referente a el numero de núcleos, la frecuencia o la arquitectura, ya sea RISC o CISC, pero rara vez escuchamos los llamados procesadores neuronales, a continuación, se explica un poco que son estos procesadores. Los procesadores neuronales funcionan (se supone) como la red neuronal del cerebro humano, según IBM su procesador neuronal posee tantas neuronas como el cerebro de un ratón, estos procesadores funcionan muy diferentes de los tradicionales que ejecutan instrucciones, los neuronales poseen una serie de ‘neuronas artificiales’ conectadas entre sí que buscan predecir los resultados mediante una serie de parámetros establecidos para un problema. Estos procesadores buscan mayor velocidad y eficiencia, imitando el funcionamiento del cerebro el cual es fantástico, de esta manera implementar algo muy deseado en la computadoras que es la capacidad para aprender, pero para esto falta bastant

Ciclo Fetch Decode Execute

El encargado de ejecutar un programa en una computadora u otro sistema computacional es el CPU, lo realiza siguiendo el llamado ciclo Fetch Decode Execute, con este ciclo se ejecutan todas las tareas que una computadora puede realizar. Este ciclo tiene algunas variantes y conforme ha avanzado el tiempo y la tecnología ha sufrido algunos cambios, pero el ciclo básico se conforma de las siguientes etapas: Traer la instrucción: Se obtiene la instrucción desde memoria y se almacena en el registro del CPU para instrucciones. Decodificar la instrucción: Se identifica el modo de direccionamiento de la instrucción y la ubicación de los datos a tratar, ya sea de memoria, registro o instrucción directamente. Carga de Parámetros: Se ejecuta la lectura, cargando todos los datos identificados en el paso anterior. Ejecutar: Se ejecuta la instrucción ya configurada, realiza la tarea indicada, ya sea una suma, resta, almacenar información, extraer información etc. Almacenar: Se almacen

Llamadas al sistema

Los sistemas operativos básicamente administran los recursos de una computadora y facilitan su uso por parte de los usuarios, dentro de esto los sistemas operativos permiten la ejecución de aplicaciones que ya tenga por defecto el sistema o que se hayan desarrollado, pero estas aplicaciones utilizan muy frecuentemente las llamadas al sistema para poder realizar su función, dichas llamadas son controladas por el sistema operativo. Sistemas Operativos -  Fuente Cada sistema operativo tiene su conjunto de llamadas al sistema, así por ejemplo las llamadas al sistema de Windows no serán las mismas que las de Ubuntu Linux, debido a esto es muy común que una aplicación desarrollada en un sistema no funcione cuando se intente ejecutar en otro. Los programas hacen uso de las llamadas al sistema porque son funciones con privilegios del sistema, ya que el usuario y aplicaciones no tienen acceso al conjunto de instrucciones restringido del procesador, pero sí lo tiene el sistema operativo

Microcontrolador – Arduino

El Arduino es una plataforma de hardware abierto todos sus diagramas, planos y otros datos sobre este dispositivo están disponibles para todos en su página web y otros sitios, esto permite crear prototipos más fácilmente. Arduino UNO -  Fuente Al igual que una computadora el Arduino tiene memoria, CPU y compatibilidad para dispositivos de entrada y salida, pero un poco diferente, por ejemplo, la CPU no están poderosa como para ejecutar un sistema operativo y por lo general los dispositivos de entrada y salida en el Arduino son otros dispositivos como los sensores de calor, sensores de luz o luces led, pantallas entre muchos otros dispositivos. Algo muy importante es que este dispositivo solo puede ejecutar una tarea (programa) a la vez, situación que no sucede en las computadoras normales. Esto se debe también, a que el Arduino viene siendo un microcontrolador y no una computadora. Este dispositivo siempre está ejecutando un programa en un ciclo infinito, cuando los progra

Ventajas de Programar en Ensamblador

El lenguaje de programador ensamblador es muy conocido por todos los programadores, pero también muy excluido, una pregunta que puede surgir es la siguiente, ¿por qué programar en ensamblador cuando se tienen diversos lenguajes de alto nivel que facilitan el desarrollo? A continuación, se mencionan algunos motivos para ello. Como se sabe, existen muchos lenguajes de programación de alto nivel como C, C++, C#, JAVA entre otros que presentan muchas características avanzadas y en algunos casos en conjunto con IDE (Integrated Development Environment) aceleran y facilitan mucho la elaboración de software. Sintaxis Ensamblador.  Fuente Hay que tener en cuenta que estos lenguajes de alto nivel, a pesar de ser muy útiles, muchas veces los programas resultantes requieren de computadoras con recursos informáticos considerables para poder ejecutarse de forma óptima. Recordemos que todo código escrito en lenguaje de alto nivel es transcrito de forma automática a lenguaje ensamblador, y

Estructuras de Control en Ensamblador

En los lenguajes de alto nivel disponemos de estructuras de control como “if” o “else” que nos permiten dar sentido a nuestro código , pero estas estructuras no están presentes en un lenguaje de bajo nivel como el ensamblador o no de la misma forma, como se detalla a continuación. Estructuras Condicionales: Estos tipos son los if, if-else, elif, switch, los más comunes en los lenguajes de alto nivel y los más utilizados. Estas estructuras no están del todo ausentes en lenguaje ensamblador, ya que al fin y al cabo estas instrucciones se convierten a ensamblador, en ensamblador se cuenta con instrucciones como CMP o TEST(Para comparar o evaluar) en el caso de ARM y sus equivalentes en las demás arquitecturas de procesadores. Para poder crear los condicionales se debe utilizar una combinación de estas (CMP, TEST, ...) junto con las instrucciones de Branch, Jump, etc según corresponda. Ejemplos If Else: If Else en Lenguaje C If Else en Lenguaje Ensamblador Estructuras