• No se han encontrado resultados

Unidad II. Estructura y Funcionamiento de La CPU

N/A
N/A
Protected

Academic year: 2021

Share "Unidad II. Estructura y Funcionamiento de La CPU"

Copied!
35
0
0

Texto completo

(1)

MÉRIDA

MÉRIDA CORTES CORTES SERGIO SERGIO JAIR JAIR 1!1"#$%1!1"#$% D

DE E LLA A CCRRUUZ Z CCUUEETTO O AA&&RRAAHHAAM M 11!!11""##%% M

MOOLLIINNA A HHEERRRREERRA A EEDDUUAARRDDO O 11!!11""##$$##

'TAPACHULA CHIAPAS( MÉ)ICO A 1$ DE OCTU&RE DEL *"1!' 'TAPACHULA CHIAPAS( MÉ)ICO A 1$ DE OCTU&RE DEL *"1!'

“PERIODO: AGOSTO'DICIEM&RE *"1!” “PERIODO: AGOSTO'DICIEM&RE *"1!”

Índice

Índice

Introducción...3 Introducción...3

 NST TUTO TECNOLÓG CO DE TAPACHULA  NST TUTO TECNOLÓG CO DE TAPACHULA

DEPARTAMENTO DE S STEMAS Y COORD NAC ÓN DEPARTAMENTO DE S STEMAS Y COORD NAC ÓN

DOCENTE:

DOCENTE: ING. ROSEL MUÑOZ LÓPEZ. ING. ROSEL MUÑOZ LÓPEZ.

MATER A:

MATER A: ARQUITECTURA DE COMPUTADORAS ARQUITECTURA DE COMPUTADORAS

UN UN DA DA

“ESTRUCTURA Y

“ESTRUCTURA Y FUNC FUNC ONAM ONAM ENTO DE ENTO DE LA CPLA CPU”U”

ALUMNOS:

(2)

2.1.- Organización del procesador...4

2.1.- Organización del procesador...4

Figura 1: visión simplifcada de un procesador... Figura 1: visión simplifcada de un procesador... 2.2. !structura de registros..."

2.2. !structura de registros..."

Figura Figura 2: #lasifca2: #lasifcación de ción de los registlos registros de ros de la la #$%...#$%...&...& Figura 3: puntero de Figura 3: puntero de Instrucción...Instrucción...11...11

2.2.1. 'egistros visi(les para el usuario...12

2.2.1. 'egistros visi(les para el usuario...12

Figura 4: 'egistros de uso general...13

Figura 4: 'egistros de uso general...13

2.2.2. 'egistros de #ontrol ) de 2.2.2. 'egistros de #ontrol ) de !stado...!stado...1*...1*

Figura *: indicadores de la +,%...1

Figura *: indicadores de la +,%...1

2.2.3.- !emp 2.2.3.- !emplos de organización dlos de organización de registros de #$% e registros de #$% reales.reales. 1"1" ,as Figuras : a/ ) (/... ,as Figuras : a/ ) (/...1010 !n la Figura : c/...10

!n la Figura : c/...10

2.3. !l ciclo de instrucción... 2.3. !l ciclo de instrucción...1&1& Figura ". #iclo de Instrucción...2

Figura ". #iclo de Instrucción...2

Figura 0. Figura 0. sueda...sueda...22 2.3.1 ciclo 5etc6-decode-e7ecute...22

2.3.1 ciclo 5etc6-decode-e7ecute...22

Figura &. #iclo 5etc6-decode-e7ecute...23

Figura &. #iclo 5etc6-decode-e7ecute...23

2.3.2. 8egmentació 2.3.2. 8egmentación de instrucciones...n de instrucciones...2424 Figura 1.- segmentación de Figura 1.- segmentación de instrucciones...instrucciones...24...24

2.3.3.- #onunto de in 2.3.3.- #onunto de instrucciones: #aracter9sticastrucciones: #aracter9sticas ) s ) FuncFuncionesiones ...2*

...2*

2.3.4.- odos de direccionamiento ) 5ormatos...2" 2.3.4.- odos de direccionamiento ) 5ormatos...2" 2.4.- #asos de estudios de #$% reales... 2.4.- #asos de estudios de #$% reales...3131 Figura 11: +ruitectura de los 'egistros...32

Figura 11: +ruitectura de los 'egistros...32

#onclusión...34 #onclusión...34 i(liogra59a...3* i(liogra59a...3*

Introducción

Introducción

(3)

En su forma más simple, un sistema de computadora cuenta con una En su forma más simple, un sistema de computadora cuenta con una un

unididad ad quque e ejejececututa a ininststruruccccioionenes s de de prprogograramamas. s. EsEsta ta ununididad ad sese comunica con otros subsistemas dentro de la computadora, y a menudo comunica con otros subsistemas dentro de la computadora, y a menudo controla su operación. Debido al papel central de tal unidad se conoce controla su operación. Debido al papel central de tal unidad se conoce co

como mo ununididad ad cecentntraral l de de prprococesaesamimienentoto, , o o CPCPUU #entral processing#entral processing unit/.

unit/. DenDentrtro o de de mumuchchas as cocompumputatadodoraras, s, un un susubsbsisistetema ma cocomo mo ununaa unidad de entrada, o un dispositio de almacenamiento masio, puede unidad de entrada, o un dispositio de almacenamiento masio, puede in

inccororpoporarar r ununa a ununiidadad d de de prprococesesamamieientnto o prproopipia. a. !!al al ununiidadad d dede procesamiento, aunque es central para su propio subsistema, resulta procesamiento, aunque es central para su propio subsistema, resulta cl

clararo o quque e no no es es "c"cenentrtralal" " papara ra el el sisiststemema a de de cocompmpututadadorora a en en susu conjunto. #in embargo, los principios del dise$o y operación de una CPU conjunto. #in embargo, los principios del dise$o y operación de una CPU son independi

son independientes de entes de su posición en su posición en un sistema de un sistema de computcomputadora. Esteadora. Este trabajo estará dedicado a la organi%ación del hard&are que permite a trabajo estará dedicado a la organi%ación del hard&are que permite a un

una a CPCPU U rerealali%i%ar ar su su fufuncncióión n prprinincicipalpal' ' trtraer aer ininststruruccccioiones nes desdesde de lala memoria y ejecutarlas.

memoria y ejecutarlas.

De

De igiguaual l mmananerera a en en esestte e dodocucumementnto o se se eerárá( ( )a )a seseccueuencncia ia dede instrucciones resultante es un programa en lenguaje de máquina que instrucciones resultante es un programa en lenguaje de máquina que representa al algoritmo en cuestión. El mismo enfoque general se utili%a representa al algoritmo en cuestión. El mismo enfoque general se utili%a par

para a perpermitmitir ir a a la la comcomputputadoadora ra rerealiali%ar %ar funfunciociones nes espespecieci*ca*cadas das porpor in

inststruruccccioionenes s inindidiiidudualales es de de mámáququinina. a. EsEsto to eses, , cacada da ununa a de de esestatass instrucciones se ejecuta reali%ando una secuencia de operaciones más instrucciones se ejecuta reali%ando una secuencia de operaciones más ru

rudidimementntarariaias. s. EsEstatas s opopereracacioionenes, s, y y lolos s memedidios os popor r lolos s cucualales es sese generan, serán el tema principal de análisis en este trabajo.

generan, serán el tema principal de análisis en este trabajo.

2.1.- Organización del procesador

2.1.- Organización del procesador

)a

)a UnUnididad ad de de PrPrococesaesamimientento o +C+CPUPU  cocontntrorola la el el fufuncncioionanamimienento to deldel computador y llea a cabo sus funciones de procesamiento de datos. computador y llea a cabo sus funciones de procesamiento de datos. -recuentemente se le llama procesador. Un procesador, incluye tanto -recuentemente se le llama procesador. Un procesador, incluye tanto registros isibles por el usuario como registros de controlestado. )os registros isibles por el usuario como registros de controlestado. )os registros isibles por el usuario pueden ser de uso general o tener una 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 utilidad especial, mientras que los registros de control y estado se usan para controlar el funcionamiento del procesador, un claro ejemplo es el para controlar el funcionamiento del procesador, un claro ejemplo es el contador de programa.

contador de programa.

)lea a cabo una gran ariedad de' )lea a cabo una gran ariedad de'

(4)

// CoCompmpararacacioionenes nums num0r0ricicasas

