MIPS is a reduced instruction set computer (RISC) architecture that has both 32 and 64-bit variants. The technology is often licensed as IP cores to manufacturers. The Microchip PIC32 series is an example of a common microcontroller based on the MIPS M4K core and several FPGAs include a MIPS ...

learn more… | top users | synonyms

0
votes
3answers
41 views

Finding Instruction Count

Computer A has an overall CPI of 1.3 and can be run at a clock rate of 600MHz. Computer B has a CPI of 2.5 and can be run at a clock rate of 750 Mhz. We have a particular program we wish to run. When ...
1
vote
1answer
41 views

implementing direct addressing mode for a load instruction on a mips archtitecture

Given a Mips machine with 26 bit addresses and 32 bits data-paths, where the load instruction is as follows |OPT code|rs|rd|immediate| |6 bits |5 bits|5 bits|16 bits| The OPT code is the ...
0
votes
0answers
31 views

Calculate Instructions per second MIPS

I'm trying to solve this problem for a MIPS processor: Suppose the data cache is perfect but the instruction cache has a 5% miss rate. On a cache miss, the processor stalls for 20 ns to access main ...
0
votes
1answer
24 views

Use of $at register in MIPS?

Register r1 or $at, is it's sole use in pseudoinstructions? If so, is this the sole solution to enable pseudoinstructions within the architecture?
0
votes
0answers
34 views

MIPS c.gt.s command throwing syntax errors

So basically, i am trying to do a comparison of an input between 2 values. I am asking it to return to the loop if the value is less than 45 or greater than 90. Here is the code: ...
0
votes
1answer
120 views

Difference in the datapath of Load Upper Immediate to Load Word in a 32 bit MIPS processor

For the MIPS insturction Load Word I have got the following Datapath: How does the datapath for the Instruction ...
0
votes
3answers
203 views

Difference between LW and SW in MIPS assembly

One of my homework questions was to find the 3rd element stored in an array in MIPS, here is my code ...
1
vote
2answers
80 views

Can `ADD` create a control hazard while in the `MEM` stage?

