Arquitectura del MIPS: Introducción

Documentos relacionados
Sección de procesamiento: El camino de datos

Introducción a la Computación. Capítulo 10 Repertorio de instrucciones: Características y Funciones

Sistema electrónico digital (binario) que procesa datos siguiendo unas instrucciones almacenadas en su memoria

Estructura de Computadores 2 [08/09] Entrada/Salida en procesadores MIPS

Tema 5: Memorias. Espacio reservado para notas del alumno

Contenidos. Arquitectura de ordenadores (fundamentos teóricos) Elementos de un ordenador. Periféricos

Procesador MIPS - Registros

Repaso concepto de programa

Plataformas de soporte computacional: arquitecturas avanzadas,

Arquitectura de Computadores

Arquitectura de Computadores II Clase #3

Unidad 2: Taller de Cómputo. Estructura y Componentes de la Computadora UNIDAD DOS: INTRODUCCIÓN

Ejercicios del Tema 3. Fundamentos de la programación en ensamblador

Tema 0. Introducción a los computadores

AUTOMATIZACION. Reconocer la arquitectura y características de un PLC Diferenciar los tipos de entradas y salidas MARCO TEORICO. Estructura Interna

El nivel ISA (II)! Conjunto de Instrucciones

Ejercicios del Tema 3. Fundamentos de la programación en ensamblador

TEMA 11 MEMORIAS. CIRCUITOS LÓGICOS PROGRAMABLES

Arquitectura de Computadoras

Introducción a la arquitectura de computadores

Fecha de Introducción. Velocidad de reloj. Anchura del bus. Número de transistores. (microns) Memoria direccionable.

Unidad Nº II Capacidad de la unidad central. de procesamiento. Instituto Universitario Politécnico. Santiago Mariño

Lenguaje binario. Código ASCII. Medidas de la información

Estructura de Computadores

ESTRUCTURA BÁSICA DE UN ORDENADOR

Memoria. M. en C. Erika Vilches. Parte 1

Unidad I: Organización del Computador. Ing. Marglorie Colina

Qué es la memoria? Organización de la memoria. Elementos de almacenamiento. Los biestables. Los registros. La memoria

Organización de la memoria

TEMA 2: Organización de computadores

Organización procesador MIPS

DEFINICIONES BÁSICAS. Información obtenida de: PRIETO ESPINOSA, Alberto Introducción a la Informática: Madrid: McGrawHill, D.

ISA (Instruction Set Architecture) Arquitectura del conjunto de instrucciones

Unidad de Memoria. Almacenamiento de información Operaciones básicas. Propiedades de la Memoria. Escritura o almacenamiento. Lectura.

Sistemas Informáticos

Tema 2: Lenguaje máquina. La interfaz entre el hardware y el software

Capítulo 1 Conceptos arquitectónicos

Computación Conociendo la herramienta de cálculo

Tema VI: Memorias y Dispositivos de Lógica Programable (PLDs)

MICROCONTROLADORES PIC16F84 ING. RAÚL ROJAS REÁTEGUI

Arquitectura de Computadores

}Transparencias de clase en

Tema 4. Estructura de un ordenador elemental

Estructura básica de un ordenador

PROGRAMA de Organización de Computadoras

Examen de teoría (5 puntos)

TEMA 5 DISPOSITIVOS LÓGICOS PROGRAMABLES Y MEMORIAS. 1. Introducción. 2. Dispositivos lógicos programables.

Tema 5: Memorias. Índice Conceptos básicos Parámetros característicos Jerarquía de memoria Memoria principal Tecnologías Estructura Mapa de memoria

Qué es un Microcontrolador?

Bibliografía básica de referencia: Fundamentos de Informática para Ingeniería Industrial, Fernando Díaz del Río et al.

Estructura de un Ordenador

Organización de Computadoras. Principios de Conjuntos de Intrucciones

Ejercicios del tema 4. El procesador

Microprocesadores. Informática Aplicada DSI-EIE FCEIA

Partes de una computadora. Conceptos Generales. Elementos de Computación (CU) Computación (TIG) El Hardware de una computadora