// !!ranransfsfererencenciaias s de datode datos s cocomo resmo respupuestesta a a a lalas s pepetiticicionones es de losde los programas que están siendo ejecutados en memoria.

programas que están siendo ejecutados en memoria. )a

)a CPCPU U cocontrntrolola a lalas s opopereracacioiones nes bábásisicacas s del del orordedenadnador or eneniianando do yy recibiendo se$ales de control, direcciones de memoria y datos de un recibiendo se$ales de control, direcciones de memoria y datos de un lu

lugagar r a a ototrro o de de la la cocompmpututadadorora a a a trtraa0s 0s de de un un grgrupupo o de de cacananaleless llamados 1U#.

llamados 1U#.

)a Unidad Central de Proceso está constituida internamente por' )a Unidad Central de Proceso está constituida internamente por'

// ))a Ua Uninidadad dd de Ce Conontrtrolol // UnUnididad ad 2r2rititm0m0titico3co3)ó)ógigicaca %nidad +ritm;tico-,ógica +,%/ %nidad +ritm;tico-,ógica +,%/ 4

4ececibibe e lolos s dadatotos s sosobrbre e lolos s quque e efefecect5t5a a opopereracacioionenes s de de cácálclcululo o yy comparaciones. !oma decisiones lógicas +determina si una a*rmación es comparaciones. !oma decisiones lógicas +determina si una a*rmación es correcta o falsa mediante reglas del algebra de 1oole y deuele luego correcta o falsa mediante reglas del algebra de 1oole y deuele luego el resultado. !

el resultado. !odo ello bajo odo ello bajo superisión de la superisión de la unidad de control.unidad de control. ,a %nidad de #ontrol

,a %nidad de #ontrol

)a unidad de control le indica al resto del sistema como llear a cabo las )a unidad de control le indica al resto del sistema como llear a cabo las instrucciones de un programa. Comanda

instrucciones de un programa. Comanda las se$ales electrónicas entre lalas se$ales electrónicas entre la memoria y la unidad aritm0tico3lógica, y entre el CPU y los dispositios memoria y la unidad aritm0tico3lógica, y entre el CPU y los dispositios de entrada y salida. Para ejecutar cualquier programa, cada comando de entrada y salida. Para ejecutar cualquier programa, cada comando del mismo se desglosa en instrucciones.

del mismo se desglosa en instrucciones.

)os procesadores utili%an la segmentación de instrucciones para

)os procesadores utili%an la segmentación de instrucciones para aceleraracelerar la ejecución. )a segmentación de cauce se puede diidir en ciclo de la ejecución. )a segmentación de cauce se puede diidir en ciclo de instrucción en arias etapas separadas que operan secuencialmente, instrucción en arias etapas separadas que operan secuencialmente, tales como la captación de instrucción, decodi*cación de instrucción, tales como la captación de instrucción, decodi*cación de instrucción, cá

cálclcululo o de de didirrececcicionones es de de opopereranandodo, , ejejececucucióión n de de ininststruruccccióión n yy estructura del operando resultado.

estructura del operando resultado. 2 continuación se muestra cómo se

2 continuación se muestra cómo se organi%a un procesador, para esto seorgani%a un procesador, para esto se tiene que considerar los siguientes requisitos'

tiene que considerar los siguientes requisitos'

Captar instrucciones:

Captar instrucciones: el procesador lee una instrucción de memoria el procesador lee una instrucción de memoria

+registro, cache o memoria pr

+registro, cache o memoria principal.incipal.

Interpretar instrucción:

Interpretar instrucción: la instrucción se codi*ca para determinar qu0 la instrucción se codi*ca para determinar qu0

acción es necesario. acción es necesario.

Captar datos:

Captar datos: la ejecución de una instrucción puede e6igir leer datos la ejecución de una instrucción puede e6igir leer datos de memoria o de un módulo de E#.

(5)

Procesar datos:

Procesar datos: la ejecución de una instrucción puede e6igir llear a la ejecución de una instrucción puede e6igir llear a

cabo alguna operación aritm0tica o lógica con los datos. cabo alguna operación aritm0tica o lógica con los datos.

Escribir datos:

Escribir datos: los resultados de una ejecución pueden e6igir escribir los resultados de una ejecución pueden e6igir escribir

datos en la memoria o en el módulo de E#. datos en la memoria o en el módulo de E#. Pa

Para ra hacer estas hacer estas cosas, el cosas, el procprocesador necesita almacenar instruccesador necesita almacenar instruccionesiones y datos temporalmente mientras una instrucción está ejecutándose, en y datos temporalmente mientras una instrucción está ejecutándose, en otras palabras el procesador necesita una peque$a memoria interna, otras palabras el procesador necesita una peque$a memoria interna, tambi0n llamados registros.

tambi0n llamados registros.

En esta *gura se muestra una isión simpli*cada de un procesador, que En esta *gura se muestra una isión simpli*cada de un procesador, que indica su cone6ión con el resto de sistema, a tra0s del bus del sistema. indica su cone6ión con el resto de sistema, a tra0s del bus del sistema. )a 2)U llea a cabo el erdadero cálculo o procesamiento de datos.

)a 2)U llea a cabo el erdadero cálculo o procesamiento de datos.

)a unidad de control controla la transferencia de datos e instrucciones )a unidad de control controla la transferencia de datos e instrucciones as7 a dentro y as7 afuera

as7 a dentro y as7 afuera del procesador, y el funcionamiento de la del procesador, y el funcionamiento de la 2)U.2)U. 2demás la *gura muestra una memoria interna m7nima, que consta de 2demás la *gura muestra una memoria interna m7nima, que consta de un conjunto de posiciones de almacenamiento llamadas registros.

(6)

Figura 1: visión simplifcada de un procesador

Figura 1: visión simplifcada de un procesador

En esta *gura se indican los caminos de transferencia de datos y de la 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 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 procesador. !ambi0n se muestran los elementos básicos t7picos de la 2)U.

2)U.

8ay que obserar la similitud entre la estructura interna del computador 8ay que obserar la similitud entre la estructura interna del computador en su totalidad y la estructura interna del procesador. En ambos casos en su totalidad y la estructura interna del procesador. En ambos casos hay

hay una una peqpeque$a ue$a colcoleccección ión de de eleelementmentos os priprincincipalpales es +co+compumputadtador'or' procesador, E#, memoria( procesador' unidad de control, 2)U, registros procesador, E#, memoria( procesador' unidad de control, 2)U, registros conectados por caminos de datos.

conectados por caminos de datos.

2.2. !structura de registros

2.2. !structura de registros

<=u; son los registros del #$%>

(7)

#e

#e ememplplean ean papara ra cocontntrorolalar r lalas s ininststruruccccioiones nes en en ejejececucucióión, n, manmanejejarar direccionamiento de memoria y propiciar la capacidad aritm0tica.

direccionamiento de memoria y propiciar la capacidad aritm0tica. ,os registros vienen de tres tipos:

,os registros vienen de tres tipos: datos, direcciones e 7ndice, quedatos, direcciones e 7ndice, que tiene lugar en casi todos los aspectos de la operación del CPU. El tama$o 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 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 <=, aceptan 9 o :; bits de datos y los más complejos tienen registros de <=, >9 o ;> bits.

>9 o ;> bits.

#lasifcación de los 'egistros #lasifcación de los 'egistros 'egistro de datos:

'egistro de datos: Un CPU puede funcionar con datos en uno de tres Un CPU puede funcionar con datos en uno de tres modos' entre dos registros, entre registros y una ubicación de ?emoria modos' entre dos registros, entre registros y una ubicación de ?emoria de

de acacceceso so al al a%a%ar ar +4+422? ? 3 3 44anandodom3m322ccccesess s ?e?emomoryry  y y eentntrre e dodoss ub

ubicicacacioiones nes 442?2?. . CoComo mo el el CPCPU U esestá tá coconecnectatado do didirerectctamamentente e a a loloss re

regigistrstros, os, lalas s opoperaeracicionones es quque e imimplplicican an dodos s reregigiststroros s soson n lalas s mámáss rápida

