当前位置:首页 > 嵌入式 > 嵌入式硬件
[导读]随着嵌入式领域和信息时代的蓬勃发展,微处理器设计开始被越来越多的人关注。我们旨在设计一套完备的高性能嵌入式SoC(System on Chip)系统,用以减少重复性设计工作,更好地普及高等院校的微处理器设计教育,吸引更多的人才专注于高性能微处理器研发;同时也提供给企业免费的SoC软核,用于低成本的工业控制。

摘要:

随着嵌入式领域和信息时代的蓬勃发展,微处理器设计开始被越来越多的人关注。目前国内很多高校和研究机构都开始设计微处理器。客观的讲,这些微处理器在硬件结构上比较简单,缺乏汇编器、编译器、操作系统以及各种I/O接口电路的支持,应用场合单一。另外,由于这些微处理器支持的指令集在格式上各有不同,因此造成了大量的设计资源浪费。我们旨在设计一套完备的高性能嵌入式SoC(System on Chip)系统,用以减少重复性设计工作,更好地普及高等院校的微处理器设计教育,吸引更多的人才专注于高性能微处理器研发;同时也提供给企业免费的SoC软核,用于低成本的工业控制。

关键词:RISC,微处理器,片上系统,minisys


1. 系统原理和技术特点

Minisys是东南大学计算机科学与工程学院系统结构实验室开发的一款基于32位RISC架构的SoC系统。如图1所示,Minisys包含一个以32位RISC型处理器为核心,附带多个IO控制器的SoC芯片和相关的系统软件。系统软件包括以便于上层软件编程而提供的系统功能调用接口为主体的BIOS、键盘驱动程序、以及Minisys汇编器(编译器)。其中,Minisys SoC芯片功能结构如图2所示。

图1 Minisys系统结构图、

图2 Minisys芯片功能结构图

Minisys CPU有32个32位通用寄存器,32位数据线和16位地址线。IO部件包括一个4位7段LED数码管控制器,一个4×4键盘控制器,一个16位定时/计数器,一个32位系统定时器,一个16位PWM控制器,一个看门狗电路和一个简易UART串行通信控制器。

Minisys借鉴了MIPS指令集,指令定长32位,共有31条常用定点指令(不包括硬件乘除、硬件浮点指令)。32个32位寄存器除了5个寄存器被固定功能外,其余的都可以做通用寄存器。

Minisys采用哈佛存储结构,片内包含4KB ROM和4KB RAM,都采用字节编制,但以32位为一个存储单元,即他们和CPU之间的数据交换都以32位为单位进行。Minisys的I/O空间编址采用与存储器统一编址方式,即将整个地址空间分为两个部分,一部分作为访问RAM的存储空间,另一部分作为访问IO的I/O空间。因此,对I/O部件的访问采用与存储器访问相同的指令格式。

系统内部提供两个中断源的控制电路,两个中断源为INT0和INT1,其中INT0的优先级高于INT1,允许高优先级中断嵌套。系统提供用于堆栈操作的SP寄存器,但没有提供压栈和退栈指令,因此对于堆栈的操作需要用软件实现。堆栈操作的原子性由程序员负责。

2. 系统设计流程

Minisys SoC的设计包括了硬件设计和软件设计。其中,硬件设计部分包括以下几个部分:Minisys CPU的设计、接口部件的设计、BIOS的设计。软件设计即为汇编器的设计。

在Minisys CPU设计中,主要考虑指令系统的确定、CPU结构的设计与实现、CPU寄存器组的组织与实现以及CPU的各个功能部件的设计与实现。下面主要介绍Minisys CPU的各个功能部件的设计和实现。

Minisysy CPU的内部功能部件被划分为5歌基本单元:取指单元、译码单元、控制单元、执行单元和存储单元。在设计CPU的时候,采用模块化的设计方法,因此,以上这些单元是分别在相应的5歌模块中进行设计,最后用一个顶层模块将这5个模块按照逻辑上的需要连接起来,成为一个完整的CPU。

取指单元

取指单元主要完成以下工作:到程序ROM中取指令;对PC值进行更新;完成各种跳转指令的PC修改功能。本设计是在Altera公司的Quartus II环境下完成的,因此,在设计中使用了Altera公司已经设计好的rom宏模块。

译码单元

