= 创作分享 =
技术讨论
Matter Energy Computer Attempt 3
Doremy

Matter Energy Computer Attempt 3

Doremy 于 2021-8-2 14:41 ( 3年前 ) 发表在 [创作] 分类。 [复制链接] [只看楼主] [打印]
1839 2
本贴模组名片
应用能源2 (Applied Energistics 2)
Applied Energistic 2是一个物流模组。[h1=对于玩家的地位]你可称它为模组中的红石:掌握者能够非常娴熟地运用,而新手时常认为其很难,同时可能性巨大。不过,不要生畏。[mark:title_menu][h1=如何开始?]不建议直接阅读物品资料。它们生涩难懂,而且不会形成一个线性的学习过程。物品资..
本帖最后由 QQ酱49791 于 2021-9-1 18:06 编辑

前贴
Matter Energy Computer 施工贴 - MOD技术讨论 - MC百科社群 - MC百科|最大的Minecraft中文MOD百科 (mcmod.cn)
既然是3rd Attempt,那么第二次尝试去哪了呢?
答案是换地图了。

帖子规则差不多,还是以贴吧的形式记录
百度贴吧把我帖子全吃了。

首先先来总结一下目前的归纳,还是没有参考,相当于纯粹自己摸出来的东西。
Version1:move
  整个计算机是一张纸,你把值写到特定地方,会发生特定的事情,例如两个数进行了加法。
  当中有个中控设备,即程序读写头,默认每次执行时操作是+1,除非旁边的控制器有数字,说要进行额外的操控。
  不过这太麻烦了,写一个加法就要move a ->add.1.1; move b->add.1.2; move constant1->add.1.3; move add.1.4->c。
  如果是八位(一位256进制)加法那更加麻烦了。
Version2:Extended Command
以下是基础操作,无输出口。
  move参数为(开头地址1,开头地址2,长度)  add,sub,max,min参数为(开头地址1,开头地址2,长度)
    例如一个int又4,5,6,7组成,4存放末位,7存放首位,有点反直觉。
    add就是+=
  choose参数为(目标地,真时返回值开头地址,长度,决定值地址)
  {
    if(决定值)  目标地(长度)=真时返回值开头地址(长度)
  }
  clean参数为(目标地,长度)用于将这个地址后面一段距离清空。
  地址两位。
  最终,修订参数为run(Command,Length,Adress1,Adress2,Adress3),一句8位

附带例如乘法器,除法器等内容,不过他们就不是基础操作器了。

先前存储单元用的是1k,直接放圆石。
这次用的是基础的便携元件,放128个圆石,128个石头,剩下填满沙石,然后拿出圆石石头作为便携元件,保证1tick用石头/圆石填满加速操作。



发表于 2021-8-2 14:41:30 | 只看该作者 |只看大图 回帖奖励 |倒序浏览 |阅读模式

回复 | 举报

该帖共收到 2 条回复!
Doremy
基础操作器不能直接受基础操作器操纵,它们只受程序读写器和用户交互终端操纵。
基础操纵器配合寻址器进行操作。
作为第一个计算机,只有一个基础操纵器,也只配一个寻址器,能跑就行。之前说的有那么几个命令,不过仍然待定,可能变化。
CommandLengthAd1Ad2Ad3加起来是八位,也就是一行程序八位。程序从右往左写,即Command位最后赋值。

当Command有非零值时匹配对应操作,开始执行。
当Command有非零值时8gt(具体待定)后将其中圆石输出,使得上方的红石信号保持为脉冲型。

时序必须采用链式时序,尤其是寻址器相关,即必须寻址完成之后才进行操作。
大部分装置参数从1~256而非正常的0~2^n-1,目的是0作为静止态。
基础操纵器有一状态栏,表示是否工作中。不工作中就让程序读写器读写下一行程序。

基础操纵器的“长度”参数最大值肯定不方便是256,实际值待定中。
实现上8个一组的ME箱子直接相连放置,用存储总线访问。
发表于 2021-8-3 22:18:08 | 只看该作者

回复 | 举报

Doremy
2021.09.03

基础ALU和临时内存(64Byte)



内存:
单个单元由1个ME箱子和6个ME-IO端口作为核心。
2个端口为一组,3组分别对应到3个寻址器。
2个端口,一个被品红色输出总线和输入总线对着,一个被紫色输出总线和输入总线对着。
当寻址器找到这里时(即红色和粉色的值都为真时)就激活这一组寻址器在这一单元的2个输出总线。
品红色网络和紫色网络的ME-IO端口对应“写入ME箱子”和“从ME箱子中取出”,以实现两个功能。



内存-ALU接口:
一个寻址器在整个计算机里只会激活2个输出总线,是该寻址器对应的粉色网络和品红色网络的。
而每个粉色/品红色网络都有着两个存储总线作为存储系统的一部分。一个对着箱子只读,一个对着元件返还器只写。
在寻址完成后要操作内存,只需要操作“只读”箱子,然后等元件返还器返还元件即可。


ALU-状态控制器
状态控制器内含有0~3个红石块。
Command栏中出现了数据时,状态控制器增加2个红石块。
当检测到状态控制器有2个红石块时,给寻址网络(现在只有占位的圆石)各增加一个红石块。(共6个红石块)
*(一个寻址器有2个寻址网络(粉&红)当这个地址的对应的两个位置都有红石块时则这个地址被这个寻址器访问。)
检测到寻址网络中有红石块,状态控制器增加1个红石块。
状态控制器有3个红石块,呼叫上方执行器进行执行,与内存进行交互。例如move
交互结束,状态控制器所拥有红石块-2。
检测到状态控制器的红石块不足2,寻址网络输出所有红石块。
检测到寻址网络没有红石块,状态控制器红石块-1。
检测到状态控制器红石块数量=0,所有寻址器地址都+1,并检查数量是否>255进行维护。
同时Length--。
0.4s后若Length!=0则状态控制器所拥有红石块数量+2。(以继续执行操作,此时Length已经-1,地址也都+1)

若Length=0,清空所有地址,清空Command,联系程序读写器进行进一步操作。


这只是做完之后把草稿本上的东西发上来。不是教程只是记录,所以只有我和上帝看得懂.jpg

发表于 2021-9-3 18:38:16 | 只看该作者

回复 | 举报

百科目前不允许匿名发帖哦~ 请先 [ 登陆 ][ 注册 ] 吧~

本版积分规则

发新帖
  • 回复
  • 点评
  • 评分

[ MC百科(mcmod.cn) 除另有声明,所有开放公共编辑的内容均使用 BY-NC-SA 3.0 协议 ]

Minecraft百科CC协议
快速回复 返回顶部 返回列表