rápidas( las que se dan entre ubics( las que se dan entre ubicacionaciones 42? son las más lentes 42? son las más lentas. as. EsEs decir, junta dos registros, a$ade un registro a una ubicación 42?, o decir, junta dos registros, a$ade un registro a una ubicación 42?, o a$ade dos ubicaciones 42?.

a$ade dos ubicaciones 42?. 'eg

'egististro ro de de dirdirecceccioniones:es: PParara a quque e un un CPCPU U pupuededa a alalmmacacenenar ar yy recuperar datos en 42?, debe tener la dirección de la memoria de la recuperar datos en 42?, debe tener la dirección de la memoria de la inf

inforormacmaciónión. . Esas Esas opeoperacracioniones es que que impimpliclican an 442? 2? usausan n reregisgistrtros os dede dirección de memoria. E) CPU no reali%a aritm0tica en

dirección de memoria. E) CPU no reali%a aritm0tica en estos registros( enestos registros( en cambio, los usa para ubicar datos que necesita.

cambio, los usa para ubicar datos que necesita. 'egistro de 9ndice:

'egistro de 9ndice: Un CPU no puede hacer matemáticas en registros Un CPU no puede hacer matemáticas en registros de

de datdatosos, , aunaunquque e pupuedede e hachacerlerlo o inindidirerectctamamentente e cocon n un un reregigiststro ro dede 7n

7ndidicece. . @s@ste te trtrababajaja a cocon n lolos s rregegisistrtros os de de dadatotos, s, peperrmimititienendo do a a unun programa procesar hilos de información e*ca%mente.

programa procesar hilos de información e*ca%mente. 'egistros de segmento:

'egistros de segmento:  Un registro de segmento tiene :; bits de  Un registro de segmento tiene :; bits de longitud y facilita un área de memoria para direccionamiento conocida longitud y facilita un área de memoria para direccionamiento conocida como segmento actual.

como segmento actual. 'egistro #s:

'egistro #s: el el dodos s alalmamacecena na la la didirrececcición ón ininiciciaial l del del sesegmgmentento o dede código de un programa en el registro C#. Andica la dirección de una código de un programa en el registro C#. Andica la dirección de una instrucción que es buscada para su ejecución.

instrucción que es buscada para su ejecución. 'egistro ?s:

'egistro ?s: genera una referencia a la localidad de un byte espec7*co genera una referencia a la localidad de un byte espec7*co en el segmento de datos.

en el segmento de datos. 'egis

'egistro tro 8888:: perpermimite te la la cocololocacacición ón en en mememomoriria a de de ununa a pipilala, , paparara almacenamiento temporal de dirección y datos.

(8)

'egis

'egistro tro !8:!8: se se ututilili%i%a a papara ra alalgugunanas s opoperaeracicionones es cocon n cacadendenas as dede caracteres se utili%a para el manejo

caracteres se utili%a para el manejo de direccionamiento de memoria.de direccionamiento de memoria. 'egistros de propósito general:

'egistros de propósito general: )os registros de propósito general )os registros de propósito general son el 2B, 1B, CB, y DB, de :; bits. Cada uno de ellos se diide en dos son el 2B, 1B, CB, y DB, de :; bits. Cada uno de ellos se diide en dos registros de 9 bits, llamados 28 y 2), 18 y 1), C8 y C), y, D8 y D), 8 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 signi*cando 8igh +alto y ) signi*cando )o& +bajo, indicando la parte alta o la parte baja

alta o la parte baja del registro correspondiente de :; bits.del registro correspondiente de :; bits. 'egistro +@:

'egistro +@: El registro 2B es el registro acumulador, es utili%ado para El registro 2B es el registro acumulador, es utili%ado para oper

operaciacioneones s que que impimpliclican an ententradradasasalialida, da, y y mulmultiptipliclicaciación ón y y didiisiisiónón +estas dos 5ltimas en conjunto con el registro DB.

+estas dos 5ltimas en conjunto con el registro DB. 'egistro @:

'egistro @: El registro 1B es el registro base, y es el 5nico registro de El registro 1B es el registro base, y es el 5nico registro de pr

propopósósitito o gengenereral al quque e pupuede ede seser r un un 7n7ndidice ce parpara a didirrececciciononamamieientntoo inde6ado.

inde6ado.

'egistro #@:

'egistro #@:  El registro CB es conocido como el registro contador.  El registro CB es conocido como el registro contador. Puede contener un alor para controlar el n5mero de eces que un ciclo Puede contener un alor para controlar el n5mero de eces que un ciclo se repite o un alor para corrimiento de bits.

se repite o un alor para corrimiento de bits. 'eg

'egististro ro ?@?@:: El El rregegisistrtro o DB DB es es el el rregegisistrtro o de de dadatotos. s. En En alalgugunanass operaciones se indica mediante este registro el n5mero de puerto de operaciones se indica mediante este registro el n5mero de puerto de entradasalida, y en las operaciones de multiplicación y diisión de :; entradasalida, y en las operaciones de multiplicación y diisión de :; bits se utili%a junto con el acumulador 2B.

bits se utili%a junto con el acumulador 2B. 'egistros de apuntadores:

'egistros de apuntadores: )os registros #P +apuntador de pila y 1P )os registros #P +apuntador de pila y 1P +a

+apupuntntadoador r babase se estestán án asasocociaiadodos s cocon n el el reregigistrstro o ## ## y y perpermimiteten n alal sistema acceder a datos en el segmento de la pila.

sistema acceder a datos en el segmento de la pila. 4

4egegisistrtro o #P#P' ' El El apapununtatadodor r de de pipila la de de :; :; bibits ts esestá tá asasocociaiado do cocon n elel segmento ## y proporciona un alor de despla%amiento que se re*ere a segmento ## y proporciona un alor de despla%amiento que se re*ere a la palabra actual que está siendo procesada en la pila.

la palabra actual que está siendo procesada en la pila. 'egistro $:

'egistro $:  El apuntador base de :; bits facilita la referencia de  El apuntador base de :; bits facilita la referencia de parámetros dentro de la pila.

(9)

Figura 2:

Figura 2:

#lasifcación d

#lasifcación d

e los

e los

registros de

registros de

la

la

#$%

#$%

'egistros de (anderas:

'egistros de (anderas: Es  Es un registrun registro de o de :; bits, de :; bits, de los cuales nueelos cuales nuee siren para indicar el estado actual de la máquina y el resultado del siren para indicar el estado actual de la máquina y el resultado del procesamiento.

procesamiento.

,os (its de las (anderas son las siguientes: ,os (its de las (anderas son las siguientes:

OF

OF overAoBoverAoBC C des(ordamientodes(ordamiento/:/: Andica desbordamiento del bitAndica desbordamiento del bit de mayor orden

(10)

co

con n sisigngno o +:+:ee6i6istste e ooereroo&( &( no no e6e6isiste te ooereroo&&. . PPararaa operaciones sin signo, no se toma en cuenta esta bandera.

operaciones sin signo, no se toma en cuenta esta bandera. ?F

?F ddirirececciciónón/:/: CCoonnttrroolla a lla a sselelececcciióón n dde e iinnccrrememeenntto o oo de

decrcrememenento to de de lolos s rregegisistrtros os #A #A y y DA DA en en lalas s opopereracacioionenes s coconn ccaaddeennaas s dde e ccaarraacctteerrees s ++::ddeeccrreemmeenntto o aauuttoommááttiiccoo(( incremento. )a bandera D- se controla con las instrucciones incremento. )a bandera D- se controla con las instrucciones #!D y C)D.

#!D y C)D. IF

IF inteinterruprrupción/ción/:: CoContntrorola la el el didispspararo o de de lalas s ininterterrurupcipciononeses +:habilita las interrupciones( deshabilita las interrupciones. +:habilita las interrupciones( deshabilita las interrupciones. )a interrupción no enmascarable es la 5nica que no puede ser )a interrupción no enmascarable es la 5nica que no puede ser bloqueada por esta bandera. El estado de la bandera A- se controla bloqueada por esta bandera. El estado de la bandera A- se controla con las instrucciones #!A y C)A.

con las instrucciones #!A y C)A. DF trampa/:

DF trampa/: Permite la operación del procesador en modo dePermite la operación del procesador en modo de depuración +paso a paso.

depuración +paso a paso. 8F

8F ssignigno/:o/: CoContntieiene ne el el sisigngno o rresesulultatantnte e de de ununa a opopereracacióiónn aritm0tica +positio( :negatio.

aritm0tica +positio( :negatio. EF cero/:

EF cero/: Andica el resultado de una operación aritm0tica o deAndica el resultado de una operación aritm0tica o de comparación +resultado diferente de cero( :resultado igual a comparación +resultado diferente de cero( :resultado igual a cero.

cero.

+F acarreo au7iliar

+F acarreo au7iliar' Contiene el acarreo del bit <. Esta bandera' Contiene el acarreo del bit <. Esta bandera se prueba con las instrucciones D22 y D2# para ajustar el alor de se prueba con las instrucciones D22 y D2# para ajustar el alor de 2) despu0s de una s

2) despu0s de una suma o resta 1CD.uma o resta 1CD. $F

$F parparidad/idad/:: Andica si el n5mero de bits :, del byte menosAndica si el n5mero de bits :, del byte menos signi*catios de una operación, es par +n5mero de bits : es signi*catios de una operación, es par +n5mero de bits : es impar( :n5mero de bits : es par.

impar( :n5mero de bits : es par. #F acarreo/:

#F acarreo/: Contiene el acarreo del bit de mayor orden despu0sContiene el acarreo del bit de mayor orden despu0s de una operación aritm0tica( tambi0n almacena el contenido del de una operación aritm0tica( tambi0n almacena el contenido del 5ltimo bit en una operación de

5ltimo bit en una operación de despla%amiento o de rotación.despla%amiento o de rotación. 'eg

'egististro ro de de punpunterteros os de de insinstrutrucccciónión:: EEl l rregegisistrtro o AP AP de de :; :; bibittss conti

contiene el ene el despldespla%amiena%amiento to de de dirdireccióección n de de la la siguisiguiente instruccente instrucción queión que se ejecuta. El AP está asociado con el registro C# en el sentido de que el 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á AP indica la instrucción actual dentro del segmento de código que se está ejecutando actualmente en la memoria.

(11)

Figura 3: puntero de Instrucción

Figura 3: puntero de Instrucción

Un computador emplea una jerarqu7a de memoria. En los nieles más Un computador emplea una jerarqu7a de memoria. En los nieles más altos de la jerarqu7a, la memoria es más rápida, más peque$a y 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 cara +por bit. Dentro de la CPU hay un conjunto de registros que funciona como un niel de memoria, por encima de la memoria principal funciona como un niel de memoria, por encima de la memoria principal y de la cach0 en

y de la cach0 en la jerarqu7a. )os registros de la CPU son de dos la jerarqu7a. )os registros de la CPU son de dos tipos'tipos' •

• 'egistros visi(les para el usuario:'egistros visi(les para el usuario: Permiten al programador de Permiten al programador de len

lenguajguaje e máqmáquinuina a o o ensensamblambladorador, , minminimiimi%ar %ar las las rereferferencencias ias aa memoria principal cuando optimi%a el uso de

memoria principal cuando optimi%a el uso de registros.registros. •

• 'egistros de control ) de estado:'egistros de control ) de estado: #on utili%ados por la unidad #on utili%ados por la unidad de

de cocontntrorol l papara ra cocontrntrololar ar el el fufuncncioionamnamieientnto o de de la la CPCPU, U, y y porpor pr

progrogramas amas pripriililegiegiados ados del del sissistemtema a opeoperatratio io para para concontrtrolaolar r lala ejecución de programas. Fo hay una separación bien de*nida de ejecución de programas. Fo hay una separación bien de*nida de registros dentro de estas dos categor7as. Por ejemplo, en algunas registros dentro de estas dos categor7as. Por ejemplo, en algunas máquinas el contador de programa es isible para el usuario +por máquinas el contador de programa es isible para el usuario +por ejemplo, en el G2B, pero en muchas no lo es.

ejemplo, en el G2B, pero en muchas no lo es.

2.2.1. 'egistros visi(les para el usuario

2.2.1. 'egistros visi(les para el usuario

Un registro isible para el usuario es uno que puede ser referenciado por 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 medio del lenguaje máquina que ejecuta la CPU. Podemos clasi*carlos en las siguientes categor7as'

en las siguientes categor7as' •

• %so %so gengeneraeral:l: PuPuededen en seser r asasigignanadodos s popor r el el prprogograramamadodor r aa di

(12)

in

inststruruccccioionenes s es es orortotogogonanal l a a la la opopereracacióión. n. Es Es dedecicir, r, cucualalquiquierer registro de uso general puede contener el operando para cualquier registro de uso general puede contener el operando para cualquier código de operación. Esto proporciona una utili%ación de registros código de operación. Esto proporciona una utili%ación de registros de uso general aut0ntico. Con frecuencia, sin embargo, e6isten de uso general aut0ntico. Con frecuencia, sin embargo, e6isten restricciones.

restricciones. •

• ?atos:?atos: Pueden usarse 5nicamente para contener datos y no sePueden usarse 5nicamente para contener datos y no se pueden emplear en el

pueden emplear en el cálculo de la dirección de un operando.cálculo de la dirección de un operando. •

• ?irecciones:?irecciones: Pueden ser de uso más H menos general, o puedenPueden ser de uso más H menos general, o pueden estar dedicados a

estar dedicados a un modo de un modo de direccionamiento particulardireccionamiento particular.. •

• #ód#ódigoigos s de de concondicdiciónión:: tatam(im(i;n ;n llallamadmados os indindicaicadordores es oo AagsG/C

AagsG/C #on bits *jados por el hard&are del procesador como #on bits *jados por el hard&are del procesador como rresesulultatado do de de alalguguna na opopereracacióión. n. PPor or ejejememplplo, o, ununaa operaciónoperación aritm0tica puede producir un resultado positio, negatio, nulo o aritm0tica puede producir un resultado positio, negatio, nulo o con desbordamiento. 2demás de almacenarse el propio resultado con desbordamiento. 2demás de almacenarse el propio resultado en un registro o en la memoria, se obtiene tambi0n un código de en un registro o en la memoria, se obtiene tambi0n un código de condición.

condición.

)os registros de uso general pueden ser asignados por el programador a )os registros de uso general pueden ser asignados por el programador a d

diieerrssas as ffuunncciioonneses. . 2 2 eecceses, , ssu u uuso so ddenenttrro o ddeel l rrepepeerrttororiio o ddee instrucciones depende de la operación. Es decir, cualquier registro de instrucciones depende de la operación. Es decir, cualquier registro de us

uso o gegenerneral al pupuede ede cocontnteneener r el el opopererandando o papara ra cucualalquiquier er cócódidigo go dede operación. Esto proporciona una utili%ación de registros de aut0ntico uso operación. Esto proporciona una utili%ación de registros de aut0ntico uso general. Con frecuencia, sin embargo, e6isten restricciones. Por ejemplo, general. Con frecuencia, sin embargo, e6isten restricciones. Por ejemplo, puede haber registros espec7*cos para operaciones en coma otante y puede haber registros espec7*cos para operaciones en coma otante y operaciones de pila. En algunos casos, los registros de uso general operaciones de pila. En algunos casos, los registros de uso general pueden ser utili%ados para funciones de direccionamiento +este tema pueden ser utili%ados para funciones de direccionamiento +este tema será isto más adelante en esta asignatura. En otros casos, hay una será isto más adelante en esta asignatura. En otros casos, hay una se

sepapararacición ón paparrcicial al o o tototatal l enentrtre e rregegisistrtros os de de dadatotos s y y rregegisistrtros os dede dir

direcceccioniones. es. )os )os regregististroros s de de datdatos os puedpueden en usausarse rse 5ni5nicamcamentente e parparaa contener datos, y no se pueden emplear en el cálculo de una dirección 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 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 generales, o pueden estar dedicados a un modo de direccionamiento particular.

particular.

Entre otros, se pueden citar los siguientes ejemplos' Entre otros, se pueden citar los siguientes ejemplos'

2

2 $unteros de segmento:$unteros de segmento:

En una máquina con direccionamiento segmentado un registro de En una máquina con direccionamiento segmentado un registro de segmento contiene la dirección de la base del segmento. Puede segmento contiene la dirección de la base del segmento. Puede ha

habeber r m5m5ltltipipleles s rregegisistrtrosos' ' popor r ejejememplplo, o, ununo o papara ra el el sisiststememaa operatio y otro para el proceso actual.

operatio y otro para el proceso actual. 1

(13)

#e

#e ususan an parpara a didirereccccioionamnamieientnto o inindede6a6adodo, , y y pupuedeeden n ser ser auautoto inde6ado.

inde6ado. C

C $untero de pila:$untero de pila:

#i e6iste direccionamiento a pila isible al usuario, la pila está #i e6iste direccionamiento a pila isible al usuario, la pila está normalmente en memoria, y hay un registro dedicado que apunta normalmente en memoria, y hay un registro dedicado que apunta a la cabecera de 0sta. Esto permite un direccionamiento impl7cito( a la cabecera de 0sta. Esto permite un direccionamiento impl7cito( es decir, apilar +IpushJ, desapilar +IpopJ, y otras instrucciones es decir, apilar +IpushJ, desapilar +IpopJ, y otras instrucciones de

dela la pipila la quque e no no nenececesisitatan n cocontntenener er un un opopereranando do e6e6plpl7c7cititoo referente a ella. 8ay aqu7 arias cuestiones de dise$o a estudiar. referente a ella. 8ay aqu7 arias cuestiones de dise$o a estudiar. Un

Una a imimpoportrtantante, e, es es si si ususar ar reregigiststroros s de de ususo o CoCompmpleletatamenmentete general o si especiali%ar su us

general o si especiali%ar su uso.o. D

D #on el uso #on el uso de registros especializados:de registros especializados:

Keneralmente puede quedar impl7cito en el código de operación a Keneralmente puede quedar impl7cito en el código de operación a qu0

qu0 tiptipo o de de reregistgistro ro se se re*re*erere e un un detedetermirminadnado o camcampo po dede operando.

operando.

Figura 4: 'egistros de uso general

Figura 4: 'egistros de uso general

El campo de operando sólo debe identi*car uno de entre un conjunto de 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 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 cual ahorra bits. Por otra parte, esta especiali%ación limita la e6ibilidad del programador.

del programador.

Este problema de dise$o, pero, como se mencionó, la tendencia parece 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 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 n5mero de registros de uso general o de datos más direcciones que tienen que incluirse. De nueo, esto afecta al dise$o del repertorio de tienen que incluirse. De nueo, esto afecta al dise$o del repertorio de instrucciones, ya que más registros requieren más bits para el campo 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 operando, parece óptimo alrededor de entre 9 y <= registros. ?enos registros se traducen en más referencias a memoria( más registros no registros se traducen en más referencias a memoria( más registros no reducen notablemente las referencias a memoria. #in embargo, una reducen notablemente las referencias a memoria. #in embargo, una nuea apro

nuea apro6imaci6imación, que ón, que saca partido al saca partido al uso de uso de cientcientos de os de regisregistros, setros, se mani*esta en algunos sistemas 4A#C. Por 5ltimo, está la cuestión de la mani*esta en algunos sistemas 4A#C. Por 5ltimo, está la cuestión de la longitud de los

(14)

))oos s rregegiissttrroos s qquue e hhaan n dde e ccoonntteneneer r ddiirrececcciioonnees, s, hhaan n dde e sser er lloo su*cientemente grandes como para albergar la dirección más grande. su*cientemente grandes como para albergar la dirección más grande. )os registros de datos deben ser capaces de contener alores de la )os registros de datos deben ser capaces de contener alores de la mayor7a de tipos de datos. 2lgunas máquinas permiten que dos registros mayor7a de tipos de datos. 2lgunas máquinas permiten que dos registros contiguos sean usados como uno solo para contener alores de doble contiguos sean usados como uno solo para contener alores de doble lloonngigittuudd. . UUnna a 55llttiimma a ccaatteeggoorr77a a dde e rregegiisstrtroos, s, qquue e ees s aal l mmenenooss parcialmente isible al usuario, contiene códigos de condición +tambi0n parcialmente isible al usuario, contiene códigos de condición +tambi0n llamados IindicadoresJ o IagsJ. )os códigos de condición son bits llamados IindicadoresJ o IagsJ. )os códigos de condición son bits *jados por el hard&are de la CPU como resultado de alguna operación. *jados por el hard&are de la CPU como resultado de alguna operación. Po

Por r ejemejemploplo, , una una opeoperacración ión ariaritm0tm0tictica a puedpuede e prproduoducir cir un un reresulsultadtadoo positio, negatio, nulo, o con desbordamiento. 2demás de almacenarse positio, negatio, nulo, o con desbordamiento. 2demás de almacenarse el propio resultado en un registro o en la memoria, se obtiene tambi0n el propio resultado en un registro o en la memoria, se obtiene tambi0n u

un n ccóóddiiggo o dde e ccoonnddiicciióónn. . EEl l ccóóddiiggo o ppuuedede e sseer r ee66amamiinnadado o ccoonn posterioridad, como parte de

posterioridad, como parte de una operación de bifurcación condicional.una operación de bifurcación condicional. )os bits de códigos de condición se re5nen en uno o más registros. )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 Formalmente, forman parte de un registro de control. Por lo general, las in

inststruruccciciononees s de de mámáququiina na peperrmimiteten n quque e esestotos s bibits ts sesean an lle7e7dodoss p

poor r rreeffererenencciia a iimmppll77cciitta, a, pperero o nno o ppuuededeen n sser er aallttereraaddoos s ppor or eell programador. En algunas máquinas, una llamada a una subrutina dará programador. En algunas máquinas, una llamada a una subrutina dará lugar a la salaguarda automática de todos los registros isibles por el lugar a la salaguarda automática de todos los registros isibles por el usuario, que serán restablecidos en el retorno de la subrutina. )a CPU usuario, que serán restablecidos en el retorno de la subrutina. )a CPU ll

lleea a acacababo o la la sasallagaguauardrda a y y rresestatablblececimimieientnto o cocomo mo papartrte e de de lala ejecución de las instrucciones de llamada y retorno, respectiamente. ejecución de las instrucciones de llamada y retorno, respectiamente. Esto permite a cada subrutina usar independientemente los registros Esto permite a cada subrutina usar independientemente los registros isibles por el usuario.

isibles por el usuario.

En otras máquinas, es responsabilidad del programador guardar los cont En otras máquinas, es responsabilidad del programador guardar los cont enidos de losregistros isibles para el programador releantes, antes de enidos de losregistros isibles para el programador releantes, antes de la

la llllamamadada a a a lla a susubrbrututiinana, , teteninienendo do quque e iincnclluiuir r en en el el pprrogograramama instrucciones para este *n.

instrucciones para este *n.

2.2.2

2.2.2

. 'egistros de #ontrol )

. 'egistros de #ontrol )

de !stado

de !stado

8ay diersos registros de la CPU que se emplean para controlar su 8ay diersos registros de la CPU que se emplean para controlar su funcionamiento. )a mayor7a de ellos, en la mayor parte de las máquinas, 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 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 instrucciones máquina ejecutada en un modo de control o de sistema operatio.

