Está en la página 1de 8

BIOS

El Sistema Bsico de Entrada/Salida (Basic Input-Output System), conocido


simplemente con el nombre de BIOS, es un programa informtico inscrito en
componentes electrnicos de memoria Flash existentes en la placa base. Este programa
controla el funcionamiento de la placa base y de dichos componentes.1 Se encarga de
realizar las funciones bsicas de manejo y configuracin del ordenador.2

Contador de Programa
El contador de programa (en ingls Program Counter o PC), tambin llamado Puntero
de instrucciones (Instruction Pointer), parte del secuenciador de instrucciones en
algunas computadoras, es un registro del procesador de un computador que indica la
posicin donde est el procesador en su secuencia de instrucciones. Dependiendo de los
detalles de la mquina particular, contiene o la direccin de la instruccin que es
ejecutada, o la direccin de la prxima instruccin a ser ejecutada. El contador de
programa es incrementado automticamente en cada ciclo de instruccin de tal manera
que las instrucciones son ledas en secuencia desde la memoria. Ciertas instrucciones,
tales como las bifurcaciones y las llamadas y retornos de subrutinas, interrumpen la
secuencia al colocar un nuevo valor en el contador de programa.
En la inmensa mayora de los procesadores, el puntero de instrucciones es incrementado
inmediatamente despus de leer (fetch) una instruccin de programa; esto significa que la
direccin a la que apunta una instruccin de bifurcacin es obtenida agregando el
operando de la instruccin de bifurcacin a la direccin de la instruccin siguiente
(byte oword, dependiendo del tipo de la computadora) despus de la instruccin de
bifurcacin. La direccin de la siguiente instruccin a ser ejecutada siempre se encuentra
en el contador de instruccin.

Palabra reservada
En los lenguajes informticos, una palabra reservada es una palabra que tiene un
significado gramatical especial para ese lenguaje y no puede ser utilizada como un
identificador de objetos en cdigos del mismo, como ser variables.
Por ejemplo, en SQL, un usuario no puede ser llamado "group", porque la
palabra group es usada para indicar que un identificador se refiere a un grupo, no a un
usuario. Al tratarse de una palabra clave su uso queda restringido.

Ocasionalmente la especificacin de un lenguaje de programacin puede tener palabras


reservadas que estn previstas para un posible uso en futuras versiones.
En Javaconst y goto son palabras reservadas no tienen significado en Java, pero
tampoco pueden ser usadas como identificadores. Al reservar los trminos pueden ser
implementados en futuras versiones de Java, si se desea, sin que el cdigo fuente ms
antiguo escrito en Java deje de funcionar.

Stack Pointer
Un registro de pila es un registro de un CPU de computadora cuyo propsito es mantener la
pista de la posicin actual de la pila de llamadas. En una mquina de arquitectura basada en
acumulador, ste puede ser un registro dedicado como el puntero de pila (SP del ingls stack
pointer) de una mquina Intel x86. En una mquina de registro general, puede ser un registro
reservado por convencin, como el de las mquinas PDP-11 o RISC. Algunos diseos como
el Data General Eclipse no tenan ningn registro dedicado para el puntero de pila, pero
usaron una direccin de memoria de hardware reservada para esta funcin.
Antes de finales de los aos 1960, las mquinas como el PDP-8 y el HP 2100 no
tuvieran compiladores que soportaran la recursin. Sus instrucciones de subrutinas,
tpicamente guardaran la localizacin actual de la direccin del salto, y despus fijaran el
contador de programa a la direccin siguiente.1 Mientras que esto era ms simple que
mantener una pila, ya que solamente hay una localizacin de retorno por seccin de cdigo de
subrutina, de esta manera no poda haber recursin sin un esfuerzo considerable por parte del
programador.
Una a diferencia de una mquina de registro, una mquina de pila tiene dos o ms pilas. Una
mquina de dos pilas (similar a la usada en la implementacin del lenguaje Forth), tiene
un pila de llamadas, que mantiene informacin sobre las llamadas a subrutinas en ejecucin
(que no han retornado) entre otras cosas, y el otro es un pila de parmetros, que mantiene
informacin sobre los parmetros o datos con los que trabajan las subrutinas.

5.3.2. PUSH

La instruccin PUSH, sita en la pila el contenido de la direccin indicada,


primero se incremente el puntero de la pila y acto seguido el contenido de la
direccin se copia en la RAM que indica el apuntador de la pila SP.
Instruccin PUSH Dir

(SP) = (SP)+1

((SP))
(Direccin)

Incrementa el puntero del Stack a la siguiente posicin


= Situar en la pila (direccin apuntada por SP) el contenido de la
direccin

Ejemplo:

