找回密码
 立即注册
查看: 1575|回复: 11

STCx51虚拟单片机(2):金水明80451指令集的寄存器组简介

[复制链接]
  • 打卡等级:偶尔看看I
  • 打卡总天数:16
  • 最近打卡:2025-04-30 08:41:32

105

主题

1215

回帖

1万

积分

荣誉版主

积分
12882
发表于 2024-1-8 11:36:06 | 显示全部楼层 |阅读模式
(一)金水明80451指令集简介
(1)“金水明”是笔者过去的一个“单片机虚拟CPU指令集”研究项目的代号,该项目的主要研究目的是利用软件模拟的方法提前研究一个新架构的单片机CPU的指令集,通过典型的应用模拟来确定新架构的CPU指令集的完备性和工作模式。
(2)单片机CPU指令集也分为CISC和RISC两种,未来的技术主流是RISC。随着技术的不断发展,单片机CPU的应用场景越来越复杂。对于RISC指令集,虽然可以用编译器来实现各种复杂的算法,但是对于特殊领域的应用,RISC指令集的到底应该包括哪些指令?这些指令的应该如何使用和配合?在单片机CPU正式定型之前就需要用“单片机虚拟CPU指令集”的方法来进行提前研究。
(3)“金水明80451指令集”是“金水明80451 64位单片机虚拟CPU指令集”的简称,是“金水明”研究项目的一项成果。
(4)CPU架构按应用分为两种类型:面向运算的和面向控制的,就像ARM Cortex分为A和M两个系列一样。“金水明80451指令集”的定位是面向控制的单片机RISC指令集。
(5)为了适应单片机工业控制领域的各种传输控制协议和网络数据流,80451指令集需要单独支持8/16/32位的数据处理,因此80451采用了类似80x86/80251的等级式寄存器结构,本文将介绍金水明80451指令集中的寄存器组的构成和设计思路。


二、金水明80451 CPU 8位、16位、32位和64位寄存器地址映射表
Fig_01_寄存器.jpg
其中:寄存器按高端定义,左边的字节是高位字节。

