当前位置: 首页 > news >正文

4Byte Instruction SSIC 8bitCPU

EDA软件

Turing Complete

指令设计

字节为一个指令

  1. 第一个字节为操作码
  2. 第二个字节是参与运算的数字的寄存器地址或者立即数
  3. 第三个字节是参与运算的第二个寄存器地址或者立即数
  4. 第四个字节是计算结果地址或者进行比较运算后的程序跳转地址, 也就是覆写程序计数器的程序地址

操作码详解

参考图灵完备关卡设计
000e dcba
在这里插入图片描述
a == 1当前指令的第一个参数作为立即数参与运算, 并且将第一个寄存器控制单元的开关关闭
b == 1当前指令的第二个参数作为立即数参与运算, 并且将第二个寄存器控制单元的开关关闭
在这里插入图片描述
如上图所示, 绿色线是操作数一总线, 黄色线是操作数二总线
在这里插入图片描述
这里的数字比较是无符号整数
在这里插入图片描述

c == 1当前指令是跳转指令, 具体的判断情况如上图, 第一个输入端是使能端, 剩余情况是比较两个数字的逻辑关系, 操作码由低三位给出, 如果判断条件符合, 将程序计数器的地址切换为指令的第四个字节

在这里插入图片描述
黄色框住的是ALU运算单元结果输出到结果总线的使能信号, 当执行跳转逻辑或者RAM进行读取的时候ALU的运算结果不会输出在结果总线上

在这里插入图片描述

d == 0并且e == 1的时候, 进行RAM读取的操作
在这里插入图片描述
对于读取的操作, RAM的地址由REG14给出, 观察到该寄存的结果没有连接到结果总线上, 该寄存器是专用寄存器, 用于RAM读操作的地址给出

在这里插入图片描述

d == 1并且e == 0的时候, 进行RAM写的操作, 在写的过程中, 将连接到结果总线的寄存器控制单元关闭, 写的过程只能读取寄存器或者IO端口
在这里插入图片描述
在这里插入图片描述

对于c != 0也就是非条件跳转指令, 并且不是RAM读取的操作的时候, 操作码的低三位算数逻辑运算, 如上图, 第一个字节是操作码, 下面两个数字是操作数

寄存器阵列

在这里插入图片描述
如上图, 青色线是寄存器的输入, 也就是结果总线, 绿色线是操作数1总线, 黄色线是操作数2总线, 一共15个寄存器, 地址的最后一位留给IO端口
在这里插入图片描述
在这里插入图片描述

寄存器的读取, 写入操作由寄存器控制单元构成, 上图是实现原理
4位控制16个寄存器, 结果分为两个字节, 上面字节是0 ~ 7, 下面字节是8 ~ 15

整体介绍

在这里插入图片描述

测试用例

汇编代码实现队列的功能, 读入全部的数据, 并且输出, 代码实现如下

RAM_W IO NREG 0
RAM_W IO NREG 1
RAM_W IO NREG 2
RAM_W IO NREG 3
RAM_W IO NREG 4
RAM_W IO NREG 5
RAM_W IO NREG 6
RAM_W IO NREG 7
RAM_W IO NREG 8
RAM_W IO NREG 9
RAM_W IO NREG 10
RAM_W IO NREG 11
RAM_W IO NREG 12
RAM_W IO NREG 13
RAM_W IO NREG 14
RAM_W IO NREG 15
RAM_W IO NREG 16
RAM_W IO NREG 17
RAM_W IO NREG 18
RAM_W IO NREG 19
RAM_W IO NREG 20
RAM_W IO NREG 21
RAM_W IO NREG 22
RAM_W IO NREG 23
RAM_W IO NREG 24
RAM_W IO NREG 25
RAM_W IO NREG 26
RAM_W IO NREG 27
RAM_W IO NREG 28
RAM_W IO NREG 29
RAM_W IO NREG 30
RAM_W IO NREG 31IMM1 31 NREG 1
RAM_R NREG NREG IO
ADD + IMM1 1 0 0
NOP 0 NREG 14
LESS 14 1 132
http://www.dtcms.com/a/439145.html

相关文章:

  • 可以做外链的网站适合中层管理的培训
  • LangChain源码分析(十)- Memory记忆管理
  • php怎么用来做网站东莞制作网站公司
  • 智能化背景下的SEO关键词策略创新与应用研究
  • AI(学习笔记第九课) 使用langchain的MultiQueryRetriever和indexing
  • Unity学习之寻路导航系统AI Navigation
  • 数据结构学习(1)——指针、结构体、链表(C语言)
  • 【LAMMPS】lammps施加电场或磁场
  • IO模型select与poll,epoll
  • 设计模式(C++)详解——状态模式(State)(2)
  • 网站开发包括几部分上海中学图片
  • 网站开发后台一般用什么计算机网站开发和软件开发
  • 商业网站图片网站建设公司如何营销
  • 深入理解文件系统和软硬链接
  • 【408计组】3.3 SRAM和DRAM
  • 山东菏泽建设银行网站上海有哪些做网站
  • 【开题答辩全过程】以 SpringMVC在筑原平面设计定制管理信息系统的应用与实践为例,包含答辩的问题和答案
  • 昂瑞微,凭啥?
  • 【数据结构】二叉树的遍历与操作
  • 网站常识做网站图片显示不来
  • 阿里云虚拟主机多网站吗东莞公司网络营销公司
  • wordpress课件站模板搭建wordpress脚本
  • 网站被入侵后需做的检测 1宁波seo深度优化平台
  • 网站首页菜单栏模块怎么做的重庆建设工程信息网官网入口查询
  • 个人微信网站怎么做寿光住房和城乡建设局网站
  • 响应式网站开发流行吗wordpress怎样
  • 营销型网站单页面中企动力做网站的价格
  • 九月技术奇点观察:当量子算力与 AI 认知同时突破临界点
  • 建立论坛网站成都工业设计公司排名
  • 从Sora2发布看生成式AI的未来发展方向