大多数计算机使用8位的块来作为最小寻址单位?
在 深入理解计算机系统 中看到的发百度知道上没得到答案,这儿来请教大虾:em02:
这个设置是由
操作系统决定的?
还是由硬盘决定的?
还是由CPU决定的?
还是由数据总线决定的?
或者其他什么?
那些计算机是用的8位来作为最小寻址单位的呢?
那些又不是以8位来作为最小寻址单位的计算机?
这些不以8位作为最小寻址单位的计算机又是处于一个什么考虑呢?
:em02: :em02: 硬件强制规定,标准。
另外很多体系结构可以局部按位寻址 原帖由 cjaizss 于 2008-4-29 11:32 发表 http://linux.chinaunix.net/bbs/images/common/back.gif
硬件强制规定,标准。
另外很多体系结构可以局部按位寻址
:em02: :em02: 谢谢老大.
也就是说内存是将8个位当成一小块,从物理结构上分开的?
然后内存内部给每8个位的小块编号,这个编号叫做物理地址?
操作系统可以自己决定访问那一个小块.
操作系统为了保护硬件,向应用程序展现的是另外一种地址,这个地址是虚拟地址,虚拟地址和物理地址的转换由操作系统完成.
另外再问个字长的问题.字长指的是CPU一次可以处理的数据量,比如cpu一次可以处理8bit的数据,这是个什么概念呢,算一次1+1是处理多少bit的数据啊?
另外还想知道点算术逻辑单元和那个啥打孔算机的资料,提供点关键字,我去搜下,不过我看不懂e文.
:em02: :em02: 看了好些帖子,斑竹好牛,偶像:evil: :evil: :evil: :evil: 原帖由 dgfsdgs 于 2008-4-29 11:55 发表 http://linux.chinaunix.net/bbs/images/common/back.gif
:em02: :em02: 谢谢老大.
也就是说内存是将8个位当成一小块,从物理结构上分开的?
然后内存内部给每8个位的小块编号,这个编号叫做物理地址?
操作系统可以自己决定访问那一个小块.
操作系统为了保护硬件,向应用程序展现的是另外一种地址,这个地址是虚拟地址,虚拟地址和物理地址的转换由操作系统完成.
另外再问个字长的问题.字长指的是CPU一次可以处理的数据量,比如cpu一次可以处理8bit的数据,这是个什么概念呢,算一次1+1是处理多少bit的数据啊?
另外还想知道点算术逻辑单元和那个啥打孔算机的资料,提供点关键字,我去搜下,不过我看不懂e文.
看了好些帖子,斑竹好牛,偶像 ...
1个字节为最小寻址单元,其实这个观点不对。准确地说是:1个字节的最小读取数据单位。
地址单元已经确实的,32 CPU 就是32, 16 位就是16位地址。只是32位地址读取8位的数据
主要是CPU架构,总线系统配合决定的。
拿 x86 处理器举个例子, 物理上 x86 CPU 的引脚中,有 BE0 ~ BE3 这 4 个引脚去控制,32位地址中的相应的 byte,
控制 BUS 中的 data bus 读取相应的 byte。
完全与操作系统无关,操作系统只能无条件地去服从这个体系。虚拟地址、物理地址等等,这些都只是CPU体系提供的功能。
字长这个概念,可以理解为 CPU 的 ALU 一次可以处理的数据。通俗地说:GPR 可以装载的数据。64 位的CPU 它的 GPR是64位,如 RAX 可以装 64位。
[ 本帖最后由 mik 于 2008-4-29 13:40 编辑 ] 原帖由 mik 于 2008-4-29 13:34 发表 http://linux.chinaunix.net/bbs/images/common/back.gif
1个字节为最小寻址单元,其实这个观点不对。准确地说是:1个字节的最小读取数据单位。
地址单元已经确实的,32 CPU 就是32, 16 位就是16位地址。只是32位地址读取8位的数据
主要是CPU架构,总线系统配合决 ...
谢谢
我把内存理解成一个大仓库,里面有很多小仓库,1个小仓库就相当于1bit
8个仓库当成1个组,这个组的概念是内存内置的,还是CPU内置的?
:emn3: :emn3: 郁闷了,问题越想越迷糊..... “内存”实际上并不是8个位(bit)一小块,而是其整数倍。电子工程师一般不会说“内存”,他们宁可说ROM,SRAM,SDRAM....8个的一小块我们叫它字节(byte)。物理地址确实是对具体绝对物理存储单元的编号。
在有内存管理单元(MMU)的处理器上,可以把虚拟地址转换为物理地址,这样每个进程看起来都可以访问自己独立的内存。(我更喜欢把这个叫内存,是虚的,而不是实在的SDRAM,DRAM啥的)。这种转换是硬件完成的,不可考虑用软件转换。
字长嘛,也就是计算机的一次指令可以处理的最长整型。
打孔机.......啥年代的事情了嘛,现在是21世纪了...... 原帖由 cjaizss 于 2008-4-29 15:04 发表 http://linux.chinaunix.net/bbs/images/common/back.gif
“内存”实际上并不是8个位(bit)一小块,而是其整数倍。电子工程师一般不会说“内存”,他们宁可说ROM,SRAM,SDRAM....8个的一小块我们叫它字节(byte)。物理地址确实是对具体绝对物理存储单元的编号。
在有内 ...
:-L :-L 我的大脑所能够理解的就是经典物理学,我认为一切动作的发生都有一个原因,一个触发.然后就喜欢一直往最最最初的那个触发找.
:(( 从windows联想到cpu,然后到晶体管,然后到PN结,然后到电场力,到这儿就不再想了,同性排斥,异性相吸,高浓度扩散到低浓度.;P 这些可以理解,属于自然规律,就想到头了.:Q
我喜欢把计算机中间的很多过程和现实生活中的事件想对应.:lol :lol
:Q 我也不知道我到底是在对什么感兴趣,郁闷,
回复 #7 dgfsdgs 的帖子
呵呵,再往下想就是物理学家该想的事情了,我一在中科院工作的某青年物理学家哥们,就在天天搞这方面的事情。回复 #7 dgfsdgs 的帖子
呵呵,再往下想就是物理学家该想的事情了,我一在中科院工作的某青年物理学家哥们,就在天天搞这方面的事情。 引用mik"1个字节为最小寻址单元,其实这个观点不对。准确地说是:1个字节的最小读取数据单位。
地址单元已经确实的,32 CPU 就是32, 16 位就是16位地址。只是32位地址读取8位的数据
主要是CPU架构,总线系统配合决定的。"
多少位寻址,应该是由cpu的地址线相关吧.32位的cpu,如果是16位的地址线,那么它就是16位寻址