SlideShare una empresa de Scribd logo
1 de 2
Descargar para leer sin conexión
INSTRUCCIONES Y DIRECCIONAMIENTO 
VISION ABSTRACTA DEL HARDWARE 
FORMATOS DE INSTRUCCION 
ARITMETICA SIMPLE E INSTRUCCIONES LOGICAS 
INSTRUCCIONES LOAD Y STORE 
INSTRUCCIONES JUMP Y BRANCH 
MODOS DE DIRECCIONAMIENTO 
La interfaz correspondiente para el hardware de computadora es su arquitectura de conjunto de instrucciones. 
Cuando se familiarice con el conjunto de instrucciones de una máquina, aprenderá otros con menos esfuerzo. 
MiniMIPS es un conjunto de instrucciones load/store (carga/almacenamiento), 
Ello significa que los elementos de datos se deben copiar o load (cargar) en registros .Antes de procesarlos. 
Registros Localidades (locations) de memoria donde se pueden almacenar datos. 
Instrucciones de máquina que operan sobre y almacenan datos en los registros o memoria. 
Usan el esquema big-endian 
(Mayor terminación). 
Una doubleword (doble palabra) ocupa dos registros o localidades de memoria consecutivos. 
A un elemento de datos de 32 bits almacenado en un registro o localidad de memoria (con una dirección 
Divisible entre 4) se le conoce como Word (palabra). 
Una instrucción de máquina MiniMIPS típica es Add a la forma compilada a=b+c. 
Las secuencias de máquina o instrucciones en lenguaje ensamblador se ejecutan de arriba abajo a menos que se especifica que de manera explícita un orden de ejecución diferente mediante las instrucciones jump (saltar) o branch (bifurcación). 
Al escribir programas en lenguaje de máquina, es necesario proporcionar enteros que especifican que 
Direcciones de memoria o constantes numéricas. 
Opcode es un código binario (patrón de bits) que define una operación. 
La simplicidad y uniformidad de los formatos de instrucción son comunes en los modernos RISC (reduced instruction-set computer, computadora con conjunto de instrucciones reducido). 
Las instrucciones jump (salto) o de tipo J provocan transferencia de control incondicional a la instrucción en la dirección especificada. 
Se introdujeron las instrucciones add y subtract. Dichas instrucciones trabajan en los registros que contienen palabras completas (32 bits). 
Las instrucciones lógicas operan en un par de operando sobre una base bit a bit. 
And, Or, Xor,Nor 
No hay instrucción subtract 
immediate correspondiente, dado que su efecto se puede lograr al añadir un valor negativo. 
Puesto que los MiniMIPS tienen un sumador de 32 bits, el operando inmediato de 16 bits se debe convertir a un valor equivalente de 32 bits antes de aplicarlo como entrada al sumador. 
Las instrucciones aritméticas add y sub tienen un formato que es común a todas las instrucciones 
ALU de dos operando. Por esto, el campo fn especifica la operación aritmética/lógica a realizar. 
Una diferencia clave entre las instrucciones andi, ori y xori y la instrucción addi es que el 
operando de 16 bits de una instrucción lógica es extendida 0 desde la izquierda para convertirla en 
formato de 32 bits para procesamiento. 
Los campos de una palabra se pueden extraer al operar AND la palabra con una máscara(mask) predefi nida, una palabra que tenga 1 en las posiciones de bit de interés y 0 en cualquier otra parte. 
Las instrucciones load y store transfieren palabras completas (32 bits) entre memoria y registros. 
El registro, que es el destino de datos para carga y fuente de datos para almacenar, se especifica en el campo rt de una instrucción de formato I. 
el offset se puede especificar como un entero absoluto o a través de un nombre simbólico que se definió anteriormente 
zero 
Instrucciones MiniMIPS lw y sw y sus convenciones de direccionamiento de memoria que permite el acceso simple a elementos de arreglos vía una dirección base y un offset 
La instrucción lui permite cargar un valor arbitrario de 16 bits en la mitad superior de un registro mientras su mitad inferior se fija en 0. 
jump simple, que causa que la ejecución del programa procede 
de la localidad cuya dirección numérica o simbólica se ofrece, en lugar de continuar con la siguiente instrucción en secuencia. 
Jump register (registro de salto), o jr, especifica un registro que retiene la dirección blanco de salto. 
direccionamiento seudodirecto se incrementa muy pronto en el ciclo de 
ejecución de la instrucción (antes de la decodificación y ejecución de la instrucción), 
Las instrucciones branch condicionales permiten transferir el control a una dirección específi ca cuando se satisface una condición de interés. 
branch básicas basadas en comparación para las que las condiciones constituyen un contenido de registro negativo y la igualdad o desigualdad de los contenidos de dos registros. 
Las instrucciones branch y jump se pueden usar para formar estructuras computacionales condicionales y repetitivas comparables a if-then (si-entonces) y while (mientras) de los lenguajes de alto nivel. El enunciado if-then 
Modo de direccionamiento (addressing mode) es el método que especifica la ubicación de un operando dentro de una instrucción. 
Direccionamiento implícito: El operando viene de, o resulta de ir a, un lugar predefi nido que no se especifica explícitamente en la instrucción. 
Direccionamiento inmediato: El operando se proporciona en la instrucción en sí misma . 
Direccionamiento por registro: El operando se toma de, o resulta colocado en, un registro específico. 
Direccionamiento base: El operando está en memoria y su ubicación se calcula al agregar unoffset (entero con signo de 16 bits) al contenido de un registro base específica co. 
Direccionamiento relativo al PC: Igual que el direccionamiento base, pero el registro siempre 
es el contador del programa y el offset se adiciona con dos 0 en el extremo derecho 
Direccionamiento seudodirecto: En el direccionamiento directo, la dirección del operando se 
proporciona como parte de la instrucción.
PROCEDIMIENTOS Y DATOS 
LLAMADAS DE PROCEDIMIENTO SIMPLES 
PARÁMETROS Y RESULTADOS 
USO DE LA PILA PARA ALMACENAMIENTO DE DATOS 
TIPOS DE DATOS 
INSTRUCCIONES ADICIONALES 
ARREGLOS Y APUNTADORES 
Un procedimiento representa un subprograma que, cuando se llama (inicia, invoca) realiza 
una tarea específica, que quizás lleve a uno o más resultados, con base en los parámetros 
de entrada (argumentos) que se le proporciona y retornos al punto de llamada. 
Usar un procedimiento involucra la siguiente secuencia de acciones: 
1. Poner argumentos en lugares conocidos al procedimiento (registros $a0-$a3). 
2. Transferir control al procedimiento y salvar la dirección de retorno (jal). 
3. Adquirir espacio de almacenamiento, si se requiere, para uso del procedimiento. 
4. Realizar la tarea deseada. 
5. Poner los resultados en lugares conocidos al programa que llama (registros $v0-$v1). 
6. Regresar el control al punto de llamada (jr). 
Con cuidado adecuado,también se pueden usar los registros $v0 y $v1 para pasar parámetros a un procedimiento, lo que, en 
consecuencia, permite pasar hasta seis parámetros a un procedimiento sin usar la pila. 
Un mecanismo común para salvar cosas o hacer espacio para datos temporales que requiere un procedimiento es el uso de una estructura de datos dinámicos 
conocida como stack (pila). 
Los elementos de datos se añaden a la pila al empujarlas en la pila y se recuperan al sacarlos. Las operaciones push (empujar) y pop (sacar) 
La pila es una estructura de datos dinámicos en la que los 
datos se pueden colocar y recupera en orden last-in, fi rst-out (último en entrar, primero en salir). 
Los datos dinámicos del programa y la pila pueden crecer en tamaño hasta la memoria máxima 
disponible. 
Aun cuando técnicamente una pila es una estructura de datos last-in, fi rst-out, de hecho se puede tener acceso a cualquier elemento dentro de la pila si se conoce su orden relativo desde arriba. 
Antes de una llamada de procedimiento, el programa llamante empuja los contenidos de cualesquier registros que necesite salvar en lo alto de la stack y sigue esto con cualesquiera argumentos adicionales para el procedimiento. 
Cada procedimiento en una secuencia anidada deja perturbada la parte de la pila que pertenece a los llamadores previos y usa la pila que comienza conla rendija vacía sobre la entrada a la que se apunta 
En consecuencia, un procedimiento que usa la pila mediante la modificación del apuntador de pila debe salvar el contenido de éste en el principio y, al fi nal, restaurar $sp a su estado original. 
Tamaños de datos usados de manera común son halfword (media palabra) (16 bits) y quadword (cuádruple palabra) 
(128 bits). 
Entero con signo. 
Entero sin signo 
Número en punto flotante. 
Cadena de bits. 
Un uso importante para elementos de datos con tamaño de byte es representar los símbolos de un alfabeto que consiste de letras (mayúsculas y minúsculas), dígitos, signos de puntuación y otros símbolos necesarios. 
La instrucción load byte, al igual que muchas otras instrucciones con propiedades similares, 
tendrá dos versiones, para valores con signo y sin signo. 
Índice: Usar un registro que retenga el índice i e incremente el registro en cada paso para efectuar 
el movimiento del elemento i de la lista al elemento i _ 1. 
Tratar con los apuntadores es conceptualmente más difícil y proclive al error, mientras que el uso de índices de arreglo aparece más natural y, por ende, es más fácil de entender. De este modo, usualmente no se recomienda el uso de apuntadores sólo para mejorar la efi ciencia del programa. 
Apuntador: Usar un registro que apunta al (retiene la dirección de) elemento de lista que se examina y actualizarlo en cada paso para apuntar al siguiente elemento. 
La instrucción multiplicar (multiply) (mult) representa una instrucción en formato R que coloca el producto doble palabra de los contenidos de dos registros en los registros Hi (mitad superior) y Lo (mitad inferior). 
La instrucción div calcula el resto y el cociente de los contenidos de dos registros fuente, y los coloca en los registros especiales Hi y Lo, respectivamente. 
Las representaciones de máquina de estas instrucciones son idénticas a las de las versiones con signo

