[发明专利]一种堆栈计算机在审
申请号: | 201910553732.6 | 申请日: | 2019-06-25 |
公开(公告)号: | CN112130899A | 公开(公告)日: | 2020-12-25 |
发明(设计)人: | 关宁 | 申请(专利权)人: | 海宁先进半导体与智能技术研究院 |
主分类号: | G06F9/30 | 分类号: | G06F9/30 |
代理公司: | 暂无信息 | 代理人: | 暂无信息 |
地址: | 314400 浙江省嘉兴市海宁*** | 国省代码: | 浙江;33 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 一种 堆栈 计算机 | ||
本发明涉及一种读取指令、执行并处理数据的计算机架构,特别是一种符合ZPU指令集的堆栈式计算机。堆栈式计算机中的指令无需指定操作数,所有操作数都隐含在栈结构上,因此只需要实现程序计数器、栈指针寄存器等很少的寄存器。特别适合在民用灯光控制等大规模、低成本应用以及高可靠领域中中小规模反熔丝FPGA上使用。本发明公开了了一种堆栈式计算机的组成结构、控制状态机以及各模块的主要行为,并在不显著增加实现资源的前提下通过设置少量标志位和缓存提升性能。
技术领域
本发明涉及一种读取指令、执行并处理数据的计算机架构,特别是一种符合ZPU指令集的堆栈式计算机。
背景技术
如今,高可靠电子系统智能自主管理需求不断提升,需要单机、模块内部具有更强的数据采集和指令执行功能,传统单片机和现场可编程门阵列(Field-Programmable GateArray,以下简称FPGA)已经无法这类需求。另一方面,高可靠元器件用量小,开发成本高,很难为不同应用场景开发多种专用集成电路。需要进一步发掘现有中小规模反熔丝FPGA处理这类应用的潜力。
在民用领域,对于无线智能灯光控制、无线传感器网络、智能家居等大规模、低成本应用,对于处理能力的要求较低,但应用逻辑具有一定复杂性,需要片上系统(System-on-a-Chip,以下简称SoC)中的处理器面积尽可能小并具有一定的通用性,因此需要使用创新型的指令集和架构满足这类特殊需求。
ZPU指令集是一种32位堆栈式指令集。和常见的复杂指令集计算机(ComplexInstruction Set Computer, 以下简称CISC)、精简指令集计算机(Reduced InstructionSet Computer,以下简称RISC)不同,堆栈式指令集中的指令无需指定操作数,所有操作数都隐含在栈结构上,因此指令密度一般高于CISC和RISC计算机。另一方面,因为栈结构一般都保存在内存里,所以堆栈式计算机只需要程序计数器、栈指针寄存器等很少的寄存器,可以使用非常少的寄存器实现。因此,堆栈式指令集具有在中小规模FPGA上实现,并保留实现定制接口控制器的资源。在一般堆栈式指令集的基础上,ZPU指令集进一步将指令划分必须硬件实现的指令和可以用软件模拟的指令。当所有软件模拟指令都使用软件模拟,没有对应硬件时,ZPU计算机的资源开销达到最小。
如附图1所示,ZPU指令集使用8位指令编码,正常程序执行只需要大写字母表示的15条硬件指令,实现调试中断(BREAK)和硬件中断返回(POPINT)可再增加2条硬件指令,其余小写字母表示的26条指令均可以用软件模拟。
硬件指令的功能如下:
IM:如果前一条指令不是IM,则将指令的低7位视为有符号数,扩展为32位并入栈。如果前一条指令也是IM,则将栈顶左移7位,并把低7位设为指令的低7位。连续执行IM指令时屏蔽中断。
NOP:空指令,不执行任何操作。
PUSHSP:将当前栈指针寄存器入栈。
POPSP:从栈顶取出32位数,并存入栈指针寄存器。
POPINT:从栈顶取出32位数,并存入程序计数器,同时清除中断状态。
POPPC:从栈顶取出32位数,并存入程序计数器。
ADD:从栈顶连续取出2个32位数,求“算数和”并将结果入栈。
AND:从栈顶连续取出2个32位数,求“逻辑与”并将结果入栈。
OR:从栈顶连续取出2个32位数,求“逻辑或”并将结果入栈。
NOT:将栈顶的32位数按位取反。
FLIP:颠倒栈顶的32位数的位序。即最高位和最低位交换,次高位和次低位交换,依此类推。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于海宁先进半导体与智能技术研究院,未经海宁先进半导体与智能技术研究院许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201910553732.6/2.html,转载请声明来源钻瓜专利网。
- 上一篇:数据查询方法、装置、设备和存储介质
- 下一篇:圆形猫盘包边机