operatio.

Faturalmente, máquinas diferentes tendrán diferentes organi%aciones de Faturalmente, máquinas diferentes tendrán diferentes organi%aciones de re

regigistrstros os y y ususaráarán n didiststinintatatetermrmininolologog7a7a. . #e #e ininclcluyuye e aqaqu7 u7 ununa a liliststaa ra

ra%o%onanablblememenentte e cocompmpleleta ta de de ttipipoos s de de rregegiiststrrosos, , ccon on ununa a brbreeee des

descricripcipción. ón. #on #on esenesenciacial l cuacuatrtro o regregististroros s para para la la ejeejecuccución ión de de unauna instrucción'

(15)

 #ontador de programa $rogram #ounterC $#/:#ontador de programa $rogram #ounterC $#/:  Contiene la  Contiene la dirección de la siguiente instrucción

dirección de la siguiente instrucción a captara captar.. '

'egegisistrtro o de de ininststruruccccioionenes s IInsnstrtrucuctition on 'e'egigiststererC C I'I'/:/: Contiene la instrucción captada más recientemente.

Contiene la instrucción captada más recientemente. 'e

'egigiststro ro de de didirereccccioionenes s de de mememomoriria a ememoror) ) +d+ddrdresesss 'egisterC +'/:

'egisterC +'/: Está conectado a las l7neas de dirección del busEstá conectado a las l7neas de dirección del bus del sistema. Especi*ca la dirección de memoria de una operación del sistema. Especi*ca la dirección de memoria de una operación de lectura o de escritura.

