552 - 硬件/软件接口中的透明度 / RFD

主要观点:计算系统由硬件和软件组件组成,硬件与软件的接口易出问题, oxide 应交付所有面向硬件的软件。需透彻理解硬件/软件接口,虽理想情况是公开完整文档,但实际常做不到,可接受不同层次的透明度。

关键信息

  • 硬件/软件接口分类:包括指令集架构、数据接口、控制接口、非接口(硬件抽象层、实现负载)。
  • 透明度的层级:公开文档(Tier 1)、内部私有文档(Tier 2)、开源硬件抽象层(Tier 3)、逆向工程(Tier 4)、私有文档且有约束(Tier 5)。
  • 反对透明度的理由:担心被复制、增加支持负担、存在安全风险、违反协议;未说明的理由:担心文档不完整、代码有 bug、暴露错误、他人写软件。
  • 不透明的危害:阻碍系统创新,迫使系统与底层硬件隔离,不利于硬件使用和软件生态发展。

重要细节

  • 指令集架构是最广泛强大的硬件/软件接口,可由编译器生成。
  • 数据接口负责数据移动,可能包含可编程元素。
  • 控制接口负责硬件配置和操作,常被忽视且文档不完善。
  • 硬件抽象层是软件与硬件的接口,不应与硬件接口混淆。
  • 实现负载是硬件系统中的软件部分,其加载控制接口构成接口。
  • 各层级透明度的示例及特点。
  • 对于反对透明度的理由,从法律、支持、安全、协议等方面进行反驳。
  • 芯片制造商应重视透明度,以促进软件生态发展,如 Intel 与 Linux 的案例。
阅读 7
0 条评论