Laboratorio de Organización del Computador. Cómo nos podemos comunicar con un computador Add A, B 1000110010100000 8CA0 Ensamblador Hexadecimal Binario.

Slides:



Advertisements
Presentaciones similares
Capítulo I Gestión de E/S 1.- Gestión de E/S 2.- Hardware de E/S 3.- Software de E/S.
Advertisements

UNIVERSIDAD DEL VALLE DE MEXICO CAMPUS CHAPULTEPEC
ING SEC 3 - UCSC Agosto 2009 Laboratorio Lenguaje de Programación ING – Universidad Católica SSMA Concepción Semestre II Tema:
Fermín Sánchez Carracedo Universitat Politècnica de Catalunya
Práctica Nº1. AOC Michael Soza Contenido Lenguaje Máquina y Assembly. Instalación y manejo del entorno SPIM Operaciones básicas Registros.
UNIDAD II: ALGORITMOS Y LENGUAJES
Temas Operaciones básicas Instalando el compilador
INTRODUCCION A LOS ALGORITMOS (Conceptos previos)
Assembly y el Simulador SPIM
3. INTRODUCCIÓN A LA PROGRAMACIÓN
¿Para qué se utiliza el PSEINT?
VISUAL BASIC CONSOLA Todas las ordenes o instrucciones se digitan dentro de sub Main() y End Sub ÁREA DE TRABAJO: Las aplicaciones de consola son aquellas.
La estructura básica de los programas en java, algo a tener en cuenta y que debemos recordar siempre es el archivo debe llevar el nombre de la clase con.
Al término de la clase, el alumno reconoce las ventajas de usar JAVASCRIPT para un proyecto web.
ISA (Instruction Set Architecture)
Introducción a la programación en C
Lenguaje C.
Práctica 7 AOC. Gestión de la pila Una pila es una estructura de datos caracterizada por que el último dato que se almacena es el primero que se obtiene.
MIPS Intermedio.
Unidad 2: Organización del CPU
© Prof. José Mª Foces Morán PCSpim: SPIM sobre Windows Ventana principal de PCSpim Consola: permite interactuar con el programa que está siendo.
FUNDAMENTOS DE PROGRAMACIÓN
Tema 7. Introducción a lenguaje de programación Visual Basic (clase 1)
(CC) , José M. Foces-Morán.
Organización del Computador I Verano MIPS (1 de 2) Basado en el capítulo 3 del libro de Patterson y Hennessy Verano 2004 Profesora Borensztejn.
Variables y Shapes. Variables ► Lugares de la memoria que reciben un nombre ► En VB no es necesario declarar las variables  A=8 ► Se declaran con Dim.
LENGUAJES DE PROGRAMACIÓN
Informática Ingeniería en Electrónica y Automática Industrial
Programa Vespertino de Automatización Equipos y Sistemas de Control Digital Lenguaje C Profesor: Felipe Páez Mejías D e p a r t a m e n t o d e I n g e.
Transformación de los Datos en Información leCCI Ó N 7.
ARQUITECTURA DE COMPUTADORES Semestre A-2009 Clase 13.
TIPOS DE DATOS TipoDescripciónRango IntegerEntero (2 bytes) a LongEntero largo (4 bytes) a SinglePunto flotante de simple.
Un programa no es nada mas que una serie de instrucciones dadas al ordenador en un lenguaje entendido por el, para decirle exactamente lo que queremos.
PROGRAMACION DE ARCHIVOS (MEMORIA SECUNDARIA). Registros y archivos Si bien es cierto que se pueden manejar gran cantidad de datos del mismo y diferente.
Administración de Proyectos de desarrollo de Software Ciclo de vida de un proyecto Enfoque moderno Temas Componentes Directivas Declaraciones globales.
Programación en MIPS.
Aplicación de estructuras de datos
Elementos básicos del lenguaje
Introducción Lenguaje de Programación ING2101 SECC Ayud. Ariel Fierro Sáez.
PARCIAL DE JUNIO DEL 2014 LENGUAJE DE PROGRAMACIÓN UN LENGUAJE SE PUEDE DEFINIR COMO UN CONJUNTO DE PALABRAS Y FORMAS DE EXPRESIÓN POR MEDIO DE.
Programación orientada a objetos. El método main es el comportamiento por el cual comienzan todos los programas en Java, de la misma forma en la que C,
introducción al lenguaje
introducción al Lenguaje Ensamblador
Unidad 1: FUNDAMENTOS DE COMPUTACIÓN Y PSEUDOLENGUAJE
Elementos básicos del lenguaje

Tipo de Errores.
Estructura de los Sistemas Operativos
Términos algoritmo diseñar algoritmo implementar algoritmo
Estructura de un programa C
Teoría de Sistemas Operativos Sistema de I/O. 2 Introducción Una de las funciones principales del sistema operativo es el control de todos los dispositivos.
Capítulo 4 CPU y la memoria.
CARACTERÍSTICAS Es un lenguaje de programación estructurado de propósito general. Está estrechamente asociado al sistema operativo UNIX, ya que el propio.
TEMA1:Introducción 1 1. Programación 2. Lenguajes de Programación 3. Ordenador.
 Un lenguaje se puede definir como un conjunto de palabras y formas de expresión por medio de las cuales se comunican y relacionan miembros de una comunidad.
