20220513_ISA
作者:互联网
Three Main types of instruction
Operation instructions
![image-20220513185058949](https://www.icode9.com/i/l/?n=22&i=blog/2877202/202205/2877202-20220513212321235-2127063583.png)
LC-3: ADD R0, R1, R2
![image-20220513185318664](https://www.icode9.com/i/l/?n=22&i=blog/2877202/202205/2877202-20220513212321278-1934519056.png)
Top 4 bits specify the operation
OP=op code
SR1,SR2=source code
DR=destination code
R-type in MIPS
3 reg instruction
![image-20220513190546422](https://www.icode9.com/i/l/?n=22&i=blog/2877202/202205/2877202-20220513212321378-885860718.png)
rs,rt=source reg
rd=destination
shamt=shift amount(for shift op)
funct=operation in R-type instruction
Data movement instruction
a=A[i]
load a,A,i
LC-3:
LDR R3, R0, #2
MIPS:
lw $s3, 2($s0)
寻址方式:base+offset
For byte-addressable MIPS:
lw $s3, 8($s0)
$s3 = Memory[$s0+8]
![image-20220513191726034](https://www.icode9.com/i/l/?n=22&i=blog/2877202/202205/2877202-20220513212321289-1933629793.png)
Control flow
they can change the PC by loading it during the execution stage. And wipe out the incremented PC.
![image-20220513200458198](https://www.icode9.com/i/l/?n=22&i=blog/2877202/202205/2877202-20220513212321407-874027869.png)
also we have jal and jr
jump and link
jump with register
Instruction Cycle
- Detch
- Decode
- Evaluate
- Fetch operands
- Execute
- Store result
![image-20220513192632230](https://www.icode9.com/i/l/?n=22&i=blog/2877202/202205/2877202-20220513212321408-1911983765.png)
![image-20220513193529192](https://www.icode9.com/i/l/?n=22&i=blog/2877202/202205/2877202-20220513212321402-754439111.png)
![image-20220513193823706](https://www.icode9.com/i/l/?n=22&i=blog/2877202/202205/2877202-20220513212321265-1985210033.png)
![image-20220513194250544](https://www.icode9.com/i/l/?n=22&i=blog/2877202/202205/2877202-20220513212321378-951589028.png)
![image-20220513194403495](https://www.icode9.com/i/l/?n=22&i=blog/2877202/202205/2877202-20220513212321403-1735454731.png)
![image-20220513194523864](https://www.icode9.com/i/l/?n=22&i=blog/2877202/202205/2877202-20220513212321299-1053260993.png)
Control of the Instruction Cycle
![image-20220513201416563](https://www.icode9.com/i/l/?n=22&i=blog/2877202/202205/2877202-20220513212321427-326389480.png)
Instruction Set:defines opcode, data types, and addressing modes. ISA is the interface between software command and hardware carries out.
![image-20220513201716001](https://www.icode9.com/i/l/?n=22&i=blog/2877202/202205/2877202-20220513212321401-106675543.png)
Tradeoffs are involved
Hardware complexity VS software complexity
标签:code,s3,instruction,20220513,Instruction,MIPS,ISA,s0 来源: https://www.cnblogs.com/EddieW/p/16268273.html