de lectura o de escritura. 'e

'egigiststro ro intinterermemedidio o de de mememomoriria a o o 'e'egigiststro ro de de ?a?atotos s oo 'e

'egisgistro tro de de $a$ala(la(ra ra emoemor)r)uHeuHer r 'eg'egististererC C '/'/:: EstáEstá conectado a las l7neas de datos del bus del sistema. Contiene el conectado a las l7neas de datos del bus del sistema. Contiene el alor a almacenar en memoria o el 5ltimo alor le7do de memoria. alor a almacenar en memoria o el 5ltimo alor le7do de memoria. Formalmente, la CPU actuali%a el contador de programa despu0s de cad 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 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 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, 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. 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 #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 un sistema con organi%ación de bus, ?24 se conecta directamente al bus de direcciones y ?14 directamente al bus

bus de direcciones y ?14 directamente al bus de datos.de datos.

)os registros isibles por el usuario intercambian repetidamente datos )os registros isibles por el usuario intercambian repetidamente datos con ?14. )os cuatro registros que se acaban de mencionar se usan para 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, la transferencia de datos entre la CPU y la memoria. Dentro de la CPU, los datos tienen que ofrecerse

los datos tienen que ofrecerse a la 2)U para su procesamiento.a la 2)U para su procesamiento. ,a +,%:

