编辑: 施信荣 | 2016-03-06 |
8 级整数流水线,12 级浮点流水线. 4.S1 Core S1 Core 是Simple RISC 公司发布的, 该项目基于 OpenSparc, 所以它也是采用 SPARC V9 的架构,其目的是简化 OpenSparc,后者下载到 FPGA 上会占用很大的资源,简化的地方主要 在于:只有
1 个64 位的处理器核,而不是
8 个.虽然做了简化,但根据 1-CORE Technologies 提供的数据显示,在XILINX 的Virtex-5 上S1 Core 需要使用
37 000~60
000 个LUTs,还是 比较占用资源. 5.LatticeMicro32 LatticeMicro32 是Lattice 公司发布的
32 位RISC 软核处理器,该处理器虽然由 Lattice 发布,但也可以使用在其他厂商的 FPGA 上,如Altera 的FPGA,这就比 NiosII 有优势,NiosII 只能使用在 Altera 的FPGA 上.LatticeMicro32 采用 Harvard 结构、32 个通用寄存器、32 个 外部中断、可选的指令与数据缓存和 Wishbone 总线接口.提供了
3 种配置模式使得用户可以 在占用资源与速度之间取舍:(1)基本模式:没有乘法器、没有缓存、多周期转换器;
(2) 标准模式:有乘法器、8KB 指令缓存、没有数据缓存、流水线转换器;
(3)完全模式:有乘 法器、8KB 指令缓存、8KB 数据缓存、流水线转换器. 软核处理器还有其他很多种,在此不一一介绍,本书将对 OR1200 进行深入的剖析,至 于为何选择 OR1200 作为剖析目标,笔者在前言中已明确,即一通百通、融会贯通、取长补 第1章OpenRISC 介绍
3 短、创新提高. 在1-CORE Technologies 公司的网站上对主要的软核处理器进行了一个比较, 如表 1.1 所示.值得注意的是表 1.1 中所列出的软核处理器都是 RISC 处理器.RISC 是精简指令集计算 机(Reduced Instruction Set Computer),与之相对的是 CISC,即复杂指令集计算机(Complex Instruction Set Computer).在计算机的发展早期,人们使用汇编语言编程,偏好强大好用的 指令集,处理器的设计人员于是将指令集设计得更强大、更灵活,并且那个时期的存储器昂 贵且速度慢,因此指令使用了变长编码,以节约存储空间,由于一条指令就能完成很多的功 能, 对内存的访问也减少了, 这样也减少了缓慢的存储器访问对程序性能的影响. 典型的 CISC 指令集就是 Intel 的x86 指令集.上世纪
70 年代中期,人们发现在 CISC 指令集的各种指令 中,其使用频率相差悬殊,大约有 20%的指令会被反复使用,占整个程序代码的 80%.而余 下的 80%的指令却不经常使用,在程序设计中只占 20%,显然,这种结构是不太合理的.于 是人们提出将指令集和处理器进行重新设计,减少那些使用不多的指令,只保留常用的简单 指令,这样处理器就不需要浪费太多的晶体管去做那些很复杂又很少使用的功能,于是产生 了RISC.1979 年美国加州大学伯克利分校提出了 RISC 的概念,RISC 并不只是简单地减少 指令,更主要的目的是研究如何使计算机的结构更加简单合理以提高运算速度.其特点是指 令长度固定、指令格式种类少、寻址方式种类少、大量使用寄存器.由于在 RISC 中使用的指 令大多数是简单指令且都能在一个时钟周期内完成,因而处理器的频率得以大幅提升,同时 易于设计流水线.RISC 是计算机历史上的一个里程碑,以致有人把 RISC 定义为:1985 年之 后发布的所有处理器. 表1.1 主要的软核处理器比较 名称架构位宽Licence 流水线深度指令执行周期MMUMULFPU 资源 占用 (LUTs) 说明S1 Core SPARC V9
64 开源 GPL