MiniSysSoC系统.ppt_第1页
MiniSysSoC系统.ppt_第2页
MiniSysSoC系统.ppt_第3页
MiniSysSoC系统.ppt_第4页
MiniSysSoC系统.ppt_第5页
已阅读5页,还剩42页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

计算机硬件基础计算机硬件基础 //// 1 MiniSys SoC系统 计算机硬件基础计算机硬件基础 //// A.1 MiniSys SoC概述 MiniSys系统简介 2 计算机硬件基础计算机硬件基础 //// A.1 MiniSys SoC概述 MiniSys系统简介 指令系统属于指令系统属于RISCRISC结构,支持结构,支持4 4种寻址方式,指令种寻址方式,指令 长度只有长度只有3232位一种,指令格式有位一种,指令格式有3 3种。种。 具有具有3232位指令,位指令,1616位地址线和位地址线和3232位数据线(对位数据线(对I/OI/O 只有只有1616位数据线)。位数据线)。 处理器采用哈佛结构,有独立的处理器采用哈佛结构,有独立的2KB2KB或或4KB4KB的指令的指令 存储器和存储器和2KB2KB或或4KB4KB的数据存储器的数据存储器 具有具有2 2个中断源入口,两级中断优先级个中断源入口,两级中断优先级 2 2个个1616位定时位定时/ /计数器和一个计数器和一个3232位系统定时器位系统定时器 一个一个4444键盘控制器和键盘控制器和4 4位位7 7段段LEDLED数码管控制器数码管控制器 简单简单3232位并口输出和一个看门狗控制器位并口输出和一个看门狗控制器 3 计算机硬件基础计算机硬件基础 //// A.2 MiniSys的寄存器 32个32位寄存器 4 计算机硬件基础计算机硬件基础 //// A.3 MiniSys指令系统 MiniSys系统指令格式 5 计算机硬件基础计算机硬件基础 //// A.3 MiniSys指令系统 MiniSys系统指令格式 R-R-类型类型 6 add $1, $2, $3add $1, $2, $3 # $1=$2+$3 # $1=$2+$3 oprsrtrdshamtfunct 0231032 6-bit5-bit5-bit5-bit5-bit6-bit 00000000010000110000100000100000 计算机硬件基础计算机硬件基础 //// A.3 MiniSys指令系统 MiniSys系统指令格式 I- I-类型类型 7 lw $1, 10($2)lw $1, 10($2) # $1=Memory$2 +10 # $1=Memory$2 +10 oprsrtAddress/Immediate 352110 6-bit5-bit5-bit16-bit 10001100010000110000 0000 0000 1010 计算机硬件基础计算机硬件基础 //// A.3 MiniSys指令系统 MiniSys系统指令格式 J-J-类型类型 8 j 10000j 10000 # go to 10000 # go to 10000 opTarget Address 22500 6-bit26-bit 00001000010000110000 0000 0000 1010 计算机硬件基础计算机硬件基础 //// A.3 MiniSys指令系统 MiniSys系统寻址方式 立即数寻址立即数寻址。指令中第。指令中第3 3操作数可以使用操作数可以使用1616位立即位立即 数寻址方式,即直接将数寻址方式,即直接将1616位二进制数作为操作数位二进制数作为操作数 。如:。如:addi $1,$2,100addi $1,$2,100。 相对寻址相对寻址。操作数是下一条指令的。操作数是下一条指令的PCPC值(值(PC+4PC+4) 加上加上1616位偏移量,主要用于条件转移指令。如位偏移量,主要用于条件转移指令。如 beq $1, $2, 10beq $1, $2, 10 寄存器寻址寄存器寻址。即操作数是存放在寄存器中,指令里。即操作数是存放在寄存器中,指令里 放的是寄存器号。如放的是寄存器号。如add $1,$2,$3add $1,$2,$3。 寄存器相对寻址寄存器相对寻址。操作数存放在数据存储器中,其。操作数存放在数据存储器中,其 有效地址由两部分组成,基地址放在一个寄存器中有效地址由两部分组成,基地址放在一个寄存器中 ,偏移部分为一个,偏移部分为一个1616位的立即数,如位的立即数,如lw $1,10($2)lw $1,10($2) 。 9 计算机硬件基础计算机硬件基础 //// A.3 MiniSys指令系统 指令详解 加法指令加法指令 ADD rd, rs, rtADD rd, rs, rt uu功能描述:功能描述:(rd)(rs) + (rt)(rd)(rs) + (rt) uu汇编举例:汇编举例:ADD $4, $2, $3 ADD $4, $2, $3 无符号数加法指令无符号数加法指令 ADDU rd, rs, rtADDU rd, rs, rt uu功能描述:功能描述:(rd)(rs) + (rt) (rd)(rs) + (rt) uu汇编举例:汇编举例:ADDU $4, $2, $3ADDU $4, $2, $3 10 计算机硬件基础计算机硬件基础 //// A.3 MiniSys指令系统 指令详解 有符号立即数加法指令有符号立即数加法指令 ADDI rt, rs, immediateADDI rt, rs, immediate uu功能描述:功能描述:(rt)(rs) + (Sign-Extend)immediate (rt)(rs) + (Sign-Extend)immediate uu汇编举例:汇编举例:ADDI $ADDI $4, $2, -1004, $2, -100 无符号立即数加法指令无符号立即数加法指令 ADDIU rt, rs, immediateADDIU rt, rs, immediate uu功能描述:功能描述:(rt)(rs) + (Sign-Extend)immediate(rt)(rs) + (Sign-Extend)immediate uu汇编举例:汇编举例:ADDIU $4, $2, 100ADDIU $4, $2, 100 11 计算机硬件基础计算机硬件基础 //// A.3 MiniSys指令系统 指令详解 减法指令减法指令 SUB rd, rs, rtSUB rd, rs, rt uu功能描述:功能描述:(rd)(rs) - (rt) (rd)(rs) - (rt) uu汇编举例:汇编举例:SUB $1, $2, $3SUB $1, $2, $3 无符号数减法指令无符号数减法指令 SUBU rd, rs, rtSUBU rd, rs, rt uu功能描述:功能描述:(rd)(rs) - (rt) (rd)(rs) - (rt) uu汇编举例:汇编举例:SUBU $4, $2, $3SUBU $4, $2, $3 12 计算机硬件基础计算机硬件基础 //// A.3 MiniSys指令系统 指令详解 逻辑与指令逻辑与指令 AND rd, rs, rtAND rd, rs, rt uu功能描述:功能描述:(rd)(rs) AND (rt) (rd)(rs) AND (rt) uu汇编举例:汇编举例:AND $1, $2, $3AND $1, $2, $3 立即数逻辑与指令立即数逻辑与指令 ANDI rt, rs, immediateANDI rt, rs, immediate uu功能描述:功能描述:(rt)(rs) AND (Zero-Extend)immediate (rt)(rs) AND (Zero-Extend)immediate uu汇编举例:汇编举例:ANDI $1, $2, 1ANDI $1, $2, 1 13 计算机硬件基础计算机硬件基础 //// A.3 MiniSys指令系统 指令详解 逻辑或指令逻辑或指令 OR rd, rs, rtOR rd, rs, rt uu功能描述:功能描述:(rd)(rs) OR (rt) (rd)(rs) OR (rt) uu汇编举例:汇编举例:OR $1, $2, $3 OR $1, $2, $3 立即数逻辑或指令立即数逻辑或指令 ORI rt, rs, immediateORI rt, rs, immediate uu功能描述:功能描述:(rt)(rs) OR (Zero-Extend)immediate (rt)(rs) OR (Zero-Extend)immediate uu汇编举例:汇编举例:ORI $1, $2, 5 ORI $1, $2, 5 14 计算机硬件基础计算机硬件基础 //// A.3 MiniSys指令系统 指令详解 逻辑异或指令逻辑异或指令 XOR rd, rs, rtXOR rd, rs, rt uu功能描述:功能描述:(rd)(rs) XOR (rt)(rd)(rs) XOR (rt) uu汇编举例:汇编举例:XOR $1, $2, $3XOR $1, $2, $3 立即数逻辑异或指令立即数逻辑异或指令 XORI rt, rs, immediateXORI rt, rs, immediate uu功能描述:功能描述:(rt)(rs) XOR (Zero-Extend)immediate(rt)(rs) XOR (Zero-Extend)immediate uu汇编举例:汇编举例:XORI $1, $XORI $1, $2, 12, 1 15 计算机硬件基础计算机硬件基础 //// A.3 MiniSys指令系统 指令详解 逻辑或非指令逻辑或非指令 NOR rd, rs, rtNOR rd, rs, rt uu功能描述:功能描述:(rd)(rs) NOR (rt) (rd)(rs) NOR (rt) uu汇编举例:汇编举例:NOR $1, $2, $3 NOR $1, $2, $3 16 计算机硬件基础计算机硬件基础 //// A.3 MiniSys指令系统 指令详解 逻辑左移指令逻辑左移指令 SLL rd, rt, shamtSLL rd, rt, shamt uu功能描述:功能描述:(rd)(rt)shamt(rd)(rt)shamt uu汇编举例:汇编举例:SRL $1, $2, 10 SRL $1, $2, 10 17 计算机硬件基础计算机硬件基础 //// A.3 MiniSys指令系统 指令详解 算术右移指令算术右移指令 SRA rd, rt, shamtSRA rd, rt, shamt uu功能描述:功能描述:(rd)(rt)shamt (rd)(rt)shamt (符号位移动且保留符号位移动且保留) ) uu汇编举例:汇编举例:SRA $1, $2, 10 SRA $1, $2, 10 按寄存器值算术右移指令按寄存器值算术右移指令 SRAV rd, rt, rsSRAV rd, rt, rs uu功能描述:功能描述:(rd)(rt)(rs) (rd)(rt)(rs) (符号位移动且保留符号位移动且保留 ) ) uu汇编举例:汇编举例:SRAV $1, $2, $3 SRAV $1, $2, $3 18 计算机硬件基础计算机硬件基础 //// A.3 MiniSys指令系统 指令详解 按寄存器值逻辑左移指令按寄存器值逻辑左移指令 SLLV rd, rt, rsSLLV rd, rt, rs uu功能描述:功能描述:(rd)(rt)(rs) (rd)(rt)(rs) uu汇编举例:汇编举例:SRLV $1, $2, $3SRLV $1, $2, $3 19 计算机硬件基础计算机硬件基础 //// A.3 MiniSys指令系统 指令详解 存储器读(字操作)存储器读(字操作) LW rt, offset(rs)LW rt, offset(rs) uu功能描述:功能描述:(rt)Memory(rs)+(sign_extend)offset (rt)Memory(rs)+(sign_extend)offset uu汇编举例:汇编举例:LW $3, 10($2) LW $3, 10($2) 或或 LW $3, buff($2) LW $3, buff($2) 存储器写(字操作)存储器写(字操作) SW rt, offset(rs)SW rt, offset(rs) uu功能描述:功能描述:Memory(rs)+(sign_extend)offset(rt) Memory(rs)+(sign_extend)offset(rt) uu汇编举例:汇编举例:SW $3, 10($2) SW $3, 10($2) 或或 SW $3, buff($2) SW $3, buff($2) 20 计算机硬件基础计算机硬件基础 //// A.3 MiniSys指令系统 指令详解 立即数赋值指令立即数赋值指令 LUI rt, immediateLUI rt, immediate uu功能描述:功能描述: (rt)immediate$2时跳转到BAddr 分支跳转语句分支跳转语句 小于等于时跳转小于等于时跳转 slt $3,$2,$1slt $3,$2,$1; $3 = ($2 $1); $3 = ($2 $1) beq $3,$0,BAddr beq $3,$0,BAddr ; $3; $3为假时跳转为假时跳转 例如:当$1$2时跳转到BAddr 计算机硬件基础计算机硬件基础 //// 42 汇编程序编写 分支跳转语句分支跳转语句 小于时跳转小于时跳转 slt $3,$1,$2slt $3,$1,$2; $3 = ($1 $2); $3 = ($1 $2) bne $3,$0,BAddr bne $3,$0,BAddr ; $3; $3为真时跳转为真时跳转 例如:当$1$2时跳转到BAddr 分支跳转语句分支跳转语句 大于等于时跳转大于等于时跳转 slt $3,$1,$2slt $3,$1,$2; $3 = ($1 $2); $3 = ($1 $2) beq $3,$0,BAddr beq $3,$0,BAddr ; $3; $3为假时跳转为假时跳转 例如:当$1$2时跳转到BAddr 计算机硬件基础计算机硬件基础 //// 43 汇编程序编写 循环语句循环语句 int i = 0; do / 其他循环体 i+; while(i10); 上述代码片段实现一个以上述代码片段实现一个以i i为条件增量的循环。为条件增量的循环。 计算机硬件基础计算机硬件基础 //// 44 汇编程序编写 循环语句循环语句 addi $1,$0,0 ;$1 = 0;$1 = 0 Loop:Loop: addi $1,$1,1 ;$1 = $1+1;$1 = $1+1 ; ; 其他循环体其他循环体 slti $2,$1,10 ;$2 = ($110);$2 = ($110) bne $2,$0,LoopLoop;if $2;if $2真,跳转至真,跳转至Loop Loop 继续循环 继续循环 ; ; 循环结束循环结束 计算机硬件基础计算机硬件基础 //// 45 汇编程序编写 子程序调用子程序调用 CODE SEGCODE SEG ORG_CODEORG_CODE 0000H Start:Start:lw $1,$0, 1 ; $1 = $0+1; $1 = $0+1 addi $2, $1, 1 ; $2 = $1+1; $2 = $1+1 lui $3, 1111H; $3 = 11110000H; $3 = 11110000H slti $5, $1, 3 ; $5 = ($13); $5 = ($13) and $6, $1,$2; $6 = $1 $6 = $1 ;跳转到子程序跳转到子程序 j Start; ; 至主程序起点,重循环至主程序起点,重循环 MiniSys SoC使用Jal和JR $31一对指令实现子 程序调用和返回。 主程序部分主程序部分 计算机硬件基础计算机硬件基础 //// 46 汇编程序编写 子程序调用子程序调用 ORG_C

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论