news 2026/9/3 3:50:59

精简cpu设计

作者头像

张小明

前端开发工程师

1.2k 24
文章封面图
精简cpu设计

参考

8位CPU设计

简介

8位指令宽度,地址宽度,数据宽度,ram,rom,外设统一寻址,目的是设计一个尽可能占用逻辑资源少的cpu

寄存器

寄存器含义说明
R0~R3通用寄存器临时变量、算术运算
R4操作数1 (o1)运算操作数,高低字节可单独写
R5操作数2 (o2)运算操作数,高低字节可单独写
R6寄存器A运算结果输出寄存器
R7SP堆栈指针 SP=0 栈顶为R11
R8PC程序计数器(指向 ROM)
R9PSW标志位:零、正、负、溢出等
R10中断向量定时器/IO中断共用
R11~R15堆栈寄存器函数调用现场保存

指令集

操作码指令 OPCODE o3含义 / 子码说明
1OP1L #1将立即数写入 操作数寄存器 1 的低字节
2OP1H #1将立即数写入 操作数寄存器 1 的高字节
3OP2L #1将立即数写入 操作数寄存器 2 的低字节
4OP2H #1将立即数写入 操作数寄存器 2 的高字节
5MOV数据转移:
0000:o1, #o2立即数 → 内存
0001:o1, Ro2寄存器 → 内存
0010:Ro1, Ro2寄存器 → 寄存器
0011:@Ro1, #o2立即数 → 指针
0011:@Ro1, R噢立即数 → 指针
0100:@Ro1, o2寄存器 → 指针
0101:@Ro1, @Ro2指针 → 指针
0110:Ro1, @Ro2指针 → 寄存器
6运算(A <= A ? o2)
ADD0000: ADD 加
SUB0001: SUB 减
MUL0010: MUL 乘
DIV0011: DIV 除
REM0100: REM 取余
AND0101: AND 与
OR0110: OR 或
NOT0111: NOT 非
XOR1000: XOR 异或
INC1001: INC 加1
DEC1010: DEC 减1
7SET #immimm=0 为 o1,o2,否则为o1,#imm
8CLR #immimm=0 为 o1,o2,否则为o1,#imm
9CPL #immimm=0 为 o1,o2,否则为o1,#imm
10LJMP条件跳转(根据寄存器A结果):
0000: A = 任何 → 无条件跳转
0001: A > 0
0010: A = 0
0011: A < 0
0100: A ≥ 0
0101: A ≤ 0
0110: JP
0111: JNP
1000: JZ
1011: JNZ
1100: JC
1101: JNC
11CALL调用函数 o2
12RET返回函数
13NOP空指令

伪指令

操作码真实指令展开
op #1
OP2H #1>>4
OP2L #1&0xf
op #1,#2
OP1H #1>>4
OP1L #1&0xf
OP2H #2>>4
OP2L #2&0xf
mov r1,#3
OP1H #1>>4
OP1L #1&0xf
OP2H #3>>4
OP2L #3&0xf
MOV Ro1,#o2
版权声明: 本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若内容造成侵权/违法违规/事实不符,请联系邮箱:809451989@qq.com进行投诉反馈,一经查实,立即删除!
网站建设 2026/9/2 23:03:22

梦笔记20260130

不知道怎么钻进一个小房间&#xff0c;底下上边有开口&#xff0c;出不去。我知道这是梦境&#xff08;梦中梦&#xff09;&#xff0c;想办法醒来&#xff0c;果然离开了。在房间中发现一个巨大的金色竹简卷&#xff0c;几个人奋力打开大约5米高&#xff0c;10米长&#xff0c…

作者头像 李华
网站建设 2026/9/3 1:00:30

零代码存储的AI编程助手:OpenCode隐私安全解析

零代码存储的AI编程助手&#xff1a;OpenCode隐私安全解析 OpenCode不是又一个“调API的前端包装器”&#xff0c;而是一套真正把代码主权还给开发者的终端原生AI编程系统。它不上传你的函数、不缓存你的项目结构、不记录你的调试会话——你敲下的每一行代码&#xff0c;始终只…

作者头像 李华
网站建设 2026/8/27 10:52:38

BiliPai 4.3.4 | B站开源第三方应用,纯净无广流畅

BiliPai 是一个基于 Jetpack Compose 和 Material Design 3 构建的第三方 B 站客户端&#xff0c;提供首页推荐、视频播放、账号登录&#xff08;扫码/网页&#xff09;、主题切换等核心功能。它支持高清播放、瀑布流浏览、动态配色、骨架屏加载、Lottie 动画等现代交互体验&am…

作者头像 李华
网站建设 2026/9/3 0:21:34

Vue——vue3 之 数据字典管理

背景问题&#xff1a; 需要统一管理系统中的数据字典。 方案思考&#xff1a; 创建数据字典管理模块&#xff0c;统一管理枚举值和选项。 具体实现&#xff1a; 数据字典管理&#xff1a; // stores/modules/dict.js import { defineStore } from pinia import { ref } from…

作者头像 李华
网站建设 2026/9/2 23:27:22

如何将某个成员设置为管理员?看这里!

&#x1f64b;能否将某个相册成员设置为管理员&#xff0c;协助我管理相册&#xff1f;&#x1f449;支持的⬇️下面将介绍如何将某个成员设置为管理员&#xff1a;1️⃣打开土著相册小&#x1f34a;序&#xff0c;点击目标相册&#xff0c;进入相册2️⃣点击底部按钮「管理」&…

作者头像 李华
网站建设 2026/9/3 1:23:05

Linux命令-lnstat(快速查找文件和目录)

&#x1f9ed;说明 locate 命令是 Linux 中一个用于快速查找文件和目录的工具&#xff0c;它通过搜索系统预先生成的文件名数据库来工作&#xff0c;速度非常快。下面我将详细介绍它的用法、与 find 命令的区别以及一些实用技巧。 &#x1f50d; locate 与 find 的区别 在深…

作者头像 李华