Sei sulla pagina 1di 9

CONCEPTOS DIGITALES II

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
1

(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
el
acumulador
con
la
constante
3
MOV B,#5
;
Cargar
el
registro
B
con
la
constante
5
...
...
PUSH A
;
Situar
en
el
Stack
el
contenido
del
Acumulador
PUSH B ; Situar en el Stack el contenido del registro B

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
POP A ; Recupera en el acumulador el contenido del Stack

del

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

Stack

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 MSDOS. 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 MS-DOS. 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.

Potrebbero piacerti anche