cpu怎么访问硬盘的

putian   2008-11-14 09:28 楼主
各位大侠,小弟有点不明白,32位地址总线的CPU,最大可以读到2@32,也就是4G的地址,那么160G的硬盘,它怎么读到的呢?直接访问好像访问不到吧?谢谢了

回复评论 (13)

囧......谁说CPU是直接靠数据地址访问硬盘数据的......
点赞  2008-11-14 11:56
硬盘是外部存储设备,CPU并不能直接访问,所以可以不受CPU地址总线的约束
点赞  2008-11-14 12:03
那就是说CPU是通过驱动来访问硬盘这个外设的了?
点赞  2008-11-14 12:10
地址总线,加上一些硬盘控制信号,在硬盘管脚上有定义~~~
点赞  2008-11-14 13:05
引用: 引用 3 楼 xr_bobo 的回复:
那就是说CPU是通过驱动来访问硬盘这个外设的了?

CPU不能直接访问硬盘上的数据,要先将硬盘上的数据读取到内存,然后CPU访问内存上的数据
点赞  2008-11-14 16:27

是啊~

处理器处理的数据都是在内存上的。

只有存储才用到硬盘~~
点赞  2008-11-14 16:30
我们用的地址都是逻辑地址, 不是实际的物理地址;
实际内存物理地址和逻辑地址存在映射关系.
这就是虚拟内存技术
点赞  2008-11-14 16:34
引用: 引用 7 楼 woshipha 的回复:
我们用的地址都是逻辑地址, 不是实际的物理地址;
实际内存物理地址和逻辑地址存在映射关系.
这就是虚拟内存技术

ls说的对……
点赞  2008-11-14 20:47
学习了
点赞  2008-11-15 22:05
明白了,谢谢
点赞  2008-11-17 11:46
另外还有一个要注意的地方,硬盘也是有地址位数的,不过这个和CPU是多少位的没关系,而且硬盘是按数据块寻址,现在的硬盘一个数据块为512个字节,今后可能变成2048,4096什么的
点赞  2008-11-19 14:16
x学习了、、、、嘿嘿
点赞  2008-11-19 20:02
硬盘<-->硬盘控制器<-->DMA<-->内存<-->内存控制器<-->CPU

硬盘 块设备 1个block 512bytes, 用的LBA寻址的,好像是48bit的吧  理论大小 2^48*512bytes.
点赞  2008-11-21 11:14
电子工程世界版权所有 京B2-20211791 京ICP备10001474号-1 京公网安备 11010802033920号
    写回复