Más contenido relacionado

La actualidad más candente

Equipo 6 comparaciones
Equipo 6 comparacionesEquipo 6 comparaciones
Equipo 6 comparacionesgabo
 
Registros de control y estados de la CPU
Registros de control y estados de la CPURegistros de control y estados de la CPU
Registros de control y estados de la CPUIvan Porras
 
Instrucciones lenguaje assembler
Instrucciones lenguaje assemblerInstrucciones lenguaje assembler
Instrucciones lenguaje assemblerANDREA
 
Casos de estudio de cpu reales
Casos de estudio de cpu realesCasos de estudio de cpu reales
Casos de estudio de cpu realesKikivan Cortez
 
Programacion Lenguaje Assembler 25 10 07
Programacion Lenguaje Assembler 25 10 07Programacion Lenguaje Assembler 25 10 07
Programacion Lenguaje Assembler 25 10 07Carlos Pastorino
 
Registros del procesador 01
Registros del procesador 01Registros del procesador 01
Registros del procesador 01Isaias Castro
 
Lenguaje ensamblador
Lenguaje ensambladorLenguaje ensamblador
Lenguaje ensambladorjoseruiz_66
 
Registros del procesador
Registros del procesadorRegistros del procesador
Registros del procesadorSaya Otonashi
 
