Circuitos Digitales II

Slides:



Advertisements
Presentaciones similares
Simulación en VHDL del Datapath del MIPS
Advertisements

Instrucciones de operación sobre datos
El modelo de Von Neumann
Bases de la programación de un PLC
Diseño de la ruta de datos monociclo para la arquitectura MIPS
UNIVERSIDAD DEL VALLE DE MEXICO CAMPUS CHAPULTEPEC
ORGANIZACIÓN COMPUTACIONAL
CLASE 3 SOFTWARE DEL MICROPROCESADOR
Camino de Datos y Control
Arquitectura de Computadores I
Arquitectura de Computadores I
I S A INSTRUCTION SET ARCHITECTURE
VAX Diego Esteban Moreno Félix Huete García Germán Aguado Llorente.
1 Circuitos Digitales II Circuitos Digitales II Fundamentos de Arquitectura de Computadores Información sobre el Curso Semana No.1 Semestre Prof.
Fermín Sánchez Carracedo Universitat Politècnica de Catalunya
Computadoras y programación
Circuitos Digitales II
Circuitos Digitales II Alineamiento en Memoria y Ejecución de un programa Semana No.8 Semestre Prof. Gustavo Patiño Prof. Eugenio.
Circuitos Digitales II
Direcciones, Arreglos y Argumentos de Funciones
Departamento de Ingeniería de Sistemas Universidad de Antioquia
CLASE 10.
CLASE 12.
Circuitos Digitales II MIPS: Almacenamiento de datos. Formatos de instrucción Formatos de instrucción Semana No.4 Semestre Prof. Eugenio Duque Pérez.
Circuitos Digitales II Elementos sobre la Arquitectura del Conjunto de Instrucciones Semana No.2 Semestre Prof. Gustavo Patiño
Andrés Núñez Herrero Enrique España Blanco Rodrigo Cembrero Carazo
VAX Diego Esteban Moreno Germán Aguado Llorente Félix Huete García.
ARQUITECTURA INTEL Modos de direccionamiento
Diego Esteban Moreno Germán Aguado Llorente Félix Huete García.
Formatos de instrucción
El procesador: la ruta de datos y el control (II Parte)
Circuitos Digitales II
Circuitos Digitales II Elementos sobre la Arquitectura del Conjunto de Instrucciones Semana No.2 Semestre Prof. Gustavo Patiño
Circuitos Digitales II TestBench, Generics, Generate y Más sobre Procesos Semana No.4 Semestre Prof. Gustavo Patiño Prof. Eugenio.
Arquitectura de Conjunto de Instrucciones (ISA)
¿Qué es un PUNTERO?: Un puntero es un objeto que apunta a otro objeto. Es decir, una variable cuyo valor es la dirección de memoria de otra variable. No.
Conceptos Básicos de Java
Composición Interna de un Procesador
SEMANA 05_2.
CLASE 11.
Aritmética y Computadores. Refresco de aritmética binaria. Operaciones aritméticas y lógicas. Construcción de una ALU para MIPS. Multiplicación y División.
ISA (Instruction Set Architecture)
ARQUITECTURA DE LOS MICROPROCESADORES DE 8 BITS
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.
(CC) , José M. Foces-Morán.
Instrucciones: FORMATO DE INSTRUCCIONES
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.
ARQUITECTURA DE COMPUTADORES Semestre A-2009 Clase 13.
Arquitectura del 8086/8088 TEEL 4011
Overview Sistemas Computacionales
Lenguaje de Programación cap. 1 Estructura del Computador.
Arquitectura de Von Neumann
Datapath para las instrucciones de carga y almacenamiento (load/store)
ARQUITECTURA DE COMPUTADORES Semestre A-2009 Clase 11.
MODOS DE DIRECCIONAMIENTO
Organización del Computador
El procesador Diseño del control.
Universidad Tecnológica del Centro Programa de la Asignatura ARQUITECTURA DEL COMPUTADOR Universidad Tecnológica del Centro Programa de la Asignatura ARQUITECTURA.
SEMANA 01_2.
ARQUITECTURA DE COMPUTADORES Semestre A-2009 Clase 10.
Modos de direccionamiento
PUNTEROS EN EL LENGUAJE C
REPUBLICA BOLIVARIANA DE VENEZUELA UNIVERSIDAD ALONSO DE OJEDA FACULTAD DE INGENIERÍA ESCUELA DE COMPUTACIÓN ING. PROF. LEONEL SEQUERA MEMORIAS.
ARQUITECTURA DE COMPUTADORES
Lenguaje ensamblador Conceptos introductorios. Formatos de Instrucción. Modos de Direccionamiento. Conjunto de instrucciones básico. Introducción al Lenguaje.
Arquitectura de Computadoras (Taller) Semestre II de 2008.
El procesador Diseño del control.
Datapath para las instrucciones de carga y almacenamiento (load/store)
Transcripción de la presentación:

Circuitos Digitales II Departamento de Ingeniería Electrónica Facultad de Ingeniería Circuitos Digitales II Elementos sobre la Arquitectura del Conjunto de Instrucciones Semana No.6 Semestre 2008-2 Prof. Gustavo Patiño gpatino@udea.edu.co Prof. Eugenio Duque eaduque@udea.edu.co Departamento de Ing. Electrónica. Circuitos Digitales II Facultad de Ingeniería 2008 - 2

Temario Formato de Instrucciones Organización de memoria Campos o componentes de una instrucción. Tipos de Formatos Relación entre el formato de instrucción y la arquitectura del procesador. Organización de memoria Transferencia de datos de memoria Lectura de la memoria (Carga) Escritura en la memoria (Almacenamiento) Alineamiento del contenido de la memoria Departamento de Ing. Electrónica. Circuitos Digitales II Facultad de Ingeniería 2008 - 2