MOV A,#3 ; Cargar


MOV B,#5 ; Cargar
...
...
PUSH A ; Situar
Acumulador
PUSH B ; Situar en
B

el acumulador con la constante 3


el registro B con la constante 5

en

el

Stack

el

contenido

del

el Stack el contenido del registro

Instruccin PUSH
5.3.3. POP

La instruccin POP, lee el contenido de la direccin de la pila que ndica el SP


(apuntador del stack) y lo sita en la direccin especificada, despus decrementa el
apuntador de la pila SP dejndolo en la posicin anterior.
Instruccin POP Dir
1

(Direccin) =
((SP))

Recupera en la direccin indicada el contenido de la pila


(apuntado por SP)

(SP) = (SP)-1

Decrementa el puntero del Stack a la posicin anterior

Se ha de tener en cuenta que por el propio funcionamiento de la pila, el ltimo dato


que se ha introducido ha de ser el primero en recuperarse, si nos centramos en el
ejemplo anterior, se ha puesto en la pila el contenido del registro A y despus el B, a

la hora de recuperar los datos se ha de hacer en orden inverso al introducido,


primero el B y despus el A.
Ejemplo:

...
...
POP B ; Recupera en el registro B el contenido del
Stack
POP A ; Recupera en el acumulador el contenido del
Stack

http://www.alciro.org/alciro/microcontroladores-8051_24/stack-pila_358.htm

Compiladores
Un compilador es un programa informtico que traduce un programa escrito en un lenguaje
de programacin a otro lenguaje de programacin, generando un programa equivalente que la
mquina ser capaz de interpretar. Usualmente el segundo lenguaje es lenguaje de mquina,

pero tambin puede ser un cdigo intermedio (bytecode), o simplemente texto. Este proceso
de traduccin se conoce como compilacin.1
Un compilador es un programa que permite traducir el cdigo fuente de un programa
en lenguaje de alto nivel, a otro lenguaje de nivel inferior (tpicamente lenguaje de mquina).
De esta manera un programador puede disear un programa en un lenguaje mucho ms
cercano a como piensa un ser humano, para luego compilarlo a un programa ms manejable
por una computadora.
Como parte importante de este proceso de traduccin, el compilador informa a su usuario de
la presencia de errores en el programa fuente.2
La construccin de un compilador involucra la divisin del proceso en una serie de fases que
variar con su complejidad. Generalmente estas fases se agrupan en dos tareas: el anlisis
del programa fuente y la sntesis del programa objeto.

Anlisis: Se trata de la comprobacin de la correccin del programa fuente, e incluye


las fases correspondientes al Anlisis lxico (que consiste en la descomposicin del
programa fuente en componentes lxicos), Anlisis sintctico (agrupacin de los
componentes lxicos en frases gramaticales ) y Anlisis semntico (comprobacin de la
validez semntica de las sentencias aceptadas en la fase de Anlisis Sintctico).

Sntesis: Su objetivo es la generacin de la salida expresada en el lenguaje objeto y


suele estar formado por una o varias combinaciones de fases de Generacin de Cdigo
(normalmente se trata de cdigo intermedio o de cdigo objeto) y de Optimizacin de
Cdigo (en las que se busca obtener un cdigo lo ms eficiente posible).

Alternativamente, las fases descritas para las tareas de anlisis y sntesis se pueden agrupar
en Front-end y Back-end:

Front-end: es la parte que analiza el cdigo fuente, comprueba su validez, genera


el rbol de derivacin y rellena los valores de la tabla de smbolos. Esta parte suele ser
independiente de la plataforma o sistema para el cual se vaya a compilar, y est
compuesta por las fases comprendidas entre el Anlisis Lxico y la Generacin de Cdigo
Intermedio.

Back-end: es la parte que genera el cdigo mquina, especfico de una plataforma, a


partir de los resultados de la fase de anlisis, realizada por el Front End.

Esta divisin permite que el mismo Back End se utilice para generar el cdigo mquina de
varios lenguajes de programacin distintos y que el mismo Front End que sirve para analizar
el cdigo fuente de un lenguaje de programacin concreto sirva para generar cdigo
mquina en varias plataformas distintas. Suele incluir la generacin y optimizacin del cdigo
dependiente de la mquina.
El cdigo que genera el Back End normalmente no se puede ejecutar directamente, sino que
necesita ser enlazado por un programa enlazador (linker)

Tipo de Compiladores
Esta taxonoma de los tipos de compiladores no es excluyente, por lo que puede haber
compiladores que se adscriban a varias categoras:

Compiladores cruzados: generan cdigo para un sistema distinto del que estn
funcionando.

Compiladores optimizadores: realizan cambios en el cdigo para mejorar su


