(1)基于 Verilog 的 RISC CPU 介绍

这是一个基于 Microchip PIC16C57 功能实现的 RISC CPU 设计。指令系统采用了精简指令集架构,指令集数量为 33 个,总线结构采用了数据总线(8 位)和指令总线(12 位)独立分开的哈佛架构。通过搭建仿真平台和编写测试程序,验证了本设计能够正确地执行一系列的测试任务。

1、PIC16C57

低成本 Low Cost、低功耗 Low Power、高性能 High Performance 的 CMOS 工艺的 8 位 PIC 系列的单片机(8 位 MCU 微处理器)

功能实现:

  1. 基于 FPGA 的 RISC CPU 的微架构设计
  2. PC 分支与指令跳转
  3. 二级堆栈
  4. 指令译码
  5. 程序执行
  6. 直接访存、间接访存、相对访存
  7. 程序存储器(2K X 12)、数据存储器(72 X 8)、特殊寄存器(8 个)

1.1、基本特征

指令数量:33 个(RISC 精简指令集架构)

指令宽度:12 位(= 指令字长)

数据宽度:8 位(= 机器字长 = 寄存器的宽度)

(哈佛架构:指令总线和数据总线是独立分开的,指令和数据的宽度可以不同了,从而改善了带宽)(总线是什么呢?总线就是能够为多个部件分时共享的一组信息传输通路)

指令存储器:2K X 12(EPROM)

数据存储器:72 X 8(RAM)(= 通用寄存器 = 寄存器文件 = 寄存器堆)

(存储器以字节编址的方式)(小端模式:小地址对应着数据的低位)

特殊功能寄存器:8 个(INDF、TMR0、PCL、STATUS、FSR、PORTA、PORTB、PORTC)

PC  宽度:11 位(PC 的复位值为 11'H7FF,为复位向量)

堆栈宽度:11 位(与 PC 宽度保持一致)

堆栈级数:二级(= 堆栈深度:可供子程序调用的最多的层数)

I/O Pins:20 个(双向 IO:RA + RB + RC = 4 + 8 + 8 = 20)(每个引脚均可设置为输入输出态)

时钟频率:40 MHz(CPU 周期 = 机器周期 = 25 ns)

指令周期:100 ns(执行一条指令所需要的时间,数据手册中是一个指令周期占据了四个机器周期,而本设计不进行分频操作)

单周期指令、单时钟获取(除了程序分支双时钟):也就是所有的指令都可以在一个 Cycle 内执行,除了程序分支 Program Branches 要两个 Cycles(因为 PC 值改变的指令如跳转指令 Jump 要插入空指令 NOP,来代替原本的下一条指令)

直接寻址、间接寻址、页面寻址:对于指令存储器和数据存储器的寻址方式;对于程序存储器,超过 512 个 Bytes 的程序存储,需要 Page Scheme,STATUS 提供高两位;对于数据存储器,超过 32 个 Bytes 的数据存储,需要 Bank Scheme,FSR 提供高两位

1.2、数据手册

(1)基于 Verilog 的 RISC CPU 介绍_第1张图片 PIC16C57 单片机特色
(1)基于 Verilog 的 RISC CPU 介绍_第2张图片 PIC16C5X 系列的整体架构
(1)基于 Verilog 的 RISC CPU 介绍_第3张图片 PIC16C57 流水线架构
(1)基于 Verilog 的 RISC CPU 介绍_第4张图片 PIC16C57 指令存储器的存储映射架构
(1)基于 Verilog 的 RISC CPU 介绍_第5张图片 跳转指令
(1)基于 Verilog 的 RISC CPU 介绍_第6张图片 PIC16C57 数据存储器的存储映射架构
(1)基于 Verilog 的 RISC CPU 介绍_第7张图片 PIC16C57 特殊功能寄存器概要

(1)基于 Verilog 的 RISC CPU 介绍_第8张图片

(1)基于 Verilog 的 RISC CPU 介绍_第9张图片 指令集总结
(1)基于 Verilog 的 RISC CPU 介绍_第10张图片 PIC16C57 指令格式
(1)基于 Verilog 的 RISC CPU 介绍_第11张图片 直接寻址与间接寻址方式

1.3、手册下载

你可能感兴趣的:(基于,FPGA,的,RISC,CPU,设计,FPGA,RISC,CPU,Verilog,PIC16C5X)