单片机的位的问题
单片机有8位16位32位等等的,那这个位到底是什么定义指的是什么呢?就拿8位的单片机来说1.cpu同时可以处理8位的数据(也就是1字节)?那么此时这个单片机的数据总线是几...
单片机有8位 16位 32位等等的,那这个位到底是什么定义 指的是什么呢?
就拿8位的单片机来说
1.cpu同时可以处理8位的数据(也就是1字节)? 那么此时这个单片机的数据总线是几位呢? 地址总线又是几位呢?
2.单片机的位 和数据总线的位,还有地址总线的位之间有没有联系呢?还是互不干扰,只是说这个单片机cpu同时处理8位?比如此时数据总线和地址总线会是多少位呢?都是8位还是?地址总线和数据总线的位由什么决定呢?
3.地址总线的位是不是指地址长度呢?如果是的话,比如8位单片机的地址长度就是8位,所以最大内存ram就是2的8次 256B? 16位的单片机就是2的16次64k?如果不是的话单片机的地址长度就是最大内存ram是什么决定的呢?
4. 有人说32位的win7系统寻址空间位2^32次方,计算出来是4294967296字节,也就是最大支持4G的内存,这里的32位指的是什么呢?地址总线?地址长度? 那数据总线是不是又是别的?如果是这样那64位的win7也这么计算不是支持的内存无限大了? 还是这个和计算单片机的地址长度不是相同的概念?
本人是新手,很是纠结,希望高手不吝赐教,希望详细点,谢谢啦! 展开
就拿8位的单片机来说
1.cpu同时可以处理8位的数据(也就是1字节)? 那么此时这个单片机的数据总线是几位呢? 地址总线又是几位呢?
2.单片机的位 和数据总线的位,还有地址总线的位之间有没有联系呢?还是互不干扰,只是说这个单片机cpu同时处理8位?比如此时数据总线和地址总线会是多少位呢?都是8位还是?地址总线和数据总线的位由什么决定呢?
3.地址总线的位是不是指地址长度呢?如果是的话,比如8位单片机的地址长度就是8位,所以最大内存ram就是2的8次 256B? 16位的单片机就是2的16次64k?如果不是的话单片机的地址长度就是最大内存ram是什么决定的呢?
4. 有人说32位的win7系统寻址空间位2^32次方,计算出来是4294967296字节,也就是最大支持4G的内存,这里的32位指的是什么呢?地址总线?地址长度? 那数据总线是不是又是别的?如果是这样那64位的win7也这么计算不是支持的内存无限大了? 还是这个和计算单片机的地址长度不是相同的概念?
本人是新手,很是纠结,希望高手不吝赐教,希望详细点,谢谢啦! 展开
4个回答
展开全部
基本概念:单片机/CPU的位数定义于其算术逻辑单元(ALU)一次能处理的数据的最大宽度。
比如51单片机一次只能让8位的数据完成加减乘除,所以51是8位的。奔腾处理器一次能让32位的数据完成运算,所以是32位的。
地址总线的宽度和ALU的位数没有直接关系。比如51单片机是16位的。16位处理器8086/8088地址总线是20位的。奔腾I处理器是32位的,但是地址总线是36位。AMD的CPU的ALU是64位,但是使用的地址总线不过36位(16G)或者多一些,不可能完全用到64位地址。像ARM处理器都是32位的了,但是地址总线的宽度也达到32位,但是实际只用了其中一小部分空间。
数据总线宽度一般等于ALU的宽度,或者是其一半,比如51的就是8位。8086处理器是16位,但是8088是8位。80386处理器是32位的,但是只有386DX才是32位的数据总线,386SX是16位,而386EX很特殊,其可以是16位或者8位的数据总线。
比如51单片机一次只能让8位的数据完成加减乘除,所以51是8位的。奔腾处理器一次能让32位的数据完成运算,所以是32位的。
地址总线的宽度和ALU的位数没有直接关系。比如51单片机是16位的。16位处理器8086/8088地址总线是20位的。奔腾I处理器是32位的,但是地址总线是36位。AMD的CPU的ALU是64位,但是使用的地址总线不过36位(16G)或者多一些,不可能完全用到64位地址。像ARM处理器都是32位的了,但是地址总线的宽度也达到32位,但是实际只用了其中一小部分空间。
数据总线宽度一般等于ALU的宽度,或者是其一半,比如51的就是8位。8086处理器是16位,但是8088是8位。80386处理器是32位的,但是只有386DX才是32位的数据总线,386SX是16位,而386EX很特殊,其可以是16位或者8位的数据总线。
展开全部
1. 8位单片机 表示处理器指令处理数据能力 一次处理8位数据
多数据情况 8位机 数据总线应该是 8位(多了浪费), 地址总线根据需要可8,12,24,32位等
8088 是16位机,数据总线却是 8位
2. 没关系 8086 是8位机 却有20位地址总线 寻址空间2M
3. 最大RAM由支持的地址总线宽度(位数)决定,即指令设计时支持最大地址决定,16位机286/386可不止16位地址总线
4.到了操作系统层 支持的内存跟位数也没啥关系了,32系统理论上是4G 但实际XP里跑的程序可以用到4G内存(虚拟)而操作系统本身却只支持3.xxG 。而同时期的Server版Windows支持 >4G 内存
多数据情况 8位机 数据总线应该是 8位(多了浪费), 地址总线根据需要可8,12,24,32位等
8088 是16位机,数据总线却是 8位
2. 没关系 8086 是8位机 却有20位地址总线 寻址空间2M
3. 最大RAM由支持的地址总线宽度(位数)决定,即指令设计时支持最大地址决定,16位机286/386可不止16位地址总线
4.到了操作系统层 支持的内存跟位数也没啥关系了,32系统理论上是4G 但实际XP里跑的程序可以用到4G内存(虚拟)而操作系统本身却只支持3.xxG 。而同时期的Server版Windows支持 >4G 内存
本回答被提问者和网友采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
1. 数据总线8位, 地址总线随便;
2. 单片机的位基本就是数据总线的位, 但不全都这样. 单片机的位是指其内核数据线及同时运算的位. 而单片机对外的所谓数据总线是可以增减的. 这些跟地址总线宽度无关. 譬如一般宾馆编号320,321表示3楼的20,21间. 但也碰到过用8320,8321的. 这些都是地址位, 房间的大小相当于数据位, 跟房间编号无关.
3. 地址总线的位对应于地址长度, 以及寻址空间, 24位地址对应2^24寻址空间即16M. 跟8位/16位单片机无关;
4. 32位寻址空间肯定是内存地址总线的宽度为32位, 内存的数据总线宽度现在多为64位. 跟CPU的数据位宽无关
总结: 多装点东西, 多想点可能. 你可以用万吨油轮装鸡蛋, 你也可以用蚂蚁搬运石头. 地址宽度, 运算宽度, 存取宽度,存取范围, 这些完全是可以不一样的. 一个CPU可能有外部总线,内部总线,内部地址总线,外部地址总线, 内存数据总线, PCI数据总线, 内存地址空间, IO地址空间,PCI寻址空间. 不要以为一个CPU从外到内只有一个数据总线,一个地址总线.
2. 单片机的位基本就是数据总线的位, 但不全都这样. 单片机的位是指其内核数据线及同时运算的位. 而单片机对外的所谓数据总线是可以增减的. 这些跟地址总线宽度无关. 譬如一般宾馆编号320,321表示3楼的20,21间. 但也碰到过用8320,8321的. 这些都是地址位, 房间的大小相当于数据位, 跟房间编号无关.
3. 地址总线的位对应于地址长度, 以及寻址空间, 24位地址对应2^24寻址空间即16M. 跟8位/16位单片机无关;
4. 32位寻址空间肯定是内存地址总线的宽度为32位, 内存的数据总线宽度现在多为64位. 跟CPU的数据位宽无关
总结: 多装点东西, 多想点可能. 你可以用万吨油轮装鸡蛋, 你也可以用蚂蚁搬运石头. 地址宽度, 运算宽度, 存取宽度,存取范围, 这些完全是可以不一样的. 一个CPU可能有外部总线,内部总线,内部地址总线,外部地址总线, 内存数据总线, PCI数据总线, 内存地址空间, IO地址空间,PCI寻址空间. 不要以为一个CPU从外到内只有一个数据总线,一个地址总线.
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
酱油
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询