Instituto Tecnológico de Morelia

Programación de Sistemas. Unidad 1. Programación de Sistemas y Arquitectura de una Computadora

UNIDAD I CONCEPTOS GENERALES. Conceptos Generales Microprocesadores Otoño 2011

Memoria y Entrada/Salida Tecnología Organización - Expansión

Organización de Computadoras

Estructura del Computador

SOPORTE FÍSICO O HARDWARE (I)

Subsistemas de memoria. Departamento de Arquitectura de Computadores

Sistemas de memoria. Estructura de computadores 2

Arquitecturas RISC. Arquitectura de Computadoras y Técnicas Digitales - Mag. Marcelo Tosini Facultad de Ciencias Exactas - UNCPBA

MIPS: Modelo de programación. (I Parte)

Unidad 5 Unidad central de proceso

Tema 2: Arquitectura del repertorio de instrucciones. Visión del computador que tiene el programador en bajo nivel.

Arquitectura de Computadores II Clase #3

4. Organización del sistema de memoria. Características y jerarquía de las memorias Organización de la memoria Memorias especiales y memoria caché

TEMA VI DISEÑO DEL PROCESADOR

Estructura de Computadores: Tema 1. Introducción. Índice. Arquitectura del i8086

GUIA 24: REPERTORIO DE INSTRUCCIONES

5 Lenguaje de Máquina

1. Partes del ordenador. Nuevas Tecnologías y Sociedad de la Información

Organización de Computadoras. Clase 7

Estructura de Computadores. Problemas de Instrucciones y Direccionamientos

0-31 : caracteres de control : carac. Comunes : especiales (flechas, símbolos) y particulares (ñ)

Memoria La memoria es la parte del ordenador en la que se guardan o almacenan los programas (las instrucciones y los datos).

Objetivos. Objetivos. Arquitectura de Computadores. R.Mitnik

FUNDAMENTOS DE COMPUTADORES

Tipo de datos. Montse Bóo Cepeda. Este trabajo está publicado bajo licencia Creative Commons Attribution- NonCommercial-ShareAlike 2.5 Spain.

Organización del Computador 1. CPU (ISA) Conjunto de Instrucciones de la Arquitectura 2017

Estructura de Computadores Tema 1. Introducción a los computadores

Arquitectura de Computadoras

ENIAC, Primer computador electrónico y su panel de conexiones

MEMORIAS. Arquitectura de Computadoras. (Conceptos Introductorios) M. C. Felipe Santiago Espinosa

Tema 2: Conceptos básicos. Escuela Politécnica Superior Ingeniería Informática Universidad Autónoma de Madrid

7ª edición. Organización y arquitectura de computadores. William Stallings

SOFTWARE DE APLICACIÓN. CINDEA Sesión 02

ARQUITECTURA DE VON NEUMANN Y HARVARD

Área Académica: Informática. Tema: Informática I. Profesor(a): Ing. Miriam Cerón Brito. Periodo: Julio Diciembre 2017

Sistemas con Microprocesadores I

PROBLEMAS TEMA 1: Estructuras de interconexión de un computador

El Microprocesador. Tecnología y Funcionamiento

Estructura de Computadores

Docente: Sandra Romero Otálora SISTEMA DE COMPUTO INTRODUCCIÓN A LOS COMPUTADORES CONCEPTOS BÁSICOS

Arquitectura de Computadoras I Ingeniería de Sistemas Curso 2017

Transcripción:

Arquitectura del MIPS: Introducción Montse Bóo Cepeda Este trabajo está publicado bajo licencia Creative Commons Attribution- NonCommercial-ShareAlike 2.5 Spain.

Estructura del curso 1. Evolución y caracterización de los computadores. 2. Arquitectura del MIPS: Introducción. 3. Tipo de datos. 4. El repertorio de instrucciones. 5. Aritmética del computador. 6. El camino de datos. 7. Sección de control. 8. El camino de datos multiciclo. 9. Sección de control multiciclo. 10. Entrada/Salida (I/O). 2

Esquema de contenidos 1. Repertorio de instrucciones MIPS 2. Programa almacenado 3. Sistemas de almacenamiento de datos 3

