Circuitos Digitales II MIPS: Almacenamiento de datos. Formatos de instrucción Formatos de instrucción Semana No.4 Semestre 2011-2 Prof. Eugenio Duque Pérez.

Slides:



Advertisements
Presentaciones similares
Español la memoria (2): cómo trabajarla bien en grupos.
Advertisements

Simulación en VHDL del Datapath del MIPS
You need to improve the way you write and think in Spanish - Time This is an interactive presentation. You need your work sheet, your pencil, and your.
How to tell time in Spanish
Telling Time (Cómo decir la hora).
Accents and Punctuation
Las Palabras Interrogativas
-AR Verbs in the Present Tense (Los verbos -ar en el tiempo presente)
Háganlo ahora: ¿Qué significan las palabras en inglés
To be, or not to be? Lets start out with one of the most important verbs in Spanish: ser, which means to be.
-AR Verbs In Spanish, there are three classes (or conjugations) of verbs: those that end in –AR, those that end in –ER, and those that end in –IR. This.
Telling Time Grammar Essential #8.
Asking Questions P. 184 Realidades 1.
Capítulo 3 Nuevas clases, nuevos amigos PRIMER PASO
PLEASE READ (hidden slide) This template uses Microsofts corporate font, Segoe Segoe is not a standard font included with Windows, so if you have not.
Los Infinitivos ¿Qué es un infinitivo?.
El mandato afirmativo (tú)
Formal Commands – Los Mandatos Formales
1 3 WAYS TO ASK A QUESTION 1.Add question marks to a statement. 2.Add a tag word to a statement. 3.Use a question word.
2003 HYPACK MAX Training Seminar1 Sample Belgium Test Inputting Tag Line information into HYPACK® MAX In the old days, a Tag Line was anchored to.
Game Cluedo: How to Play 1.Your group should have the 21 cards containing 6 cards of suspects, 9 rooms and 6 weapons, a tally card for each member and.
¿Qué hora es? What time is it? (What hour is it?).
The Imperfect Tense: -Ar Regular Verbs
Cómo escoger libros Justo para Mí 1. Mira la portada. 2. Lee el título y el autor. 3. Lee la contra- portada. 4. Hojea el libro. 5. Lee la primera página.
Esp /5/12 Objective Bell work
Arquitectura de Computadores I
PIPELINING - INTRODUCCION
ARQUITECTURA DE COMPUTADORES - PIPELINING
EL IMPERFECTO. 1. Used to (or would) Expresses the idea that something happened repeatedly in the past. todos los días cada día siempre frecuentemente.
ANTE TODO Adverbs are words that describe how, when, and where actions take place. They can modify verbs, adjectives, and even other adverbs. In previous.
Los Verbos Capítulo 1 Parte 2.
¿ Que día es hoy? Hoy es lunes ¿ Cual es la fecha de hoy? Hoy es el 26 de septiembre ¿ Cual es tu clase favorita? Mi clase favorita es… BELL RINGER.
Español 1 18 y 19 de septiembre de Escribe los meses que combinan con las estaciónes. (Write the months that match with the seasons.) El otoño-
¿Qué hora es? Telling Time en Español Sra Spampinato.
Recuerdos del Pasado Español 2 Capítulo 4A.
Circuitos Digitales II The General Computer Architecture The Pipeline Design Semana No.11 Semestre Prof. Gustavo Patiño Prof.
(por favor) By emory gibson Para describir how long ago en español, presta attencion.
TEMA 2.- INTRODUCCIÓN A LOS MÉTODOS ÓPTICOS PROPIEDADES DE LA RADIACION ELECTROMAGNETICA Muchas de las propiedades de la radiación electromagnética.
Circuitos Digitales II
Departamento de Ing. Electrónica Circuitos Digitales II Universidad de Antioquia Departamento de Ing. Electrónica Circuitos Digitales II Universidad.
el plato-plate el tenedor-fork la cuchara-spoon el cuchillo-knife el vaso-cup la servilleta-napkin la cuenta-bill.
Present Progressive Spanish 2- Ms. Labrador. The present progressive is formed by combining the verb "to be" with the present participle. (The present.
HAZ AHORA / DO NOW Responde en frases completas: Por ejemplo: ¿Qué te gusta más, nadar o esquiar? Pues, me gusta más nadar. Pues, no me gusta ni nadar.
Circuitos Digitales II
Telling Time (Cómo decir la hora). When we ask what time it is in Spanish, we say “¿Qué hora es?” Some people also say “¿Qué horas son?”
Telling time in Spanish: Explanation Practice exercise index McCarron.
¿Qué hora es? (What time is it?)
BUSES DE DATOS CON MULTIPLEXORES Y DECODIFICADORES
-go Verbs Small but very important group of verbs that we call the “-go” verbs. These verbs are: Hacer: to make/do Poner: to put Tener : to have Traer:
 Making complete sentences How to make complete sentences in Spanish. The following presentation is designed to help you learn how to do the following:
M ATERIAL DE CONTINGENCIA INGLÉS 4 TO AÑO TODAS LAS SECCIONES Prof. Emily Chávez.
1 DEFINITION OF A CIRCLE and example CIRCLES PROBLEM 1a PROBLEM 2a Standard 4, 9, 17 PROBLEM 1b PROBLEM 2b PROBLEM 3 END SHOW PRESENTATION CREATED BY SIMON.
 1. Why should a person learn Spanish? Give at least 3 reasons in your explanation.  2. What Spanish experiences have you had? (None is not an option.
Negatives and Questions. Negatives Consider the following sentences: Juan estudia mucho. Marta y Antonio viven en Georgia. Rita y el chico necesitan.
ANTE TODO ¿Dibujas mucho? ¿También tomas tú geografía?
Repaso (parte 2) Español 2. Como escribir una pregunta…  Adónde (to where)  Cómo (how)  Cuál/Cuáles (which ones)  Cuándo (when)  Cuánto (how much)
Pipeline.
CLASE 11.
Instrucciones: FORMATO DE INSTRUCCIONES
UNIVERSIDAD AUTÓNOMA DEL ESTADO DE HIDALGO ESCUELA SUPERIOR DE ZIMAPÁN
El procesador Diseño del control.
Notes: La Hora (Time) How do I tell time in Spanish?
(How to tell time in Spanish)
First Grade Dual High Frequency Words
Recetas 3 Objetivo: Hacer preguntas Hablar sobre la comida
Quasimodo: Tienes que hacer parte D de la tarea..
Kindergarten Spanish High Frequency Words
Indirect Questions First Day on the Job 11 Focus on Grammar 4 Part X, Unit 28 By Ruth Luman, Gabriele Steiner, and BJ Wells Copyright © Pearson Education,
Development of the concert programme
Ch. 1 La hora Telling Time in Spanish
Transcripción de la presentación:

Circuitos Digitales II MIPS: Almacenamiento de datos. Formatos de instrucción Formatos de instrucción Semana No.4 Semestre Prof. Eugenio Duque Pérez Prof. Gustavo Patiño A. (prof. en comisión) Departamento de Ingeniería Electrónica Facultad de Ingeniería

Departamento de Ing. Electrónica Circuitos Digitales II Universidad de Antioquia Departamento de Ing. Electrónica Circuitos Digitales II Universidad de Antioquia Almacenamiento de datos El almacenamiento de datos es justo la operación contraria a la carga, de manera que el formato es bastante similar. Use la instrucción sw para copiar una palabra (word) desde un registro-fuente a una dirección en memoria. sw src, offset(base) Igual que en el caso anterior, el offset es una constante con signo.

Departamento de Ing. Electrónica Circuitos Digitales II Universidad de Antioquia Departamento de Ing. Electrónica Circuitos Digitales II Universidad de Antioquia Ejemplo de almacenamiento de datos Considere el ejemplo *a = b + c; Use la instrucción sw para almacenar

Departamento de Ing. Electrónica Circuitos Digitales II Universidad de Antioquia Departamento de Ing. Electrónica Circuitos Digitales II Universidad de Antioquia Almacenamiento a un arreglo Considere el ejemplo a[3] = b + c; Use el offset de la instrucción sw :

Departamento de Ing. Electrónica Circuitos Digitales II Universidad de Antioquia Departamento de Ing. Electrónica Circuitos Digitales II Universidad de Antioquia Almacenamiento de arreglos complejos Considere el ejemplo a[i] = b + c; Use el offset de la instrucción sw : b => $s1, c=> $s2, i =>$s3, a=> $s4

Departamento de Ing. Electrónica Circuitos Digitales II Universidad de Antioquia Departamento de Ing. Electrónica Circuitos Digitales II Universidad de Antioquia Un ejemplo de arreglo tipo short ANSI C requiere un short para ser al menos de 16 bits y no más que un int, pero sin definir el tamaño exacto. Para nuestros propósitos, tratemos un short como de 2 bytes. Así, con un arreglo short, un valor c[7] está en c + 7*2, con desplazamiento de 1 hacia la izquierda.

Departamento de Ing. Electrónica Circuitos Digitales II Universidad de Antioquia Departamento de Ing. Electrónica Circuitos Digitales II Universidad de Antioquia Mapeo de memoria I/O Las instrucciones de transferencia de datos pueden ser usadas para mover datos desde y para registros de dispositivos de I/O. Una operación de carga mueve datos desde un registro de un dispositivo de I/O para un registro del CPU, y una operación de almacenamiento mueve datos desde un registro del CPU para registro de un dispositivo de I/O.

Departamento de Ing. Electrónica Circuitos Digitales II Universidad de Antioquia Departamento de Ing. Electrónica Circuitos Digitales II Universidad de Antioquia Resumen: Load/Store en el MIPS

Departamento de Ing. Electrónica Circuitos Digitales II Universidad de Antioquia Departamento de Ing. Electrónica Circuitos Digitales II Universidad de Antioquia 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 Universidad de Antioquia Departamento de Ing. Electrónica Circuitos Digitales II Universidad de Antioquia Lenguaje de Máquina del MIPS: Campos del formato de instrucciones

Departamento de Ing. Electrónica Circuitos Digitales II Universidad de Antioquia Departamento de Ing. Electrónica Circuitos Digitales II Universidad de Antioquia 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: op rs rt rd shamt funct Can you guess what the field names stand for?

Departamento de Ing. Electrónica Circuitos Digitales II Universidad de Antioquia Departamento de Ing. Electrónica Circuitos Digitales II Universidad de Antioquia Formatos de Instrucción del ISA del MIPS

Departamento de Ing. Electrónica Circuitos Digitales II Universidad de Antioquia Departamento de Ing. Electrónica Circuitos Digitales II Universidad de Antioquia Tipos de Formato en el MIPS

Departamento de Ing. Electrónica Circuitos Digitales II Universidad de Antioquia Departamento de Ing. Electrónica Circuitos Digitales II Universidad de Antioquia Lenguaje de Máquina del MIPS (…cont) Consider the load-word and store-word instructions, What would the regularity principle have us do? New principle: Good design demands a compromise Introduce a new type of instruction format I-type for data transfer instructions other format was R-type for register Example: lw $t0, 32($s2) op rs rt 16 bit number Where's the compromise?

Departamento de Ing. Electrónica Circuitos Digitales II Universidad de Antioquia Departamento de Ing. Electrónica Circuitos Digitales II Universidad de Antioquia Instructions: bne $t4,$t5,LabelNext instruction is at Label if $t4 $t5 beq $t4,$t5,LabelNext instruction is at Label if $t4 = $t5 j LabelNext instruction is at Label Formats: Addresses are not 32 bits ? How do we handle this with load and store instructions? Direcciones en instrucciones de Branch y Jump op rs rt 16 bit address op 26 bit address I J

Departamento de Ing. Electrónica Circuitos Digitales II Universidad de Antioquia Departamento de Ing. Electrónica Circuitos Digitales II Universidad de Antioquia Instructions: bne $t4,$t5,LabelNext instruction is at Label if $t4$t5 beq $t4,$t5,LabelNext instruction is at Label if $t4=$t5 Formats: Could specify a register (like lw and sw) and add it to address use Instruction Address Register (PC = program counter) most branches are local (principle of locality) Jump instructions just use high order bits of PC address boundaries of 256 MB Addresses in Branches op rs rt 16 bit address I

Departamento de Ing. Electrónica Circuitos Digitales II Universidad de Antioquia Departamento de Ing. Electrónica Circuitos Digitales II Universidad de Antioquia

Departamento de Ing. Electrónica Circuitos Digitales II Universidad de Antioquia Departamento de Ing. Electrónica Circuitos Digitales II Universidad de Antioquia Modos de direccionamiento en el MIPS según el formato de instrucción

Departamento de Ing. Electrónica Circuitos Digitales II Universidad de Antioquia Departamento de Ing. Electrónica Circuitos Digitales II Universidad de Antioquia

Departamento de Ing. Electrónica Circuitos Digitales II Universidad de Antioquia Departamento de Ing. Electrónica Circuitos Digitales II Universidad de Antioquia Direccionamiento por desplazamiento : El contenido de un registro más un offset (registro indexado). Dado que R0 siempre contiene cero: R0 + offset direccionamiento absoluto. Si offset = 0 direccionamiento indirecto por registro. Otros Submodos de direccionamiento en el MIPS

Departamento de Ing. Electrónica Circuitos Digitales II Universidad de Antioquia Departamento de Ing. Electrónica Circuitos Digitales II Universidad de Antioquia Bibliography, Assembler program and exercises Computer Organization & Design, 3rd Edition. The hardware/software Interface. David Patterson & J. Hennessy. Chapter 3 Mips Assembler and Runtime Simulator. Mars ---Operation manual Exercises Quiz No. 1. Several versions. Partial No. 1. Several versions Fibbonacci examples. Several versions.

The General Computer Architecture An overview of the cpus Datapath unit: The single-cycle datapath as an introduction to the multicycle (pipeline) datapath.

Departamento de Ing. Electrónica Circuitos Digitales II Universidad de Antioquia Departamento de Ing. Electrónica Circuitos Digitales II Universidad de Antioquia General Computer Architecture Having studied numbers, combinational and sequential logic, and assembly language programming, we begin the study of the overall computer system.

Departamento de Ing. Electrónica Circuitos Digitales II Universidad de Antioquia Departamento de Ing. Electrónica Circuitos Digitales II Universidad de Antioquia The ALU or DataPath

Departamento de Ing. Electrónica Circuitos Digitales II Universidad de Antioquia Departamento de Ing. Electrónica Circuitos Digitales II Universidad de Antioquia The Central Processor Unit (CPU)

Departamento de Ing. Electrónica Circuitos Digitales II Universidad de Antioquia Departamento de Ing. Electrónica Circuitos Digitales II Universidad de Antioquia The ALU

Departamento de Ing. Electrónica Circuitos Digitales II Universidad de Antioquia Departamento de Ing. Electrónica Circuitos Digitales II Universidad de Antioquia The MIPS computer : An example of Bit- Slicing The MIPS 32-bit ALU processing unit is simply an amalgam 0f 32 1-bit processors.

Departamento de Ing. Electrónica Circuitos Digitales II Universidad de Antioquia Departamento de Ing. Electrónica Circuitos Digitales II Universidad de Antioquia ALU components

Departamento de Ing. Electrónica Circuitos Digitales II Universidad de Antioquia Departamento de Ing. Electrónica Circuitos Digitales II Universidad de Antioquia ALU components (…cont)

Departamento de Ing. Electrónica Circuitos Digitales II Universidad de Antioquia Departamento de Ing. Electrónica Circuitos Digitales II Universidad de Antioquia The Program Counter Architecture

Departamento de Ing. Electrónica Circuitos Digitales II Universidad de Antioquia Departamento de Ing. Electrónica Circuitos Digitales II Universidad de Antioquia More ALU components

Departamento de Ing. Electrónica Circuitos Digitales II Universidad de Antioquia Departamento de Ing. Electrónica Circuitos Digitales II Universidad de Antioquia ALU Arquitecture for Processing

Departamento de Ing. Electrónica Circuitos Digitales II Universidad de Antioquia Departamento de Ing. Electrónica Circuitos Digitales II Universidad de Antioquia More ALU components – Data Memory

Departamento de Ing. Electrónica Circuitos Digitales II Universidad de Antioquia Departamento de Ing. Electrónica Circuitos Digitales II Universidad de Antioquia The Sign Extender

Departamento de Ing. Electrónica Circuitos Digitales II Universidad de Antioquia Departamento de Ing. Electrónica Circuitos Digitales II Universidad de Antioquia Data Bus Connection in a Load Instruction

Departamento de Ing. Electrónica Circuitos Digitales II Universidad de Antioquia Departamento de Ing. Electrónica Circuitos Digitales II Universidad de Antioquia Data Bus Connection in a Store Instruction

Departamento de Ing. Electrónica Circuitos Digitales II Universidad de Antioquia Departamento de Ing. Electrónica Circuitos Digitales II Universidad de Antioquia Branch Instructions

Departamento de Ing. Electrónica Circuitos Digitales II Universidad de Antioquia Departamento de Ing. Electrónica Circuitos Digitales II Universidad de Antioquia Conditional Branch Circuit

Departamento de Ing. Electrónica Circuitos Digitales II Universidad de Antioquia Departamento de Ing. Electrónica Circuitos Digitales II Universidad de Antioquia Jump Instruction

Departamento de Ing. Electrónica Circuitos Digitales II Universidad de Antioquia Departamento de Ing. Electrónica Circuitos Digitales II Universidad de Antioquia Jump ALU Path

Departamento de Ing. Electrónica Circuitos Digitales II Universidad de Antioquia Departamento de Ing. Electrónica Circuitos Digitales II Universidad de Antioquia Combining the Elements to Make a Complete ALU

Departamento de Ing. Electrónica Circuitos Digitales II Universidad de Antioquia Departamento de Ing. Electrónica Circuitos Digitales II Universidad de Antioquia Data Buses and ALU Register/Register Functions

Departamento de Ing. Electrónica Circuitos Digitales II Universidad de Antioquia Departamento de Ing. Electrónica Circuitos Digitales II Universidad de Antioquia Load/Store Functions (Read or Write)

Departamento de Ing. Electrónica Circuitos Digitales II Universidad de Antioquia Departamento de Ing. Electrónica Circuitos Digitales II Universidad de Antioquia Adding the Instruction Fetch Circuit

Departamento de Ing. Electrónica Circuitos Digitales II Universidad de Antioquia Departamento de Ing. Electrónica Circuitos Digitales II Universidad de Antioquia Completing ALU Design

Departamento de Ing. Electrónica Circuitos Digitales II Universidad de Antioquia Departamento de Ing. Electrónica Circuitos Digitales II Universidad de Antioquia The Single-Cycle ALU What we have accomplished in this ALU design is to come up with all the processing hardware necessary to implement the MIPS instruction set. Note that we have NOT considered the control circuits (that tell the ALU what to do), and will cover those next lecture. This basic MIPS processor design is referred to as the single cycle ALU (or sometimes the single cycle CPU). Why is this? The reason is that this MIPS CPU (more or less the original implementation of the MIPS instructions) is designed so that ANY instruction can be processed in one cycle of the CPU clock. Lets consider how this single cycle CPU works.

Departamento de Ing. Electrónica Circuitos Digitales II Universidad de Antioquia Departamento de Ing. Electrónica Circuitos Digitales II Universidad de Antioquia The Single-Cycle ALU (…cont) Consider what happens when the clock ticks. The PC is already updated. The instruction at memory location [PC] is retrieved. [PC] [PC+4] Instruction is decoded/registers are identified (operands). Register output buses send data into ALU; ALU function is identified. Register data flows through the ALU and is processed. (In loads/stores, data memory is accessed for load or store.) The memory or ALU results are stored back in a register, if necessary. Since the ALU is basically combinational logic, the tick of the clock governs ALU register behavior, which times the process. A single clock cycle is from rising to rising or falling to falling edge of the clock. Let us use falling to falling as the reference (remember: a master-slave ffs output changes on the falling edge of the clock).

Departamento de Ing. Electrónica Circuitos Digitales II Universidad de Antioquia Departamento de Ing. Electrónica Circuitos Digitales II Universidad de Antioquia Single Cycle Timing

Departamento de Ing. Electrónica Circuitos Digitales II Universidad de Antioquia Departamento de Ing. Electrónica Circuitos Digitales II Universidad de Antioquia Single Cycle Timing (…cont)

Departamento de Ing. Electrónica Circuitos Digitales II Universidad de Antioquia Departamento de Ing. Electrónica Circuitos Digitales II Universidad de Antioquia ALU Design Summary