Formato de las Instrucciones El tipo básico de instrucciones tiene cuatro componentes : Nombre de la operación Operando del primer dato-fuente. Operando del segundo dato-fuente. Operando del destino dst, src1 y src2 son los nombres de los registros ($). Departamento de Ing. Electrónica. Circuitos Digitales II Facultad de Ingeniería 2008 - 2

Lenguaje de Máquina del MIPS: Campos del formato de instrucciones Departamento de Ing. Electrónica. Circuitos Digitales II Facultad de Ingeniería 2008 - 2

Lenguaje de Máquina del MIPS (…cont) Instructions, like registers and words of data, are also 32 bits long Example: add $t0, $s1, $s2 registers have numbers, $t0=8, $s1=17, $s2=18 Instruction Format: 000000 10001 10010 01000 00000 100000 op rs rt rd shamt funct Can you guess what the field names stand for? Board work: Binary Numbers Departamento de Ing. Electrónica. Circuitos Digitales II Facultad de Ingeniería 2008 - 2

Formatos de Instrucción del ISA del MIPS Departamento de Ing. Electrónica. Circuitos Digitales II Facultad de Ingeniería 2008 - 2

Tipos de Formato en el MIPS Departamento de Ing. Electrónica. Circuitos Digitales II Facultad de Ingeniería 2008 - 2

Arquitectura Completa del Procesador MIPS Departamento de Ing. Electrónica. Circuitos Digitales II Facultad de Ingeniería 2008 - 2

Organización de la memoria Vista como una gran arreglo de una sola dimensión, donde cada registro posee una dirección. Una dirección de memoria es un índice en el arreglo. “Direccionamiento por byte” significa que un índice apunta a un byte de la memoria. 8 bits de datos 1 2 3 4 5 6 Departamento de Ing. Electrónica. Circuitos Digitales II Facultad de Ingeniería 2008 - 2

Organización de la memoria (…cont) Para el MIPS, una palabra (word) es de 32 bits, o sea, 4 bytes. 232 bytes con direcciones de byte desde 0 hasta 232-1. 230 words con direcciones de byte 0, 4, 8,…. 232-4. Las palabras (words) son alineadas. 32 bits de datos 4 8 12 16 Departamento de Ing. Electrónica. Circuitos Digitales II Facultad de Ingeniería 2008 - 2

Transferencia de datos de memoria Motivación: Los operandos para todas las operaciones lógicas y aritméticas están contenidos en registros. Para operar sobre datos alojados en la memoria principal, es necesario primero copiar los datos a los registros. Las instrucciones para transferencias de datos son usadas para mover datos desde y para la memoria. Una operación de carga (load) mueve datos desde una ubicación de memoria a un registro, Una operación de almacenamiento (store) mueve datos desde un registro a una ubicación de memoria. Departamento de Ing. Electrónica. Circuitos Digitales II Facultad de Ingeniería 2008 - 2

Instrucciones de transferencias de datos : load Las instrucciones de transferencias de datos tienen tres partes: Nombre del operador (especificando también tamaño de la transferencia). Registro de destino. Registro de la dirección base y la constante offset. lw dst, offset (base) El valor offset es una constante con signo. Departamento de Ing. Electrónica. Circuitos Digitales II Facultad de Ingeniería 2008 - 2

Acceso a memoria Todo el acceso a memoria ocurre a través de cargas y almacenamientos. Pueden ser del tipo word, half-word y bytes. Las cargas y almacenamientos de punto flotante son para accesar registros FP. Modo de direccionamiento basado en desplazamiento. Departamento de Ing. Electrónica. Circuitos Digitales II Facultad de Ingeniería 2008 - 2

Ejemplo de carga de datos Considere el ejemplo : a= b + *c ; Use la instrucción lw para cargar. Asuma que a($s0), b($s1), c($s2) Departamento de Ing. Electrónica. Circuitos Digitales II Facultad de Ingeniería 2008 - 2

Acceso de arreglos En realidad, los arreglos son punteros a la dirección base en memoria. Ejemplo: La dirección del elemento A[0]. En estos casos se usa el valor de offset para indicar el índice del arreglo. Recuerde que las direcciones están en bytes a fin de multiplicar por el tamaño real del elemento. Considere el arreglo de enteros, donde pow2 es la dirección de base. Así, cada entero requiere 4 bytes. Como ejemplo de un dato que se quiera accesar considere el índice 5, o sea: pow2[5]. Entonces, la dirección de memoria de ese dato es : pow2 + 5*4 Departamento de Ing. Electrónica. Circuitos Digitales II Facultad de Ingeniería 2008 - 2

Diagrama del arreglo en memoria Departamento de Ing. Electrónica. Circuitos Digitales II Facultad de Ingeniería 2008 - 2

Ejemplo de arreglo Considere el ejemplo a= b+ pow2[7]; Use la instrucción lw con offset. Asuma que $s3 = 1000. lw $t0, 28($s3) # $t0 = memory[pow2[7]] add $s0, $s1, $t0 # a = b + pow2[7] Departamento de Ing. Electrónica. Circuitos Digitales II Facultad de Ingeniería 2008 - 2

Ejemplo de un arreglo complejo Considere la línea 7 del ejemplo de sum_pow2() ret = pow2[a]; Primero, encuentre el offset correcto. De nuevo asuma que $s3 = 1000. Departamento de Ing. Electrónica. Circuitos Digitales II Facultad de Ingeniería 2008 - 2