,a +,%:

Puede tener acceso directo a ?14 y a los registros isibles para el usuari Puede tener acceso directo a ?14 y a los registros isibles para el usuari o.

o. Como Como alteralternatianatia, , puedehabpuedehaber er regiregistrostros s interintermedios medios adiciadicionales onales enen torno a la 2)U( estos registros siren como registros de entrada y salida torno a la 2)U( estos registros siren como registros de entrada y salida de la

de la 2)2)U, e U, e interintercambicambian datos an datos con ?14 con ?14 y los y los regiregistrostros isibles para els isibles para el usuario. !odos los dise$os de CPU incluyen un registro o un conjunto de usuario. !odos los dise$os de CPU incluyen un registro o un conjunto de registros, conocidos a menudo como palabra de estado del programa registros, conocidos a menudo como palabra de estado del programa +program status Lord, P#L, que contiene información de estado. P#L +program status Lord, P#L, que contiene información de estado. P#L co

contntieiene ne nonorrmamallmementnte e cócódidigogos s de de cconondidiccióión, n, adadememáás s de de ootrtraa información de estado. información de estado. !n !nttre re lolos s ccamamppoos s o o inindidiccadadororees s ccomomununes es se se inincclulu))en en loloss siguientes: siguientes: 2

2 8igno:8igno: Contiene el bit de signo del resultado de la 5ltima operación Contiene el bit de signo del resultado de la 5ltima operación aritm0tica.

aritm0tica. 1

1 #ero:#ero: Puesto a uno cuando el  Puesto a uno cuando el resultado es .resultado es . C

C +carreo:+carreo: Puesto a uno si una operación da lugar a un acarreo +suma Puesto a uno si una operación da lugar a un acarreo +suma o adeudo +resta del bit más signi*catio. #e usa en operaciones o adeudo +resta del bit más signi*catio. #e usa en operaciones aritm0ticas multipalabra.

(16)

D

D Igual:Igual: Puesto a uno si el resultado de una comparación lógica es la Puesto a uno si el resultado de una comparación lógica es la igualdad.

igualdad. E

E ?es(ordamiento:?es(ordamiento: UUssaaddo o pparara a iinndidiccaar r uun n ddeesbsboorrddaamimieenntoto aritm0tico.

aritm0tico.

-- Interrupciones 6a(ilitadasin6a(ilitadas:Interrupciones 6a(ilitadasin6a(ilitadas:  Usado para permitir o  Usado para permitir o inhabilitar interrupciones.

inhabilitar interrupciones. K

K 8upervisor:8upervisor:

Andica si la CPU funciona en modo superisor o usuario. Mnicamente Andica si la CPU funciona en modo superisor o usuario. Mnicamente en

en momodo do susupeperrisisor or se se pupuededen en ejejececututar ar cicierertatas s ininststruruccccioioneness priilegiadas y se puede acceder a ciertas áreas de memoria.

priilegiadas y se puede acceder a ciertas áreas de memoria.

Figura *: indicadores de

Figura *: indicadores de

la +,%

la +,%

2.2.3.- !emplos de organización de

2.2.3.- !emplos de organización de

registros de #$% reales

registros de #$% reales

4esulta instructio e6aminar y comparar las organi%aciones de registros 4esulta instructio e6aminar y comparar las organi%aciones de registros d

de e ssiisstteemmaas s aannáállooggooss. . EEn n eesstta a sseecccciióónn, , ee66aammiinnaammoos s ddooss microprocesadores de :; bits que fueron dise$ados apro6imadamente al microprocesadores de :; bits que fueron dise$ados apro6imadamente al mismo tiempo' el ?otorola ?C;9 N#!4AOQ

(17)

,as Figuras : a/ ) (/

,as Figuras : a/ ) (/

4

4eprepreseesentntan an la la ororgaganini%ac%acióión n de de reregigistrstros os de de cacada da ununo o de de elellolos( s( loloss registros estrictamente internos, tales como el registro de dirección de registros estrictamente internos, tales como el registro de dirección de memoria, no se muestran.

memoria, no se muestran.

!n la Figura : c/

(18)

#

#e e ililustustra ra un un segsegunundo do asaspecpecto to ininststruructctiio o acacererca ca dedel l didise$se$o o de de lala organi%ación de los registros. Esta *gura muestra la organi%ación de los organi%ación de los registros. Esta *gura muestra la organi%ación de los rregegiiststrros os iisisiblbles es popor r el el ususuauaririo o en en el el AnAnttel el 99<9<9; ; NNE)E)22R9R9SS, , unun microprocesador de <= bits dise$ado como una a

microprocesador de <= bits dise$ado como una ampliación del 99;T.mpliación del 99;T. El ?C;9 distribuye sus registros de <= bits en ocho de datos y nuee El ?C;9 distribuye sus registros de <= bits en ocho de datos y nuee de direcciones. )os ocho registros de datos se usan principalmente para de direcciones. )os ocho registros de datos se usan principalmente para manipulación de datos y tambi0n se usan en direccionamiento como manipulación de datos y tambi0n se usan en direccionamiento como registros 7ndice.

registros 7ndice.

El Antel 99; usa un enfoque diferente para la organi%ación de los El Antel 99; usa un enfoque diferente para la organi%ación de los re

regigistrstros. os. CaCada da ununo o de de lolos s rregiegiststroros s titienene e un un ususo o esespepecicialal, , auaunqnqueue algunos registros se pueden emplear tambi0n para un uso general.

algunos registros se pueden emplear tambi0n para un uso general. El

El 999; 9; cocontntieiene ne cucuatatrro o rregegisistrtros os de de dadatotos s de de :; :; bibitts s quque e sosonn direccionables como registros de bytes o como registros de :; bits, y direccionables como registros de bytes o como registros de :; bits, y cuatro registros punteros e 7ndices de :; bits. )os registros de datos cuatro registros punteros e 7ndices de :; bits. )os registros de datos pueden utili%arse como de uso general en algunas instrucciones. En pueden utili%arse como de uso general en algunas instrucciones. En otras, los registros se usan impl7citamente.

otras, los registros se usan impl7citamente.

)a unidad de procesamiento central +CPU reali%a operaciones en los )a unidad de procesamiento central +CPU reali%a operaciones en los datos. En la mayor7a de las arquitecturas consta de tres partes' una 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 unidad aritm0tica lógica +2)U, una unidad de control y un conjunto de registros, ubicaciones de almacenamiento rápido.

registros, ubicaciones de almacenamiento rápido. )os r

)os registros son egistros son lugares de lugares de almacenamiento rápido almacenamiento rápido independiente queindependiente que guardan datos en forma temporal. 4egistros m5ltiples son necesarios guardan datos en forma temporal. 4egistros m5ltiples son necesarios para facilit

para facilitar ar el funcionamiel funcionamiento del ento del CPU. PodemoCPU. Podemos s diididiidir r las partes quelas partes que ccoommppoonneen n uun n orrdo deennaaddoor r een n ttrreess

grandes cat

grandes categor7aegor7as o s o subsisubsistemas' la unidstemas' la unidad de procesamiad de procesamiento ento centrcentralal +CPU, la memoria principal y el subsistema

+CPU, la memoria principal y el subsistema de entrada salida.de entrada salida.

2.3. !l ciclo de instrucción

2.3. !l ciclo de instrucción

2l encender una computadora, su CPU arranca de un estado inicial 2l encender una computadora, su CPU arranca de un estado inicial conoci

conocido do ++'eset'eset el cuál le obliga a comen%ar siempre desde el mismo 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 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 de la celda de memoria donde se requiere que est0 la primer instrucción que la CPU