eficiencia, pero manteniendo la funcionalidad del programa original.

Compiladores de una sola pasada: generan el cdigo mquina a partir de una nica
lectura del cdigo fuente.

Compiladores de varias pasadas: necesitan leer el cdigo fuente varias veces antes
de poder producir el cdigo mquina.

Compiladores JIT (Just In Time): forman parte de un intrprete y compilan partes del
cdigo segn se necesitan.

Pauta de creacin de un compilador: En las primeras pocas de la informtica, el software de


los compiladores era considerado como uno de los ms complejos existentes.
Los primeros compiladores se realizaron programndolos directamente en lenguaje mquina o
en ensamblador. Una vez que se dispone de un compilador, se pueden escribir nuevas
versiones del compilador (u otros compiladores distintos) en el lenguaje que compila ese
compilador.

Actualmente existen herramientas que facilitan la tarea de escribir compiladores


intrpretes informticos. Estas herramientas permiten generar el esqueleto del analizador
sintctico a partir de una definicin formal del lenguaje de partida, especificada normalmente
mediante una gramtica formal y barata, dejando nicamente al programador del compilador
la tarea de programar las acciones semnticas asociadas.

RAM
La memoria de acceso aleatorio (en ingls: random-access memory) se utiliza como
memoria de trabajo para el sistema operativo, los programas y la mayora del software. Es all
donde se cargan todas las instrucciones que ejecutan el procesador y otras unidades de
cmputo. Se denominan de acceso aleatorio porque se puede leer o escribir en una
posicin de memoria con un tiempo de espera igual para cualquier posicin, no siendo
necesario seguir un orden para acceder a la informacin de la manera ms rpida posible.
Durante el encendido del computador, la rutina POST verifica que los mdulos de memoria
RAM estn conectados de manera correcta. En el caso que no existan o no se detecten los
mdulos, la mayora de tarjetas madres emiten una serie de pitidos que indican la ausencia de
memoria principal. Terminado ese proceso, la memoria BIOS puede realizar un test bsico
sobre la memoria RAM indicando fallos mayores en la misma.
ROM
La memoria de solo lectura, conocida tambin como ROM (acrnimo en ingls de read-only
memory), es un medio de almacenamiento utilizado en ordenadores y dispositivos
electrnicos, que permite slo la lectura de la informacin y no su escritura,
independientemente de la presencia o no de una fuente de energa.
Los datos almacenados en la ROM no se pueden modificar, o al menos no de manera rpida o
fcil. Se utiliza principalmente en su sentido ms estricto, se refiere slo a mscara ROM -en
ingls, MROM- (el ms antiguo tipo de estado slido ROM), que se fabrica con los datos
almacenados de forma permanente y, por lo tanto, su contenido no puede ser modificado de
ninguna forma. Sin embargo, las ROM ms modernas, como EPROM y Flash EEPROM,
efectivamente se pueden borrar y volver a programar varias veces, aun siendo descritos como
"memoria de slo lectura" (ROM). La razn de que se las contine llamando as es que el
proceso de reprogramacin en general es poco frecuente, relativamente lento y, a menudo, no
se permite la escritura en lugares aleatorios de la memoria. A pesar de la simplicidad de la
ROM, los dispositivos reprogramables son ms flexibles y econmicos, por lo cual las antiguas
mscaras ROM no se suelen encontrar en hardware producido a partir de 2007.

ARCHIVO POR LOTES


En DOS, OS/2 y Microsoft Windows un archivo batch es un archivo de procesamiento por
lotes. Se trata de archivos de texto sin formato, guardados con la extensin .BAT que
contienen un conjunto de instrucciones MS-DOS. Cuando se ejecuta este archivo,
mediante CMD las rdenes contenidas son ejecutadas en grupo, de forma secuencial,
permitiendo automatizar diversas tareas. Cualquier orden reconocible por MS-DOS puede ser
utilizado en un archivo batch.
Esta es la forma de automatizar procesos (copiar, pegar, renombrar y enviar datos) en MSDOS. De este modo, evitamos procesos rutinarios y montonos, acelerando los mismos. Tiene
la funcionalidad de conectarse con otras interfaces por lnea de comandos.
Un tipo batch es un archivo de texto que contiene rdenes a ejecutar en un intrprete de
rdenes propio de DOS o OS/2. Cuando es iniciado, un programa shell
tpicamentecommand.com o cmd.exe lo lee y ejecuta, generalmente lnea a lnea. De este
modo, se emplea para ejecutar series de comandos automticamente. El hecho de que
funcione slo para MS-DOS lo hace muy limitado. Su extensin es .bat o .cmd.

También podría gustarte