请问磁盘和CPU之间有线连接吗?磁盘和内存之间有线连接吗?很多内存和磁盘交互数据的操作有经过CPU吗?

六道佩恩 2018-09-24 03:49:15
请问磁盘和CPU之间有线连接吗?磁盘和内存之间有线连接吗?很多内存和磁盘交互数据的操作有经过CPU吗?
...全文
570 11 打赏 收藏 转发到动态 举报
写回复
用AI写文章
11 条回复
切换为时间正序
请发表友善的回复…
发表回复
fly 100% 2018-10-18
  • 打赏
  • 举报
回复
内部总线,数据一般经过CPU,也有dma 的方式
of123 2018-10-11
  • 打赏
  • 举报
回复
引用 8 楼 weixin_39158150 的回复:
[quote=引用 7 楼 qq_34975182 的回复:]
通用的系统中,磁盘和内存都是通过各自的接口接入CPU。
磁盘和内存中的数据交互,要么是以CPU的Core为中介,要么以CPU芯片中的DMA控制器为中介。
磁盘和内存之间没有直接连接。

如果你画框图,磁盘和内存要分别通过各自的接口接入到CPU芯片,不能直连。


如果要把一段磁盘的数据加载到内存,我记得,为了提高效率,数据貌似没经过CPU吧,这不就说明内存和磁盘有线连接吗[/quote]
这么跟你说吧。

你是要把大白菜从菜库(磁盘)达到销售点(内存)。

实际上,有条大马路是把菜库、中转站(CPU)、销售点都连在一起的。

常规情况下,中转站派车把菜拉到他那里,然后再派车送到销售点。

现在,有个代理点(DMA 控制器)和中转站商量“这趟拉菜别经过你了,我直接给办了吧。”代理点就用车把菜拉上,过中转站而不入,直接拉到销售点,中转站也没有开大门影响他运菜。

所以,菜库并没有另外开一条小道通到销售点,走的还是大马路,只是没进中转站。
Tiedown123 2018-10-10
  • 打赏
  • 举报
回复
引用 8 楼 weixin_39158150 的回复:
[quote=引用 7 楼 qq_34975182 的回复:] 通用的系统中,磁盘和内存都是通过各自的接口接入CPU。 磁盘和内存中的数据交互,要么是以CPU的Core为中介,要么以CPU芯片中的DMA控制器为中介。 磁盘和内存之间没有直接连接。 如果你画框图,磁盘和内存要分别通过各自的接口接入到CPU芯片,不能直连。
如果要把一段磁盘的数据加载到内存,我记得,为了提高效率,数据貌似没经过CPU吧,这不就说明内存和磁盘有线连接吗[/quote] 你说的这种情况,就是走DMA,由DMA控制器主导;CPU就不参与了。 但是DMA控制器也属于CPU芯片的一部分,只不过不是CPU的Core而已。 你要明白,目前通常所说的CPU芯片,不仅仅包括CPU的Core(运算部分/缓存),还包括总线控制器,USB控制器,SPI接口控制器,PCIE接口控制器。。。。。。等等等一堆外围设备的控制器。 这个就是所谓的SOC概念。 就是说一颗芯片上有CPU和外设组成的小系统。
六道佩恩 2018-10-09
  • 打赏
  • 举报
回复
引用 7 楼 qq_34975182 的回复:
通用的系统中,磁盘和内存都是通过各自的接口接入CPU。
磁盘和内存中的数据交互,要么是以CPU的Core为中介,要么以CPU芯片中的DMA控制器为中介。
磁盘和内存之间没有直接连接。

如果你画框图,磁盘和内存要分别通过各自的接口接入到CPU芯片,不能直连。


如果要把一段磁盘的数据加载到内存,我记得,为了提高效率,数据貌似没经过CPU吧,这不就说明内存和磁盘有线连接吗
Tiedown123 2018-10-09
  • 打赏
  • 举报
回复
通用的系统中,磁盘和内存都是通过各自的接口接入CPU。 磁盘和内存中的数据交互,要么是以CPU的Core为中介,要么以CPU芯片中的DMA控制器为中介。 磁盘和内存之间没有直接连接。 如果你画框图,磁盘和内存要分别通过各自的接口接入到CPU芯片,不能直连。
of123 2018-09-26
  • 打赏
  • 举报
回复
引用 4 楼 weixin_39158150 的回复:
[quote=引用 1 楼 of123 的回复:]
这么说吧,磁盘在通用系统中是通过总线接入系统。CPU 可以通过总线访问磁盘。如果系统中有 DMA 控制模块,也可以临时从 CPU 取得访问权,通过总线在磁盘和内存之间直接传输。

