资源描述:
《《MIPS体系结构介绍》PPT课件》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库。
1、MIPS体系结构介绍张福新MIPSCPU的发展MIPSI1987MIPSR2000(16MHZ)1990MIPSR3000(33MHZ)1990IDTR3051(20MHZ)MIPSIII1991MIPSR4000(100MHZ)1993IDT/QEDR4600(100MHZ)1993MIPSR4400(150MHZ)1995NEC/MIPSVr4300(133MHZ)MIPSIV1996MIPSR10000(200MHZ)1996SGI/QEDR5000(200MHZ)MIPS体系结构特点(1)定长指令(32bit)32个通用寄存器(寄存器0恒为0)三
2、操作指令格式(两个源一个目标)无条件码只有load/store指令访存单一寻址模式Load/store要求对齐跳转指令范围限制:绝对跳转256M,相对跳转128K乘除法专用hi,lo寄存器MIPS体系结构特点(2)没有字节或者半字运算指令没有特殊的栈支持ABI最小化的过程调用支持跳转并联接指令jal,jalr最简化的中断和例外处理支持EPC,CAUSE寄存器,特定入口软件处理上下文保存和mmu管理和流水线实现相关的一些特点延迟槽:delayedbranch和loaddelayslot乘除法部件的独立性一些控制指令的相关MIPS处理器控制Coprocess
3、or0设置CPU配置控制cache例外/中断处理存储管理其他:时钟,事件计数器等Cache管理任务:初始化检测cache大小,清除内容DMA从内存DMA数据到外部设备前要写回cache中的内容从外部设备DMA数据到内存后,cache相应内容必须在使用这些数据前清空写指令处理cachealias手段Cache指令:writeback,invalidate,writeback_invalidate等例外和中断MIPSCPU响应例外时的动作:当前的PC保存到epc控制寄存器进入核心模式,禁止中断例外的原因记录在cause寄存器中,对地址例外,badvaddr寄
4、存器也记下产生例外的地址,对MMU管理的例外,另外有一些MMU寄存器会被设置CPU开始从例外入口地址取指;大多数例外的入口地址都一样,个别有特殊需要的例外有自己的入口MIPSCPU中断8个中断位,可分别屏蔽;两个软件中断,六个硬件中断引脚Cause控制寄存器8位指示哪个引脚发生中断,status控制寄存器有8位用于屏蔽相应中断,另外有EXL/ERL位用于全部屏蔽内存管理和TLB地址空间TLB控制指令控制寄存器表项内容MIPSCPU地址空间0xc0000000mapped(kseg2)Unmappeduncached(kseg1)Unmappedcache
5、d(kseg0)32-bituserspace(kuseg)2GB0xa00000000x800000000x000000000xffffffffMIPS指令集Nop寄存器移动:move取常数:立即数(li,lui)或者地址(la)算术逻辑指令:add/addi/addu/addiu,…,setif型指令slt,slti,sltiu,sltu等整数乘除:mult,multu,div,divu,mfhi,mflo,mthi,mtloload/store:lb/lbu/lh/lhu/lw/lwu/ld/ldl/ldr/lwl/lwr/ll/lld,sb/sh
6、/sw/sd/sdl/sdr/swl/swr/sc/scd跳转、函数调用和分支:相对跳转(bne,beql,blt,…)绝对跳转(j,jr),函数调用(…andlink,如jal,jalr,bal等)断点和陷阱:break,syscall,teq,teqi,tge…Cp0指令cfc0,ctc0;mfc0,mtc0,dmfc0,dmtc0;eret,cache,sync;tlbp,tlbr,tlbwi,tlbwr;wait,suspend;浮点指令cfc1/ctc1;mfc1,mtc1,dmfc1,dmtc1;mov.s/mov.d;…MIPS汇编寄存器命
7、名和使用约定宏指令汇编程序员或者高级语言编译器使用,被汇编器翻译为一个指令序列,如lid,j在0<=j<65536时被翻译为addiud,$zero,j;在j必须用32位表示时,翻译为luid,hi16(j);orid,d,lo16(j)汇编指示.setMIPSC代码和可移植性常见问题需要显式的cache管理CPU速度变化引起的时序问题数据对齐和数据在内存的分布尾端(字节次序)指针的符号:kseg0/kseg1地址>2GSigned/unsignedcharInt的大小依赖于栈的程序:尽量使用stdargs/alloca等函数参数传递和自动转换库函数的不
8、确定语义头文件不兼容