百科问答小站 logo
百科问答小站 font logo



CPU代替SSD主控;是否可行? 第1页

  

user avatar   bei-ji-85 网友的相关建议: 
      

首先,这玩意在嵌入式领域太常见了,很多板子上就是焊着一块NAND FLASH,然后操作系统自己负责控制CPU擦写,前面有人说了,Linux就有支持,不止Linux,很多其他嵌入式OS都有,甚至还有第三方厂商专门做这个。

好处,做板子的厂商省事了(焊个片子很简单),坏处,做软件的厂商很麻烦(不同板子的接口不一样,需要软件做适配)。

答案是可行的,但操作系统需要单独配驱动,需要每个板子配一个驱动,而如果是SATA口,只要适配AHCI/ATA驱动就可以了,二者的难度明显不一样。作为一些写嵌入式系统的人,我几乎没见过谁喜欢NFTL/MTD这套代码,逻辑太复杂太难看了,别指望Windows给每个厂商做适配。

并且这样做速度一定就快吗?未必,CPU是比SSD主控性能要好的多,但影响SSD性能的还包括算法、通道数、缓存,这些如果都打包给CPU做的话,反而是一个负担,只有在特定场景下,这么做才有意义。还就就是怎么访问呢?嵌入式用GPIO,x86的架构下还要跟ACPI结合一下吧?掉电管理咋做呢?

现在NAND FLASH的种类繁多,并没有像DDR那样有统一的标准,所以,拿CPU代替SSD主控只会增加系统复杂度。


user avatar   haozhi-yang-41 网友的相关建议: 
      

如果不计一切代价,技术上当然没问题。

毕竟什么主控啊,什么芯片啊,本质上都和 CPU 一样,都是计算器和控制器。只要把针脚引脚接口暴露出来,CPU 当然可以接管控制。


但是奇怪的是,为什么要这么干?

毕竟那么多外围的控制芯片,其最初的目的就是要分担 cpu 的负担。尤其是高速 CPU 和低速外设之间的速度差异,会导致 CPU 性能严重的空耗(每次存取数据都要慢慢等,而不是外部控制器先操作好加载好再通知 CPU)。

我粗略的估计一下的话,这么一来,恐怕50%的性能下降恐怕少不了。如果把所有外设都用 CPU 直接接管,那相当于废掉了 DMA,我觉得就是一夜回到奔一甚至586的水平了。




  

相关话题

  英特尔(Intel)最大竞争对手是谁? 
  现在世界上最先进的英特尔处理器是多少核的 是不是核数越多越好,核数增加和能耗增加有什么关系? 
  多核 CPU 和多个 CPU 有何区别? 
  为什么很多人常常把麒麟,高通的芯片说成CPU(中央处理器),麒麟和高通应该是系统级芯片(SOC)啊? 
  CPU是怎么发明出来的? 
  为什么无论是 ssd 还是机械硬盘都在倒退发展? 
  半导体厂商如何做芯片的出厂测试? 
  如何评价A12X处理器,和英特尔同频率比呢? 
  ARM64 有能力完全取代 AMD64 吗? 
  游戏帧数,主要是跟CPU有关还是显卡有关? 

前一个讨论
为什么现在手机都没有 USB 存储了?
下一个讨论
能问一下,是不是所有的USB键盘都支持OTG?





© 2024-06-05 - tinynew.org. All Rights Reserved.
© 2024-06-05 - tinynew.org. 保留所有权利