当前位置: 首页 > news >正文

10个免费的黑科技网站电子元器件商城网站建设

10个免费的黑科技网站,电子元器件商城网站建设,昆明seo排名,.net 开源 企业网站戳蓝字“CSDN云计算”关注我们哦#xff01;作者 | 骏马金龙责编 | 阿秃关于CPU和程序的执行1、程序的运行过程#xff0c;实际上是程序涉及到的、未涉及到的一大堆的指令的执行过程。当程序要执行的部分被装载到内存后#xff0c;CPU要从内存中取出指令#xff0c;然后指令… 戳蓝字“CSDN云计算”关注我们哦作者 | 骏马金龙责编 | 阿秃关于CPU和程序的执行1、程序的运行过程实际上是程序涉及到的、未涉及到的一大堆的指令的执行过程。当程序要执行的部分被装载到内存后CPU要从内存中取出指令然后指令解码(以便知道类型和操作数简单的理解为CPU要知道这是什么指令)然后执行该指令。再然后取下一个指令、解码、执行以此类推直到程序退出。2、这个取指、解码、执行三个过程构成一个CPU的基本周期。3、每个CPU都有一套自己可以执行的专门的指令集(注意这部分指令是CPU提供的CPU-Z软件可查看)。正是因为不同CPU架构的指令集不同使得x86处理器不能执行ARM程序ARM程序也不能执行x86程序。Intel和AMD都使用x86指令集手机绝大多数使用ARM指令集。注指令集的软硬件层次之分硬件指令集是硬件层次上由CPU自身提供的可执行的指令集合。软件指令集是指语言程序库所提供的指令只要安装了该语言的程序库指令就可以执行。4、由于CPU访问内存以得到指令或数据的时间要比执行指令花费的时间长很多因此在CPU内部提供了一些用来保存关键变量、临时数据等信息的通用寄存器。所以CPU需要提供 一些特定的指令使得可以从内存中读取数据存入寄存器以及可以将寄存器数据存入内存。此外还需要提供加法、减、not/and/or等基本运算指令而乘除法运算都是推算出来的(支持的基本运算指令参见ALU Functions)所以乘除法的速度要慢的多。这也是算法里在考虑时间复杂度时常常忽略加减法次数带来的影响而考虑乘除法的次数的原因。5、除了通用寄存器还有一些特殊的寄存器。典型的如PCprogram counter表示程序计数器它保存了将要取出的下一条指令的内存地址指令取出后就会更新该寄存器指向下一条指令。堆栈指针指向内存当前栈的顶端包含了每个函数执行过程的栈帧该栈帧中保存了该函数相关的输入参数、局部变量、以及一些没有保存在寄存器中的临时变量。PSWprogram status word表示程序状态字这个寄存器内保存了一些控制位比如CPU的优先级、CPU的工作模式(用户态还是内核态模式)等。6、在CPU进行进程切换的时候需要将寄存器中和当前进程有关的状态数据写入内存对应的位置(内核中该进程的栈空间)保存起来当切换回该进程时需要从内存中拷贝回寄存器中。即上下文切换时需要保护现场和恢复现场。7、为了改善性能CPU已经不是单条取指-解码-执行的路线而是分别为这3个过程分别提供独立的取值单元解码单元以及执行单元。这样就形成了流水线模式。例如流水线的最后一个单元——执行单元正在执行第n条指令而前一个单元可以对第n1条指令进行解码再前一个单元即取指单元可以去读取第n2条指令。这是三阶段的流水线还可能会有更长的流水线模式。8、更优化的CPU架构是superscalar架构超标量架构。这种架构将取指、解码、执行单元分开有大量的执行单元然后每个取指解码的部分都以并行的方式运行。比如有2个取指解码的并行工作线路每个工作线路都将解码后的指令放入一个缓存缓冲区等待执行单元去取出执行。9、除了嵌入式系统多数CPU都有两种工作模式内核态和用户态。这两种工作模式是由PSW寄存器上的一个二进制位来控制的。10、内核态的CPU可以执行指令集中的所有指令并使用硬件的所有功能。11、用户态的CPU只允许执行指令集中的部分指令。一般而言IO相关和把内存保护相关的所有执行在用户态下都是被禁止的此外其它一些特权指令也是被禁止的比如用户态下不能将PSW的模式设置控制位设置成内核态。12、用户态CPU想要执行特权操作需要发起系统调用来请求内核帮忙完成对应的操作。其实是在发起系统调用后CPU会执行trap指令陷入(trap)到内核。当特权操作完成后需要执行一个指令让CPU返回到用户态。13、除了系统调用会陷入内核更多的是硬件会引起trap行为陷入内核使得CPU控制权可以回到操作系统以便操作系统去决定如何处理硬件异常。关于CPU的基本组成1、CPU是用来运算的(加法运算、乘法运算*、逻辑运算and not or等)例如cab。2、运算操作涉及到数据输入(input)、处理、数据输出(output)a和b是输入数据加法运算是处理c是输出数据。3、CPU需要使用一个叫做存储器(也就是各种寄存器)的东西保存输入和输出数据。以下是几种常见的寄存器(前文也介绍了一些)MAR: memory address register保存将要被访问数据在内存中哪个地址处保存的是地址值MDR: memory data register保存从内存读取进来的数据或将要写入内存的数据保存的是数据值AC: Accumulator保存算术运算和逻辑运算的中间结果保存的是数据值PC: Program Counter保存下一个将要被执行指令的地址保存的是地址值CIR: current instruction register保存当前正在执行的指令4、CPU还要将一些常用的基本运算工具(如加法器)放进CPU这部分负责运算称为算术逻辑单元(ALU, Arithmetic Logic Unit)。5、CPU中还有一个控制器(CU, Control Unit)负责将存储器中的数据送到ALU中去做运算并将运算后的结果存回到存储器中。控制器还包含了一些控制信号。6、控制器之所以知道数据放哪里、做什么运算(比如是做加法还是逻辑运算?)都是由指令告诉控制器的每个指令对应一个基本操作比如加法运算对应一个指令。7、例如将两个MDR寄存器(保存了来自内存的两个数据)中的值拷贝到ALU中然后根据指定的操作指令执行加法运算将运算结果拷贝会一个MDR寄存器中最后写入到内存。8、这就是冯诺依曼结构图也就是现在计算机的结构图。关于CPU的多核和多线程1、CPU的物理个数由主板上的插槽数量决定每个CPU可以有多核心每核心可能会有多线程。2、多核CPU的每核(每核都是一个小芯片)在OS看来都是一个独立的CPU。3、对于超线程CPU来说每核CPU可以有多个线程(数量是两个比如1核双线程2核4线程4核8线程)每个线程都是一个虚拟的逻辑CPU(比如windows下是以逻辑处理器的名称称呼的)而每个线程在OS看来也是独立的CPU。这是欺骗操作系统的行为在物理上仍然只有1核只不过在超线程CPU的角度上看它认为它的超线程会加速程序的运行。4、要发挥超线程优势需要操作系统对超线程有专门的优化。5、多线程的CPU在能力上比非多线程的CPU核心要更强但每个线程不足以与独立的CPU核心能力相比较。6、每核上的多线程CPU都共享该核的CPU资源。例如假设每核CPU都只有一个发动机资源那么线程1这个虚拟CPU使用了这个发动机后线程2就没法使用只能等待。所以超线程技术的主要目的是为了增加流水线(参见前文对流水线的解释)上更多个独立的指令这样线程1和线程2在流水线上就尽量不会争抢该核CPU资源。所以超线程技术利用了superscalar(超标量)架构的优点。7、多线程意味着每核可以有多个线程的状态。比如某核的线程1空闲线程2运行。8、多线程没有提供真正意义上的并行处理每核CPU在某一时刻仍然只能运行一个进程因为线程1和线程2是共享某核CPU资源的。可以简单的认为每核CPU在独立执行进程的能力上有一个资源是唯一的线程1获取了该资源线程2就没法获取。但是线程1和线程2在很多方面上是可以并行执行的。比如可以并行取指、并行解码、并行执行指令等。所以虽然单核在同一时间只能执行一个进程但线程1和线程2可以互相帮助加速进程的执行。并且如果线程1在某一时刻获取了该核执行进程的能力假设此刻该进程发出了IO请求于是线程1掌握的执行进程的能力就可以被线程2获取即切换到线程2。这是在执行线程间的切换是非常轻量级的。(WIKI: if resources for one process are not available, then another process can continue if its resources are available)9、多线程可能会出现一种现象假如2核4线程CPU有两个进程要被调度那么只有两个线程会处于运行状态如果这两个线程是在同一核上则另一核完全空转处于浪费状态。更期望的结果是每核上都有一个CPU分别调度这两个进程。关于CPU上的高速缓存1、最高速的缓存是CPU的寄存器它们和CPU的材料相同最靠近CPU或最接近CPU访问它们没有时延(1ns)。但容量很小小于1kb。32bit32*32比特128字节64bit64*64比特512字节2、寄存器之下是CPU的高速缓存。分为L1缓存、L2缓存、L3缓存每层速度按数量级递减、容量也越来越大。3、每核心都有一个自己的L1缓存。L1缓存分两种L1指令缓存(L1-icache)和L1数据缓存(L1-dcache)。L1指令缓存用来存放已解码指令L1数据缓存用来放访问非常频繁的数据。4、L2缓存用来存放近期使用过的内存数据。更严格地说存放的是很可能将来会被CPU使用的数据。5、多数多核CPU的各核都各自拥有一个L2缓存但也有多核共享L2缓存的设计。无论如何L1是各核私有的(但对某核内的多线程是共享的)。来源www.cnblogs.com/f-ck-need-u/p/11141636.htm福利扫描添加小编微信备注“姓名公司职位”加入【云计算学习交流群】和志同道合的朋友们共同打卡学习 推荐阅读 漫画什么是哥德巴赫猜想我用python分析了李子柒的辣酱真的好吃吗阿里达摩院2020趋势第一弹感知智能的“天花板”和认知智能的“野望”骗了马云 10 亿被骂 4 年后院士王坚留下 4 条人生启示达摩院十大科技趋势发布2020 非同小可万字长文回望2019影响区块链行业发展的9大事件真香朕在看了
http://www.zqtcl.cn/news/184650/