Estadística con Lenguaje R: Sesión Introductoria
Estadística con Lenguaje R: Sesión IntroductoriaEstadística con Lenguaje R: Sesión Introductoria
Estadística con Lenguaje R: Sesión IntroductoriaLuis Fernando Aguas Bucheli
 
02 - Conceptos fundamentales sobre tipos de datos en lenguaje C
02 - Conceptos fundamentales sobre tipos de datos en lenguaje C02 - Conceptos fundamentales sobre tipos de datos en lenguaje C
02 - Conceptos fundamentales sobre tipos de datos en lenguaje CDiego Andrés Alvarez Marín
 
Estructuras básicas para C++
Estructuras básicas para C++Estructuras básicas para C++
Estructuras básicas para C++Bryangio2002
 
Registro de estado finalizado
Registro de estado finalizadoRegistro de estado finalizado
Registro de estado finalizadoDali Yulian Glez
 

La actualidad más candente (20)

Equipo 6 comparaciones
Equipo 6 comparacionesEquipo 6 comparaciones
Equipo 6 comparaciones
 
Manejo de archivo
Manejo de archivoManejo de archivo
Manejo de archivo
 
Registros de control y estados de la CPU
Registros de control y estados de la CPURegistros de control y estados de la CPU
Registros de control y estados de la CPU
 
Instrucciones lenguaje assembler
Instrucciones lenguaje assemblerInstrucciones lenguaje assembler
Instrucciones lenguaje assembler
 
Emsamblador
EmsambladorEmsamblador
Emsamblador
 
Assembler
AssemblerAssembler
Assembler
 
Casos de estudio de cpu reales
Casos de estudio de cpu realesCasos de estudio de cpu reales
Casos de estudio de cpu reales
 
Programacion Lenguaje Assembler 25 10 07
Programacion Lenguaje Assembler 25 10 07Programacion Lenguaje Assembler 25 10 07
Programacion Lenguaje Assembler 25 10 07
 
Registros del procesador 01
Registros del procesador 01Registros del procesador 01
Registros del procesador 01
 
Registros del cpu
Registros del cpuRegistros del cpu
Registros del cpu
 
Lenguaje ensamblador
Lenguaje ensambladorLenguaje ensamblador
Lenguaje ensamblador
 
Arquitectura x86_ Registros
Arquitectura x86_ RegistrosArquitectura x86_ Registros
Arquitectura x86_ Registros
 
Modos de direccionamiento
Modos de direccionamientoModos de direccionamiento
Modos de direccionamiento
 
