单片机的位的问题

单片机有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也这么计算不是支持的内存无限大了? 还是这个和计算单片机的地址长度不是相同的概念?
本人是新手,很是纠结,希望高手不吝赐教,希望详细点,谢谢啦!

基本概念:单片机/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位的数据总线。
温馨提示:内容为网友见解,仅供参考
第1个回答  2011-11-26
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 内存本回答被提问者和网友采纳
第2个回答  2011-11-26
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从外到内只有一个数据总线,一个地址总线.
第3个回答  2011-11-28
酱油

单片机的位的问题
比如51单片机一次只能让8位的数据完成加减乘除,所以51是8位的。奔腾处理器一次能让32位的数据完成运算,所以是32位的。地址总线的宽度和ALU的位数没有直接关系。比如51单片机是16位的。16位处理器8086\/8088地址总线是20位的。奔腾I处理器是32位的,但是地址总线是36位。AMD的CPU的ALU是64位,但是使...

单片机位地址和字节地址的问题
第一个问题:一个字节是8位的,所以是2^8 不是你说的2^10 第二个问题:51单片机位地址区域是20H~2FH,对应的位地址为00H~7FH,从80H开始是特殊功能寄存器区,比如P0,地址为80H,其每一位对应的“位”地址为80H~87H,所以特殊功能寄存器,只能被8整除的地址,才能位寻址。其余的特殊功能寄存器...

单片机的问题,怎么理解位地址和字节地址
位地址和字节地址是单片机编程中的重要概念。在单片机中,内存是按字节划分的,每个字节包含8个位。因此,当我们提到位地址时,我们实际上是指字节内的特定位的位置,从0开始计数,直到7。而字节地址则是指内存中特定字节的地址,也是从0开始计数。理解位地址和字节地址对于进行有效的内存管理和数据操作至...

51单片机位的问题?
51内核是8位,其数据总线是8位的.虽然51的地址总线也是8位的,但是可以借助DPTR寄存器,从而扩展地址,所以51最大寻址能力是2的16次方,即65536个字节 = 64K字节.但是,数据总线没有扩展,只能是8位的,所以,你访问一个short类型的变量时,则需要两次读取数据,而X86只需要读取一次数据 ...

单片机子地址位地址问题
1.单片机从20H到2FH的16个字节单元,共128位可以按位寻址,对应位寻址空间00H到7FH,所以位地址为40H的单元地址为40H\/8+20H=28H;另外特殊功能寄存器中,有16个可以位寻址,查一下表格就行了88H对应的字节地址也为88H 2.同理2AH-20H=0AH,0AH*8=50H 88H查表,对应的为88H 特殊功能寄存器的...

单片机总线,位等问题
1、51单片机是8位的,2、8位单片机(不叫8位微机),这个位是指二进制数的位数,即单片机内部一次能处理计算的数据是8位二进制数,计算是以累加器A为核心的,A就是8位的寄存器,所以,一次只能计算8位二进制数。3、数据总线就是8位的。4、地址总线是16位的,即存储器的单元地址是用16位二进制...

关于单片机 CPU的程序状态字的问题
第一位:f1用户自定义位1(由用户自行设定)第二位:OV溢出位(当带符号数的运算结果超过-127~128时或无符号数乘积大于255及除数为0时,OV置 一)第三位RS0第四位RS1是数据寄存器选择位。rs0=0,rs1=0时 选择第0组,r0-R7的地址是00H-07H.rs0=1,rs1=0时 选择第1组,r0-R7的地址是...

51单片机的地址问题(位地址和字节地址)
1. 在8051单片机中,可作为用户数据存储器的内部RAM范围是00H至7FH,这一区域的内存可以通过直接寻址或间接寻址方式访问。而80H至FFH地址范围内的存储空间被特殊功能寄存器(SFR)占用,它们只能通过直接寻址方式访问。2. 位地址与字节地址在00H至7FH范围内虽然数值相同,但它们代表的含义和使用的寻址方式...

单片机P标志位的问题
63变为二进制查1个数。若累加器A中1的个数为奇数,则P = 1;若累加器A中1的个数为偶数,则P = 0。

单片机中低位在前,高位在后是什么意思
单片机的一个存储单元只能存储八位字节,题目已经指明‘两个8位二进制无符号数相加,其和可能超过8位’。存储这个超过8位的‘和’就不能用一个存储单元了,需要两个,有两个就有前后之分了,把‘和’的高于8位的高低位分开存储,低位在前高位在后就是这个意思。

相似回答