Programar sistemas consiste en escribir instrucciones que las computadoras utilizarán para realizar alguna tarea o actividad de acuerdo a un requerimiento.

Normalmente para escribir estos programas se requiere un Lenguaje de Programación, que dependiendo de sus características nos ayudará a completar una tarea (programa), es importante señalar que la gran cantidad de lenguajes existentes se debe a que cada lenguaje cubre mejor una necesidad que otro dependiendo la complejidad, condiciones de desarrollo y tamaño de un problema determinado.

Lenguaje Máquina

Sin embargo, sin importar el lenguaje de programación utilizado para desarrollar un programa, la máquina que ejecutará dicho programa solo procesará las instrucciones en su propio “idioma”: El lenguaje máquina

El lenguaje máquina es específico de cada familia de computadoras, sin embargo todos tienen algo un común, está formado de secuencias de bits, la forma de organizarlos e interpretarlos dependerá de la arquitectura de la familia de computadoras.

Antecedentes del código máquina.

Para comprender las instrucciones que una computadora ejecuta es necesario considerar la materia prima que las hace funcionar: La electricidad.

Consideremos lo siguiente. Una dispositivo eléctrico (cualquiera) tiene 2 estados fundamentales: encendido o apagado. No hay estados intermedios, no podemos tener un equipo “medio encendido”. Simplemente está encendido o apagado.

El procesador o CPU

CPU: Unidad Central de Procesamiento
CPU: Unidad Central de Procesamiento

El corazón de una computadora (sea PC de escritorio, celular o dispositivo inteligente) es un circuito denominado Unidad Central de Proceso (CPU) o simplemente procesador y aprovecha una característica de la electricidad (estado prendido/apagado) para codificar instrucciones.

 
 

Está fuera del alcance de este documento describir la electrónica que realiza esta tarea.

Lo importante en este punto es resaltar que el corazón de una computadora se basa en el principio de encender o apagar impulsos eléctricos, de forma controlada. Este encendido y apagado de forma controlada, se logra precisamente a partir de la programación del mismo microprocesador y de instrucciones que indican de qué forma y en qué momento se deben encender o apagar esas señales eléctricas dentro del procesador y en toda la circuitería de una computadora.

Precisamente esta codificación de encendido y apagado de señales eléctricas dentro de los circuitos de la computadora es el llamado Lenguaje Máquina.

Lenguaje.

Resulta conveniente definir el significado de lenguaje, dado que se utiliza ampliamente en este curso.

“Un lenguaje es un sistema de comunicación estructurado para el que existe un contexto de uso y ciertos principios combinatorios formales. Existen contextos tanto naturales como artificiales (1)”

De acuerdo con el diccionario de la Real Academia Español.

“7. m. Inform. Conjunto de signos y reglas que permite la comunicación con una computadora.” (2) y 

lenguaje máquina

“1. m. Inform. Conjunto de instrucciones codificadas que una computadora interpreta y ejecuta directamente.” (2)

Considerando estas definiciones podemos adaptar y ampliar nuestra propia definición de Lenguaje Máquina-

Lenguaje máquina

Lenguaje máquina es el sistema estructurado de símbolos y reglas sintácticas y semánticas basadas en el sistema de numeración binario que permiten controlar el comportamiento físico y lógico de una computadora y que son interpretadas directamente por el CPU sin requerir ningún cambio.

Por Roberto C. González
Para Ethical Hack

Ethical Hack
Ethical hack

Fuente Imágenes (Parte I y II):

“El lenguaje de las computadoras: El lenguaje máquina”: Imagen cortesía by Stuart Miles en FreeDigitalPhotos.net
“CPU: Unidad Central de Procesamiento”: Imagen cortesía by Intel
“Lenguaje máquina”: Imagen cortesía by dream designs en FreeDigitalPhotos.net
“Lenguaje binario”: Imagen cortesía by Stuart Miles en FreeDigitalPhotos.net
“Byte”: Imagen cortesía by Stuart Miles en FreeDigitalPhotos.net
“Bit”: Imagen cortesía by Nala Systems en nalasys.mx

Referencias

(1) http://es.wikipedia.org/wiki/Lenguaje
(2) http://dle.rae.es/?id=N7BnIFO

Licencia de Creative Commons
El lenguaje de las computadoras by Roberto C. González is licensed under a Creative Commons Reconocimiento-NoComercial-CompartirIgual 4.0 Internacional License.

Deja un comentario