Registros del procesador
Registros del procesadorRegistros del procesador
Registros del procesador
 
Curso básico de ensamblador
Curso básico de ensambladorCurso básico de ensamblador
Curso básico de ensamblador
 
Estadística con Lenguaje R: Sesión Introductoria
Estadística con Lenguaje R: Sesión IntroductoriaEstadística con Lenguaje R: Sesión Introductoria
Estadística con Lenguaje R: Sesión Introductoria
 
02 - Conceptos fundamentales sobre tipos de datos en lenguaje C
02 - Conceptos fundamentales sobre tipos de datos en lenguaje C02 - Conceptos fundamentales sobre tipos de datos en lenguaje C
02 - Conceptos fundamentales sobre tipos de datos en lenguaje C
 
Estructuras básicas para C++
Estructuras básicas para C++Estructuras básicas para C++
Estructuras básicas para C++
 
Registro de estado finalizado
Registro de estado finalizadoRegistro de estado finalizado
Registro de estado finalizado
 
Tabla de símbolos
Tabla de símbolosTabla de símbolos
Tabla de símbolos
 

Similar a Instrucciones MiniMIPS, direccionamiento y procedimientos

Similar a Instrucciones MiniMIPS, direccionamiento y procedimientos (20)

Yeimir rincon 20%
Yeimir rincon 20%Yeimir rincon 20%
Yeimir rincon 20%
 
Unidad I.pdf
Unidad I.pdfUnidad I.pdf
Unidad I.pdf
 
Unidad 2 arquitectura del computador
Unidad 2 arquitectura del computadorUnidad 2 arquitectura del computador
Unidad 2 arquitectura del computador
 
Preguntas de Refuerzo 3
Preguntas de Refuerzo 3Preguntas de Refuerzo 3
Preguntas de Refuerzo 3
 
UNIDAD 2 PROGRAMACIÓN BASICA
UNIDAD 2 PROGRAMACIÓN BASICAUNIDAD 2 PROGRAMACIÓN BASICA
UNIDAD 2 PROGRAMACIÓN BASICA
 
Capacidad de la unidad de procesamiento (grecia gonzález 30203532)
Capacidad de la unidad  de procesamiento (grecia gonzález   30203532)Capacidad de la unidad  de procesamiento (grecia gonzález   30203532)
Capacidad de la unidad de procesamiento (grecia gonzález 30203532)
 
asm_mododir2.pdf
asm_mododir2.pdfasm_mododir2.pdf
asm_mododir2.pdf
 
Asm mododir2
Asm mododir2Asm mododir2
Asm mododir2
 
Formatos de instrucción
Formatos de instrucciónFormatos de instrucción
Formatos de instrucción
 
Lenguaje Ensamblador
Lenguaje EnsambladorLenguaje Ensamblador
Lenguaje Ensamblador
 
Lenguajes de interfaz
Lenguajes de interfazLenguajes de interfaz
Lenguajes de interfaz
 
Unidadi. lenguajes de interfaz
Unidadi.   lenguajes de interfazUnidadi.   lenguajes de interfaz
Unidadi. lenguajes de interfaz
 
Microcomputadoras al detalle
Microcomputadoras al detalleMicrocomputadoras al detalle
Microcomputadoras al detalle
 
Comparativa Intel 8086 Motorola 68000
Comparativa Intel 8086   Motorola 68000Comparativa Intel 8086   Motorola 68000
Comparativa Intel 8086 Motorola 68000
 
Estructura .COM
Estructura .COMEstructura .COM
Estructura .COM
 
Organizacion E/S
Organizacion E/SOrganizacion E/S
Organizacion E/S
 
Hernan espinoza 5_b_t#2
Hernan espinoza 5_b_t#2Hernan espinoza 5_b_t#2
Hernan espinoza 5_b_t#2
 
Modos de direccionamiento.pdf
Modos de direccionamiento.pdfModos de direccionamiento.pdf
Modos de direccionamiento.pdf
 
I S A
I S AI S A
I S A
 
Capacidad de la_unidad_de_procesamiento
Capacidad de la_unidad_de_procesamientoCapacidad de la_unidad_de_procesamiento
Capacidad de la_unidad_de_procesamiento
 

Último

La Función tecnológica del tutor.pptx
La  Función  tecnológica  del tutor.pptxLa  Función  tecnológica  del tutor.pptx
La Función tecnológica del tutor.pptxJunkotantik
 
Metabolismo 3: Anabolismo y Fotosíntesis 2024
Metabolismo 3: Anabolismo y Fotosíntesis 2024Metabolismo 3: Anabolismo y Fotosíntesis 2024
Metabolismo 3: Anabolismo y Fotosíntesis 2024IES Vicent Andres Estelles
 