ARQUITECTURA DE COMPUTADORES Semestre A-2009 Clase 10.

introducción al Lenguaje Ensamblador
Tipos de Lenguajes Ensamblador.
UNIDAD 4: Introducción a la Lógica Computacional Objetivo : Interpretar y aplicar adecuadamente los fundamentos básicos de la estructura y funcionamiento.
Programación de Computadores
Lenguaje de programación c
EL TIPO DE DATO LOGICO y constantes.
Universidad Metropolitana Introducción a la Computación Universidad Metropolitana Introducción a la Computación Septiembre, 2007 Arquitectura Von Newman.
MIPS Intermedio.
Arquitecturas de Computadoras Capitulo 2 Aritmética de enteros.
Lenguaje ensamblador Conceptos introductorios. Formatos de Instrucción. Modos de Direccionamiento. Conjunto de instrucciones básico. Introducción al Lenguaje.
Lenguaje ensamblador Resumen en diapositivas
Arquitectura de Computadoras (Taller) Semestre II de 2008.
Organización de computadoras
Transcripción de la presentación:

Laboratorio de Organización del Computador

Cómo nos podemos comunicar con un computador Add A, B CA0 Ensamblador Hexadecimal Binario Electricidad

SPIM Es un simulador que ejecuta programas en lenguaje ensamblador escritos para procesadores que implementan la arquitectura MIPS32. MIPS-SPIM Por ser un simulador es más lento que una máquina real. (versión 7.2.1)

SPIM Por qué usar un simulador?? –La arquitectura de los PCs que usamos es bastante más compleja hoy en día: cache, pipelines complejos, predicciones, etc. –Los procesadores MIPS son más fáciles de entender y programar. Son una especie de máquina RISC simple. –Ofrecen un mejor ambiente para programación en lenguaje ensamblador: detectan mayor cantidad de errores, proveen una mejor interfaz, pseudo- instrucciones.

Objetivo del Laboratorio Que al final del curso los alumnos hayan adquirido los principales conceptos de programación en lenguaje ensamblador. Se realizarán los programas utilizando el simulador SPIM.

Arquitectura de SPIM 1. El procesador MIPS simula una unidad de procesamiento de enteros (CPU) Y dos co-procesadores para el manejo de números punto flotante e interrupciones 2. Es una arquitectura load- Store, sólo estas dos Instrucciones acceden a la memoria. El resto de operaciones sólo actúan sobre los registros

Registros de propósito de SPIM

Mapa de la Memoria de SPIM

Sintaxis Comentarios comienzan con # Los identificadores son una secuencia de caracteres alfanuméricos, underscores y puntos. Nunca comienzan con un número. Las etiquetas van al comienzo de la lineaseguidas por “:”.data Item:.word 1

Sintáxis Los números están por defecto en base 10 a menos que estén precedidos por 0x, en cuyo caso se trata de un número hexadecimal. Los strings van encerrados en doble comillas.

Sintáxis SPIM también soporta un conjunto de directivas para el lenguaje ensamblador. Veremos sólo algunas: –.ascii str: almacena el string str en memori pero no termina en 0 –.asciiz str: el string termina en 0 –.data: los items que siguen se cargan en el segmento de datos. –.text: los items siguientes se colocan en el segmento de texto. Pueden sólo ser instrucciones –.byte B1,..Bn: carga n valores en bytes consecutivos de la memoria. –.space n: asigna n bytes de espacio en el segmento actual –.globl sym declara que la etiqueta sym es global y se puede referenciar desde otros archivos.

Principales Tipos de Instrucciones Aritméticas:add, sub…. Lógicas: or, and,.. De manipulación de bits Instrucciones de salto: jal, branch,etc Load y Store Movimiento de datos Instrucciones para la manipulación de datos en punto flotante. Instrucciones para el manejo de interrupciones.

# Programa Ejemplo.data # declaración de variables mensaje_1:.asciiz " Introduzca un entero \n" mensaje_2:.asciiz " El resultado de la suma es: ".text.globl main main: li $v0, 4 #system call para imprimir un string $v0 = 4 la $a0, mensaje_1 # se coloca la direccion del string en $a0. pseudo instruccion syscall li $v0, 5# system call para leer un entero $v0 = 5 syscall move $8, $v0 # deja lo leído en $8 ori $9, $0, 3 # coloca el número 3 en el registro 9 add $t0, $8, $9 # coloca la suma de $8 y $9 en $t0 li $v0, 4 la $a0, mensaje_2 syscall li $v0, 1 # Escribir un entero en la cónsola move $a0, $t0 syscall # END OF PROGRAM

Ejemplo 2 # Programa Ejemplo.data # declaración de variables losbytes:.byte 1,2,3 laspalabras:.word 1,2,3 espacios:.space 4 mensaje_1:.asciiz "Hola".text.globl main main: li $v0, 4 #system call para imprimir un string $v0 = 4 la $a0, mensaje_1 # se coloca la direccion del string en $a0 syscall # END OF PROGRAM

Ejercicio Escriba en un editor el programa que se acaba de explicar Cárguelo en SPIM y ejecútelo.