Introducción: La visión del programador El funcionamiento de la CPU está determinado por las instrucciones que ejecuta. El conjunto de instrucciones distintas que puede ejecutar se denomina repertorio de instrucciones En los computadores actuales las instrucciones se presentan como números y se almacenan en memoria (programa almacenado) El lenguaje utilizado por el ordenador se denomina lenguaje máquina. El lenguaje ensamblador es una representación simbólica más cercana al humano. 4

Visión software: Jerarquía de traducción Lenguaje de alto nivel temp = v[k]; v[k] = v[k+1]; v[k+1] = temp; Compilador C TEMP = V(K) V(K) = V(K+1) V(K+1) = TEMP Compilador Fortran Lenguaje ensamblador (MIPS) Lenguaje máquina lw $t0, 0($2) lw $t1, 4($2) sw $t1, 0($2) sw $t0, 4($2) Ensamblador MIPS 0000 1001 1100 0110 1010 1111 0101 1000 1010 1111 0101 1000 0000 1001 1100 0110 1100 0110 1010 1111 0101 1000 0000 1001 0101 1000 0000 1001 1100 0110 1010 1111 5

Ejecución de un programa Camino de datos Memoria 0000 1001 1100 0110 1010 1111 0101 1000 1010 1111 0101 1000 0000 1001 1100 0110 1100 0110 1010 1111 0101 1000 0000 1001 0101 1000 0000 1001 1100 0110 1010 1111... programa & datos I / O Carga Decodificación Ejecución Control 6

Instrucciones Cada instrucción máquina debe especificar: Código de operación Referencia a operandos fuente Referencia a operandos resultado Referencia a la siguiente instrucción Los operandos fuente y resultado pueden estar en alguna de las siguientes localizaciones: Memoria Registro de la CPU Dispositivo de E/S 7

Representación de las instrucciones Dentro del computador cada instrucción se representa por una secuencia de bits La instrucción se divide en campos correspondientes a los elementos constitutivos de la misma (código de operación, operandos, etc.) La descripción en campos y bits se denomina formato de instrucción Operación Ref. operando 1 Ref. operando 2 8

Operaciones del repertorio de instrucciones Aritméticas Lógicas Transferencia de datos De control de flujo Instrucciones de bifurcación o salto Instrucciones de salto condicional Instrucciones de llamada a subrutina De control del sistema De E/S 9

Repertorio de instrucciones escogido: MIPS Arquitectura MIPS R2000/R3000 Pionera de las arquitecturas RISC Muy sencilla y uniforme Creada en Stanford (John Hennessy) Utilizada por NEC, Nintendo, Silicon Graphics y Sony. 10

Lenguaje MIPS Instrucciones: Aritméticas add, sub, mult, div Lógicas and, or, ssl (shift left), srl (shift right) Transferencia de datos lw (load), sw (store), lui Saltos Condicionales: beq, bne, slt No condicionales: j, jr, jal 11

MIPS: Ejemplo de sencillez SUMA de dos variables en registros $s1 y $s2, resultado en registro $t0. add $t0, $s1, $s2 # $t0 = $s1 + $s2 En MIPS son nombres de registros Longitud de instrucción fija: 32 bits La arquitectura MIPS realiza la mayor parte de los cálculos con datos almacenados en registros MIPS es sencilla y eficiente El acceso a memoria se hace a través de operaciones de carga/almacenamiento (transferencia de datos) 12

Registros en el MIPS 32 registros de 32 bits Número Nombre Uso convencional 0 1 2-3 4-7 8-15 16-23 24-25 26-27 28 29 30 31 $zero $at $v0-$v1 $a0-$a3 $t0-$t7 $s0-$s7 $t8-$t9 $k0-$k1 $gp $sp $fp $ra Valor constante 0 Reservado por el ensamblador Para resultados y evaluación de expresiones Argumentos Temporales Salvados Temporales Reservado para núcleo de SO Puntero global Puntero de pila Puntero de bloque de activación Dirección de retorno 13