Imagine there is a machine that has shared memory for both data and instructions (which means a control hazard can occur between the MEM and ...
1
vote
0answers
70 views

Pipelining and Branches (MIPS)

I'm having some trouble determining how to figure out which cycle these instructions are in for the following question: For each instruction show which stage of the traditional MIPS five-stage ...
1
vote
0answers
134 views

How are the control signals determined for a jump instruction in the MIPS pipeline?

NOTE: Let me point out that I did try extensively to solve this on my own. The problem is that, based on that circuit, it would appear that this processor cannot jump. At best the jump instruction ...
1
vote
1answer
847 views

ARM9 vs ARM11 performance? [closed]

This may be a loaded question, but is there a general understanding of the performance increase per clock between ARM9 and ARM11? Say, for a math-heavy function (FFT)? Thanks!
4
votes
1answer
348 views

Atomic operations using extended inline assembler of C32

I'm trying to write atomic code, in my example below I need to perform simple operation a ^= 1; ...
2
votes
1answer
108 views

In disassembly, I see instruction LI, but I can't find such instruction in MIPS instruction set

I have little test project for PIC32MX CPU, here's a part of disassembly: (I know this code is not atomic, I'm just testing things. Actually, I'm pretty newbie in MIPS) ...
2
votes
1answer
292 views

PIC32: “16-bit code” doesn't work (many errors “unknown opcode”)

I have very little test project for PIC32MX440F512H, which builds (with XC32 v1.21) and works correctly. Then I tried to generate 16-bit code, set checkbox "Generate 16-bit code", additional option ...
1
vote
2answers
315 views

Classic RISC pipeline question

Consider the following instruction sequence: Add R3, R4, R5 (R4+R5->R3) Or R2, R4, R5 (R4 OR R5->R2) Add R1, R2, R3 (R2+R3->R1) Assuming no data ...
0
votes
1answer
63 views

How to know which element replaces which for a cache?

If I assume that the first element of the matrix that is fetched to the D-cache is a[0][0], for associativity 4, please tell me which element in which matrix that ...
0
votes
2answers
118 views

Understanding branch prediction

On page 376 of Hennesay's book Computer Organization And Design, the following illustration is listed to illustrate branch prediction. But what do "IM" and "DM" mean? Does IM stand for instruction ...
1
vote
1answer
5k views

How does the Store Word(SW) and Load Word(LW) instructions work, MIPS

The SW and LW instructions are defined as: ...
0
votes
1answer
147 views

Writing a method using MIPS code

I am trying to understand how convert C code to MIPS code and I have having trouble understanding why the stack pointer( $sp ) needs to be manipulated before and after the procedural code.Isn't the ...
3
votes
1answer
187 views

Parallel multiplication hardware

This picture is taken from Computer Organization and Design, Fourth Edition, David A. Patterson, John L. Hennessy. Sorry for the low resolution. I cannot get my head around it. I can see why the ...
1
vote
2answers
2k views

Stalling and Flushing in MIPS Piplining

I am learning MIPS data path with piplining and I am a little confused in the following two things? How do we perform Stall in MIPS data path? What is the difference between Stall and Flush? Here ...
1
vote
2answers
219 views

MIPS Relative Addressing

Can somebody please help me answer these three questions?: Two identified here: When we multiply the immediate operand by 4, do we multiply the binary or the decimal by 2^2? Is the addition sign for ...
1
vote
4answers
1k views

What was the advantage of a 64-bit processor in the N64?

The Nintendo 64 debuted in 1996 and featured a 64-bit MIPS processor. My understanding is that PCs didn't start appearing with 64-bit CPUs until 2003. What was the advantage of using a 64-bit CPU in ...
2
votes
1answer
1k views

Implementing Bne in MIPS Processor Circuit

I am trying to include BNE instruction in the following circuit without introducing a new control line. I have thought of many possible ways like adding muxes or and gates etc to implement it but ...
4
votes
1answer
236 views

Using JTAG to “explore” a board without damaging it?

I have one Amontec JTAGKey2 Generic USB JTAG cable interface. What I am looking for is some explanation of how to "explore" a device of which I don't know all exact details, but for which I have a ...
2
votes
2answers
393 views

Clarification on what the max freq of PIC24FJ64 is?

I'm confusing myself a bit here. The following is taken from this datasheet: High-Performance CPU: Modified Harvard Architecture Up to 16 MIPS Operation @ 32 MHz Now I want 16 MIPS, which is its ...
4
votes
1answer
2k views

MIPS (PIC32): branch vs. branch likely

It's been a while since I've looked at the recent Microchip processors & I've been trying to learn a little bit about the PIC32 MIPS instruction set. I noticed there are two sets of branch ...
2
votes
1answer
534 views

MIPS Pipeline Forwarding to MEM

Consider the following (incomplete) instruction schedule for a MIPS pipeline where loads and stores take three cycles: ...
1
vote
1answer
587 views

MIPS Main Control Logic

In the Patterson & Hennessy book, This is for these 4 instructions, if I need to implement instructions like andi, addi, ori, j, etc, do I add on to this table? Or do I do something else? ...
8
votes
3answers
905 views

How are various functions (eg. add, subtract, and, etc) implemented in ALU?

I am wondering since there are so many functions an ALU need to do, how might I start implementing one (a homework where I am supposed to implement a MIPS system with Logisim, using basic Gates, ...
5
votes
1answer
2k views

MIPS Assembly Memory Addressing “Pseudo Direct Addressing”

Could anyone explain how does Pseudo Direct Addressing work in MIPS? I don't really get how does using the last 4 bits from the PC (Program Counter) fit into the picture? Suppose I want to goto ...
3
votes
2answers
1k views

MIPS: MARS editor not showing correct value for ASCII string?

I'm using the MARS simulator to explore the MIPS cpu. I have a simple assembly program: .data ascii1: .asciiz "8C@2" I expect the value in the memory address ...