Documentos de Académico
Documentos de Profesional
Documentos de Cultura
Conceptos Digitales 2
Conceptos Digitales 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.
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
(SP) = (SP)+1
((SP))
(Direccin)
Ejemplo:
en
el
Stack
el
contenido
del
Instruccin PUSH
5.3.3. POP
(Direccin) =
((SP))
(SP) = (SP)-1
...
...
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.
Alternativamente, las fases descritas para las tareas de anlisis y sntesis se pueden agrupar
en Front-end y Back-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 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.
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.