Vous êtes sur la page 1sur 16

MDULO 1.

- ESTRUCTURA DE LA COMPUTADORA
Introduccin: Comprende aspectos relacionados con las caractersticas de las computadoras, su estructura
interna y externa, el manejo del teclado como parte fundamental del Hardware, y en general todos aquellos
perifricos posibles de aadirse al aparato principal, compuesto tambin por un Monitor y una Unidad de istema
que incorpora la Unidad Central de !rocesamiento" #a $structura de una computadora implica b%sicamente al
diseo y a sus partes componentes, pudiendo ser& externas e internas"
Justificcin: 'escargar racionalmente en la m%quina, la fase de informaci(n intrnseca de la misma"
O!"#ti$o : $ntender con detalle los procesos l(gicos que suceden en una computadora para que pueda ejecutar
un programa en lenguaje m%quina de una plataforma que en particular se define al iniciar el curso"
1.1 EL MODELO DE %O& &EUMA&&
)on *eumann era un genio comparable a #eonardo 'a )inci, +ablaba di,ersos idiomas, era experto en las
ciencias fsico-matem%ticas y era capa. de recordar todo cuanto +ubiera escuc+ado, ledo o ,isto" !oda citar de
memoria, palabra por palabra, el texto de los libros que +aba ledo en aos anteriores" $n la poca en que se
interes( en las computadoras, era ya el matem%tico m%s eminente del mundo"
/lgo que le pareca e,idente, era que programar computadoras con una enorme cantidad de interruptores y
cables era algo lento, tedioso y poco flexible, y pens( que el programa poda representarse en forma digital en la
memoria de la computadora, lo mismo que los datos" 0ambin obser,( que la torpe.a de la aritmtica decimal en
serie utili.ada por la $*1/C, con cada dgito representado por die. bulbos 2uno encendido y nue,e apagados3,
poda reempla.arse usando aritmtica binaria paralela"
u diseo b%sico, a+ora conocido como una M%quina de )on *eumann, se us( en la $'/C para la primera
computadora que almacenaba el programa, y constituye toda,a la base para la mayora de las computadoras
digitales, casi medio siglo despus" $ste diseo y la m%quina 1/, construida en colaboraci(n con Herman
4oldstine, +a tenido una influencia tan grande"
#a M%quina de )on *eumann tena cinco partes b%sicas& la memoria, la unidad aritmtica-l(gica, la unidad de
control del programa y los equipos de entrada y salida"
COMPO&E&TES:
#a Memoria& Constaba de 5678 palabras, cada una con 56 bits 26 o 93"
: Cada palabra poda contener dos instrucciones de ;6 bits o un n<mero entero de =7 bits y su signo"
: #as instrucciones tenan > bits dedicados a sealar el tipo de la misma y 9; bits para especificar alguna de las
5678 palabras de la memoria"
Unidd d# Contro'& 'etermina cual es la siguiente instrucci(n a ejecutar y se la pasa al /#U"
ALU 2/ritmetic #ogic Unit3& #a Unidad /ritmtica #(gica, es el ?0/##$@A donde se ejecutan las instrucciones"
/cumulador& 56 bits que sir,en para&
: @ecibir datos de entrada"
: $n,iar datos a la salida"
: 4uardar el resultado de la <ltima operaci(n"
1.(.- ESTRUCTURA LO)ICA DEL PROCESADOR
Bigura 9"C"- $structura b%sica del procesador
#a Unidad Central de !rocesamiento 2C!U3 es el cerebro de una computadora" u funci(n es ejecutar
programas almacenados en la memoria central tomando sus instrucciones, examin%ndolas y luego ejecut%ndolas
una tras otra" #a C!U se compone de ,arias partes" #a unidad de control se encarga de traer las instrucciones de
las memoria principal y de determinar su tipo" #a unidad aritmtica y l(gica reali.a operaciones como la suma o
la funci(n booleana /*', necesarias para lle,ar a cabo las instrucciones"
#a C!U tambin contiene una pequea memoria de alta ,elocidad utili.ada para almacenar resultados
intermedios y cierta informaci(n de control" $sta memoria consta de ,arios registros, cada uno de los cuales tiene
cierta funci(n"
$l registro m%s importante es el Contador de !rograma 2C!3 , que indica la pr(xima instrucioninstrucci(n que
debe ejecutarse" $l nombre de Dcontador de programaD es algo que confunde por que no cuenta nada, pero el
trmino es de uso general" 0ambin es importante el @egistro de 1nstrucci(n 2@13, que contiene la instrucci(n que
se est% ejecutando" #a mayora de las computadoras tienen adem%s otros registros, algunos de los cuales son
accesibles a los programadores de los ni,eles ; y = para almacenar resultados intermedios"
E"#cucin d# 's instruccion#s
$l C!U ejecuta instrucciones en una serie de pequeos pasos&
9" $xtrae de la memoria la siguiente instrucci(n y la lle,a al registro de instrucci(n"
;" Cambia el contador del programa de modo que seale la siguiente instrucci(n"
=" 'etermina el tipo de instrucci(n que acaba de extraer"
5" )erifica si la instrucci(n requiere datos de la memoria y, si es as, determina d(nde est%n situados"
C" $xtrae los datos, si los +ay, y los carga en los registros internos del C!U"
8" $jecuta la instrucci(n"
E" /lmacena los resultados en el lugar apropiado"
>" )a al paso 9 para empe.ar la ejecuci(n de la instrucci(n siguiente"
#a C!U constituye el cerebro de una computadora digital, pues reali.a todas las operaciones aritmticas y
l(gicas sobre los datos y adem%s controla todos los procesos que se desarrollan en la computadora" !or
ejemplo, para que se ejecute un a instrucci(n, sta debe estar en el interior de la C!U, concretamente en la UC y
si +ay que reali.ar c%lculos, inter,iene la U/#" )eamos como funciona cada una de ellas"
Unidd d# Contro'.
!ara reali.ar su tarea la UC necesita conocer, por un lado, la instrucci(n y, por otro, una serie de informaciones
adicionales que deber% tener en cuenta para coordinar, de forma correcta, la ejecuci(n de la instrucci(n" $l
resultado de la interpretaci(n de dic+as informaciones son una serie de (rdenes a los diferentes elementos de la
computadora"
#a UC no emite todas las (rdenes a la ,e., sino siguiendo una determinada secuencia" !ara ello utili.a un
elemento que le ,a indicando el instante en que debe ejecutar una determinada fase de la instrucci(n" / este
elemento se le denomina @eloj, y se dice que sincroni.a las acciones de la UCF cuanto m%s r%pido marque el
tiempo, m%s r%pida ser% la ejecuci(n de la instrucci(n" in embargo, +ay un limite, ya que, si marca
excesi,amente r%pido, es posible que no puedan cumplir adecuadamente las (rdenes de los diferentes
elementos, por lo que se producir%n errores"
$n la figura 9"8 se esquemati.a el conjunto de seales que utili.a la UC y las que genera" Como informaciones
adicionales a las instrucciones podemos ,er los impulsos de reloj y los indicadores de estado" #os indicadores de
estado son una serie de bits que se modifican seg<n resultados de las operaciones anteriores guardando una
memoria +ist(rica de los acontecimientos precedentes para que, en funci(n de dic+os acontecimientos, pueda la
UC tomar decisiones"
Bigura 9"8"- eales que inter,ienen en ls UC
#a unidad de control esta formada, b%sicamente por un elemento que interpreta las instrucciones y ,arios
elementos de memoria denominados registros" Uno de estos registros almacena la instrucci(n mientras el
intrprete est% traduciendo su significado, por lo que se denomina @egistro de 1nstrucci(n 2@13" $l resto de las
instrucciones permanecen en la memoria, esperando que les toque su turno de ejecuci(n"
#a UC por otra parte deber% conocer cu%l es la direcci(n de la pr(xima instrucci(n, para poder ir a buscarla una
,e. que finali.a la ejecuci(n de la instrucci(n en cursoF direcci(n que guarda el registro llamado Contador de
!rograma 2C!3"
#os indicadores de estado est%n agrupados en un registro denominado @egistro de $stado 2@$3"
#a Bigura 9"E muestra los elementos que acabamos de nombrar"
Bigura 9"E"- $lementos b%sicos de la unidad de control
Unidd Arit*+tico - L,ic.
#a unidad /ritmtico - #(gica 2U/#3 es la encargada de reali.ar los c%lculos" #os datos sobre los que se reali.an
las operaciones se denominan operandos" /l elemento encargado de ejecutar las operaciones se le denomina
operador, y esta formado por una serie de circuitos electr(nicos que son capaces de sumar dos n<meros binarios
o +acer las operaciones l(gicas elementales& disyunci(n, conjunci(n y negaci(nF incluso algunos operadores son
tambin capaces de multiplicar, di,idir y reali.ar otras operaciones mas complejas"
!ara que el operador realice la operaci(n, los operandos se lle,an a la U/# y se guardan en unos registros
denominados registros de trabajo" $l resultado de la operaci(n se guarda tambin en un registro antes de ser
lle,ado a la memoria o a la Unidad de $ntradas y alidas" Brecuentemente se utili.a un mismo registro para
guardar uno de los operandos y, tambin, el resultado, denominado registro /cumulador"
$l operador, adem%s de calcular el ,alor de la operaci(n, modifica el registro de estado seg<n el resultado de la
operaci(n" /s, si el resultado es un ,alor negati,o, se modifica un bit de dic+o registro, llamado bit negati,o o bit
*, ponindose a 9F por el contrario, el bit * permanecer% en estado 6 mientras el contenido del acumulador no
sea negati,o" 'e igual forma indicara la U/# a la UC si el resultado +a sido cero, o si +a producido alg<n acarreo,
etc"
$n la figura 9"> se muestran los elementos de la U/# y las seales que inter,ienen"

-.
-..- U/# con = registros& ; para los operandos y 9 para el resultado
-!.
-!..- U/# con acumulador
Bigura 9">"- $lementos y seales de la /U#

AUTOE%ALUACI&
9" Constituye el cerebro de la !C y qu es lo que reali.aG
;" Menciona los registros de los que consta la memoria"
=" Cu%les son los elementos b%sicos de la unidad de controlG
9"= #enguaje m%quina1./.- LE&)UAJE M01UI&A
e denomina lenguaje mquina a la serie de datos que la parte fsica de la computadora o +ardware, es capa.
de interpretar"
Una computadora digital o, mejor dic+o, su parte fsica, s(lo distingue datos de tipo binario, es decir, constituidos
por dos <nicos ,alores a los que se denomina ,alor 6 y ,alor 9 y que, fsicamente, se materiali.an con tensiones
comprendidas entre 6 y 5"6 ,oltios y entre 5 y C ,oltios, respecti,amente" !ara representar datos que contengan
una informaci(n se utili.an una serie de unos y ceros cuyo conjunto indica dic+a informaci(n"
#a informaci(n que +ace que el +ardware de la computadora realice una determinada acti,idad se llama
instruccin" !or consiguiente una instrucci(n es un conjunto de unos y ceros" #as instrucciones as formadas
equi,alen a acciones elementales de la m%quina, por lo que al conjunto de dic+as instrucciones que son
interpretadas directamente por la m%quina se denomina lenguaje mquina"
$l lenguaje m%quina fue el primero que empleo el +ombre para la programaci(n de las primeras computadoras"
Una instrucci(n en lenguaje m%quina puede representarse de la siguiente forma&
699699669696696699996996"
$sta secuencia es f%cilmente ejecutada por la computadora, pero es de difcil interpretaci(n, siendo aun mas
difcil la interpretaci(n de un programa 2conjunto de instrucciones3 escrito de esta forma" $sta dificultad +ace que
los errores sean frecuentes y la correcci(n de los mismos costosa, cuando no imposible, al igual que la
,erificaci(n y modificaci(n de los programas"
#a anterior secuencia de dgitos binarios 2bits3 puede indicar a la computadora que&
HH0raslade el contenido de la posici(n de memoria I a la posici(n de memoria J"KK
i lo ,emos escrito de esta forma, lo entenderemos f%cilmente, ya que est% en nuestro lenguaje natural, pero la
m%quina elemental ser% incapa. de entender nada" )emos, pues, que la forma de indicar a la m%quina lo que
debe +acer es totalmente diferente de la indicar a un ser +umano lo mismo, por lo que deben emplearse
sistemas de traducci(n de una forma a otra"
Ja se +a dic+o que en un principio el programador empleaba directamente el lenguaje m%quina" $n este caso el
traductor era el programadorF pero ,imos tambin los problemas que esto causaba"
Con la pr%ctica en el manejo de la m%quina se cay( en la cuenta de que se podra utili.ar la propia m%quina para
ayudar en la traducci(n de estos programas" $s decir, que si a una m%quina elemental se le dotaba de un
programa, tambin elemental, que tradujera un n<mero determinado de caracteres alfabticos en una secuencia
de unos y ceros, se podra escribir un programa constituido por una secuencia de grupos de caracteres
alfabticos, en la que cada uno de los grupos indicara una acci(n a reali.ar por el ordenador y, una ,e. escrito el
programa, sera la propia m%quina la que pasara los grupos de caracteres a bits"
#as ,entajas de esto son e,identes, ya que para el +ombre resulta mas f%cil manipular grupos de caracteres y la
traducci(n se +ara de manera autom%tica" !or ejemplo, se podra escribir&
0@/#/'/@ 99696996, 66699969"
$sto indicara que el contenido de la posici(n 99696996 +aba que pasarlo a la posici(n 66699969 si se sabe que
al grupo alfabtico 0@/#/'/@ le corresponde la secuencia de bits 99996969" #a m%quina traducira la anterior
instrucci(n como&
99996969 99696996 66699969
/l grupo alfabtico se le denomina mnemotcnico, y existir% un mnemotcnico por cada instrucci(n" e le da este
nombre porque sir,e para recordar con mayor facilidad el conjunto de instrucciones de una determinada
m%quina"
'e esta forma aparecieron los lenguajes ensambladores 2/ssembler, en ingls3" !oco a poco, con el a,ance de
la programaci(n 2oftware3, estas primeras y sencillas ayudas se fueron +aciendo m%s complejas, permitiendo
que, adem%s de los mnemotcnicos correspondientes a la operaci(n a reali.ar, se pudieran emplear otros para
indicar, por ejemplo, los operandos" #a anterior instrucci(n se podra escribir de la siguiente forma&
0@/#/'/@ !L-/ !L-M
Nue nos resulta de m%s f%cil comprensi(n"
0ambin se introdujo la posibilidad de indicar a la computadora la direcci(n de un salto en la secuencia de
ejecuci(n de un programa mediante la utili.aci(n de etiquetas"
/ los programas que permiten pasar del programa escrito de esta manera 2programa fuente, en ensamblador3 al
lenguaje mquina tambin se les denomina normalmente ensambladores" $stos traductores, como ya se +a
dic+o, se fueron complicando cada ,e. m%s para que la labor del programador fuera m%s f%cil, incluyendo los
denominados directi,os del ensamblador, que son (rdenes o informaciones que el programador da al traductor,
no instrucciones de lenguaje m%quina"
/un con todas estas sofisticaciones y ayudas, el programador de lenguaje ensamblador debe conocer
perfectamente el sistema fsico 2Hardware3 de la m%quina con que trabaja, pues aunque emplee mnemotcnicos,
etiquetas, etc", stas sir,en para indicar una posici(n de memoria determinada, un registro o cualquier otra parte
de la m%quina"
!or eso se dice que el lenguaje ensamblador es un lenguaje de bajo nivel, es decir, ligado con el HH+ardKK
concreto de una determinada m%quina" /qu radica la diferencia importante con los lenguajes m%s complejos,
llamados de alto ni,el, como el Masic, !ascal, Cobol, etc", ya que en stos el programador no tiene porque
reconocer el HH+ardKK de la m%quina" 0rabaja con ,ariables, constantes e instrucciones simb(licas, y es el
traductor quien las transforma en las direcciones apropiadas"
AUTOE%ALUACI&
9" 'efina #enguaje M%quina"
;" / qu se le denomina mnemotcnicoG
=" Cu%l es un lenguaje $nsambladorG
9"5 Conjunto de registros y modelo de programaci(n
1.2.- CO&JU&TO DE RE)ISTROS 3 MODELO DE PRO)RAMACIO&
#os registros del procesador se emplean para controlar instrucciones en ejecuci(n, manejar direccionamiento de
memoria y proporcionar capacidad aritmtica" #os registros son direccionables por medio de un nombre" #os bits
por con,enci(n, se numeran de derec+a a i.quierda, como en&
""" 9C 95 9= 9; 99 96 7 > E 8 C 5 = ; 9 6
R#,istros d# s#,*#nto
Un registro de segmento tiene 98 bits de longitud y facilita un %rea de memoria para direccionamiento conocida
como el segmento actual"
R#,istro CS" $l 'L almacena la direcci(n inicial del segmento de c(digo de un programa en el registro C"
$sta direcci(n de segmento, mas un ,alor de despla.amiento en el registro apuntador de instrucci(n 21!3, indica
la direcci(n de una instrucci(n que es buscada para su ejecuci(n"
R#,istro DS" #a direcci(n inicial de un segmento de datos de programa es almacenada en el registro '" $n
trminos sencillos, esta direcci(n, mas un ,alor de despla.amiento en una instrucci(n, genera una referencia a la
localidad de un byte especifico en el segmento de datos"
R#,istro SS. $l registro permite la colocaci(n en memoria de una pila, para almacenamiento temporal de
direcciones y datos" $l 'L almacena la direcci(n de inicio del segmento de pila de un programa en el registro
" $sta direcci(n de segmento, mas un ,alor de despla.amiento en el registro del apuntador de pila 2!3, indica
la palabra actual en la pila que esta siendo direccionada"
R#,istros ES" /lgunas operaciones con cadenas de caracteres 2datos de caracteres3 utili.an el registro extra de
segmento para manejar el direccionamiento de memoria" $n este contexto, el registro $ esta asociado con el
registro '1 2ndice3" Un programa que requiere el uso del registro $ puede iniciali.arlo con una direcci(n de
segmento apropiada"
R#,istros 4S 5 )S. on registros extra de segmento en los procesadores >6=>8 y posteriores"
R#,istros d# 6ro6sito ,#n#r'.
#os registros de prop(sito general A7, 87, C7 y D7 son los caballos de batalla del sistema" on <nicos en el
sentido de que se puede direccionarlos como una palabra o como una parte de un byte" $l ultimo byte de la
i.quierda es la parte DaltaD, y el ultimo byte de la derec+a es la parte DbajaD" !or ejemplo, el registro CI consta de
una parte CH 2alta3 y una parte C# 2baja3, y usted puede referirse a cualquier parte por su nombre"
R#,istro A7" $l registro /I, el acumulador principal, es utili.ado para operaciones que implican entradaOsalida y
la mayor parte de la aritmtica" !or ejemplo, las instrucciones para multiplicar , di,idir y traducir suponen el uso
del /I" 0ambin, algunas operaciones generan c(digo mas eficiente si se refieren al /I en lugar de a los otros
registros"
R#,istro 87" $l MI es conocido como el registro base ya que es el <nico registro de prop(sito general que
puede ser ndice para direccionamiento indexado" 0ambin es com<n emplear el MI para c%lculos"
R#,istro C7" $l CI es conocido como el registro Contador" !uede contener un ,alor para controlar el n<mero de
,eces que un ciclo se repite o un ,alor para corrimiento de bits, +acia la derec+a o +acia la i.quierda" $l CI
tambin es utili.ado para muc+os c%lculos
"
R#,istro D7" $l 'I es conocido como el registro de datos" /lgunas operaciones de entradaOsalida requieren
uso, y las operaciones de multiplicaci(n y di,isi(n con cifras grandes suponen al 'I y al /I trabajando juntos"
!ude usar los registros de prop(sito general para suma y resta de cifras de >, 98 o =; bits"
R#,istro d# A6untdor d# Instruccion#s.
$l registro apuntador de instrucciones 21!3 de 98 bits contiene el despla.amiento de direcci(n de la siguiente
instrucci(n que se ejecuta" $l 1! esta asociado con el registro C en el sentido de que el 1! indica la instrucci(n
actual dentro del segmento de c(digo que se esta ejecutando actualmente" #os procesadores >6=>8 y
posteriores tienen un 1! ampliado de =; bits, llamado $1!"
$n el ejemplo siguiente, el registro C contiene ;C/5P6QH y el 1! contiene 59;H" !ara encontrar la siguiente
instrucci(n que ser% ejecutada, el procesador combina las direcciones en el C y el 1!&
egmento de direcci(n en el registro C& ;C/56H
'espla.amiento de direcci(n en el registro 1!& R 59;H
'irecci(n de la siguiente instrucci(n& ;C$C;H
R#,istros A6untdor#s.
#os registros ! 2apuntador de la pila3 J M! 2apuntador de base3 est%n asociados con el registro y permiten
al sistema accesar datos en el segmento de la pila"
R#,istro SP" $l apuntador de la pila de 98 bits esta asociado con el registro y proporciona un ,alor de
despla.amiento que se refiere a la palabra actual que esta siendo procesada en la pila" #os procesadores >6=>8
y posteriores tienen un apuntador de pila de =; bits, el registro $!" $l sistema maneja de forma autom%tica
estos registros"
$n el ejemplo siguiente, el registro contiene la direcci(n de segmento ;EM=6H y el ! el despla.amiento
=9;H" !ara encontrar la palabra actual que esta siendo procesada en la pila, la computadora combina las
direcciones en el y el !&
R#,istro 8P" $l M! de 98 bits facilita la referencia de par%metros, los cuales son datos y direcciones transmitidos
,a pila" #os procesadores >6=>8 y posteriores tienen un M! ampliado de =; bits llamado el registro $M!"
R#,istros Indic#.
#os registros 1 y '1 est%n disponibles para direccionamiento indexado y para sumas y restas"
R#,istro SI" $l registro ndice fuente de 98 bits es requerido por algunas operaciones con cadenas 2de
caracteres3" $n este contexto, el 1 esta asociado con el registro '" #os procesadores >6=>8 y posteriores
permiten el uso de un registro ampliado de =; bits, el $1"
R#,istro DI" $l registro ndice destino tambin es requerido por algunas operaciones con cadenas de caracteres"
$n este contexto, el '1 esta asociado con el registro $" #os procesadores >6=>8 y posteriores permiten el uso
de un registro ampliado de =; bits, el $'1"
R#,istro d# 8nd#rs.
'e los 98 bits del registro de banderas, nue,e son comunes a toda la familia de procesadores >6>8, y sir,en para
indicar el estado actual de la maquina y el resultado del procesamiento" Muc+as instrucciones que piden
comparaciones y aritmtica cambian el estado de las banderas, algunas cuyas instrucciones pueden reali.ar
pruebas para determinar la acci(n subsecuente" $n resumen, los bits de las banderas comunes son como sigue&
O4 -O$#rf'o9: d#s!ord*i#nto." 1ndica desbordamiento de un bit de orden alto 2mas a la i.quierda3 despus de
una operaci(n aritmtica"
D4 -dir#ccin." 'esigna la direcci(n +acia la i.quierda o +acia la derec+a para mo,er o comparar cadenas de
caracteres"
I4 -int#rru6cin." 1ndica que una interrupci(n externa, como la entrada desde el teclado, sea procesada o
ignorada"
T4 -tr*6.. !ermite la operaci(n del procesador en modo de un paso" #os programas depuradores, como el
'$MU4, acti,an esta bandera de manera que usted pueda a,an.ar en la ejecuci(n de una sola instrucci(n a un
tiempo, para examinar el efecto de esa instrucci(n sobre los registros de memoria"
S4 -si,no." Contiene el signo resultante de una operaci(n aritmtica 26 S positi,o y 9 S negati,o3"
;4 -c#ro." 1ndica el resultado de una operaci(n aritmtica o de comparaci(n 26 S resultado diferente de cero y 9
S resultado igual a cero3"
A4 -crr#o u<i'ir.. Contiene un acarreo externo del bit = en un dato de > bits para aritmtica especiali.ada"
P4 -6ridd." 1ndica paridad par o impar de una operaci(n en datos de > bits de bajo orden 2mas a la derec+a3"
C4 -crr#o.. Contiene el acarreo de orden mas alto 2mas a la i.quierda3 despus de una operaci(n aritmticaF
tambin lle,a el contenido del ultimo bit en una operaci(n de corrimiento o de rotaci(n"
#as banderas est%n en el registro de banderas en las siguientes posiciones&
#as banderas mas importantes para la programaci(n en ensamblador son L, , T y C, para operaciones de
comparaci(n y aritmticas, y ' para operaciones de cadenas de caracteres" #os procesadores >6;>8 y
posteriores tienen algunas banderas usadas para prop(sitos internos, en especial las que afectan al modo
protegido" #os procesadores >6;>8 y posteriores tienen un registro extendido de banderas conocido como
$flags"
AUTOE%ALUACI&
9" !ara qu se emplean los registros del procesadorG
;" Nu @egistro nos indica que lo que esta a continuaci(n es nuestro programaG
=" Nu @egistro le pide al ensamblador que reser,e un espacio de memoria para las operaciones de la pilaG
5" Nu @egistro indica #a direcci(n inicial de un segmento de datosG
C" Mencione los registros de los que consta el procesador"
1.= RELACI& >ARD?ARE@SO4T?ARE
$l software es un elemento del sistema que es l(gico, en lugar de fsico" !or tanto el software tiene unas
caractersticas considerablemente distintas a las del +ardware&
$l software se desarrolla no se fabrica en un sentido cl%sico" /unque existen similitudes entre el desarrollo del
software y la construcci(n del +ardware, ambas acti,idades son fundamentalmente diferentes" $n ambas
acti,idades la buena calidad se adquiere mediante un buen diseo, pero la fase de construcci(n del +ardware
puede introducir problemas de calidad que no existen 2o son f%cilmente corregibles3 en el software" /mbas
acti,idades dependen de las personas, pero la relaci(n entre las personas dedicadas y el trabajo reali.ado es
completamente diferente para el software" /mbas acti,idades requieren la construcci(n de un UproductoV, pero
los mtodos son diferentes" #os costos del software se encuentran en la ingeniera"
$sto significa que los proyectos de software no se pueden gestionar como si fueran proyectos de fabricaci(n"
/ mediados de los aos oc+enta, se introdujo el concepto de Uf%brica de softwareV en la literatura" $s importante
tener en cuenta que este trmino no implica que la fabricaci(n del +ardware y el desarrollo del software sean
equi,alentes" $n ,e. de ello, el concepto de f%brica de software recomienda el uso de +erramientas para el
desarrollo autom%tico del software"
$l software no se UestropeaV"
#a Bigura describe, para el +ardware, la proporci(n de fallos como una funci(n del tiempo" $sa relaci(n,
denominada frecuentemente Ucur,a de baeraV, indica que el +ardware ex+ibe relati,amente muc+os fallos al
principio de su ,ida 2estos fallos son atribuibles normalmente a defectos del diseo o de la fabricaci(n3F una ,e.
corregidos los defectos, la tasa de fallos cae +asta un ni,el estacionario 2bastante bajo, con un poco de
optimismo3 donde permanece durante un cierto perodo de tiempo" in embargo, conforme pasa el tiempo, los
fallos ,uel,en a presentarse a medida que los componentes del +ardware sufren los efectos acumulati,os de la
suciedad, la ,ibraci(n, los malos tratos, las temperaturas extremas y muc+os otros males externos"
encillamente, el +ardware comien.a a estropearse"
$l software no es susceptible a los males del entorno que +acen que el +ardware se estropee" #os defectos no
detectados +ar%n que falle el programa durante las primeras etapas de su ,ida" in embargo, una ,e. que se
corrigen, suponiendo que no se introducen nue,os errores" in embargo la implicaci(n es clara, el software no se
estropea" W!ero se deterioraX"
#a mayora del software se construye a medida, en ,e. de ensamblar componentes existentes" Consideremos la
forma en la que se disea y se construye el +ardware de control para un producto basado en microprocesador" $l
ingeniero de diseo construye un sencillo esquema de la circuitera digital, +ace alg<n an%lisis fundamental para
asegurar que se reali.a la funci(n adecuada y ,a al cat%logo de ,entas de componentes digitales existentes"
Cada circuito integrado 2frecuentemente llamado un UC1V o UpastillaV3 tiene un n<mero de pie.a, una funci(n
definida y ,%lida, una interfa. bien definida y un conjunto est%ndar de criterios de integraci(n" 'espus de
seleccionar cada componente, puede solicitarse la compra"
!or desgracia, los diseadores del software no disponen de esa comodidad que acabamos de describir" Con
unas pocas excepciones, no existen cat%logos de componentes de software" e puede comprar software ya
desarrollado, pero s(lo como una unidad completa, no como componentes que pueden reensamblarse en
nue,os programas"
1.A MODOS DE DIRECCIO&AMIE&TO
-Un modo de direccionamiento permite determinar un operando , o la ubicaci(n de un operando en una
instrucci(n" $stos operandos pueden residir en di,ersas partes&
9"-#a propia instrucci(n
;"-Memoria principal
="-@egistros internos de la C!U
-#os programas utili.an ,arios M' moti,ados por&
9"- /+orro de espacio
;"- C(digo reubicable : se puede almacenar el programa en diversas zonas de memoria sin q afecte a la
ejecucin del cdigo
="-$structuras de datos"
1. DIRECCIO&AMIE&TO I&MEDIATO
a3 $l operando est% presente en la propia instrucci(n, por lo tanto, esta opera con un ,alor constante"
b3 $l direccionamiento de una sola palabra& M/ @/!1'L KK el operando se encuentra ya en 1@ al fin de la fase
de b<squeda" ; palabras& lectura de mem adicional"
-)$*0/Y/& No referencia a memoria.
-'$)$*0/Y/& Operandos limitados por la instr.
(. DIRECCIO&AMIE&TO DIRECTO
a3 #a instrucci(n contiene la direcci(n real del operando"
b3 dos tipos&
(.1. Dir#ccion*i#nto !so'uto:
a3 #a instrucci(n contiene la direcci(n de memoria donde se encuentra el objeto, q se +alla en
una posici(n de mem principal"
b3 @ango de posiciones limitado por CL"
c3 Bormato de ; palabras KK M/JL@ C/!/C1'/' '$ '1@$CC1L*/M1$*0L KK lectura
adicional"
(.(. Dir#ccion*i#nto *#dint# r#,istro
a3 Lperando almacenado en un registro de la C!U" #a instrucci(n indica de q registro se trata"
b3 @egistros limitados"
c3 C/@/C0$@101C/&
9"- #ectura M/ @/!1'/ q en memoria KK ninguna lectura adicional"
;"- olo necesita C' pequeo"
="- @ango operando S @ango registro KK #1M10/ espacio de direcciones"
-)$*0/Y/& Solo una referencia a memoria sin clculos previos.
-'$)$*0/Y/& spacio de direcciones reducido.
/. DIRECCIO&AMIE&TO RELATI%O A RE)ISTRO
a3#a instrucci(n *L contiene la direcci(n del operando KK debe ser calculada"
-#a instr contiene un '$!#/T/M1$*0L q +ay q aadir a la direcci(n marcada por un puntero para
obtener la direcci(n final del operandoKK @$0@/L /'1C1L*/#"
-$l puntero suele estar en un registro"
b3 !ermite acceder a un conjunto de direcciones de memoria a partir de una considerada como referencia"KK en
el C' emplea un nZ de bits pequeo
c3 )arios tipos&
/.1. Dir#ccion*i#nto r#'ti$o ' r#,istro contdor d#' 6ro,r* -PC.
a3 puntero & !CF almacena la direcci(n de la siguiente instr"
b3 !ara direccionar instr cercanas a la instr en curso, para bucles"""

/.(. Dir#ccion*i#nto r#'ti$o ' r#,istro !s#
a3 puntero& @$410@L M/$"
b3 la instr contiene la identificaci(n del registro y el despla.amiento
c3 Con,eniente para .onas de datos 2como listas3"
/./. Dir#ccion*i#nto r#'ti$o 6i' -LI4O.
a3 puntero & ! 2stac[ pointer3F apunta a la direcci(n de mem donde se encuentra la cima de la
pila"
b3 '$!#" R ,alor ! S '1@$CC1\* '$# LMY$0L
c3 i no existe C" de despl" KK solo se trabaja con la cima de la pila"
d3 !ermite instrucciones muy compactas"
-)$*0/Y/ & fle!ibilidad.
-'$)$*0/Y/& complejidad.
2. DIRECCIO&AMIE&TO I&DE7ADO
a3 Un registro ndice contiene la direcci(n de referencia y act<a de puntero"
b3 imilar al relati,o a registro baseF pero el ,alor del reg indice se modifica con frecuencia en la ejecuci(n del
programa"
c3 !ara&
-operaciones iterati,as
- recorrer estructuras de datos 2tablas, ,ectores"""3"!ermite reali.ar incrementos y decrementos de una
cierta magnitud KK /U0L-1*'$I/'L
:!@$/U0L1*C@$M$*0L y !@$/U0L'$C@$M$*0L&
9"-el reg indice se incrementa 2o decrementa3
;"- se obtiene la direcci(n S @$4 1*'1C$ R '$!#""
:!L0/U0L1*C@$M$*0L &
9"-direcci(n S @$4 1*'1C$ R'$!#""
;"- el reg indice se incrementa
-)$*0/Y/ & fle!ibilidad.
-'$)$*0/Y/& complejidad.
=. DIRECCIO&AMIE&TO I&DIRECTO
a3 $l C' referencia la direcci(n de una palabra, q a su ,e. contiene la direcci(n completa del operando"
b3 !ara aplicaciones q utili.an datos situados en posiciones distantes en memoria
-)$*0/Y/& 93 espacio de direccin grande" para N bits ## $
N
espacio de direcc.
$% se puede combinar con los direccionamientos relativos
-'$)$*0/Y/& referencia e!tra a memoria
c3 )ariante & Dir#ccion*i#nto indir#cto con r#,istro
-$n el C', +ace referencia a un registro q contiene la direcci(n completa del operando"
-$mplea una referencia a memoria menos

Vous aimerez peut-être aussi