也就是说,内存与存盘的数据交换,可以通过 CPU 也可以不通过,取决于系统设计和运行时的情况。

即使不经过 CPU,也不是磁盘与内存直接交易,而是 DMA 控制器暂时代替 CPU 来处理。这样做的目的,是让 CPU 做其他运算的同时,可以并行进行数据传输。


我想问下,如果要画个示意图,CPU和磁盘之间应不应该连起来?[/quote]就是通过总线连接。或者说,你把磁盘的信号线和控制线连接到总线上。
of123 2018-09-26
  • 打赏
  • 举报
回复
引用 3 楼 worldy 的回复:
[quote=引用 1 楼 of123 的回复:]
这么说吧,磁盘在通用系统中是通过总线接入系统。CPU 可以通过总线访问磁盘。如果系统中有 DMA 控制模块,也可以临时从 CPU 取得访问权,通过总线在磁盘和内存之间直接传输。

也就是说,内存与存盘的数据交换,可以通过 CPU 也可以不通过,取决于系统设计和运行时的情况。

即使不经过 CPU,也不是磁盘与内存直接交易,而是 DMA 控制器暂时代替 CPU 来处理。这样做的目的,是让 CPU 做其他运算的同时,可以并行进行数据传输。


DMA工作的时候,CPU应该是暂停吧?最新技术可以做到同时工作?[/quote]这与总线的设计有关。简单总线架构是不行的。在单片机中,为了简化设计,一般是采用 CPU 停止的方式。但这不是唯一的方式。
worldy 2018-09-25
  • 打赏
  • 举报
回复
引用 1 楼 of123 的回复:
这么说吧,磁盘在通用系统中是通过总线接入系统。CPU 可以通过总线访问磁盘。如果系统中有 DMA 控制模块,也可以临时从 CPU 取得访问权,通过总线在磁盘和内存之间直接传输。

也就是说,内存与存盘的数据交换,可以通过 CPU 也可以不通过,取决于系统设计和运行时的情况。

即使不经过 CPU,也不是磁盘与内存直接交易,而是 DMA 控制器暂时代替 CPU 来处理。这样做的目的,是让 CPU 做其他运算的同时,可以并行进行数据传输。


DMA工作的时候,CPU应该是暂停吧?最新技术可以做到同时工作?
ckc 2018-09-25
  • 打赏
  • 举报
回复
简单的计算机可能直接有线连,复杂的多半会有中转或者是总线控制这样 和内存之间多半有中转,不是这么简单就连线工作了的
of123 2018-09-25
  • 打赏
  • 举报
回复
这么说吧,磁盘在通用系统中是通过总线接入系统。CPU 可以通过总线访问磁盘。如果系统中有 DMA 控制模块,也可以临时从 CPU 取得访问权,通过总线在磁盘和内存之间直接传输。

也就是说,内存与存盘的数据交换,可以通过 CPU 也可以不通过,取决于系统设计和运行时的情况。

即使不经过 CPU,也不是磁盘与内存直接交易,而是 DMA 控制器暂时代替 CPU 来处理。这样做的目的,是让 CPU 做其他运算的同时,可以并行进行数据传输。
六道佩恩 2018-09-25
  • 打赏
  • 举报
回复
引用 1 楼 of123 的回复:
这么说吧,磁盘在通用系统中是通过总线接入系统。CPU 可以通过总线访问磁盘。如果系统中有 DMA 控制模块,也可以临时从 CPU 取得访问权,通过总线在磁盘和内存之间直接传输。

也就是说,内存与存盘的数据交换,可以通过 CPU 也可以不通过,取决于系统设计和运行时的情况。

即使不经过 CPU,也不是磁盘与内存直接交易,而是 DMA 控制器暂时代替 CPU 来处理。这样做的目的,是让 CPU 做其他运算的同时,可以并行进行数据传输。


我想问下,如果要画个示意图,CPU和磁盘之间应不应该连起来?

5,313

社区成员

发帖
与我相关
我的任务
社区描述
硬件使用专区,欢迎大家讨论硬件相关内容 宝藏!数字IC精品文章收录(CSDN近500篇) http://t.csdn.cn/QbivO
社区管理员
  • 硬件使用社区
  • 张江打工人
加入社区
  • 近7日
  • 近30日
  • 至今

试试用AI创作助手写篇文章吧