news 2026/8/2 1:12:00

精简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/7/31 8:33:50

EagleEye一文详解:基于TinyNAS的目标检测模型轻量化原理与部署差异

EagleEye一文详解&#xff1a;基于TinyNAS的目标检测模型轻量化原理与部署差异 1. 什么是EagleEye&#xff1f;——毫秒级目标检测的轻量新解法 你有没有遇到过这样的问题&#xff1a;想在边缘设备上跑一个目标检测模型&#xff0c;但发现YOLOv5太重、YOLOv8显存吃紧、YOLO-N…

作者头像 李华
网站建设 2026/7/31 5:01:34

Qwen3-0.6B与Llama 3.1对比,谁更适合边缘端?

Qwen3-0.6B与Llama 3.1对比&#xff0c;谁更适合边缘端&#xff1f; 你是否试过在树莓派上跑一个大模型&#xff1f;或者想把AI助手塞进智能手表、车载中控、工业传感器网关里&#xff0c;却卡在显存不足、内存爆满、响应迟钝的死循环里&#xff1f;2025年&#xff0c;边缘AI不…

作者头像 李华
网站建设 2026/7/30 21:57:03

互联网大厂Java求职面试实战:涵盖Spring Boot、微服务与AI技术栈解析

互联网大厂Java求职面试实战&#xff1a;涵盖Spring Boot、微服务与AI技术栈解析 面试场景背景 本次面试发生在某互联网大厂&#xff0c;针对Java开发岗位&#xff0c;面试官严肃且专业&#xff0c;求职者谢飞机则是一位技术水平参差不齐的程序员。面试涉及Java SE、Spring Boo…

作者头像 李华
网站建设 2026/7/20 8:07:00

消费白酒反弹!老登希望来了?

一&#xff0c;沪深 300ETF 龙头今天成交额创了纪录&#xff0c;直接突破 400 亿&#xff0c;按理说大资金抛压不小&#xff0c;但上证指数还是冲破了之前 4140 的压力位&#xff0c;收盘稳稳站在了 4159 点。现在大资金还在加快抛售手里的筹码&#xff0c;不过这些抛压对市场的…

作者头像 李华
网站建设 2026/7/31 7:45:35

Vue——vue3 之 代码生成器原理

背景问题&#xff1a; 需要理解代码生成器的实现原理。 方案思考&#xff1a; 实现一个简单的代码生成器。 具体实现&#xff1a; 代码生成器&#xff1a; // utils/code-generator.js // 代码生成器类 export class CodeGenerator {constructor(options {}) {this.options…

作者头像 李华
网站建设 2026/8/1 6:32:02

Git 分支核心指南:原理、合并策略与实战技巧

在现代软件开发中&#xff0c;Git 已经成为版本控制的事实标准。而 Git 的精髓&#xff0c;无疑在于其强大而轻量的分支管理能力。要想真正地、高效地利用 Git 进行团队协作和项目管理&#xff0c;就必须深入理解其分支的底层工作机制。这篇笔记将从 Git 的核心指针HEAD开始&am…

作者头像 李华