ING. ROSEL MUÑOZ LÓPEZ.
ARQUITECTURA DE COMPUTADORAS
MÉRIDA CORTES SERGIO JAIR DE LA CRUZ CUETO A&RAHAM MOLINA HERRERA EDUARDO
1!1"#$% 1!1"#% 1!1"#$#
'TAPACHULA CHIAPAS( MÉ)ICO A 1$ DE OCTU&RE DEL *"1!'
“PERIODO: AGOSTO'DICIEM&RE *"1!”
Índice Introducción.........................................................................3
2.1.- Organización del procesador.........................................4 Figura 1: visión simplifcada de un procesador....................... 2.2. !structura de registros.................................................." Figura 2: #lasifcación #lasifcación de los registros registros de la #$%...................& #$%............. ......& Figura 3: puntero de Instrucción.............. Instrucción..........................................11 ............................11 2.2.1. 'egistros visi(les para el usuario...............................12 Figura 4: 'egistros de uso general......................................13 2.2.2. 'egistros de #ontrol ) de !stado................................1* !stado................................1* Figura *: indicadores de la +,%...........................................1 2.2.3.- !emplos !emplos de organización de de registros de #$% reales. 1" ,as Figuras : a/ ) (/........................................................ (/........................................................10 10 !n la Figura : c/...............................................................10 2.3. !l ciclo de instrucción................................................... instrucción...................................................1& 1& Figura ". #iclo de Instrucción..............................................2 Figura 0. sueda........................................ sueda............................................................. .....................2 2 2.3.1 ciclo 5etc6-decode-e7ecute.........................................22 Figura &. #iclo 5etc6-decode-e7ecute...................................23 2.3.2. 8egmentación 8egmentación de instrucciones..................................24 instrucciones.................................. 24 Figura 1.- segmentación de instrucciones.............. instrucciones...........................24 .............24 2.3.3.- #onunto de instrucciones: in strucciones: #aracter9sticas #aracter9sticas ) Funciones Funciones .........................................................................................2* 2.3.4.- odos de direccionamiento ) 5ormatos.....................2" 2.4.- #asos de estudios de #$% reales..................................31 reales.................................. 31 Figura 11: +ruitectura de los 'egistros..............................32 #onclusión.........................................................................34 i(liogra59a........................................................................3*
Introducción
En su forma más simple, un sistema de computadora cuenta con una unid unidad ad que que ejec ejecut uta a inst instru rucc ccio ione ness de prog progra rama mas. s. Esta Esta unid unidad ad se comunica con otros subsistemas dentro de la computadora, y a menudo controla su operación. Debido al papel central de tal unidad se conoce como como unid unidad ad cent centra rall de proc procesa esami mien ento to,, o CPU CPU #entral processing Dentro o de much muchas as compu computa tado dora ras, s, un subs subsis iste tema ma como como una una unit/. Dentr unidad de entrada, o un dispositio de almacenamiento masio, puede inc incorpo orpora rarr una una uni unidad dad de proc proces esam amie ient nto o pro propia. pia. !al uni unidad dad de procesamiento, aunque es central para su propio subsistema, resulta clar claro o que que no es "cen "centr tral al"" para para el sist sistem ema a de comp comput utad ador ora a en su conjunto. #in embargo, los principios del dise$o y operación de una CPU son independientes independientes de su posición en un sistema de computadora. computadora. Este trabajo estará dedicado a la organi%ación del hard&are que permite a una una CPU CPU real reali% i%ar ar su func funció ión n prin princi cipal pal'' traer traer inst instru rucc ccio iones nes desde desde la memoria y ejecutarlas.
De igua iguall maner anera a en est este docu docume ment nto o se erá erá(( )a sec secuenc uencia ia de instrucciones resultante es un programa en lenguaje de máquina que representa al algoritmo en cuestión. El mismo enfoque general se utili%a para para permit permitir ir a la comput computado adora ra reali reali%ar %ar funcio funciones nes especi especi*ca *cadas das por inst instru rucc ccio ione ness indi indii idu dual ales es de máqu máquin ina. a. Esto Esto es, es, cada cada una una de esta estass instrucciones se ejecuta reali%ando una secuencia de operaciones más rudi rudime ment ntar aria ias. s. Esta Estass oper operac acio ione nes, s, y los los medi medios os por por los los cual cuales es se generan, serán el tema principal de análisis en este trabajo.
2.1.- Organización del procesador )a Unid Unidad ad de Proc Procesa esami mient ento o +CPU +CPU cont contro rola la el func funcio iona nami mien ento to del computador y llea a cabo sus funciones de procesamiento de datos. -recuentemente se le llama procesador. Un procesador, incluye tanto registros isibles por el usuario como registros de controlestado. )os registros isibles por el usuario pueden ser de uso general o tener una utilidad especial, mientras que los registros de control y estado se usan para controlar el funcionamiento del procesador, un claro ejemplo es el contador de programa. )lea a cabo una gran ariedad de' / Cálculos
/ Comp Compar arac acio ione ness num0r num0ric icas as / !ransf ransfer erenc encia iass de datos datos como como respu respuest esta a a las las peti petici cion ones es de los programas que están siendo ejecutados en memoria. )a CPU CPU contr control ola a las las oper operac acio iones nes bási básica cass del orde ordenad nador or eni enian ando do y recibiendo se$ales de control, direcciones de memoria y datos de un luga lugarr a otr otro de la comp comput utad ador ora a a tra tra0s 0s de un grup grupo o de cana canale less llamados 1U#. )a Unidad Central de Proceso está constituida internamente por' / )a Uni Unida dad d de de Con Contr trol ol / Unid Unidad ad 2rit 2ritm0 m0ti tico3 co3)ó )ógi gica ca %nidad +ritm;tico-,ógica +,%/ 4ecib ecibe e los los dato datoss sobr sobre e los los que que efec efect5 t5a a oper operac acio ione ness de cálc cálcul ulo o y comparaciones. !oma decisiones lógicas +determina si una a*rmación es correcta o falsa mediante reglas del algebra de 1oole y deuele luego el resultado. !odo !odo ello bajo superisión de la unidad de control. ,a %nidad de #ontrol )a unidad de control le indica al resto del sistema como llear a cabo las instrucciones de un programa. Comanda las se$ales electrónicas entre la memoria y la unidad aritm0tico3lógica, y entre el CPU y los dispositios de entrada y salida. Para ejecutar cualquier programa, cada comando del mismo se desglosa en instrucciones.
)os procesadores utili%an la segmentación de instrucciones para acelerar la ejecución. )a segmentación de cauce se puede diidir en ciclo de instrucción en arias etapas separadas que operan secuencialmente, tales como la captación de instrucción, decodi*cación de instrucción, cálc cálcul ulo o de dir direcci eccion ones es de oper operan ando do,, ejec ejecuc ució ión n de inst instru rucc cció ión n y estructura del operando resultado. 2 continuación se muestra cómo se organi%a un procesador, para esto se tiene que considerar los siguientes requisitos' Captar instrucciones: el procesador lee una instrucción de memoria
+registro, cache o memoria principal. pr incipal.
Interpretar instrucción: la instrucción se codi*ca para determinar qu0
acción es necesario.
Captar datos: la ejecución de una instrucción puede e6igir leer datos
de memoria o de un módulo de E#.
Procesar datos: la ejecución de una instrucción puede e6igir llear a
cabo alguna operación aritm0tica o lógica con los datos.
Escribir datos: los resultados de una ejecución pueden e6igir escribir
datos en la memoria o en el módulo de E#.
Para Para hacer estas cosas, el procesador procesador necesita almacenar instrucciones instrucciones y datos temporalmente mientras una instrucción está ejecutándose, en otras palabras el procesador necesita una peque$a memoria interna, tambi0n llamados registros. En esta *gura se muestra una isión simpli*cada de un procesador, que indica su cone6ión con el resto de sistema, a tra0s del bus del sistema. )a 2)U llea a cabo el erdadero cálculo o procesamiento de datos. )a unidad de control controla la transferencia de datos e instrucciones as7 a dentro y as7 afuera del procesador, y el funcionamiento de la 2)U. 2demás la *gura muestra una memoria interna m7nima, que consta de un conjunto de posiciones de almacenamiento llamadas registros.
Figura 1: visión simplifcada de un procesador En esta *gura se indican los caminos de transferencia de datos y de la lógica de control, que incluye un elemento con el rotulo bus interno del procesador. !ambi0n se muestran los elementos básicos t7picos de la 2)U. 8ay que obserar la similitud entre la estructura interna del computador en su totalidad y la estructura interna del procesador. En ambos casos hay una peque$a peque$a colecc colección ión de element elementos os princi principal pales es +compu +computad tador' or' procesador, E#, memoria( procesador' unidad de control, 2)U, registros conectados por caminos de datos.
2.2. !structura de registros <=u; son los registros del #$%>
#e empl emplean ean para para cont contro rola larr las las inst instru rucc ccio iones nes en ejec ejecuc ució ión, n, manej manejar ar direccionamiento de memoria y propiciar la capacidad aritm0tica. ,os registros vienen de tres tipos: datos, direcciones e 7ndice, que tiene lugar en casi todos los aspectos de la operación del CPU. El tama$o de un registro depende del CPU( los más simples tienen registros que aceptan 9 o :; bits de datos y los más complejos tienen registros de <=, >9 o ;> bits. #lasifcación de los 'egistros 'egistro de datos: Un CPU puede funcionar con datos en uno de tres modos' entre dos registros, entre registros y una ubicación de ?emoria de acce acceso so al a%ar a%ar +42 +42? 3 4ando andom3 m32 2cces ccesss ?emo ?emory ry y entr ntre dos dos ubic ubicac acio iones nes 42?. 2?. Como Como el CPU CPU está está conec conecta tado do dire direct ctam ament ente e a los los regi registr stros, os, las las opera operaci cion ones es que que impl implic ican an dos dos regi regist stro ross son son las las más más rápidas( rápidas( las que se dan entre ubicacion ubicaciones es 42? son las más lentas. lentas. Es decir, junta dos registros, a$ade un registro a una ubicación 42?, o a$ade dos ubicaciones 42?.
ara que que un CPU CPU pued pueda a alm almacen acenar ar y 'egist 'egistro ro de direcc direccion iones: es: Para recuperar datos en 42?, debe tener la dirección de la memoria de la infor informac mación ión.. Esas operac operacion iones es que implic implican an 42? usan usan regis registr tros os de dirección de memoria. E) CPU no reali%a aritm0tica en estos registros( en cambio, los usa para ubicar datos que necesita. 'egistro de 9ndice: Un CPU no puede hacer matemáticas en registros de datos datos,, aunqu aunque e pued puede e hacerl hacerlo o indi indire rect ctam ament ente e con con un regi regist stro ro de 7ndi 7ndice ce.. @ste @ste trab trabaj aja a con con los los regis egistr tros os de dato datos, s, per permiti mitien endo do a un programa procesar hilos de información e*ca%mente. 'egistros de segmento: Un registro de segmento tiene :; bits de longitud y facilita un área de memoria para direccionamiento conocida como segmento actual.
dos alma almace cena na la dir direcci ección ón inic inicia iall del segm segment ento o de 'egistro #s: el dos código de un programa en el registro C#. Andica la dirección de una instrucción que es buscada para su ejecución. 'egistro ?s: genera una referencia a la localidad de un byte espec7*co en el segmento de datos.
permite te la colo coloca caci ción ón en memo memori ria a de una una pila pila,, para para 'egistro 'egistro 88: 88: permi almacenamiento temporal de dirección y datos.
utili% i%a a para para algu alguna nass opera operaci cion ones es con con caden cadenas as de 'egistro 'egistro !8: se util caracteres se utili%a para el manejo de direccionamiento de memoria. 'egistros de propósito general: )os registros de propósito general son el 2B, 1B, CB, y DB, de :; bits. Cada uno de ellos se diide en dos registros de 9 bits, llamados 28 y 2), 18 y 1), C8 y C), y, D8 y D), 8 signi*cando 8igh +alto y ) signi*cando )o& +bajo, indicando la parte alta o la parte baja del registro correspondiente de :; bits. 'egistro +@: El registro 2B es el registro acumulador, es utili%ado para operaci operacione oness que implic implican an entrad entradas asali alida, da, y multip multiplic licaci ación ón y diisi diisión ón +estas dos 5ltimas en conjunto con el registro DB. 'egistro @: El registro 1B es el registro base, y es el 5nico registro de prop propós ósit ito o gener general al que que puede puede ser ser un 7ndi 7ndice ce para para dir direcci eccion onam amie ient nto o inde6ado. 'egistro #@: El registro CB es conocido como el registro contador. Puede contener un alor para controlar el n5mero de eces que un ciclo se repite o un alor para corrimiento de bits.
egistr tro o DB es el regis egistr tro o de dato datos. s. En algu alguna nass 'egist 'egistro ro ?@: ?@: El regis operaciones se indica mediante este registro el n5mero de puerto de entradasalida, y en las operaciones de multiplicación y diisión de :; bits se utili%a junto con el acumulador 2B. 'egistros de apuntadores: )os registros #P +apuntador de pila y 1P +apu +apunt ntado adorr base base están están asoc asocia iado doss con con el regi registr stro o ## y permi permite ten n al sistema acceder a datos en el segmento de la pila. 4egis egistr tro o #P' #P' El apun apunta tado dorr de pila pila de :; bits bits está está asoc asocia iado do con con el segmento ## y proporciona un alor de despla%amiento que se re*ere a la palabra actual que está siendo procesada en la pila. 'egistro $: El apuntador base de :; bits facilita la referencia de parámetros dentro de la pila.
Figura 2: #lasifcación de de los registros de la #$% registro de :; bits, de los cuales nuee 'egistros de (anderas: Es un registro siren para indicar el estado actual de la máquina y el resultado del procesamiento. ,os (its de las (anderas son las siguientes: OF overAoB overAoBCC des(ordamiento des(ordamiento/: /: Andica desbordamiento del bit de mayor orden despu0s despu0s de una operación aritm0tica aritm0tica de n5meros
con con sign signo o +:e +:e6i 6ist ste e oer oero o&( &( no no e6is e6iste te oer oero o& &.. Para ara operaciones sin signo, no se toma en cuenta esta bandera. eleccción de increme emento o ?F d dir irec ecci ción ón/: /: Controla la selec decr decrem emen ento to de los los regis egistr tros os #A y DA en las las oper operac acio ione ness con con cadenas de caracteres +:decremento automático( incremento. )a bandera D- se controla con las instrucciones #!D y C)D. Contro rola la el disp dispar aro o de las las inter interru rupci pcion ones es IF inte interrup rrupción/ ción/:: Cont +:habilita las interrupciones( deshabilita las interrupciones. )a interrupción no enmascarable es la 5nica que no puede ser bloqueada por esta bandera. El estado de la bandera A- se controla con las instrucciones #!A y C)A. DF trampa/: Permite la operación del procesador en modo de depuración +paso a paso.
Contie iene ne el sign signo o resul esulta tant nte e de una una oper operac ació ión n 8F s sign igno/: o/: Cont aritm0tica +positio( :negatio. EF cero/: Andica el resultado de una operación aritm0tica o de comparación +resultado diferente de cero( :resultado igual a cero. +F acarreo au7iliar' Contiene el acarreo del bit <. Esta bandera se prueba con las instrucciones D22 y D2# para ajustar el alor de 2) despu0s de una suma s uma o resta 1CD. $F par paridad/ idad/:: Andica si el n5mero de bits :, del byte menos signi*catios de una operación, es par +n5mero de bits : es impar( :n5mero de bits : es par. #F acarreo/: Contiene el acarreo del bit de mayor orden despu0s de una operación aritm0tica( tambi0n almacena el contenido del 5ltimo bit en una operación de despla%amiento o de rotación.
egistr tro o AP de :; bit bits 'egist 'egistro ro de pun punter teros os de instru instrucc cción ión:: El regis contiene contiene el despla%amien despla%amiento to de direcció dirección n de la siguiente siguiente instrucción instrucción que se ejecuta. El AP está asociado con el registro C# en el sentido de que el AP indica la instrucción actual dentro del segmento de código que se está ejecutando actualmente en la memoria.
Figura 3: puntero de Instrucción Un computador emplea una jerarqu7a de memoria. En los nieles más altos de la jerarqu7a, la memoria es más rápida, más peque$a y más cara +por bit. Dentro de la CPU hay un conjunto de registros que funciona como un niel de memoria, por encima de la memoria principal y de la cach0 en la jerarqu7a. )os registros de la CPU son de dos tipos' •
•
'egistros visi(les para el usuario: Permiten al programador de lenguaj lenguaje e máquin máquina a o ensambl ensamblador ador,, minimi minimi%ar %ar las refer referenc encias ias a memoria principal cuando optimi%a el uso de registros. 'egistros de control ) de estado: #on utili%ados por la unidad de cont contro roll para para contr control olar ar el func funcio ionam namie ient nto o de la CPU, CPU, y por progr programas amas priil priilegi egiados ados del sistem sistema a operat operatio io para contr controla olarr la ejecución de programas. Fo hay una separación bien de*nida de registros dentro de estas dos categor7as. Por ejemplo, en algunas máquinas el contador de programa es isible para el usuario +por ejemplo, en el G2B, pero en muchas no lo es.
2.2.1. 'egistros visi(les para el usuario Un registro isible para el usuario es uno que puede ser referenciado por medio del lenguaje máquina que ejecuta la CPU. Podemos clasi*carlos en las siguientes categor7as' •
Pueden en ser ser asig asigna nado doss por por el prog progra rama mado dorr a %so gen genera eral: l: Pued dier diersa sass func funcio iones nes.. 2 eces, eces, su uso dent dentro ro del del reper reperto tori rio o de
inst instru rucc ccio ione ness es orto ortogo gona nall a la oper operac ació ión. n. Es deci decir, r, cual cualqui quier er registro de uso general puede contener el operando para cualquier código de operación. Esto proporciona una utili%ación de registros de uso general aut0ntico. Con frecuencia, sin embargo, e6isten restricciones. •
•
•
?atos: Pueden usarse 5nicamente para contener datos y no se pueden emplear en el cálculo de la dirección de un operando. ?irecciones: Pueden ser de uso más H menos general, o pueden estar dedicados a un modo de direccionamiento particular. particular. #ódigos #ódigo s de con condic dición ión:: tam(i tam(i;n ;n llamad llamados os indica indicador dores es o AagsG/C #on bits *jados por el hard&are del procesador como resul esulta tado do de algu alguna na oper operac ació ión. n. Por ejem ejempl plo, o, una una operación aritm0tica puede producir un resultado positio, negatio, nulo o con desbordamiento. 2demás de almacenarse el propio resultado en un registro o en la memoria, se obtiene tambi0n un código de condición.
)os registros de uso general pueden ser asignados por el programador a diersas funciones. es. 2 eces, es, su uso dent entro del repe epertori orio de instrucciones depende de la operación. Es decir, cualquier registro de uso uso gener general al puede puede cont contene enerr el oper operand ando o para para cual cualqui quier er códi código go de operación. Esto proporciona una utili%ación de registros de aut0ntico uso general. Con frecuencia, sin embargo, e6isten restricciones. Por ejemplo, puede haber registros espec7*cos para operaciones en coma otante y operaciones de pila. En algunos casos, los registros de uso general pueden ser utili%ados para funciones de direccionamiento +este tema será isto más adelante en esta asignatura. En otros casos, hay una sepa separa raci ción ón par parcial cial o tota totall entr entre e regis egistr tros os de dato datoss y regis egistr tros os de direcc direccion iones. es. )os regist registro ross de datos datos pueden pueden usarse usarse 5nicam 5nicament ente e para para contener datos, y no se pueden emplear en el cálculo de una dirección de operando. )os registros de dirección pueden ser de uso más o menos generales, o pueden estar dedicados a un modo de direccionamiento particular. Entre otros, se pueden citar los siguientes ejemplos' 2 $unteros de segmento: En una máquina con direccionamiento segmentado un registro de segmento contiene la dirección de la base del segmento. Puede habe haberr m5lt m5ltip iple less regis egistr tros os'' por por ejem ejempl plo, o, uno uno para para el sist sistem ema a operatio y otro para el proceso actual. 1 'egistros 9ndices:
#e usan usan para para dire direcc ccio ionam namie ient nto o inde inde6a 6ado do,, y puede pueden n ser auto auto inde6ado. C $untero de pila: #i e6iste direccionamiento a pila isible al usuario, la pila está normalmente en memoria, y hay un registro dedicado que apunta a la cabecera de 0sta. Esto permite un direccionamiento impl7cito( es decir, apilar +IpushJ, desapilar +IpopJ, y otras instrucciones dela dela pila pila que que no nece necesi sita tan n cont conten ener er un oper operan ando do e6pl e6pl7c 7cit ito o referente a ella. 8ay aqu7 arias cuestiones de dise$o a estudiar. Una Una impo import rtant ante, e, es si usar usar regi regist stro ross de uso uso Comp Comple leta tamen mente te general o si especiali%ar su uso. us o. D #on el uso de registros especializados: Keneralmente puede quedar impl7cito en el código de operación a qu0 tipo tipo de regist registro ro se re*er re*ere e un determi determinad nado o campo campo de operando.
Figura 4: 'egistros de uso general El campo de operando sólo debe identi*car uno de entre un conjunto de registros especiali%ados, en lugar de uno de entre todos los registros, lo cual ahorra bits. Por otra parte, esta especiali%ación limita la e6ibilidad del programador. Este problema de dise$o, pero, como se mencionó, la tendencia parece hacia el uso de registros especiali%ados. Htro problema de dise$o es el n5mero de registros de uso general o de datos más direcciones que tienen que incluirse. De nueo, esto afecta al dise$o del repertorio de instrucciones, ya que más registros requieren más bits para el campo de operando, parece óptimo alrededor de entre 9 y <= registros. ?enos registros se traducen en más referencias a memoria( más registros no reducen notablemente las referencias a memoria. #in embargo, una nuea apro6imaci apro6imación, ón, que saca partido al uso de cientos cientos de registros, registros, se mani*esta en algunos sistemas 4A#C. Por 5ltimo, está la cuestión de la longitud de los registros.
)os regi egistros que han de contene ener direcc ecciones, han de ser lo su*cientemente grandes como para albergar la dirección más grande. )os registros de datos deben ser capaces de contener alores de la mayor7a de tipos de datos. 2lgunas máquinas permiten que dos registros contiguos sean usados como uno solo para contener alores de doble longit gitud. Una 5ltima categor7a de regi egistro tros, que es al meno enos parcialmente isible al usuario, contiene códigos de condición +tambi0n llamados IindicadoresJ o IagsJ. )os códigos de condición son bits *jados por el hard&are de la CPU como resultado de alguna operación. Por Por ejemplo ejemplo,, una operac operación ión aritm0 aritm0tic tica a puede puede produ producir cir un resul resultad tado o positio, negatio, nulo, o con desbordamiento. 2demás de almacenarse el propio resultado en un registro o en la memoria, se obtiene tambi0n un código de condición. El código puede ede ser e6ami aminado ado con posterioridad, como parte de una operación de bifurcación condicional. )os bits de códigos de condición se re5nen en uno o más registros. Formalmente, forman parte de un registro de control. Por lo general, las inst instru rucccion cione es de máqu máquiina per permite miten n que que esto estoss bits bits sean sean le7do e7doss por referen erenccia impl7cita, pero ero no puede eden ser altera erados por el programador. En algunas máquinas, una llamada a una subrutina dará lugar a la salaguarda automática de todos los registros isibles por el usuario, que serán restablecidos en el retorno de la subrutina. )a CPU lle llea a acab acabo o la sal salag agua uard rda a y resta establ blec ecim imie ient nto o como como part parte e de la ejecución de las instrucciones de llamada y retorno, respectiamente. Esto permite a cada subrutina usar independientemente los registros isibles por el usuario. En otras máquinas, es responsabilidad del programador guardar los cont enidos de losregistros isibles para el programador releantes, antes de la llamad amada a a la subr subrut utiina, na, teni tenien endo do que que incl ncluir uir en el progra ograma ma instrucciones para este *n.
2.2.2.. 'egistros de #ontrol ) de !stado 2.2.2 8ay diersos registros de la CPU que se emplean para controlar su funcionamiento. )a mayor7a de ellos, en la mayor parte de las máquinas, no son isibles para el usuario. 2lgunos de ellos pueden ser isibles a instrucciones máquina ejecutada en un modo de control o de sistema operatio. Faturalmente, máquinas diferentes tendrán diferentes organi%aciones de regi registr stros os y usará usarán n dist distin inta tate term rmin inol olog og7a 7a.. #e incl incluy uye e aqu7 aqu7 una una list lista a ra%o ra%ona nabl blem emen entte comp comple leta ta de tipo ipos de regi egistr stros, os, con una una bre bree e descri descripci pción. ón. #on esencia esenciall cuatr cuatro o regist registro ross para la ejecuc ejecución ión de una instrucción'
#ontador de programa $rogram #ounterC $#/: Contiene la dirección de la siguiente instrucción a captar. captar. 'egis egistr tro o de inst instru rucc ccio ione nes s Ins Instr truc ucti tion on 'egi 'egist ster erCC I'/: I'/: Contiene la instrucción captada más recientemente. 'egi 'egist stro ro de dire direcc ccio ione nes s de memo memori ria a em emor or) ) +ddr +ddres ess s 'egisterC +'/: Está conectado a las l7neas de dirección del bus del sistema. Especi*ca la dirección de memoria de una operación de lectura o de escritura. 'egi 'egist stro ro inter interme medi dio o de memo memori ria a o 'egi 'egist stro ro de ?ato ?atos s o 'egis 'egistro tro de $ala( $ala(ra ra emo emor) r)uHe uHerr 'egist 'egister erCC '/ '/:: Está conectado a las l7neas de datos del bus del sistema. Contiene el alor a almacenar en memoria o el 5ltimo alor le7do de memoria.
Formalmente, la CPU actuali%a el contador de programa despu0s de cad a captación de instrucción, de manera que siempre apunta a la siguiente instrucción a ejecutar. Una instrucción de bifurcación o salto tambi0n modi*cará el contenido del PC. )a instrucción captada se carga en A4, donde son anali%ados el código de operación y los campos de operando. #e intercambian datos con la memoria por medio de ?24 y de ?14. En un sistema con organi%ación de bus, ?24 se conecta directamente al bus de direcciones y ?14 directamente al bus de datos. )os registros isibles por el usuario intercambian repetidamente datos con ?14. )os cuatro registros que se acaban de mencionar se usan para la transferencia de datos entre la CPU y la memoria. Dentro de la CPU, los datos tienen que ofrecerse a la 2)U para su procesamiento. ,a +,%: Puede tener acceso directo a ?14 y a los registros isibles para el usuari o. Como alternatia alternatia,, puedehaber puedehaber registro registross intermedios intermedios adicionales adicionales en torno a la 2)U( estos registros siren como registros de entrada y salida de la 2)U, 2)U, e intercambi intercambian an datos con ?14 y los registro registross isibles para el usuario. !odos los dise$os de CPU incluyen un registro o un conjunto de registros, conocidos a menudo como palabra de estado del programa +program status Lord, P#L, que contiene información de estado. P#L cont contie iene ne nor normal malment mente e códi código goss de condi ondicción, ión, adem ademá ás de otra tra información de estado. !ntre lo !nt los s cam amp pos o in indi dic cad ador ore es com omun unes es se in inc clu lu) )en lo los s siguientes:
2 8igno: Contiene el bit de signo del resultado de la 5ltima operación aritm0tica. 1 #ero: Puesto a uno cuando el resultado es . C +carreo: Puesto a uno si una operación da lugar a un acarreo +suma o adeudo +resta del bit más signi*catio. #e usa en operaciones aritm0ticas multipalabra.
D Igual: Puesto a uno si el resultado de una comparación lógica es la igualdad. E ?es(ordamiento: Usado para ara indic dicar un desbo sbordamie miento aritm0tico. - Interrupciones 6a(ilitadasin6a(ilitadas: Usado para permitir o inhabilitar interrupciones. K 8upervisor: Andica si la CPU funciona en modo superisor o usuario. Mnicamente en modo modo supe super ris isor or se pued pueden en ejec ejecut utar ar cier cierta tass inst instru rucc ccio ione ness priilegiadas y se puede acceder a ciertas áreas de memoria.
Figura *: indicadores de la +,%
2.2.3.- !emplos de organización de registros de #$% reales 4esulta instructio e6aminar y comparar las organi%aciones de registros de sistemas análogos. En esta sección, e6aminamos dos microprocesadores de :; bits que fueron dise$ados apro6imadamente al mismo tiempo' el ?otorola ?C;9 N#!4AOQ y el lntel 99; N?H4#O9Q.
,as Figuras : a/ ) (/ 4eprese epresent ntan an la orga organi ni%ac %ació ión n de regi registr stros os de cada cada uno uno de ello ellos( s( los los registros estrictamente internos, tales como el registro de dirección de memoria, no se muestran.
!n la Figura : c/
#e ilust ilustra ra un segun segundo do aspec aspecto to inst instru ruct cti io o acer acerca ca del del dise$ dise$o o de la organi%ación de los registros. Esta *gura muestra la organi%ación de los regi egistr stros isi isibl bles es por por el usua usuari rio o en el Ant Antel 9<9 9<9; ; NE)2 E)2R9S R9S,, un microprocesador de <= bits dise$ado como una ampliación a mpliación del 99;T. El ?C;9 distribuye sus registros de <= bits en ocho de datos y nuee de direcciones. )os ocho registros de datos se usan principalmente para manipulación de datos y tambi0n se usan en direccionamiento como registros 7ndice. El Antel 99; usa un enfoque diferente para la organi%ación de los regi registr stros. os. Cada Cada uno uno de los los regist egistro ross tien tiene e un uso uso espe especi cial al,, aunq aunque ue algunos registros se pueden emplear tambi0n para un uso general. El 99; 99; cont contie iene ne cuat cuatrro regis egistr tros os de dato datoss de :; bit bits que que son son direccionables como registros de bytes o como registros de :; bits, y cuatro registros punteros e 7ndices de :; bits. )os registros de datos pueden utili%arse como de uso general en algunas instrucciones. En otras, los registros se usan impl7citamente. )a unidad de procesamiento central +CPU reali%a operaciones en los datos. En la mayor7a de las arquitecturas consta de tres partes' una unidad aritm0tica lógica +2)U, una unidad de control y un conjunto de registros, ubicaciones de almacenamiento rápido. )os registros registros son lugares de almacenamiento rápido independiente que guardan datos en forma temporal. 4egistros m5ltiples son necesarios para facilitar facilitar el funcionamiento funcionamiento del CPU. Podemos Podemos diidir diidir las partes que componen un ordenador en tres grandes categor7a categor7ass o subsistemas' subsistemas' la unidad unidad de procesamiento procesamiento central central +CPU, la memoria principal y el subsistema de entrada salida.
2.3. !l ciclo de instrucción 2l encender una computadora, su CPU arranca de un estado inicial conocido conocido +'eset el cuál le obliga a comen%ar siempre desde el mismo punto de partida. El fabricante +en este caso yo *ja el lugar, la dirección de la celda de memoria donde se requiere que est0 la primer instrucción que la CPU a a ejecutar. )a tarea de una CPU es traer instrucciones desde la memoria y cumplir con lo que ellas le indican, al *nali%ar la ejecución de la instrucción, la CPU queda en conocimiento de donde se encuentra la que sigue. Para comen%ar, solo tiene que saber dónde se encuentra la primera porque desde esa en adelante, se asume que ienen en secuencia, a menos que
las propias instrucciones le instruyan que debe seguir por otro lado, proocando saltos o des7os del curso o Auo del programa. Un Ciclo de instrucción Ancluye los siguientes subciclos'
#aptación: Elear la siguiente instrucción de la memoria a la CPU.
!ecución: !ecución: Anterpretar el código de operación y llear a cabo la operación indicada.
Interrupción: #i las interrupciones están habilitadas y ha ocurrido una interrupción, salar el estado del proceso actual y atender la interrupción.
!l #iclo Indirecto )a ejecución de una instrucción puede inolucrar a uno o más operandos en memoria, cada uno de los cuales requiere un acceso a memoria. 2demás, si se usa direccionamiento indirecto serán necesarios accesos a memoria adicionales.
Podemo Podemoss consid considerar erar la captac captación ión de direcc direccion iones es indir indirect ectas as como como un subciclo de instrucción más. )a principal l7nea de actiidad consiste en alter alternar nar las actii actiidade dadess de captac captación ión y ejecuc ejecución ión de instru instrucci ccione ones. s. Desp De spu0 u0ss de que que una una inst instru rucc cció ión n sea sea capt captad ada, a, es e6ami 6amina nada da para para determinar si incluye alg5n direccionamiento indirecto. #i es as7, los operandos requeridos se captan usando direccionamiento indirecto. !ras !ras la ejecución se puede procesar una interrupción antes de la captación de la siguiente instrucción.
Figura ". #iclo de Instrucción Esta Esta *gur *gura a ilus ilustr tra a más más cor correct rectam amen ente te la natu natura rale le%a %a del del cicl ciclo o de instrucción. Una e% que una instrucción es captada, deben identi*carse
sus campos de operandos. #e capta entonces de la memoria cada operando de entrada, y este proceso puede requerir direccionamiento indi indirrecto ecto.. )os )os oper operan ando doss ubic ubicad ados os en regis egistr tros os no nece necesi sita tan n ser ser captados. Una e% que se ejecuta la operación, puede ser necesario un proceso similar para almacenar el resultado en la memoria principal.
Figura 0. sueda )a CPU cuenta con una serie de celdas de almacenamiento internas llamadas 4egistros, algunos de ellos tienen un uso dedicado y controlan el funcionamiento de la máquina. $# J $rog $rogra ram m #oun #ounte terr o #ont #ontad ador or de $rog $rogra rama ma' Es un registro dedicado de la CPU que en la fase de 15squeda apunta a la sigu siguie ient nte e inst instru rucc cció ión n del del prog program rama, a, o más más e6ac e6acta tame ment nte e al primer byte de la instrucción donde se almacena el código de operación +Hperatie Code HpCode. Este código es el que se decodi*ca e indica ue 6acer y ue operandos intervienen. Para ara lueg luego o de habe haberr obte obteni nido do los los oper operan ando doss pode poderr pasa pasarr a ejecutar la tarea. I' J Instruction 'egister o 'egistro de Instrucción ' Es un regis egistr tro o dedi dedica cado do de la CPU CPU que que alma almace cena na el HpCo HpCode de de la instrucción tra7da en la b5squeda del presente ciclo. Es el alor cargado en A4 el que debe decodi*carse. )as instrucciones en memoria, para esta máquina, pueden tener uno o dos bytes. #i la instrucción es de un byte, ya se puede ejecutar porque el alor de A4 de*ne completamente lo que hay que hacer. #i la instrucción es de dos dos byte bytes, s, hay hay que que leer leer el sigu siguie ient nte e byte byte el cual cual apor aporta ta información adicional, requerida para la ejecución. 2ntes de la decodi*cación no se sabe si la instrucción es de uno o dos bytes. 4ecord ecordem emos os que que las las opera operaci cion ones es que que se puede pueden n real reali% i%ar ar son son siempre pre ent entre el alor en el 2cumulado ador y un opera erando
almacenado en ?emoria, lo cual implica que hay que saber la ubicación del mismo o sea su Dirección. ,as tareas ue de(e realizar un procesador son:
#aptar instrucción: )a CPU lee una instrucción de la memoria. instru rucc cció ión n se deco decodi di*c *ca a para para Interpret Interpretar ar instrucci instrucción: ón: )a inst determinar qu0 acción es necesaria. #aptar datos: )a ejecución de una instrucción puede e6igir leer datos de la memoria o de un módulo de E#. $rocesar datos: )a ejecución de una instrucción puede e6igir llear a cabo alguna operación aritm0tica a ritm0tica o lógica con los datos.
!scri(ir !scri(ir datos: )os resultados de una ejecución pueden e6igir escribir datos en la memoria o en un módulo de E#. Para hacer esto, es obio que la CPU necesita almacenar algunos datos temporalmente. Debe recordar
2.3.1 ciclo 5etc6-decode-e7ecu 5etc6-decode-e7ecute te Un ciclo de instrucción +tambi0n llamado ciclo de fetch3and3e6ecute o cicl ciclo o de fetch fetch3d 3dec ecod ode3e e3e6e 6ecu cute te en ingl ingl0s 0s es el per7 per7od odo o que que tarda tarda la unidad central de proceso +CPU en ejecutar una instrucción de lenguaje máquina. Comprende una secuencia de acciones determinada que debe llear a cabo la CPU para ejecutar cada instrucción en un programa. Cada instrucción del juego de instrucciones de una CPU puede requerir diferente n5mero de ciclos de instrucción para su ejecución. Un ciclo de instrucción está formado por uno o más ciclos máquina( Para que cualquier sistema de proceso de datos basado en microprocesador +por +por ejem ejempl plo o un orde ordena nado dor r o micr microc ocon ontr trol olad ador or +por +por ejem ejempl plo o un reproductor de ?P< realice una tarea +programa primero debe buscar cada instrucción en la memoria principal y luego ejecutarla. #ecuen #ecuenci cia a de acci accion ones es del cicl ciclo o de inst instru rucc cció ión( n( 8abi 8abitu tual almen mente te son son cuatro los eentos o pasos que se llean a cabo en cada ciclo de instrucción +ciclo de fetch' 1uscar la instrucción en la memoria principal #e uelca el alor del contador de programa sobre el bus de direcciones. Entonces la CPU pasa la instrucción de la memoria principal a tra0s del bus de datos al 4egistro de Datos de ?emoria +?D4. 2 continuación el alor del ?D4 es colocado en el 4egistro de Anstrucción 2ctual +CA4, un circuito que guarda la instrucción temporalmente de manera que pueda ser decodi*cada y ejecutada. El decodi*cador de instrucción interpreta e implementa la instrucción. El registro registro de instrucció instrucción n +A4 mantiene la instrucció instrucción n en curso mientras mientras el
contador de programa +PC, program counter guarda la dirección de memoria de la siguiente instrucción a ser ejecutada. 'ecogida de datos desde la memoria principal !ambi0n !ambi0n se lee la dirección efectia de la memoria principal si la inst instru rucc cció ión n tien tiene e una una dir direcci ección ón indi indirrecta ecta,, y se recog ecogen en los los dato datoss requeridos de la memoria principal para ser procesados y colocados en los registros de datos. !ecutar la instrucción 2 partir del registro de instrucción, los datos que forman la instrucción son decodi*cados por la unidad de control. @sta interpreta la información como una secuencia de se$ales de control que son eniadas a las unidades funcionales releantes de la CPU para pa ra reali%ar la operación requerida por la instrucción.
Figura 5etc6En este fases+o y +cada etapas o
actiidades F+8! F!D#K Cargar la siguiente instrucción Ancrementar el secuenciador Anterpretar la Anstrucción F+8! !@!#%D!
&. #iclo decodee7ecute ciclo las sub ciclos' b5squeda ejecución fase tiene
Cargar los operandos Ejecutar la operación Kuardar el resultado Geri*car si hay solicitudes de interrupción
2.3.2. 8egmentación de instrucciones )a segmentación de instrucciones es similar al uso de una cadena de montaje en una fábrica de manufacturación. En las cadenas de montaje, el producto pasa a tra0s de arias etapas de producción antes de tener el prod produc ucto to termi termina nado do.. Cada Cada etap etapa a o segmen segmento to de la cade cadena na está está especiali%ada en un área espec7*ca de la l7nea de producción y llea a cabo siempre la misma actiidad. Esta tecnolog7a es aplicada en el dise$o de procesadores e*cientes. 2 estos procesadores se les conoce como pipeline processors. Un pipel pipelin ine e proc process essor or está está comp compues uesto to por por una una list lista a de segm segmen ento toss lineales y secuenciales en donde cada segmento llea a cabo una tarea o un grup grupo o de tar tareas eas comp comput utac acio iona nale les. s. Puede uede ser ser repr epresen esenttado ado grá* grá*ca came ment nte e en dos dos dime dimens nsiiones ones,, en dond donde e en el eje eje ert ertiical cal encontramos los segmentos que componen el pipeline y en el segmento hori hori%o %ont ntal al repr epresen esenta tamo moss el tiem tiempo po.. +En +En la *gur *gura a se mues muestr tran an la segmentación de instrucciones del pipeline.
Figura 1.- segmentación de instrucciones 8ay tres aspectos importantes que deben ser considerados en pipeline. )o primero que debemos obserar es que el trabajo es diidido en pie%as que más o menos ajustan dentro de los segmentos que componen el pipeline. #egundo, para que el pipeline trabaje de forma e*ciente es necesar necesario io que las partic particion iones es de trabaj trabajo o tomen tomen apro apro6imadam 6imadament ente e la mism misma a cant cantid idad ad de tiemp tiempo. o. De as7, as7, el segme segment nto o que que requ requie iera ra más más
tiempo +! hará que el pipeline se retrase y cada segmento requerirá ! unidades de tiempo para completar su trabajo. Esto quiere decir que los segmentos rápidos estarán mucho tiempo ociosos. !ercero, para que el pipeline funcione adecuadamente, deben ocur ocurri rirr poca pocass e6ce e6cepci pcion ones es o ha%ar ha%ards ds +rie +riesg sgos os que que pued puedan an caus causar ar retar etard dos o err errores ores en el pipe pipeli line ne.. En caso aso de ocur ocurri rirr err errores ores,, la instrucción tiene que ser cargada nueamente en el pipeline y se debe reiniciar la misma instrucción que ocasionó la e6cepción. Como Como una primer primera a apro6 apro6ima imació ción, n, consid considere eremos mos una subdii subdiisió sión n del procesamiento de una instrucción en dos etapas o segmentos'
Captación de la instrucción Ejecución de la instrucción
2.3.3.- #onunto de instrucciones: #aracter9sticas ) Funciones Un conjunto de instrucciones o repertorio de instrucciones, juego de instrucciones o A#2 +del ingl0s Anstruction #et 2rchitecture, 2rquitectura del Conjunto de Anstrucciones es una especi*cación que detalla las instruccion instrucciones es que una CPU de un ordenador ordenador puede entender entender y ejecutar, ejecutar, o el conjunto de todos los comandos implementados por un dise$o particular de una CPU. El t0rmino describe los aspectos del procesador generalmente isibles a un programador, incluyendo los tipos de datos natios, las instrucciones, los registros, la arquitectura de memoria y las interrupciones, entre otros aspectos. CA#C +Compl +Comple6 e6 Anstru Anstructi ction on #et !7iste !7iste princi principal palmen mente te de 3 tipos: tipos: CA#C Comput Computer er,, 4A#C 4A#C +4educ +4educed ed Anstru Anstructi ction on #et Comput Computer er y #A#C #A#C +#impl +#imple e Anstruction #et Computing. )a arquitectura del conjunto de instrucciones +A#2 se emplea a eces para distinguir este conjunto de caracter7sticas de la micro arquitectura, que son los elementos y t0cnicas que se emplean para implementar el conjunto de instrucciones. Entr Entre e estos estos eleme element ntos os se encu encuen entr tran an las las micr microi oins nstr truc ucci cion ones es y los los sistemas de cach0 Procesadores con diferentes dise$os internos pueden compartir un conjunto de instrucciones( por ejemplo, el Antel Pentium y 2?D 2?D 2thl 2thlon on impl implem ement entan an ersi ersion ones es casi casi id0n id0nti tica cass del del conj conjun unto to de instrucciones 69;, aunque tienen dise$os diferentes.
Cualquier conjunto de instrucciones se puede implementar de arias maneras. !odas !odas las maneras de implementar un conjunto de instrucciones dan el mismo modelo programado, y todas pueden hacer funcionar los mismos ejecutables binarios. )as arias maneras de implementar un conjunto de inst instru rucccion cione es dan dan die diers rsas as compe ompens nsac aciiones ones entr entre e el coste, ste, el funcionamiento, el consumo de energ7a, el tama$o, el etc. )a func funció ión n de una una comp comput utado adora ra es la ejec ejecuc ució ión n de progr program amas. as. )os )os prog progra rama mass se encu encuen entr tran an loca locali li%a %ado doss en memo memori ria a y cons consis iste ten n de inst instru rucccion cione es. )a CPU es qui quien se enc encarga arga de ejec ejecut utar ar dic dichas has instrucciones a tra0s de un ciclo denominado ciclo instrucciones. )as inst instru rucc ccio ione ness cons consis iste ten n de secuen secuenci cias as de : y +bin +binar aria ias s llam llamada adass código máquina y no son legibles para las personas. Por ello ello se emple emplean an leng lenguaj uajes es como como el ensa ensambl mblad ador or +baj +bajo o nie niel l o lenguajes de programación como pascal +alto niel. )as instrucciones son ejecutadas por la CPU a grandes elocidades. Desde una isión muy simple, el llear a cabo las instrucciones consiste de dos etapas' •
•
•
)eer +fetch instrucción de ?emoria 1 Ejec Ejecut utar ar +e6 +e6ecut ecute e instrucción El programa se ejecuta a tra0s de una iterac iteración ión consta constante nte de estos dos etapas
2.3.4.- odos de direccionamiento ) 5ormatos )os llamados modos de direccionamiento son las diferentes maneras de especi*car en informática un operando dentro de una instrucción en
lenguaje ensamblador. Un modo de direccionamiento especi*ca la forma de calcular la dirección de memoria efectia de un operando mediante el uso de la información cont conteni enida da en regi regist stro ross y o cons consta tant ntes es,, cont conten enid ida a dentr dentro o de una una instrucción de la máquina o en otra parte. Diferentes arquitecturas de computadores ar7an mucho en cuanto al n5mero de modos de direccionamiento que ofrecen desde el hard&are. Eliminar los modos de direccionamiento más complejos podr7a presentar una una seri serie e de bene bene*c *cio ios, s, aunq aunque ue podr podr7a 7a reque equeri rirr de inst instru rucc ccio ione ness adicionales, e incluso de otro registro. #e ha comprobado que el dise$o de CPUs CPUs segm segmen enta tada dass es much mucho o más más fáci fácill si los los 5nic 5nicos os modo modoss de direccionamiento que proporcionan son simples. )a mayor7a de las máquinas 4A#C disponen de apenas cinco modos de direccionamiento simple, mientras que otras máquinas CA#C tales como el DEC G2B tienen más de una docena de modos de direccionamiento, algunos de ellos demasiado complejos. El mainframe A1? #ystem<; dispon7a 5nicamente de tres modos de direccionamiento( algunos más fueron a$adidos posteriormente para el #ystem<. Cuan Cuando do e6is e6iste ten n solo solo unos unos cuan cuanto toss modo modos, s, esto estoss an an codi codi*c *cad ados os directamente dentro de la propia instrucción +Un ejemplo lo podemos encontrar en el A1?<, y en la mayor7a de los 4A#C. #in embargo, cuando hay demasiados modos, a menudo suele reserarse un campo espec espec7* 7*co co en la prop propia ia inst instru rucc cció ión, n, para para espec especi* i*car car dich dicho o modo modo de direccionamiento. El DEC G2B permit7a m5ltiples operandos en memoria en la mayor7a de sus instrucciones, y reseraba los primeros bits de cada cada oper operan ando do para para indi indica carr el modo modo de dir direcci eccion onam amie ient nto o de ese ese operando en particular. !specifcación de modos de direccionamiento ) 5ormatos
Un modo de direccionamiento especi*ca la forma de calcular la dirección de memoria efectia de un operando mediante el uso de la información cont co nteni enida da en re regi gist stro ross y o co cons nsta tant ntes es,, co cont nten enid ida a den dentr tro o de un una a instrucción de la máquina o en otra parte. ?ireccionamiento Impl9cito: En este modo de direccionamiento no es necesario poner ninguna dirección de forma e6pl7cita, ya que en el propio código de operación opera ción se conoce la dirección del +de los operando+s al +a los que se desea acceder o con el +los que se quiere operar. •
•
?ireccionamiento Inmediato: En este modo el operando es espe es peci ci*c *cad ado o en la in inst stru rucc cció ión n mi mism sma. a. En ot otra rass pa pala labr bras, as, un una a instrucción de modo inmediato tiene un campo de operando en
e% de un campo de dirección. El campo del operando contiene el operando actual que se debe utili%ar en conjunto con la operación espe es peci ci*c *cad ada a en la in inst stru rucc cció ión. n. )a )ass in inst stru rucc ccio ione ness de mo modo do inmed in media iato to so son n 5t 5til iles es pa para ra in inic icia iali li%ar %ar lo loss re regi gist stro ross en un a alo lorr constante. Cuando el campo de dirección especi*ca un registro del procesador, la instrucción se dice que está en e n el modo de registro. •
•
•
•
•
•
•
•
?ireccionamient ?irecciona miento o ?irec ?irecto: to: El campo de operando en la instrucción contiene la dirección en memoria donde se encuentra el operando. En este modo la dirección efectia es igual a la parte de dirección de la instrucción. El operando reside en la memoria y su dirección es dada directamente por el campo de dirección de la instrucción. En una instrucción de tipo rami*cación el campo de dirección especi*ca la dirección de la rama actual. ?ireccionamiento Indirecto: El campo de operando contiene una dirección de memoria, en la que se encuentra la dirección efectia del operando. ?ireccionamiento +(soluto: El campo de operando contiene una dirección en memoria, en la que se encuentra la instrucción.
El registro referenciado ?irecc ?ire ccion ionam amie ient nto o 'ela 'e lati tivo vo:: imp mpll7c 7ciita tame ment nte e es el con onta tado dorr de pr pro ogr gram ama. a. El cam ampo po de direcciones se trata como un n5mero en complemento a =, y representa un despla%amiento relatio al PC. ?ireccionamiento con registro (ase: En este direccionamiento el registro referenciado contiene una dirección de memoria y el camp ca mpo o de di dire recc cció ión n co cont ntie iene ne un de desp spla la%a %ami mien ento to des desde de di dich cha a dirección. ?ireccionamiento inde7ado: El campo de direcciones referencia una dir direcc ección ión de mem memori oria a prin princi cipal pal,, y el re regis gistr tro o re refer ferenc enciad iado o contiene conti ene un despla%amiento despla%amiento positio positio desde esa dirección dirección.. En el inde in de6a 6ado do se co cons nsid ider era a qu que e el ca camp mpo o de di dirrec ecci cion ones es es un una a dirección de memoria. ?ireccionamient ?irecciona miento o autoi autoincrem ncrementa enta:: En este m0todo, la direcc dir ección ión del oper operand ando o se encuentra encuentra en un registr registro o y 0st 0ste e es incrementado despu0s de acceder al operando, en el tama$o del mismo ?irecc ?ire ccion ionam amie ient nto o au auto tode decr crem emen enta ta:: En este modo para obtener la dirección del operando hay que decremento un registro
en el tam tama$o a$o del op opera erand ndo( o( el nu nueo eo co cont nteni enido do de dell re regi gist stro ro despu0s de efectuar esa operación es la dirección del operando. Contar Contar con difere diferente ntess formato formatoss de instru instrucci cciones ones,, implic implica a contar contar con diferentes formas de obtener los operandos de las instrucciones. Por lo gene genera rall a esta estass m5l m5ltipl tiples es for formas mas se les cono conoce ce como como modo modoss de direccionamiento. )os modos de direccionamiento en ?AP# son' Direccionamiento por registro, donde los operandos son registros. )os datos a operar están contenidos en = registros de <= bits y el resultado será colocado en otro registro, del mismo tama$o. !emplos los de inst nstruccion iones ue usan est este modo de direccionamiento: addC su(C sltC etc.
Direccionamiento base o despla%amiento, donde uno de los operandos está en una localidad de memoria cuya dirección es la suma de un registro y una constante que forma parte de la misma instrucción. !emplos los de inst nstruccion iones ue usan est este modo de direccionamiento: lBC sBC etc.
Dir Direcci eccion onam amie ient nto o inme inmedi diat ato, o, dond donde e uno uno de los los oper operan ando doss es una una constante que está en la misma instrucción. !emplos los de inst nstruccion iones ue usan est este modo de direccionamiento: addiC sltiC etc.
Direccionamiento relatio al PC, donde se forma una dirección sumando una constante, que está en la instrucción, con el registro PC +Program Counter. El resultado de la suma corresponde a la dirección destino si un brinco condicional se a a reali%ar. reali%ar. !emplos los de inst nstruccion iones ue usan est este modo de direccionamiento: (e ) (ne.
Direccionamiento pseudo directo, donde la dirección destino de un salto corresponde a la concatenación de =; bits que están en la misma instrucción con los bits más signi*catios del PC. !emplos los de inst nstruccion iones ue usan est este modo de direccionamiento: ) al.
Es importante importante mencionar que estamos estamos estudiando estudiando una arquitect arquitectura ura con dir direcci eccion ones es de <= bit bits, sin sin emba embarrgo, go, ?AP# ?AP#,, como omo muc muchas otra otrass arquitecturas, tiene una e6tensión que maneja direcciones de ;> bits. Esto como una respuesta a la necesidad de manejar programas cada e% más grandes.
2.4.- #asos de estudios de #$% reales 2 I-00 )os modos de direccionamiento del 99; +Cra&ford Kelsinger, :9O son muy irregulares. )os registros del procesador, se usan para contener los datos con que se está trabajando puesto que el acceso a los registros es mucho más rápido que los accesos a memoria. #e pueden reali%ar operaciones aritm0ticas y lógicas, comparaciones, entre otras. 8ay un ca 8ay camp mpo o pa para ra un reg egis istr tro o +r +reg eg, , qu que e es espe peci cifica uno de los operandos, y otros dos campos +mod y rm para el otro.
)os modos del 99; son indirectos por registro, inde6ados o directos por registro. 'egistros $ropósito Leneral: •
•
•
•
'egistro +@: El registro 2B es el registro acumulador, es utili%ado para operaciones que implican entradasalida, y multiplicación y diisión +estas dos 5ltimas en conjunto con el registro DB 'egistro @: El registro 1B es el registro base, y es el 5nico reg egis istr tro o de pr prop opós ósit ito o ge gene nera rall qu que e pu pued ede e se serr un 7n 7ndi dice ce pa para ra direccionamiento inde6ado
contador. 'egistro #@: El registro CB es conocido como el registro contador. Puede contener un alor para controlar el n5mero de eces que un ciclo se repite. 'egistro ?@: El registro DB es el registro de datos.
'egistros Índice: •
•
'egistro 8I: El registro 7ndice fuente de :; bits es requerido por algunas operaciones con cadenas de caracteres. 'egistro ?I: El registro 7ndice destino tambi0n es requerido por algunas operaciones con cadenas de caracteres.
'egistros +puntadores: •
•
'egistro 8$: 2puntador de pila de :; bits proporciona un alor de despla%amiento que se re*ere a la palabra actual que está siendo procesada en la pila. 'egistro $: El apuntador base de :; bits facilita la referencia de parámetros dentro de la pila.
Figura 11: +ruitectura de los 'egistros 1 otorola 0 En el ?otorola ;9 el mismo direccionamiento llea impl7cito el tipo de registro sobre el que trabaja +direcciones o datos. Está basado en dos bancos de 9 registros de <= bits. Un banco es de datos +Dn y el otro de punteros +2n. 2demás contiene un contador de programa de <= bits y un registro de estado de :; bits. )os registros de datos +D a DO se pueden usar como registros de <= bits +.l, :; bits +.& y 9 bits +.b. Cualquiera de ellos puede usarse como acumulador, 7ndice o puntero. 2cepta los siguientes modos de direccionamiento'
Ampl7cito +o inherente.
Anmediato.
2bsoluto.
Directo a registro.
Andirecto.
4elatio a PC con despla%amiento.
4elatio a PC con 7ndice y despla%amiento.
C 030 Para este microprocesador e6iste un modo nueo que requiere un byte adicional denominado #A1 +escala, 7ndice, base que se a$ade al byte de operandos y cuyo formato es el siguiente' Ese byte adicional especi*ca un factor de escala y dos registros +base e 7ndice.
El 9<9; tiene registros de <= bits en e n las siguientes categor7as' 4egistros 4egistr os de propósito general. gene ral. 4egistros 4egistr os de segmento. Puntero de instrucciones Andicadores. 4egistros 4egistr os de control +nueos en el 9<9;. 4egistros 4egistr os de direcciones de sistema. 4egistros 4egistr os de depuración +debug +nueos en el 9<9;. 4egistros 4egistr os de test +nueos en el 9<9;. D $rocesador I3 )7nea de microprocesadores Antel, gama baja. < era generación =:. Caracter7sticas' •
Procesador de = n5cleos
•
> hilos de procesamiento en paralelo
•
!arjeta ! arjeta grá*ca integrada
•
Controlador de memoria
•
Controlador PCA E6press =. integrado
#onclusión En este trabajo se presentó un panorama general de la organi%ación de la unid unidad ad cent central ral de proc proces esami amient ento o de una una compu computa tado dora. ra. ?uch ?uchas as
ariaciones de las organi%aciones aqu7 presentadas se encuentran en las máquinas disponibles en el comercio. )a elección de una organi%ación espec7*ca implica tener que equilibrar elocidad de ejecución y costo de implan implante. te. !ambi0n ambi0n se e afectad afectada a por otros otros factor factores, es, tales tales como como la tecnolog7a que se emplee, la e6ibilidad de modi*cación, o el deseo de prop propor orci cion onar ar algu alguna nass capa capaci cida dade dess espe especi cial ales es en el conj conjun unto to de instrucciones de la computadora. #e presentaron dos enfoques en lo relatio al implante de la unidad de control de una CPU' control *jo y control micro programado. El control micro programado proporciona considerable e6ibilidad en el implante de conjuntos de instrucciones. !ambi0n facilita la adición de nueas instrucciones a máquinas ya e6istentes. Cuand Cuando o se prese present ntó ó por por primer primera a e% el cont contro roll micr micro o prog program ramado ado,, resultaba mucho más lento que el control *jo, debido a la baja elocidad del almacenamiento 4H?. #in embargo, los aances en la tecnolog7a 4H? han reducido las diferencias de elocidad. Como resultado, ahora el uso del control micro programado es mucho más frecuente debido a su e6ibilidad.
i(liogra59a !structura ) diseMo de #omputadores
Daid 2. Patterson, Vohn ). 8ennessy Ed. 4eert0 #.2. = #ap9tulo *: !rata el tema desde la perspectia del dise$o del camino de datos y control. 2borda la reali%ación de un esquema simple y de uno multicilo para ir profundi%ando en temas de microp micropro rogram gramaci ación ón y del tratam tratamien iento to de e6cep e6cepcio ciones nes por la unidad de control, sobre la reali%ación de la unidad de control medi ediant ante circuiter7 er7a. 2nali%a las unidades de control
combinatorias, las de máquinas de estados *nitos de control y los secuenciadores.
Fundamentos de los #omputadores
Pedro de ?iguel 2nasagasti Ed. Paraninfo. : #ap9tulo ": Enfoca el tema desde las operaciones elementales. 2borda el dise$o de la unidad de control desde las perspectias cableada y microprogramada. -inalmente, trata el tratamiento de las interrupciones y cepos por parte de la unidad de control y el arranque del computador
!structura de #omputadores
Vos0 ?W 2ngulo Usategui Ed. Paraninfo. :;
#ap9tulo *: 2nali%a las operaciones elementales y las se$ales de control de las máquinas por el autor dise$adas' ?# y ?#X.
+ruitectura de #omputadores
V. 2ntonio de -rutos, -rutos, 4afael 4ico Ed. Uniersidad de 2lcalá. :S
#ap9tulo 4: Desarrolla el tema de la unidad de control del computador. Partiendo de las operaciones elementales y por medio de un computador elemental desarrollado por los autores se llega al concepto de cronogramas.
2rquitectura de Computadores. Un Enfoque cuantitatio Vohn ). 8ennessy y Daid 2. Patterson Ed. ?c Kra&38ill. :<
ECY8HU#E, 4ichard, ). 4obert ?orris. #istemas de ?inicomputadoras. Hrgani%ación, Programación y 2plicaciones +PDP3::. :9=. Editorial Dossat, #.2. ?adrid. Espa$a.
KH4DHF, Dais. ?anagement Anformation #ystems' Conceptual, -oundations, #tructure, and Deelopment. :O>. ?cKra& 8ill Anc. United #tates of 2merica.
82?2C8E4 G. Carl, Zon[o K. Granesic, #af&at K. Za[y. Computer Hrgani%ation. :9O. ?cKra& 8ill Anc. United #tates of 2merica.
8E4F\FDEZ C212))E4H, #. Enciclopedia !emática de Anformática. !omo !omo :. :. : . ?aeco de Ediciones #.2. Espa$a.
2bel, P. +:;. Lenguaje Ensamblador y Programación para IBM PC y Compatibles. Prearson Educación.
http'&&&.itescam.edu.m6portalasignatura.php] clae^asig#CD3:<carreraA#AC3=:3==>id^d:SO.. clae^asig#CD3:<carreraA#AC3=:3==>id^d:SO
http'&&&.itescam.edu.m6principalsylabusfpdbrecursosr9: ;S.PD-
http'&&&.itescam.edu.m6principalsylabusfpdbrecursosr9: ;O.PD-
http'&&&.itescam.edu.m6principalsylabusfpdbrecursosr9: ;;.PD-
https'es.scribd.comdoc:=O::=ciclo3f
http'hpc.aut.uah.es_nacho2AAtema<.>.;.pdf
https'es.scribd.comdoc<>==