plan-de-trabajo-colegiado en una institucion educativa
plan-de-trabajo-colegiado en una institucion educativaplan-de-trabajo-colegiado en una institucion educativa
plan-de-trabajo-colegiado en una institucion educativafiorelachuctaya2
 
Informatica Generalidades - Conceptos Básicos
Informatica Generalidades - Conceptos BásicosInformatica Generalidades - Conceptos Básicos
Informatica Generalidades - Conceptos BásicosCesarFernandez937857
 
Factores ecosistemas: interacciones, energia y dinamica
Factores ecosistemas: interacciones, energia y dinamicaFactores ecosistemas: interacciones, energia y dinamica
Factores ecosistemas: interacciones, energia y dinamicaFlor Idalia Espinoza Ortega
 
LINEAMIENTOS INICIO DEL AÑO LECTIVO 2024-2025.pptx
LINEAMIENTOS INICIO DEL AÑO LECTIVO 2024-2025.pptxLINEAMIENTOS INICIO DEL AÑO LECTIVO 2024-2025.pptx
LINEAMIENTOS INICIO DEL AÑO LECTIVO 2024-2025.pptxdanalikcruz2000
 
Identificación de componentes Hardware del PC
Identificación de componentes Hardware del PCIdentificación de componentes Hardware del PC
Identificación de componentes Hardware del PCCesarFernandez937857
 
Estas son las escuelas y colegios que tendrán modalidad no presencial este lu...
Estas son las escuelas y colegios que tendrán modalidad no presencial este lu...Estas son las escuelas y colegios que tendrán modalidad no presencial este lu...
Estas son las escuelas y colegios que tendrán modalidad no presencial este lu...fcastellanos3
 
Procesos Didácticos en Educación Inicial .pptx
Procesos Didácticos en Educación Inicial .pptxProcesos Didácticos en Educación Inicial .pptx
Procesos Didácticos en Educación Inicial .pptxMapyMerma1
 
Heinsohn Privacidad y Ciberseguridad para el sector educativo
Heinsohn Privacidad y Ciberseguridad para el sector educativoHeinsohn Privacidad y Ciberseguridad para el sector educativo
Heinsohn Privacidad y Ciberseguridad para el sector educativoFundación YOD YOD
 
OLIMPIADA DEL CONOCIMIENTO INFANTIL 2024.pptx
OLIMPIADA DEL CONOCIMIENTO INFANTIL 2024.pptxOLIMPIADA DEL CONOCIMIENTO INFANTIL 2024.pptx
OLIMPIADA DEL CONOCIMIENTO INFANTIL 2024.pptxjosetrinidadchavez
 
Clasificaciones, modalidades y tendencias de investigación educativa.
Clasificaciones, modalidades y tendencias de investigación educativa.Clasificaciones, modalidades y tendencias de investigación educativa.
Clasificaciones, modalidades y tendencias de investigación educativa.José Luis Palma
 
EXPECTATIVAS vs PERSPECTIVA en la vida.
EXPECTATIVAS vs PERSPECTIVA  en la vida.EXPECTATIVAS vs PERSPECTIVA  en la vida.
EXPECTATIVAS vs PERSPECTIVA en la vida.DaluiMonasterio
 
SINTAXIS DE LA ORACIÓN SIMPLE 2023-2024.pptx
SINTAXIS DE LA ORACIÓN SIMPLE 2023-2024.pptxSINTAXIS DE LA ORACIÓN SIMPLE 2023-2024.pptx
SINTAXIS DE LA ORACIÓN SIMPLE 2023-2024.pptxlclcarmen
 

Último (20)

La Función tecnológica del tutor.pptx
La  Función  tecnológica  del tutor.pptxLa  Función  tecnológica  del tutor.pptx
La Función tecnológica del tutor.pptx
 
Unidad 3 | Teorías de la Comunicación | MCDI
Unidad 3 | Teorías de la Comunicación | MCDIUnidad 3 | Teorías de la Comunicación | MCDI
Unidad 3 | Teorías de la Comunicación | MCDI
 
Metabolismo 3: Anabolismo y Fotosíntesis 2024
Metabolismo 3: Anabolismo y Fotosíntesis 2024Metabolismo 3: Anabolismo y Fotosíntesis 2024
Metabolismo 3: Anabolismo y Fotosíntesis 2024
 
plan-de-trabajo-colegiado en una institucion educativa
plan-de-trabajo-colegiado en una institucion educativaplan-de-trabajo-colegiado en una institucion educativa
plan-de-trabajo-colegiado en una institucion educativa
 
