电子计算机为什么有不同的架构(如x86,x64)?
1个回答
展开全部
您好,计算机的架构,比如 x86,和x64 主要来自于计算机的发展。所有的计算机都围绕着处理器而发展。当处理器升级了,主板和周边设备也跟着升级了。而计算机的硬件本身只有是二进制,也就是只有0和1,这两个数字;但编程通常为16进制。第一代英特尔处理器只有4位元(4 bit),当时的编号是4044,,4048;后来扩展为8位元(8 bit),当时的编号是8088,8086;再后来扩展为16位元(16 bit),当时的编号是 80186,80286。一直到第一代32位元的处理器面世是,编号为 80386。但当时都仅仅是处理器内置架构是32位元,但外置架构还是24位元或是16位元,而不是整整意义上的整体32位元。
而随着处理器的发展,软件系统也出现了变化,开始从 DOS 的8位元,到16位元,到后来的 Windows 3.0,Windows 3.1,和后续的 Windows 95。此时的 Windows 95的 内核是32位元,但是建立在16位元的 DOS 架构上,也就是为了兼容之前的一些周边设备。
一直到了 Windows 98,才开始慢慢摆脱16位元,但为了兼容之前的16位元软件和周边设备,Windows 98是还无法算是完整的32位元。然后有了 Windows 2000,和 Windows XP。此时的 Windows XP 和英特尔的奔腾处理器80586,才是真正意义上的全32位元。
所谓的位元,指的是2的次方;也就是4位元是2的4次方,有16种组合;8位元是2的8次方,有256种组合;16位元是2的16次方,有65536种组合;32位元是2的32次方,4294967296种组合。位元之所以重要是因为这个直接关联到周边设备可以使用的编号,和编程时可以使用的最大数字。比如内存的大小,主板的DMA和INT架构,可以连接到主板的南北桥的渠道编码等等。而32位元持续了很长的一段时间,当时的硬盘很小,从几十个MB到几个GB算是很大了,毕竟当时的软件不多,要求也不高。当时的内存也是几个MB到几十个MB就很厉害了。32位元达到了GB级别的数字,所以对于当时的硬件和软件来说是够用了。
但由于需求越来越多,计算机一直不断地蜕变,硬盘越来越大,内存越来越大,尤其是使用一些图像处理软件、数据库软件等等,只能用到服务器级别的硬件、设备和软件才可以达到要求。然后处理器再一次的蜕变,变成了双核,也就是2个32位元的双核,但第一代双核仅仅是处理器内部框架是2个32位元的64位元合并结构,而外置还是处于32位元状态,所以软件只有一些特定版本,比如 Windows XP 有限量版的64位元版本(服务器级别的处理器),但大部分人还是使用32位元的版本,因为第一代双核 Duo Core,无法支持64位元的系统。一直到英特尔开始了第二代双核,真正意义上的双核时,Core Duo,才开始了64位元的普及。
所以 x86 架构指的是所有的 32位元和之前的处理器、设备,和软件而言,因为这个是用4044,4048;8088,8086;80186,80286,80386,80486,80586 一直持续沿用的处理器编码体系;而 x64 就是所有的 64位元内外一致的多核心处理器了。
因为2的32位元的最大可用数字是4,294,967,296,这也直接导致了32位元的系统可以用到最大不超过4GB的内存,因为系统无法为超过4GB的内存进行编码。64位元的系统突破了这个局限,因为2的64次方额最大可用数字是18,446,744,073,709,551,616,也就是18 Exabyte(千兆兆)。
这就是计算机 x86 和 x64 的由来了。
而随着处理器的发展,软件系统也出现了变化,开始从 DOS 的8位元,到16位元,到后来的 Windows 3.0,Windows 3.1,和后续的 Windows 95。此时的 Windows 95的 内核是32位元,但是建立在16位元的 DOS 架构上,也就是为了兼容之前的一些周边设备。
一直到了 Windows 98,才开始慢慢摆脱16位元,但为了兼容之前的16位元软件和周边设备,Windows 98是还无法算是完整的32位元。然后有了 Windows 2000,和 Windows XP。此时的 Windows XP 和英特尔的奔腾处理器80586,才是真正意义上的全32位元。
所谓的位元,指的是2的次方;也就是4位元是2的4次方,有16种组合;8位元是2的8次方,有256种组合;16位元是2的16次方,有65536种组合;32位元是2的32次方,4294967296种组合。位元之所以重要是因为这个直接关联到周边设备可以使用的编号,和编程时可以使用的最大数字。比如内存的大小,主板的DMA和INT架构,可以连接到主板的南北桥的渠道编码等等。而32位元持续了很长的一段时间,当时的硬盘很小,从几十个MB到几个GB算是很大了,毕竟当时的软件不多,要求也不高。当时的内存也是几个MB到几十个MB就很厉害了。32位元达到了GB级别的数字,所以对于当时的硬件和软件来说是够用了。
但由于需求越来越多,计算机一直不断地蜕变,硬盘越来越大,内存越来越大,尤其是使用一些图像处理软件、数据库软件等等,只能用到服务器级别的硬件、设备和软件才可以达到要求。然后处理器再一次的蜕变,变成了双核,也就是2个32位元的双核,但第一代双核仅仅是处理器内部框架是2个32位元的64位元合并结构,而外置还是处于32位元状态,所以软件只有一些特定版本,比如 Windows XP 有限量版的64位元版本(服务器级别的处理器),但大部分人还是使用32位元的版本,因为第一代双核 Duo Core,无法支持64位元的系统。一直到英特尔开始了第二代双核,真正意义上的双核时,Core Duo,才开始了64位元的普及。
所以 x86 架构指的是所有的 32位元和之前的处理器、设备,和软件而言,因为这个是用4044,4048;8088,8086;80186,80286,80386,80486,80586 一直持续沿用的处理器编码体系;而 x64 就是所有的 64位元内外一致的多核心处理器了。
因为2的32位元的最大可用数字是4,294,967,296,这也直接导致了32位元的系统可以用到最大不超过4GB的内存,因为系统无法为超过4GB的内存进行编码。64位元的系统突破了这个局限,因为2的64次方额最大可用数字是18,446,744,073,709,551,616,也就是18 Exabyte(千兆兆)。
这就是计算机 x86 和 x64 的由来了。
快又稳
2024-10-28 广告
2024-10-28 广告
在Linux环境下配置基于域名的虚拟主机,需安装Apache或Nginx等Web服务器,并编辑配置文件。以Apache为例,需创建虚拟主机配置文件,指定域名、文档根目录等,然后启用该配置文件并重启Apache服务。同样,Nginx也需在相应...
点击进入详情页
本回答由快又稳提供
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询