译码单元的主要工作就是完成执行指令前的操作数准备工作,分析Minisys指令集得知,这些数据或者在寄存器中,或者是立即数,因此在译码单元中最重要的工作就是实现寄存器组和完成寄存器的读写并根据指令译码结果,决定向其他部件送一路还是两路数据。

控制单元

控制单元是整个CPU的控制核心,各种控制信号都是从这里发出来的,而各种信号的值都是通过操作码和功能码的不同组合和一些约定来决定的。在设计中用SRCB来标志操作数的来源,具体操作如表1和表2所示。

表1 操作数A的来源标志

操作数

零扩展的立即数

ID阶段取得的寄存器值

SRCA

1’b0

1’b1

表2 操作数B的来源标志

操作数

ID阶段取得的寄存器值

符号扩展的立即数

零扩展的立即数

SRCB

2’b00

2’b01

2’b10||2’b11

执行单元

执行单元需要完成的工作归纳起来包括以下几个方面:完成逻辑运算、完成算术运算、完成移位运算、完成比较转移的PC值运算和完成比较后赋值操作。

存储单元

存储单元首先要实现数据RAM,并完成对数据RAM的读写操作。与指令ROM一样,数据RAM也使用Altera公司提供的宏模块来实现。Minisys拥有4KB的数据RAM,4个字节为一个读写单元,因此,它的RAM和ROM的初始化文件格式相同。

关于Minisys SoC的其他单元的设计将在系统中具体给出。

3. 设计流程图

4. 部分项目仿真图

图3 Minisys实验板

图4 Test1的数据段定义

图5 Test1的仿真结果

本站声明: 本文章由作者或相关机构授权发布,目的在于传递更多信息,并不代表本站赞同其观点,本站亦不保证或承诺内容真实性等。需要转载请联系该专栏作者,如若文章内容侵犯您的权益,请及时联系本站删除。
换一批
延伸阅读

2025年9月11日 – 专注于引入新品的全球电子元器件和工业自动化产品授权代理商贸泽电子 (Mouser Electronics) 即日起开售Microchip Technology的新型MCP16701电源管理集成电...

关键字: PMIC 工业物联网 微处理器

现代社会对计算能力的需求日益增长。人工智能 (AI) 的飞速发展推动了数据量的爆炸式增长,包括数据的创建、处理和存储。AI已渗透到现代生活的方方面面,从汽车到购物方式无所不在。在工业领域,边缘计算改变了制造业,创造了一个...

关键字: 微处理器 电源 人工智能

2025年8月14日,致力于亚太地区市场的国际领先半导体元器件分销商---大联大控股宣布,其旗下诠鼎推出基于新突思(Synaptics)SL1680嵌入式处理器的AI疲劳驾驶检测方案。

关键字: AI 嵌入式处理器 Type-C

专为原电池设计优化的超紧凑、高效 PMIC 现已实现量产并开始全球分销

关键字: 电源管理芯片 微处理器 电池

在这篇文章中,小编将对嵌入式微处理器的相关内容和情况加以介绍以帮助大家增进对它的了解程度,和小编一起来阅读以下内容吧。

关键字: 处理器 微处理器 嵌入式微处理器

一直以来,嵌入式微处理器都是大家的关注焦点之一。因此针对大家的兴趣点所在,小编将为大家带来嵌入式微处理器的相关介绍,详细内容请看下文。

关键字: 处理器 微处理器 嵌入式微处理器

在下述的内容中,小编将会对嵌入式微处理器的相关消息予以报道,如果嵌入式微处理器是您想要了解的焦点之一,不妨和小编共同阅读这篇文章哦。

关键字: 处理器 微处理器 嵌入式微处理器

以下内容中,小编将对嵌入式微处理器的相关内容进行着重介绍和阐述,希望本文能帮您增进对嵌入式微处理器的了解,和小编一起来看看吧。

关键字: 处理器 微处理器 嵌入式微处理器

本文中,小编将对嵌入式微处理器予以介绍,如果你想对它的详细情况有所认识,或者想要增进对它的了解程度,不妨请看以下内容哦。

关键字: 处理器 微处理器 嵌入式微处理器

在这篇文章中,小编将对嵌入式微处理器的相关内容和情况加以介绍以帮助大家增进对它的了解程度,和小编一起来阅读以下内容吧。

关键字: 处理器 微处理器 嵌入式微处理器
关闭