zoukankan
html css js c++ java
关于CPU 架构与指令集的一些个人理解
关于CPU 架构与指令集的一些个人理解
(理解不一定正确,只是目前的理解)
1、一般所说的X86,是指基于Intel X86架构处理器的一套指令集,即X86指令集;
2、CPU的架构是最底层的,是处理器的硬件结构,即CPU按照什么样的硬件结构来设计(架构是一个框架,架构确定,则硬件结构大体就确定了,同一架构的不同型号CPU可能只是某些细节设计不一样);
3、CPU的硬件结构,即架构,一旦确定,那么使用该架构的CPU能实现的功能大体上是一样的,而且去实现该功能的方法也大体上一样的;其它架构的处理器可能也可以实现某些相同的功能,但是实现的方式不一样,如果都一样,那不就是同一款处理器了吗!
4、某种架构CPU的指令集,是由该CPU架构决定的,如X86指令集,是因为该CPU采用了X86结构,所以才叫X86指令集;指令集是指某种架构CPU能实现的所有功能,这些功能对应的代码编号构成指令集;代码编号应该就是指机器码这种底层代码,某种架构CPU架构确定后,代码编号就确定了,这些编号反映了CPU以什么样的方式去执行某些功能,决定了硬件的执行方式;前面说这些代码编号可能就是机器码,机器码就是二进制数字,二进制数字反映在电路上就是高低电平,从而驱动电路运行;不同代码编号的二进制数字排列就不同,所以驱动电路的高低电平就不同,所以电路执行的方式就不同;
5、接着上面的论述,,同一种汇编代码,实现的功能相同,但是在不同架构的CPU上,使用不同的指令集来对同一种汇编代码进行翻译,翻译的机器代码则不同,即二进制数字排列方式不同,所以电路的运行方式就不一样;这就体现了不同架构处理器实现某种相同功能,运行的方式不同;
6、接着论述,,如果所谓的指令集就是指汇编代码,即机器代码的上一层,那么不同架构就会产生不同的汇编代码,好像是有不同的汇编代码这回事,那么实现同一个功能,不同架构就会使用不同的汇编代码来执行,即采用不同的方式实现相同的功能;与上面论述的原理一样;如果指令集指的是汇编语言,则同一种C语言,实现功能相同,但是在不同架构的CPU上,使用不同的指令集来对同一种C语言进行翻译,结果翻译成不同的汇编语言,还是回到原道理,即采用不同的方式实现相同的功能。
总结:
不同架构的CPU,最终体现在CPU实现相同功能的方式不同,或者有的CPU具有其它CPU实现不了的功能,是某种架构独有的;而不同指令集是用来对上层代码进行不同的翻译,从而使电路实现的方式不同;
查看全文
相关阅读:
python的高级特性
python方向
快速搜索
计算机组成原理——总线
计算机组成原理——指令系统
计算机组成原理——cpu
计算机组成原理——2
git提交时报错处理办法
快速的在linux服务器上安装jdk8
python的包管理软件Conda的用法
原文地址:https://www.cnblogs.com/warmbeast/p/7960341.html
最新文章
ceph学习--学习网址
Linux中测试端口的几个命令
C++随手记——map.emplace and insert
c++随手记——嵌套类
ceph社区博客学习(一)
存储基本知识梳理
C++内存问题记录
Mybatis 插入与批量插入以及多参数批量删除
集群、分布式、负载均衡区别(转)
两年摸爬滚打 Spring Boot,总结了这 16 条最佳实践(转载)
热门文章
oracle介绍之oracle不走索引的7种常见情况!
ORACLE中RECORD、VARRAY、TABLE的使用详解
JAVA多线程之volatile 与 synchronized 的比较
深入理解Java内存模型(七)——总结
深入理解Java内存模型(六)——final
深入理解Java内存模型(五)——锁
深入理解Java内存模型(四)——volatile
idea中maven导入相应的jar包仍报错
python的偏函数
python的函数式编程
Copyright © 2011-2022 走看看