在准备网络工程师考试,里面有些知识点是比较常考的。自己写这篇博客呢,当作是笔记吧,自己看一看也分享给大家一起学习。

这部分的内容就是讲CPU里面的组成结构以及各部分的功能。

CPU的构成:CPU主要由运算器控制器寄存器组内部总线构成。

运算器:由算术逻辑单元ALU通用寄存器数据暂存器等组成。程序状态字寄存器接受从控制器送来的命令并执行相应的动作,主要负责对数据的加工和处理。

  1. 算术逻辑单元ALU:用于进行各种算术逻辑运算(如与、或、非等)、算术运算(如加减乘除等)
  2. 通用寄存器:用来存放操作数、中间结果和各种地址信息的一系列存储单元。常见的通用寄存器如下:

    a)      数据寄存器:

       AX,累加寄存器,算数运算的主要寄存器;

       BX,基址寄存器;

         CX,计数寄存器,串操作、循环控制的计数器;

       DX,数据寄存器。

    b)      地址指针寄存器:

      SI:源变址寄存器;

      DI:目的变址寄存器;

      SP:堆栈寄存器;

      BP:基址指针寄存器

    c)      累加寄存器:AC,又称为累加寄存器。当运算器的逻辑单元执行算术运算或者逻辑运算的时候,为ALU提供一个工作区。

  3.数据暂存器:用来暂存从主存储器读出的数据,这个数据不能存放在通用寄存器中,否则会破坏其原有数据。

  4.程序状态字寄存器:用于保留与算术逻辑运算指令或测试指令的结果对应的各种状态信息。

控制器:由程序计数器PC、指令寄存器IR、地址寄存器AR、数据寄存器DR、指令译码器等。

  1. 程序计数器 (PC):用于指出下条指令在主存中的存放地址,CPU根据PC的内容去主存处取得指令,由于程序中的指令是按照顺序执行的,所以PC必须有自动增加的功能,  也就是指向下一条指令的地址。

  2. 指令寄存器 (IR):用于保存当前正在执行的这条指令的代码,所以指令寄存器的位数取决于指令字长。

  3. 地址寄存器 (AR):用于存放CPU当前访问的内存单元地址。

  4. 数据寄存器DR:用于暂存从内存储器中读出或写入的指令或数据。

  5. 指令译码器:用于对获取的指令进行译码,产生该指令操作所需要的一些列微操作信号,以控制计算机各部件完成该指令。

CPU体系结构(组成部分)的更多相关文章

  1. 四大CPU体系结构:ARM、X86/Atom、MIPS、PowerPC

    补充介绍一下RISC:RISC(reduced instruction set computer,精简指令集计算机)是一种执行较少类型计算机指令的微处理器,起源于80年代的MIPS主机(即RISC机) ...

  2. CPU体系结构

    http://blog.csdn.net/liuxc0116/article/details/17004313 1.算术逻辑单元ALU(Arithmetic Logic Unit)ALU是运算器的核心 ...

  3. ARM是CPU体系结构

    https://zhidao.baidu.com/question/680620766286548532.html ARM是一种使用精简指令(RISC)的CPU,有别于英特尔的复杂指令(CISC) x ...

  4. 四大CPU体系结构ARM、X86/Atom、MIPS、PowerPC

    http://blog.csdn.net/wangjianno2/article/details/52140936 RISC(reduced instruction set computer,精简指令 ...

  5. 【基础知识】Intel CPU体系结构|x86是什么意思

    看了<计算机系统结构>.<深入理解计算机系统>.<大话处理器>等经典书籍,也在google上搜了一大堆资料,前前后后.断断续续的折腾了一个多月,终于想通了,现在把自 ...

  6. Linux0.11内核剖析--内核体系结构

    一个完整可用的操作系统主要由 4 部分组成:硬件.操作系统内核.操作系统服务和用户应用程序,如下图所示: 用户应用程序是指那些字处理程序. Internet 浏览器程序或用户自行编制的各种应用程序: ...

  7. Intel 80x86 Linux Kernel Interrupt(中断)、Interrupt Priority、Interrupt nesting、Prohibit Things Whthin CPU In The Interrupt Off State

    目录 . 引言 . Linux 中断的概念 . 中断处理流程 . Linux 中断相关的源代码分析 . Linux 硬件中断 . Linux 软中断 . 中断优先级 . CPU在关中断状态下编程要注意 ...

  8. ARM体系结构和汇编指令

    第一节 可编程器件的编程原理 1. 可编程器件的特点 1 . CPU在固定频率的时钟控制下节奏运行 2 . CPU可以通过总线读取外部存储设备中的二进制指令集,然后解码执行 3 . 这些可以被CPU解 ...

  9. 转SISD、MIMD、SIMD、MISD计算机的体系结构的Flynn分类法

    1. 计算平台介绍 Flynn于1972年提出了计算平台的Flynn分类法,主要根据指令流和数据流来分类,共分为四种类型的计算平台,如下图所示: 单指令流单数据流机器(SISD) SISD机器是一种传 ...

随机推荐

  1. swift(五)swift的函数

    /** * 函数的定义和调用 */ func showIntegerArray(array:[Int]) { for a in array { println("\(a)") } ...

  2. SmobilerService 开发者日志(一):什么是 SmobilerService ,它为开发者带来了什么价值?

    初见 SmobilerService 你会发现几个版本,以及一些价格. 所以,"Smobiler 是要收费了吗?" 这是开发团队在幕后悄悄观察 Service 推广开始后,用户向运 ...

  3. linux权限管理-基本权限

    目录 linux权限管理-基本权限 权限修改命令chmod linux权限管理-基本权限 权限 针对某些文件和进程,对用户进行限制 权限与用户的关系 rwx rwx r-x User Group Ot ...

  4. [视频教程] 灵活配置多版本PHP并存运行

    经常有一些项目需要使用不同版本的PHP运行环境,比如有的老项目需要使用5.3版本,有的新项目比如laravel需要使用7.2以上版本,那么在一台机器上如何多版本PHP并存运行呢 有一种很灵活高效的方式 ...

  5. nginx的共享字典项api(操作方法)

    nginx的共享内存,称为共享字典项,对于所有的worker进程都可见,是一种全局变量. 备注一下内容中的 [] 是 备注. 源码分析文档:https://www.codercto.com/a/948 ...

  6. glibc-static

    yum install glibc-static yum install libstdc++-static

  7. pycharm安装pymysql包

    1.为什么? 每个程序连接数据库,python开发2.*版本可以直接使用MySQL,python3.*版本需要下载使用PyMySQL包才能连接数据库... 2. 怎么做? 2.1. 更改源:pycha ...

  8. 【2019.8.11上午 慈溪模拟赛 T3】欢迎回来(back)(设阈值+莫队)

    设阈值 考虑对于询问的\(d\)设阈值进行分别处理. 对于\(d\le\sqrt{max\ d}\)的询问,我们可以\(O(n\sqrt{max\ d})\)预处理答案,\(O(1)\)输出. 对于\ ...

  9. eclipse 下载、安装、创建java文件工程、运行---Windows 10

    一.Eclipse Eclipse 是一个开放源代码的.基于Java的可扩展开发平台.就其本身而言,它只是一个框架和一组服务,用于通过插件组件构建开发环境.幸运的是,Eclipse 附带了一个标准的插 ...

  10. 本地运行vue项目webpack提示 Compiled successfully

    最近在github下载运行别人的vue项目后,如下图提示编译成功,但项目并没有启动       最开始我以为是端口问题,修改了config-index.js里的port端口,重新运行后依然是上图提示 ...