百科问答小站 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的水平了。




  

相关话题

  为什么玉兔号内存只有 256MB? 
  单精度浮点数中的「单」和「浮点」是什么意思? 
  为什么 GPU 每一代的更新性能上都有「重大突破」,而 CPU 近年来的更新换代被视为「挤牙膏」? 
  如果鸿蒙系统成功,会复兴C/C++吗? 
  rtx3060最低需要什么CPU搭配? 
  英特尔将停产300系列主板芯片组,入手旧型号主板及CPU值得吗,性价比如何? 
  为什么2T的nvme固态比2个1T的贵? 
  为什么在中央处理器(CPU)竞争中舆论普遍站超威半导体(AMD),而显卡竞争中却不是这样? 
  这次内存条固态硬盘涨价会持续到多久?2020年3月? 
  如何看待中国半导体的发展? 

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





© 2024-11-22 - tinynew.org. All Rights Reserved.
© 2024-11-22 - tinynew.org. 保留所有权利