8086cpu计算机开机时如何工作的,【图片】转一篇老帖,从intel 8086 CPU看待计算机系统工作原理【cpu吧】_百度贴吧...

该楼层疑似违规已被系统折叠 隐藏此楼查看此楼

8086和现在x86的关系

:

现在虽然是什么x86-64,什么推土机,什么i7,至强其最核心的x86指令集完全继承于8086,换句话说,8086的指令集是编程必须要的,后来什么mmx,sse,avx,3dnow等等扩展指令集并不是十分需要,这些指令集的功能完全可以用x86的核心指令编程实现,只是效率不高而已,所以学习8086是不会落伍的,虽然它是1978年的处理器

.

与现在x86处理器的主要区别.(硬件上的)

:

1.当然是大家最耳熟能详的寻址的内存大小区别,什么32位只支持4G或以下,64位才支持4G以以上内存,其实这很表面,8086是16位处理器,但有20位地址线,能支持1MB内存,这个内存连个高清苍井空美图都放不下,确实很落伍,不过现在的x86寻址方式也是从8086发展起来的,所以原理层面学8086并不落伍,下面说几个大家很少关注的区别

.

2.现在的x86处理器,从16位翻倍到32位,在翻倍到64位难道真的只是为了内存吗?显然不是,其一是寻址方式变简单了,16位的8086为了寻址20位的地址,必须用2个16位寄存器,相加后凑成20位地址进行寻址,而现在的32位,64位寄存器一个就能寻址32位或64位地址,那么就不用进行地址加法了,这导致了寻址方式更加简单了,这对编程和运行效率都有较大影响。

其二是,寄存器宽度翻倍,能表示的数据范围大了不少,一次也能从内存读取更多的数据进行处理,这个很重要,试想一下16位的8086是无法一次计算出超过65536的数的,超过这个数8086就得进行2次运算,而32位或64位一次运算就搞定,效率要高不少,当然对于编程和性能的影响还有很多例子就不举了

.

3.现在的x86是支持保护模式,和多任务的,,其实这个特性从80286就有了,,正是有了这俩重要特性,才会有现在的Windows,,早期的DOS时代,处理器是运行在真实模式下,你可以编程直接控制CPU和物理内存,这对系统和软件安全,稳定性都造成极大隐患,那时候的程序员真实幸福,可以随便修改,窥视内存,无法无天,,intel和微软都觉得应该将内存保护起来,现在的Windows系统下Windows程序是无法直接访问物理内存的,都是地址转换器映射的虚拟内存,当然你可以过去系统权限来访问,这个保护机制其实也造成了不少bug,就是经常出现的某某内存不能为“read”或“wirte”其实就是Windows对内存进行了保护和分页,有的内存页面保存了系统重要数据,系统设置了不能读取或不能写入,而程序尝试访问这个内存页时就会被系统中止,并弹出一个错误窗口

.

当然还有好多,我就不说了,太多了

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值