que la CPU a a ejecutar.a a ejecutar. )a tarea de una CPU es traer

)a tarea de una CPU es traer instruccionesinstrucciones desde la memoria y cumplir desde la memoria y cumplir con lo que ellas le indican, al *nali%ar la ejecución de la instrucción, la 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 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 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 desde esa en adelante, se asume que ienen en secuencia, a menos que

(19)

las propias instrucciones le instruyan que debe seguir por otro lado, las propias instrucciones le instruyan que debe seguir por otro lado, proocando saltos o des7os del curso o

proocando saltos o des7os del curso o Auo del programaAuo del programa.. Un Ciclo de instrucción Ancluye los siguientes subciclos'

Un Ciclo de instrucción Ancluye los siguientes subciclos' 

 #aptación:#aptación: Elear la siguiente instrucción de la  Elear la siguiente instrucción de la memoria a la CPU.memoria a la CPU. 

 !ec!ecución:ución: Anterpretar el código de operación y llear a cabo laAnterpretar el código de operación y llear a cabo la operación indicada.

operación indicada. 

 Interrupción:Interrupción: #i las interrupciones están habilitadas y ha ocurrido #i las interrupciones están habilitadas y ha ocurrido una interrupción, salar el estado del proceso actual y atender la una interrupción, salar el estado del proceso actual y atender la interrupción.

interrupción. !l #iclo Indirecto !l #iclo Indirecto

)a ejecución de una instrucción puede inolucrar a uno o más operandos )a ejecución de una instrucción puede inolucrar a uno o más operandos en memoria, cada uno de los cuales requiere un acceso a memoria. en memoria, cada uno de los cuales requiere un acceso a memoria. 2demás, si se usa direccionamiento indirecto serán necesarios accesos a 2demás, si se usa direccionamiento indirecto serán necesarios accesos a memoria adicionales.

memoria adicionales. Po

Podemodemos s conconsidsiderar erar la la capcaptactación ión de de dirdirecceccioniones es indindirirectectas as comcomo o unun subciclo de instrucción más. )a principal l7nea de actiidad consiste en subciclo de instrucción más. )a principal l7nea de actiidad consiste en alt

alterernar nar las las actactiiiidadedades s de de capcaptactación ión y y ejeejecuccución ión de de insinstrutrucciccioneones.s. De

Despspu0u0s s de de quque e ununa a ininststruruccccióión n sesea a cacaptptadada, a, es es ee6a6amiminanada da paparara determinar si incluye alg5n direccionamiento indirecto. #i es as7, los determinar si incluye alg5n direccionamiento indirecto. #i es as7, los operandos requeridos se captan usando direccionamiento indirecto.

operandos requeridos se captan usando direccionamiento indirecto.  !

 !ras ras la la ejecución ejecución se se puede puede procesar procesar una una interrupción interrupción antes antes de de lala captación de la siguiente instrucción.

captación de la siguiente instrucción.

Figura ". #iclo de Instrucción

Figura ". #iclo de Instrucción

Es

Esta ta *g*gurura a ililusustrtra a mámás s cocorrrerectctamamenente te la la nanatuturaralele%a %a dedel l ciciclclo o dede instrucción. Una e% que una instrucción es captada, deben identi*carse instrucción. Una e% que una instrucción es captada, deben identi*carse

(20)

sus campos de operandos. #e capta entonces de la memoria cada sus campos de operandos. #e capta entonces de la memoria cada operando de entrada, y este proceso puede requerir direccionamiento operando de entrada, y este proceso puede requerir direccionamiento in

indidirrecectoto. . )o)os s opopereranandodos s ububicicadados os en en rregegisistrtros os no no nenececesisitatan n seserr captados. Una e% que se ejecuta la operación, puede ser necesario un captados. Una e% que se ejecuta la operación, puede ser necesario un proceso similar para almacenar el resultado en la

proceso similar para almacenar el resultado en la memoria principal.memoria principal.

Figura 0. sueda

Figura 0. sueda

)a CPU cuenta con una serie de celdas de almacenamiento internas )a CPU cuenta con una serie de celdas de almacenamiento internas llamadas 4egistros, algunos de ellos tienen un uso dedicado y controlan llamadas 4egistros, algunos de ellos tienen un uso dedicado y controlan el funcionamiento de la máquina.

el funcionamiento de la máquina. $#

$# J J $r$rogograram m #o#oununteter r o o #o#ontntadador or de de $r$rogograramama' Es un' Es un registro dedicado de la CPU que en la fase de 15squeda apunta a registro dedicado de la CPU que en la fase de 15squeda apunta a la

la sisiguguieientnte e ininststruruccccióión n dedel l prprogogramrama, a, o o mámás s e6e6acactatamementnte e alal primer byte de la instrucción donde se almacena el código de primer byte de la instrucción donde se almacena el código de operación +Hperatie Code  HpCode. Este código es el que se operación +Hperatie Code  HpCode. Este código es el que se decodi*ca e

decodi*ca e indica ue 6acerindica ue 6acer yy ue operandos intervienenue operandos intervienen.. P

Parara a luluegego o de de hahabeber r obobteteninido do lolos s opopereranandodos s popodeder r papasasar r aa ejecutar la tarea.

ejecutar la tarea.

I' J Instruction 'egister o 'egistro de Instrucción

I' J Instruction 'egister o 'egistro de Instrucción' Es un' Es un rregegisistrtro o dededidicacado do de de la la CPCPU U quque e alalmamacecena na el el HpHpCoCode de de de lala instrucción tra7da en la b5squeda del presente ciclo. Es el alor instrucción tra7da en la b5squeda del presente ciclo. Es el alor cargado en A4 el que debe decodi*carse. )as instrucciones en cargado en A4 el que debe decodi*carse. )as instrucciones en memoria, para esta máquina, pueden tener uno o dos bytes. #i la 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 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 A4 de*ne completamente lo que hay que hacer. #i la instrucción es de

de dodos s bybytetes, s, hahay y quque e leleer er el el sisiguguieientnte e bybyte te el el cucual al apaporortata información adicional, requerida para la ejecución. 2ntes de la 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. decodi*cación no se sabe si la instrucción es de uno o dos bytes. 4

4ecoecordrdememos os quque e lalas s opoperaeracicionones es quque e se se pupuedeeden n rerealali%i%ar ar sosonn ssiieemmprpre e enenttrre e el el aalloor r en en el el 22ccuummuulladadoor r y y uun n ooppereraannddoo

(21)

almacenado en ?emoria, lo cual implica que hay que saber la almacenado en ?emoria, lo cual implica que hay que saber la ubicación del mismo o sea su Dirección.

ubicación del mismo o sea su Dirección. ,as tareas ue de(e realizar

,as tareas ue de(e realizar un procesador son:un procesador son: #aptar instrucción:

#aptar instrucción: )a CPU lee una instrucción de la memoria. )a CPU lee una instrucción de la memoria. 

 InteInterpretrpretar ar instinstruccirucción:ón: )a )a ininststruruccccióión n se se dedecocodidi*c*ca a paparara determinar qu0 acción es necesaria.

determinar qu0 acción es necesaria. 

 #aptar datos:#aptar datos: )a ejecución de una instrucción puede e6igir leer )a ejecución de una instrucción puede e6igir leer datos de la memoria o de un módulo de E#.

datos de la memoria o de un módulo de E#. 

 $rocesar datos:$rocesar datos:  )a ejecución de una instrucción puede e6igir  )a ejecución de una instrucción puede e6igir llear a cabo alguna operación a

llear a cabo alguna operación aritm0tica o lógica con los datos.ritm0tica o lógica con los datos. !scr

!scri(ir datos:i(ir datos: )os resultados de una ejecución pueden e6igir escribir)os resultados de una ejecución pueden e6igir escribir datos en la memoria o en un módulo de E#. Para hacer esto, es obio datos en la memoria o en un módulo de E#. Para hacer esto, es obio que la CPU necesita almacenar algunos datos temporalmente. Debe que la CPU necesita almacenar algunos datos temporalmente. Debe recordar

recordar

2.3.1 ciclo

2.3.1 ciclo

5etc6-decode-e7ecu

5etc6-decode-e7ecu

te

te

Un ciclo de instrucción +tambi0n llamado ciclo de fetch3and3e6ecute o Un ciclo de instrucción +tambi0n llamado ciclo de fetch3and3e6ecute o ci