80451 CPU寄存器在设计时就考虑了与Intel 80251 CPU的兼容性,它们之间的对应关系如下表。
Fig_02_对照表.jpg
从上表中可以看到,除系统堆栈段页寄存器“SS”外,二者是一一对应的。由于80451指令集有一个80251指令子集,因此在80451的汇编语言中,当你使用那些80251指令时,也可以直接使用80251寄存器名,在同一地址的不同名寄存器存取的内容是一样的。
三、金水明80451寄存器设计思路
(6)80451运算指令是面向寄存器的。这是指运算是在两个寄存器之间进行的。
(7)许多的80451运算指令是不对称的,比如64位乘法只有 “MULU QAX, QCX”(QAX=QAX*QCX)指令,没有“MULU QCX, QAX”(QCX=QCX*ACX)指令。
因此80451寄存器是配对,不对称的运算操作只在这些配对的寄存器之间。
(8)80x86汇编语言项目当年是很多高校和计算机等级考试的的标准汇编语言,因此80451指令集的寄存器名借用了80x86的寄存器等级命名规则。
(9)在C51/C251里面,函数调用(Z=F(X,Y)的基本规范是第一个参数的寄存器是X=R7(8位变量)、X=R6R7(16位变量)和X=R4R5R6R7(32位变量),第二个参数的寄存器是Y=R3(8位变量)、Y=R2R3(16位变量)和Y=R0R1R2R3(32位变量),函数的返回值的寄存器是Z=R7(8位变量)、Z=R6R7(16位变量)和Z=R4R5R6R7(32位变量)。
在80x86汇编语言中,不对称指令(比如乘法)的结果通常在AX中,因此在80451的寄存器名称中,AX对应了R6R7而不是R2R3.
(10)80451指令集当年的研究目标之一是设计和验证一组面向内存大规模数据运算(比如AI常用的矩阵和卷积运算)的指令,因此80451有两个32位的通用指针寄存器“EFP”和“EGP”。32位的地址指针支持4TB的内存,这个规模对于64位单片机内核在若干年内应该是足够了,因此80451指令集就没有更高位数的指针了。
(11)80451指令集当年的研究目标之一是设计和验证一组专门用于单片机RTOS和单片机DOS的指令,因此设置了两个32位的专用指针寄存器“EBP”和“EVP”,前者用于RTOS的可重入函数堆栈指针,后者用于DOS的任务内存动态分配和回收。
四、结束语

(12)寄存器组是CPU内核的最重要的组成部分,所有的CPU操作都是围绕它们进行的。虽然80451指令集只支持32位的地址和数据总线,但是80451指令集有两个64位的寄存器QAX和QCX,并且支持这两个寄存器之间的64位的乘除法,因此金水明80451指令集属于64位单片机指令集。


1 喜欢他/她就送朵鲜花吧,赠人玫瑰,手有余香!
回复

使用道具 举报 送花

  • 打卡等级:以坛为家II
  • 打卡总天数:512
  • 最近打卡:2025-05-01 09:14:27

21

主题

564

回帖

2674

积分

金牌会员

积分
2674
发表于 2024-1-8 13:25:30 | 显示全部楼层
这个很高大尚,小白看不懂
回复 支持 反对

使用道具 举报 送花

  • 打卡等级:偶尔看看III
  • 打卡总天数:54
  • 最近打卡:2025-05-01 09:07:55

717

主题

1万

回帖

1万

积分

管理员

积分
15613
发表于 2024-1-18 23:56:03 | 显示全部楼层
又认真读了遍,好梦里面清楚,x51 才刚进入火热的夏天,好梦还在后面
回复 支持 反对

使用道具 举报 送花

  • 打卡等级:常住居民II
  • 打卡总天数:84
  • 最近打卡:2025-05-02 02:06:47

0

主题

23

回帖

338

积分

中级会员

积分
338
发表于 2024-2-17 17:16:24 | 显示全部楼层
看不懂
回复

使用道具 举报 送花

  • 打卡等级:以坛为家II
  • 打卡总天数:518
  • 最近打卡:2025-05-01 05:52:49
已绑定手机

46

主题

1694

回帖

2540

积分

金牌会员

积分
2540
发表于 2024-2-17 17:52:41 | 显示全部楼层
这是64位的单片机要上场了
回复 支持 反对

使用道具 举报 送花

  • 打卡等级:以坛为家II
  • 打卡总天数:487
  • 最近打卡:2025-05-01 15:22:54
已绑定手机

27

主题

693

回帖

1950

积分

金牌会员

打工人

积分
1950
发表于 2024-2-18 06:27:59 | 显示全部楼层
打工人
回复

使用道具 举报 送花

  • 打卡等级:以坛为家II
  • 打卡总天数:477
  • 最近打卡:2025-05-01 18:48:32
已绑定手机

6

主题

92

回帖

938

积分

高级会员

积分
938
发表于 2024-2-18 10:41:25 | 显示全部楼层
论坛里高人多呀!
回复 支持 反对

使用道具 举报 送花

  • 打卡等级:以坛为家II
  • 打卡总天数:522
  • 最近打卡:2025-05-01 06:03:55
已绑定手机

34

主题

459

回帖

2217

积分

金牌会员

积分
2217
发表于 2024-2-18 11:14:04 | 显示全部楼层
这个很高大上,小白看不懂
回复 支持 反对

使用道具 举报 送花

  • 打卡等级:以坛为家II
  • 打卡总天数:502
  • 最近打卡:2025-05-01 08:01:38
已绑定手机

1

主题

833

回帖

1441

积分

金牌会员

积分
1441
发表于 2024-2-18 13:26:57 | 显示全部楼层
不明觉厉
靡不有初,鲜克有终
回复

使用道具 举报 送花

  • 打卡等级:以坛为家I
  • 打卡总天数:220
  • 最近打卡:2025-05-01 18:20:12

79

主题

631

回帖

1132

积分

金牌会员

积分
1132
发表于 2024-5-7 22:46:12 来自手机 | 显示全部楼层
具体的指令有哪些呢?
回复 支持 反对

使用道具 举报 送花

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

QQ|手机版|小黑屋|深圳国芯人工智能有限公司 ( 粤ICP备2022108929号-2 )

GMT+8, 2025-5-2 06:09 , Processed in 0.129409 second(s), 124 queries .

Powered by Discuz! X3.5

© 2001-2025 Discuz! Team.

快速回复 返回顶部 返回列表