背景:
处理器发展的同时可编程逻辑器件也在发展,在上面可以实现十分复杂的电路,比如处理器,现在有很多可以下载到可编程逻辑器件上的运行 的处理器eg:NiosII,OR1200,LeON3,OpenSparc等,称为软核处理器。
MIPS简介:
它是一款开源处理器,OpenMIPS结构的32位五级流水线标量处理器.可以使用MIPS编译开发,使用VHDL和Verilog HDL两种语言编写。
一.Chapter-1
1.
1.1 ISA的概念
1.1.1
1.1.2 根据ISA的不同将计算机分为CISC(复杂指令计算机)对应的0,1编码长度不一,RISC(精简指令计算机)每条对应的是固定的。
1.1.3
MIPS(Microprocessor without Interlocked piped stages)无内索流水线微处理器
1.1.4
1.1.5
1.1.6
MIPS32架构定义32个通用寄存器,使用S0,S1...S32表示,都是32位
1.16 字节次序
1.16 指令格式
指令集(逻辑指令集-and,or,ori...,移位操作指令,sll,sllv,等,)
1.17 寻址方式
MIPS32架构的寻址方式有四种
分别是寄存器寻址,立即数寻址,寄存器寻址,和PC相对寻址
其中寄存器寻址,PC相对寻址的介如下
1.18 协处理器 CPO
协处理器用来表示处理器的一个可选部件,负责处理指令集的某个扩展,拥有与处理器相对独立的寄存器
MIPS架构提供最多四个协处理器
CP0~CP3
CP0----------------------------->系统控制,eg:配置CPU工作状态,高速缓存控制,异常控制,存储管理单元控制等。
CP1,3----------------------------->浮点处理单元
CP2——————————>被保留用于特定实现
1.19
异常
1.20(简要摘要)
本书目标实现一款兼容MIPS32指令集架构处理器。命名OpenMIPS,用verilogHDL编译后的代码下载到FPGA芯片上
组成实际的硬件电路
教学版,要求尽量简单,eg:在一个时钟周期就可以取到指令,完成存储,加载数据,比较理想化,流水线运行
实践版,在教学版上实现Wishbone总线接口,这样就可以将其挂在Wishbone总线上,从而可以使用
SDRAM,FLASH,GPIO,UART,LCD等模块的控制器,成为一个实际作用 的处理器