ciclclo o de de fetfetchch3d3dececodode3ee3e6e6ecucute te en en ininglgl0s 0s es es el el peper7r7ododo o quque e tartarda da lala unidad central de proceso +CPU en ejecutar una instrucción de lenguaje unidad central de proceso +CPU en ejecutar una instrucción de lenguaje máquina. Comprende una secuencia de acciones determinada que debe máquina. Comprende una secuencia de acciones determinada que debe llear a cabo la CPU para ejecutar cada instrucción en un programa. llear a cabo la CPU para ejecutar cada instrucción en un programa. Cada instrucción del juego de instrucciones de una CPU puede requerir Cada instrucción del juego de instrucciones de una CPU puede requerir diferente n5mero de ciclos de instrucción para su ejecución.

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 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 que cualquier sistema de proceso de datos basado en microprocesador +p

+por or ejejememplplo o un un orordedenanadodor r o o mimicrcrococonontrtrololadador or +p+por or ejejememplplo o unun reproductor de ?P< realice una tarea +programa primero debe buscar reproductor de ?P< realice una tarea +programa primero debe buscar cada instrucción en la memoria principal y

cada instrucción en la memoria principal y luego ejecutarla.luego ejecutarla. #ec

#ecuenuencicia a de de acaccicionones es del del ciciclclo o de de ininststruruccccióión( n( 8a8abibitutualalmenmente te sosonn cuatro los eentos o pasos que se llean a cabo en cada ciclo de cuatro los eentos o pasos que se llean a cabo en cada ciclo de instrucción +ciclo de fetch' 1uscar la instrucción en la memoria principal 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. #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 tra0s del Entonces la CPU pasa la instrucción de la memoria principal a tra0s del bus de datos al 4egistro de Datos de ?emoria +?D4. 2 continuación el 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 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 circuito que guarda la instrucción temporalmente de manera que pueda ser decodi*cada y ejecutada.

ser decodi*cada y ejecutada.

El decodi*cador de instrucción interpreta e implementa la instrucción. El El decodi*cador de instrucción interpreta e implementa la instrucción. El regi

(22)

contador de programa +PC, program counter guarda la dirección de contador de programa +PC, program counter guarda la dirección de memoria de la siguiente instrucción a ser ejecutada.

memoria de la siguiente instrucción a ser ejecutada. 'ecogida de datos desde la memoria principal 'ecogida de datos desde la memoria principal  !

 !ambi0n ambi0n se se lee lee la la dirección dirección efectia efectia de de la la memoria memoria principal principal si si lala in

inststruruccccióión n titienene e ununa a didirrececcición ón inindidirrecectata, , y y se se rrececogogen en lolos s dadatotoss requeridos de la memoria principal para ser procesados y colocados en requeridos de la memoria principal para ser procesados y colocados en los registros de datos.

los registros de datos. !ecutar la instrucción !ecutar la instrucción

2 partir del registro de instrucción, los datos que

2 partir del registro de instrucción, los datos que forman la instrucciónforman la instrucción son decodi*cados por la unidad de control. @sta interpreta la información son decodi*cados por la unidad de control. @sta interpreta la información como una secuencia de se$ales de control que son eniadas a las

como una secuencia de se$ales de control que son eniadas a las unidades funcionales releantes de la CPU pa

unidades funcionales releantes de la CPU para reali%ar la operaciónra reali%ar la operación requerida por la instrucción.

requerida por la instrucción.

F

F

i

i

g

g

u

u

r

r

a

a

&

&

.

.

#

#

i

i

c

c

l

l

o

o

5

5

e

e

t

t

c

c

6

6

-

-

d

d

e

e

c

c

o

o

d

d

e

e

-

-e7ecute

e7ecute

E

Enn eessttee cciicclloo llaass

ffaasseess++oo ssuubb cciiccllooss''

b5squeda b5squeda

yy eejjeeccuucciióónn

++ccaaddaa ffaassee ttiieennee

etapas o etapas o actiidades actiidades F+8! F!D#K F+8! F!D#K 

 Cargar la siguiente instrucciónCargar la siguiente instrucción 

 Ancrementar el secuenciadorAncrementar el secuenciador 

 Anterpretar la AnstrucciónAnterpretar la Anstrucción F+8! !@!#%D!

(23)

 Cargar los operandosCargar los operandos  Ejecutar la operaciónEjecutar la operación  Kuardar el resultadoKuardar el resultado

 GGeri*car si eri*car si hay solicitudes de hay solicitudes de interrupcióninterrupción

2.3.2. 8egmentación de instrucciones

2.3.2. 8egmentación de instrucciones

)a segmentación de instrucciones es similar al uso de una cadena de )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, montaje en una fábrica de manufacturación. En las cadenas de montaje, el producto pasa a tra0s de arias etapas de producción antes de tener el producto pasa a tra0s de arias etapas de producción antes de tener el

el prprododucucto to tertermiminanadodo. . CaCada da etetapapa a o o segsegmenmento to de de la la cacadedena na estestáá especiali%ada en un área espec7*ca de la l7nea de producción y llea a especiali%ada en un área espec7*ca de la l7nea de producción y llea a cabo siempre la misma actiidad. Esta tecnolog7a es aplicada en el cabo siempre la misma actiidad. Esta tecnolog7a es aplicada en el dise$o de procesadores e*cientes. 2 estos procesadores se les conoce dise$o de procesadores e*cientes. 2 estos procesadores se les conoce como pipeline processors.

como pipeline processors. Un

Un pipipelpelinine e prprococessessor or esestá tá cocompmpuesuesto to popor r ununa a liliststa a de de sesegmgmenentotoss lineales y secuenciales en donde cada segmento llea a cabo una tarea lineales y secuenciales en donde cada segmento llea a cabo una tarea o

o un un grgrupupo o de de tatarreaeas s cocompmpututacacioionanaleles. s. PPueuede de seser r rrepeprresesenenttadadoo gr

grá*á*cacamementnte e en en dodos s didimemensnsiiononeses, , en en dodondnde e en en el el ejeje e eertrtiicacall encontramos los segmentos que componen el pipeline y en el segmento encontramos los segmentos que componen el pipeline y en el segmento ho

horiri%o%ontntal al rrepeprresesenentatamomos s el el titiemempopo. . +E+En n la la *g*gurura a se se mumuesestrtran an lala segmentación de instrucciones del pipeline.

segmentación de instrucciones del pipeline.

Figura 1.- segmentación de instrucciones

Figura 1.- segmentación de instrucciones

8ay tres aspectos importantes que deben ser considerados en pipeline. 8ay tres aspectos importantes que deben ser considerados en pipeline. )o primero que debemos obserar es que el trabajo es diidido en pie%as )o primero que debemos obserar es que el trabajo es diidido en pie%as que más o menos ajustan dentro de los segmentos que componen el 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 pipeline. #egundo, para que el pipeline trabaje de forma e*ciente es nec

necesaresario io que que las las parparticticioniones es de de tratrabajbajo o tomtomen en apraproo6ima6imadamdamentente e lala mi

Referencias

Documento similar

Y tendiendo ellos la vista vieron cuanto en el mundo había y dieron las gracias al Criador diciendo: Repetidas gracias os damos porque nos habéis criado hombres, nos

Entre nosotros anda un escritor de cosas de filología, paisano de Costa, que no deja de tener ingenio y garbo; pero cuyas obras tienen de todo menos de ciencia, y aun

IB-14/47-AS-412 Relieve monoclinal de la Arenisca de Aljibe, sobre ellao en este caso en posici6n inverti da se observa el Castillo de Castellar de la Frontera.... IB-14/47-AS-413

En nuestra opinión, las cuentas anuales de la Entidad Pública Empresarial Red.es correspondientes al ejercicio 2010 representan en todos los aspectos significativos la imagen fiel

En nuestra opinión, las cuentas anuales de la Entidad Pública Empresarial Red.es correspondientes al ejercicio 2012 representan en todos los aspectos

La Intervención General de la Administración del Estado, a través de la Oficina Nacional de Auditoría, en uso de las competencias que le atribuye el artículo 168

La Intervención General de la Administración del Estado, a través de la Oficina Nacional de Auditoría, en uso de las competencias que le atribuye el artículo

La campaña ha consistido en la revisión del etiquetado e instrucciones de uso de todos los ter- mómetros digitales comunicados, así como de la documentación técnica adicional de