Informatica Generalidades - Conceptos Básicos
Informatica Generalidades - Conceptos BásicosInformatica Generalidades - Conceptos Básicos
Informatica Generalidades - Conceptos Básicos
 
Factores ecosistemas: interacciones, energia y dinamica
Factores ecosistemas: interacciones, energia y dinamicaFactores ecosistemas: interacciones, energia y dinamica
Factores ecosistemas: interacciones, energia y dinamica
 
Defendamos la verdad. La defensa es importante.
Defendamos la verdad. La defensa es importante.Defendamos la verdad. La defensa es importante.
Defendamos la verdad. La defensa es importante.
 
Unidad 4 | Teorías de las Comunicación | MCDI
Unidad 4 | Teorías de las Comunicación | MCDIUnidad 4 | Teorías de las Comunicación | MCDI
Unidad 4 | Teorías de las Comunicación | MCDI
 
LINEAMIENTOS INICIO DEL AÑO LECTIVO 2024-2025.pptx
LINEAMIENTOS INICIO DEL AÑO LECTIVO 2024-2025.pptxLINEAMIENTOS INICIO DEL AÑO LECTIVO 2024-2025.pptx
LINEAMIENTOS INICIO DEL AÑO LECTIVO 2024-2025.pptx
 
Identificación de componentes Hardware del PC
Identificación de componentes Hardware del PCIdentificación de componentes Hardware del PC
Identificación de componentes Hardware del PC
 
Estas son las escuelas y colegios que tendrán modalidad no presencial este lu...
Estas son las escuelas y colegios que tendrán modalidad no presencial este lu...Estas son las escuelas y colegios que tendrán modalidad no presencial este lu...
Estas son las escuelas y colegios que tendrán modalidad no presencial este lu...
 
Procesos Didácticos en Educación Inicial .pptx
Procesos Didácticos en Educación Inicial .pptxProcesos Didácticos en Educación Inicial .pptx
Procesos Didácticos en Educación Inicial .pptx
 
Heinsohn Privacidad y Ciberseguridad para el sector educativo
Heinsohn Privacidad y Ciberseguridad para el sector educativoHeinsohn Privacidad y Ciberseguridad para el sector educativo
Heinsohn Privacidad y Ciberseguridad para el sector educativo
 
Tema 7.- E-COMMERCE SISTEMAS DE INFORMACION.pdf
Tema 7.- E-COMMERCE SISTEMAS DE INFORMACION.pdfTema 7.- E-COMMERCE SISTEMAS DE INFORMACION.pdf
Tema 7.- E-COMMERCE SISTEMAS DE INFORMACION.pdf
 
La Trampa De La Felicidad. Russ-Harris.pdf
La Trampa De La Felicidad. Russ-Harris.pdfLa Trampa De La Felicidad. Russ-Harris.pdf
La Trampa De La Felicidad. Russ-Harris.pdf
 
OLIMPIADA DEL CONOCIMIENTO INFANTIL 2024.pptx
OLIMPIADA DEL CONOCIMIENTO INFANTIL 2024.pptxOLIMPIADA DEL CONOCIMIENTO INFANTIL 2024.pptx
OLIMPIADA DEL CONOCIMIENTO INFANTIL 2024.pptx
 
Sesión de clase: Defendamos la verdad.pdf
Sesión de clase: Defendamos la verdad.pdfSesión de clase: Defendamos la verdad.pdf
Sesión de clase: Defendamos la verdad.pdf
 
Clasificaciones, modalidades y tendencias de investigación educativa.
Clasificaciones, modalidades y tendencias de investigación educativa.Clasificaciones, modalidades y tendencias de investigación educativa.
Clasificaciones, modalidades y tendencias de investigación educativa.
 
EXPECTATIVAS vs PERSPECTIVA en la vida.
EXPECTATIVAS vs PERSPECTIVA  en la vida.EXPECTATIVAS vs PERSPECTIVA  en la vida.
EXPECTATIVAS vs PERSPECTIVA en la vida.
 
SINTAXIS DE LA ORACIÓN SIMPLE 2023-2024.pptx
SINTAXIS DE LA ORACIÓN SIMPLE 2023-2024.pptxSINTAXIS DE LA ORACIÓN SIMPLE 2023-2024.pptx
SINTAXIS DE LA ORACIÓN SIMPLE 2023-2024.pptx
 