Concepto de programa almacenado Las instrucciones son representadas como números. Los programas están almacenados en memoria Pueden ser leídos/escritos como números. La memoria: Contiene instrucciones y datos. Las instrucciones son cargadas automáticamente (control). Los datos son transferidos explícitamente entre memoria y procesador y viceversa INSTRUCCIONES DE TRANSFERENCIA DE DATOS 14

Concepto de programa almacenado... Registros load (lw) save (sw) dirección 0 1 2 3 4. Datos Byte (8bits). Palabra Procesador Memoria 15

Dónde están los operandos?: Los operandos pueden estar: En la instrucción: Rápido y simple. Sólo para constantes En la memoria principal: Direccionamiento implica muchos bits. Acceso lento En los registros de la CPU: Hay pocos registros: el direccionamiento implica pocos bits Acceso rápido 16

Sistemas de almacenamiento de datos. Registros Cache Capacidad Coste por bit Tiempo de acceso Memoria Principal Disco magnético Cinta magnética Disco óptico 17

Memorias de acceso aleatorio Tipo de memoria Propósito Borrado Modo de escritura Volatilidad Random Access Memory (RAM) Lec/Esc Eléctrico Eléctrico Volátil Read Only Proceso fabricación Memory (ROM) Lectura No posible Programmable ROM (PROM) Eléctrico (fusibles) Erasable PROM (EPROM) Luz UV (chip) No volátil Electrically Erasable PROM (EEPROM) Lectura (reprogramable) Eléctrico (nivel byte) Eléctrico Flash Eléctrico (nivel bloque) 18

Organización de la memoria Organizando una memoria de 96 bits: 0 1 2 3 4 5 6 7 8 9 10 11 0 1 2 3 4 5 6 7 12 bits 0 1 2 3 4 5 Palabra: 1, 8, 12, 16, 32, 16 bits 8 bits 19

Organización de la memoria Ejemplos 8086 8088 486 Pentium 68000 68020 PowerPC 750 Bus datos 16 8 32 64 16 32 64 Longitud registros 16 16 32 32 32 32 64 Unidad direccionable Byte Byte Byte Byte Byte Byte Byte 20

Direcciones de memoria Dirección (dec) 0 1 2 N-1 Byte 0 Byte 1 Byte 2 Byte N-1 A nivel de byte Tamaño memoria: N bytes 8 bits 21

Direcciones de memoria Dirección (dec) 0 1 2 Palabra 0 Palabra 1 Palabra 2 A nivel de palabra 32 bits 22

Direcciones de memoria Dirección (dec) 0 4 8 Palabra 0 Palabra 1 Palabra 2 A nivel de palabra con numeración en bytes MIPS 32 bits 23

Direcciones de memoria Dirección (dec) 0 Byte 0 1 2 Byte 1 Byte 2 Palabra 0 A nivel de palabra con numeración en bytes 3 Byte 3 MIPS Byte N 8 bits 24

Direcciones de memoria. 4n 4n+1 4n+2 4n+3 4n+4 4n+5 4n+6 4n+7 4n+8 4n+9 4n+10 4n+11. 8 bits Palabra n Palabra n+1 Palabra n+3 A nivel de palabra con numeración en bytes MIPS 25

Big Endian, Litte Endian Orden de almacenamiento en memoria de los bytes dentro de una palabra Big Endian: El byte más significativo en la dirección más baja Little-Endian: El byte más significativo en la dirección más alta 26

Big Endian, Litte Endian BIG ENDIAN Dato: 12345678 (hex) Dirección: 84(dec) LITTLE- ENDIAN Direcc. (dec) Direcc. (dec) 84 12 84 78 85 34 85 56 86 56 86 34 87 78 87 12 8 bits 8 bits 27

Big Endian, Litte Endian Dato: 12345678 (hex) Dirección: 84(dec) BIG ENDIAN Byte 3 Byte 2 Byte 1 Byte 0 78 56 34 12 32 bits 28

Big Endian, Litte Endian Dato: 12345678 (hex) Dirección: 84(dec) LITTLE ENDIAN Byte 3 Byte 2 Byte 1 Byte 0 Simula3ms 12 34 56 78 32 bits 29