相关文章:

  • html mip 网站桂林市临桂区
  • 做网站如何月入10万建行app怎么注册登录
  • 建设一个旅游网站毕业设计建设网站的功能定位是什么原因
  • wordpress网站导航模板杭州建设网站的公司
  • 如何做视频解析网站wordpress 关闭评论
  • 安福网站建设微信开发者工具怎么下载
  • 网罗设计网站威海网页设计制作公司
  • 网站用cmswordpress插件怎么做
  • 如何办好公司网站元器件网站搭建
  • 建设领域行政处罚查询网站wordpress数据库发文章
  • 怎么做网页的多开器宿迁seo优化
  • 别人帮做的网站怎么修改病句店铺引流的30种方法
  • 网站备案幕布怎么申请绍兴cms建站模板
  • 做网站熊掌号软件设计公司排名
  • 深圳 做网站学做西点的网站
  • 静态网站安全性百度服务平台
  • 网站vi设计公司网站建设app
  • 书店网站建设策划书总结每天看七个广告赚40元的app
  • 做网站的属于什么专业成都广告制作安装公司
  • 天津市网站建设公司网站制作费用
  • 网站制作公司 郑州wordpress图片中文不显示解决
  • 网站建设模式有哪些方面jquery做的装修网站
  • 佛山手机建网站企业网站公司单位有哪些
  • 给企业做网站的平台有没有专门做衣服搭配的网站
  • 青岛本地网站最近军事新闻大事
  • 潍坊哪里有做360网站的成都官微最新发布
  • 还有哪些网站可以做淘宝活动企业建设网站的方式
  • 上海技术公司做网站2022引流人脉推广软件
  • 网站排名优化技术安徽省城乡和建设厅网站
  • 平阴县建设工程网站英文网站模板制作