巨型处理器
- 特性
- 1. 由各种能够联网的普通智能设备组成
- 2. 模拟硬件
- 3. 存储器即处理器
- 4. 数据处理的匿名化
在2016年的时候,曾经设想过一种处理器。运行在海量的浏览器之上,可用于处理大规模的GPS地理定位距离的运算。后来开始逐渐做了新的延伸,打算把它用于通用计算。用途可以用来处理神经网络,大数据分析,匿名运算等等。它由多台各种各样的智能设备通过联网组合而成。使其成为一种低成本的通用运算集群的解决方案。或者可以用来将互联网上的闲置设备将性能共享出来。
设想一下,当东半球的小明进入夜晚睡觉的时候,小明的手机与电脑仍处于运行的状态,仍然可以为西半球忙碌的小刚贡献算力。小刚也不用担心小明突然醒来,偷看小刚具体运算的内容。从而使得保密工作充足得当。也不用怕中途运算的数据被一些不怀好意的人修改而导致灾难性的后果。
所以,经过不断地考察与修改,终于设计出了初步的指令集。我们后续会基于该指令结构进行分析,并在这个结构上运行代码。
特性
1. 由各种能够联网的普通智能设备组成
运行在海量的网络浏览器上,这是一台由浏览器构建起来的通过网络通讯组合成的巨型虚拟机。
2. 模拟硬件
代码可以设计成普通的顺序代码,编译成并行的虚拟机。并使其运行在这台虚拟机上。
3. 存储器即处理器
有一个比较有意思的点是:数据直接会在存储器上直接处理。不存在数据传输搬运的过程。
4. 数据处理的匿名化
这个特性非常有意思,就是运算者不知道自己在运算什么。但是不妨碍运算结果,结果可以简单验证无错误。
该指令集已经初步设计完成,总共有25条。同时并做了仿真模拟测试。指令集如下:
- 移动
- 加法
- 减法
- 乘法
- 除法
- 按位与
- 按位或
- 按位取反
- 带符号数
- 带符号数比较
- 无符号数
- 无符号数比较
- 定点数
- 定点数比较
- 浮点数
- 浮点数比较
- 跳转到目标地址
- 分支跳转
- 无条件跳转
- 精确搜索
- 模糊搜索
- 创建数组
- 字符
- 数组
- 数组终结
目前的运算架构基本上已经设计好了。本文作为前言,会陆续更新本指南,并推出源码,欢迎持续关注本系列。