Instrucciones MiniMIPS, direccionamiento y procedimientos

  • 1. INSTRUCCIONES Y DIRECCIONAMIENTO VISION ABSTRACTA DEL HARDWARE FORMATOS DE INSTRUCCION ARITMETICA SIMPLE E INSTRUCCIONES LOGICAS INSTRUCCIONES LOAD Y STORE INSTRUCCIONES JUMP Y BRANCH MODOS DE DIRECCIONAMIENTO La interfaz correspondiente para el hardware de computadora es su arquitectura de conjunto de instrucciones. Cuando se familiarice con el conjunto de instrucciones de una máquina, aprenderá otros con menos esfuerzo. MiniMIPS es un conjunto de instrucciones load/store (carga/almacenamiento), Ello significa que los elementos de datos se deben copiar o load (cargar) en registros .Antes de procesarlos. Registros Localidades (locations) de memoria donde se pueden almacenar datos. Instrucciones de máquina que operan sobre y almacenan datos en los registros o memoria. Usan el esquema big-endian (Mayor terminación). Una doubleword (doble palabra) ocupa dos registros o localidades de memoria consecutivos. A un elemento de datos de 32 bits almacenado en un registro o localidad de memoria (con una dirección Divisible entre 4) se le conoce como Word (palabra). Una instrucción de máquina MiniMIPS típica es Add a la forma compilada a=b+c. Las secuencias de máquina o instrucciones en lenguaje ensamblador se ejecutan de arriba abajo a menos que se especifica que de manera explícita un orden de ejecución diferente mediante las instrucciones jump (saltar) o branch (bifurcación). Al escribir programas en lenguaje de máquina, es necesario proporcionar enteros que especifican que Direcciones de memoria o constantes numéricas. Opcode es un código binario (patrón de bits) que define una operación. La simplicidad y uniformidad de los formatos de instrucción son comunes en los modernos RISC (reduced instruction-set computer, computadora con conjunto de instrucciones reducido). Las instrucciones jump (salto) o de tipo J provocan transferencia de control incondicional a la instrucción en la dirección especificada. Se introdujeron las instrucciones add y subtract. Dichas instrucciones trabajan en los registros que contienen palabras completas (32 bits). Las instrucciones lógicas operan en un par de operando sobre una base bit a bit. And, Or, Xor,Nor No hay instrucción subtract immediate correspondiente, dado que su efecto se puede lograr al añadir un valor negativo. Puesto que los MiniMIPS tienen un sumador de 32 bits, el operando inmediato de 16 bits se debe convertir a un valor equivalente de 32 bits antes de aplicarlo como entrada al sumador. Las instrucciones aritméticas add y sub tienen un formato que es común a todas las instrucciones ALU de dos operando. Por esto, el campo fn especifica la operación aritmética/lógica a realizar. Una diferencia clave entre las instrucciones andi, ori y xori y la instrucción addi es que el operando de 16 bits de una instrucción lógica es extendida 0 desde la izquierda para convertirla en formato de 32 bits para procesamiento. Los campos de una palabra se pueden extraer al operar AND la palabra con una máscara(mask) predefi nida, una palabra que tenga 1 en las posiciones de bit de interés y 0 en cualquier otra parte. Las instrucciones load y store transfieren palabras completas (32 bits) entre memoria y registros. El registro, que es el destino de datos para carga y fuente de datos para almacenar, se especifica en el campo rt de una instrucción de formato I. el offset se puede especificar como un entero absoluto o a través de un nombre simbólico que se definió anteriormente zero Instrucciones MiniMIPS lw y sw y sus convenciones de direccionamiento de memoria que permite el acceso simple a elementos de arreglos vía una dirección base y un offset La instrucción lui permite cargar un valor arbitrario de 16 bits en la mitad superior de un registro mientras su mitad inferior se fija en 0. jump simple, que causa que la ejecución del programa procede de la localidad cuya dirección numérica o simbólica se ofrece, en lugar de continuar con la siguiente instrucción en secuencia. Jump register (registro de salto), o jr, especifica un registro que retiene la dirección blanco de salto. direccionamiento seudodirecto se incrementa muy pronto en el ciclo de ejecución de la instrucción (antes de la decodificación y ejecución de la instrucción), Las instrucciones branch condicionales permiten transferir el control a una dirección específi ca cuando se satisface una condición de interés. branch básicas basadas en comparación para las que las condiciones constituyen un contenido de registro negativo y la igualdad o desigualdad de los contenidos de dos registros. Las instrucciones branch y jump se pueden usar para formar estructuras computacionales condicionales y repetitivas comparables a if-then (si-entonces) y while (mientras) de los lenguajes de alto nivel. El enunciado if-then Modo de direccionamiento (addressing mode) es el método que especifica la ubicación de un operando dentro de una instrucción. Direccionamiento implícito: El operando viene de, o resulta de ir a, un lugar predefi nido que no se especifica explícitamente en la instrucción. Direccionamiento inmediato: El operando se proporciona en la instrucción en sí misma . Direccionamiento por registro: El operando se toma de, o resulta colocado en, un registro específico. Direccionamiento base: El operando está en memoria y su ubicación se calcula al agregar unoffset (entero con signo de 16 bits) al contenido de un registro base específica co. Direccionamiento relativo al PC: Igual que el direccionamiento base, pero el registro siempre es el contador del programa y el offset se adiciona con dos 0 en el extremo derecho Direccionamiento seudodirecto: En el direccionamiento directo, la dirección del operando se proporciona como parte de la instrucción.
  • 2. PROCEDIMIENTOS Y DATOS LLAMADAS DE PROCEDIMIENTO SIMPLES PARÁMETROS Y RESULTADOS USO DE LA PILA PARA ALMACENAMIENTO DE DATOS TIPOS DE DATOS INSTRUCCIONES ADICIONALES ARREGLOS Y APUNTADORES Un procedimiento representa un subprograma que, cuando se llama (inicia, invoca) realiza una tarea específica, que quizás lleve a uno o más resultados, con base en los parámetros de entrada (argumentos) que se le proporciona y retornos al punto de llamada. Usar un procedimiento involucra la siguiente secuencia de acciones: 1. Poner argumentos en lugares conocidos al procedimiento (registros $a0-$a3). 2. Transferir control al procedimiento y salvar la dirección de retorno (jal). 3. Adquirir espacio de almacenamiento, si se requiere, para uso del procedimiento. 4. Realizar la tarea deseada. 5. Poner los resultados en lugares conocidos al programa que llama (registros $v0-$v1). 6. Regresar el control al punto de llamada (jr). Con cuidado adecuado,también se pueden usar los registros $v0 y $v1 para pasar parámetros a un procedimiento, lo que, en consecuencia, permite pasar hasta seis parámetros a un procedimiento sin usar la pila. Un mecanismo común para salvar cosas o hacer espacio para datos temporales que requiere un procedimiento es el uso de una estructura de datos dinámicos conocida como stack (pila). Los elementos de datos se añaden a la pila al empujarlas en la pila y se recuperan al sacarlos. Las operaciones push (empujar) y pop (sacar) La pila es una estructura de datos dinámicos en la que los datos se pueden colocar y recupera en orden last-in, fi rst-out (último en entrar, primero en salir). Los datos dinámicos del programa y la pila pueden crecer en tamaño hasta la memoria máxima disponible. Aun cuando técnicamente una pila es una estructura de datos last-in, fi rst-out, de hecho se puede tener acceso a cualquier elemento dentro de la pila si se conoce su orden relativo desde arriba. Antes de una llamada de procedimiento, el programa llamante empuja los contenidos de cualesquier registros que necesite salvar en lo alto de la stack y sigue esto con cualesquiera argumentos adicionales para el procedimiento. Cada procedimiento en una secuencia anidada deja perturbada la parte de la pila que pertenece a los llamadores previos y usa la pila que comienza conla rendija vacía sobre la entrada a la que se apunta En consecuencia, un procedimiento que usa la pila mediante la modificación del apuntador de pila debe salvar el contenido de éste en el principio y, al fi nal, restaurar $sp a su estado original. Tamaños de datos usados de manera común son halfword (media palabra) (16 bits) y quadword (cuádruple palabra) (128 bits). Entero con signo. Entero sin signo Número en punto flotante. Cadena de bits. Un uso importante para elementos de datos con tamaño de byte es representar los símbolos de un alfabeto que consiste de letras (mayúsculas y minúsculas), dígitos, signos de puntuación y otros símbolos necesarios. La instrucción load byte, al igual que muchas otras instrucciones con propiedades similares, tendrá dos versiones, para valores con signo y sin signo. Índice: Usar un registro que retenga el índice i e incremente el registro en cada paso para efectuar el movimiento del elemento i de la lista al elemento i _ 1. Tratar con los apuntadores es conceptualmente más difícil y proclive al error, mientras que el uso de índices de arreglo aparece más natural y, por ende, es más fácil de entender. De este modo, usualmente no se recomienda el uso de apuntadores sólo para mejorar la efi ciencia del programa. Apuntador: Usar un registro que apunta al (retiene la dirección de) elemento de lista que se examina y actualizarlo en cada paso para apuntar al siguiente elemento. La instrucción multiplicar (multiply) (mult) representa una instrucción en formato R que coloca el producto doble palabra de los contenidos de dos registros en los registros Hi (mitad superior) y Lo (mitad inferior). La instrucción div calcula el resto y el cociente de los contenidos de dos registros fuente, y los coloca en los registros especiales Hi y Lo, respectivamente. Las representaciones de máquina de estas instrucciones son idénticas a las de las versiones con signo