算法之Redis集群CRC16算法一文有提到寄存器,今天就来唠唠寄存器与CPU架构。

电子计算机由中央处理器CPU、内部存储器(简称内存)和输入输出设备(简称IO设备)组成。

CPU是计算机的核心。CPU负责解释并执行计算机命令、产生各种信号、令各部件协调工作,使整个系统构成一个有机整体。
MPU---集成在芯片上的CPU,称为微处理器,简称MPU。
MPU总体功能上由运算器、控制器、寄存器组构成。

CPU与内存图​​​​​​
  • 运算器完成各种运算,包括加减乘除等算数运算和与或非等逻辑计算。
  • 控制器负责整个系统的协调。
  • 寄存器是CPU内部临时存放数据的部件。用于存放操作数或运算结果,存储速度比内存更快,可以把数据通过内部总线送往运算器进行运算,或者接受来自运算器的结果。充分利用CPU的内部寄存器可以加快程序的执行速度。

    内部结构图

控制器

控制器由程序计数器(PC,Program Counter)、指令寄存器(IR,Instruction Register)、指令译码器(ID,Instruction Decoder)、时序产生器(Timing Generator)、操作控制器(Control Unit)组成。

  1. 指令寄存器IR,是用来存放当前正在执行的的一条指令,存放的内容来自于数据寄存器(DR,Data Register)。当一条指令需要被执行时,先要把它从内存取到数据寄存器,然后再送到指令寄存器IR中。
  2. 指令译码器ID,在计算机执行一条指定的指令时,必须首先分析这条指令的操作码是什么,以决定操作的性质和方法,然后控制计算机的其他各部件协同完成指令表达的功能,这中间的分析工作就是指令译码器ID完成的。
  3. 程序计数器PC,用来存放下一条要执行指令的地址,它与存储器(内存)之间有一条直接通路。执行指令时,首先需要根据程序计数器PC中存放的指令地址,将指令由内存取到指令寄存器IR,完成“取指令”的操作。程序计数器PC本身具有自动加1的功能,可以自动给出下一条指令的地址,如此循环,执行每一条指令。
  4. 时序产生器,类似于“时间作息表”,给计算机各部分提供工作所需的时间标志,一般是利用定时脉冲的顺序和不同的脉冲间隔来实现。
  5. 操作控制器,根据指令所需完成的操作和信号,发出各种微操作命令序列,用以控制所有被控对象,完成指令的执行。

控制器工作原理是①按照程序计数器所指出的指令地址,从内存中取出一条指令到指令寄存器IR;②指令译码器ID对指令进行分析;③操作控制器根据指令的功能向有关部件发出控制命令,执行控制指令的操作。完成操作之后,程序计数器加1,再重复执行上述操作。

控制器执行指令的逻辑顺序

运算器

运算器,一般最少包括3个寄存器和1个算术逻辑单元(ALU),现代计算机内部往往设有通用寄存器组。

寄存器,一种有限存储容量的高速存储部件,可用来暂存指令、数据和位址。寄存器有很多种类,一般涉及到四则运算的有3类,ACC(Accumulator)为累加器,MQ(Multiplier-Quotient Register)为乘商寄存器,X为操作数寄存器,3类寄存器在完成不同运算时,所存放的操作数类别也各不相同。

关于乘积高位乘积低位的概念,以十进制为例,百位就是十位的高位,十位是百位的低位。两个16位数相乘,结果可能会有32位,那左半部分的16位就是乘积高位,存储到ACC中,右半部分的16位就是乘积低位,存储到MQ中。
算术逻辑单元(ALU,Arithmetic and Logic Unit),是算术运算和逻辑运算的部件。算术运算包括加、减、乘的整数运算,逻辑运算是与、或、非和异或等逻辑操作,还有移位、比较和传送等操作。
移位运算,将一个字符向左或向右移动位,或是浮动特定位,包含带符号延伸和无符号延伸,在程序中应用很广泛。

寄存器

通用寄存器

  • AX--Accumulator累加器。

算术运算的主要寄存器,用于存放操作数或运算结果。对外设操作的指令都使用AX存放数据。用累加器进行的操作可能需要更少时间。累加器可用于乘、除、输入/输出等操作,使用频率很高。

  • BX--Base Register基地址寄存器。

用于存放操作数的偏移地址。可作为存储器指针使用。

  • CX--Count Register计数寄存器。

用于循环指令、移位指令及串操作指令的技术控制。在循环和字符串操作时,用来控制循环次数;在位操作中,当移多位时,用CL来指明移位的位数。

  • DX--Data Register数据寄存器。

在乘法运算中,与AX累加器组合在一起存放双字型数据。在对外设操作的指令中,DX数据寄存器还用于存放外设端口地址。

  • SI--Source Index源变址寄存器。

在串操作指令中用于存放源操作数的偏移地址。

  • DI--Destination Index目的变址寄存器。

在操作指令中用于存放目的操作数的偏移地址。

  • BP--Base Pointer栈基地址寄存器。

用于存放堆栈中操作数的偏移地址。

  • SP--Stack Pointer栈顶指针。

用于记载栈顶的当前位置(偏移地址)。

上述8个为16位通用寄存器,可以存放1个字型(字节型x字节型=字型)、2个字节数据。其中,累加器AX、基地址寄存器BX、计数寄存器CX、数据寄存器DX,每一个可以拆分成高位部分和低位部分两个8位寄存器使用。

标志寄存器

  • FLAG/PSW--标志寄存器也称程序状态字(Program Status Word)。

共16位,主要用于存放当前程序智行的状况和运算结果的特征。


1、条件标志位
①CF---进位标志Carry Flag。
    记录加法运算的进位值,或者,减法运算的错位置。
②PF---奇偶标志Parity Flag。
    记录字节型运算结果中有奇数个1还是偶数个1。
③AF---辅助进位标志Auxiliary Flag。
    记录加/减法运算中后4位向前有无进/借位。
④ZF---零标志Zore Flag。
    记录运算结果是否位0。
⑤SF---符号标志Sign Flag。
    记录运算结果的正负情况。
⑥OF---溢出标志Overflow Flag。
    记录运算结果是否超出带符号数的表示范围。
2、控制标志位
①TF---陷阱标志/单步中断允许标志/跟踪标志Trap Flag。
    表示系统当前是否允许单步中断。
②IF---外中断屏蔽标志/中断标志Interrupt Flag。
    表示系统当前是否允许可屏蔽外中断。
③DF---方向标志Direction Flag。
   表示串操作按增量方向还是按减量方向进行。

段寄存器组


①DS---数据段段地址寄存器。
②ES---附加段段地址寄存器。
③SS---堆栈段段地址寄存器。
④CS---代码段段地址寄存器,或称指令段段地址寄存器。

指令指针

指令指针的代号是IP,是16位寄存器。专门用于存放下一条指令所在的偏移地址。与代码段段地址寄存器CS配合,以确定程序的下一条指令在内存的哪个字节。

计算机基础之CPU架构相关推荐

  1. 计算机基础--认识CPU

    计算机基础- -认识CPU 文章目录 计算机基础- -认识CPU 一.CPU是什么 二.CPU实际做什么 三.CPU的内部结构 1.程序编译执行的过程 2.CPU是寄存器的集合体 计算机语言 汇编语言 ...

  2. java基础—java内存模型(JMM)CPU架构、缓存一致性、重排序、JMM的实现、JMM保证可见性、有序性问题的详解

    java基础-JMM(CPU架构.JMM保证可见性.有序性) 文章目录 java基础-JMM(CPU架构.JMM保证可见性.有序性) CPU架构 说一说现在计算机存储器的结构层次 使用CPU缓存,会导 ...

  3. 计算机知识讲稿,计算机基础知识讲稿.ppt

    计算机基础知识讲稿.ppt 1 第一讲计算机基础知识 一 什么是计算机计算机 是一种用于存储和处理信息的通用机器 2 第一讲计算机基础知识 二 计算机发展史1946年2月 第一台计算机诞生在美国 EN ...

  4. 一、软考·系统架构师——计算机基础

    系列文章 一.程序员进阶架构师的基础知识[计算机基础] 二.程序员进阶架构师的基础知识[操作系统] 三.程序员进阶架构师的基础知识[计算机网络基础] 四.程序员进阶架构师的专业知识[软件工程基础] 五 ...

  5. 计算机术语中CPU是指______,试题题库_计算机基础知识考试试卷全套.doc

    试题题库_计算机基础知识考试试卷全套.doc 第一部分 计算机基础知识 (一)单项选择题 1. 世界上第一台计算机使用的物理器件是( ). A)电子管 B)继电器 C)晶体管 D)集成电路 2. 第四 ...

  6. 在微型计算机系统组成中 把微处理器cpu,计算机基础知识及答案(二)

    ··· 计算机基础知识及答案(二) 1.微型计算机采用的是冯·诺依曼体系结构,其硬件系统由运算器.控制器.存储器.输入设备和___C___五部分组成. A键盘.鼠标器.B显示器.打印机.C输出设备.D ...

  7. 计算机要执行一条指令,cpu所涉及的操作应该包括下列的,计算机基础题模拟试题「附答案」...

    一.单选题 1.计算机中能直接被CPU存取的信息是存放在___A____ 中. A.内存 B.光盘 C.硬盘 D.软盘 2.D/A转换器的功能是将___A_______. A.数字量转换为模拟量 B. ...

  8. 为什么64位计算机CPU架构叫amd64

    x86 1978 年 6 月,Intel 发布了新款 16 位微处理器 8086,开创了一个全新时代,x86 架构由此诞生.x86 架构指的是特定微处理器执行的计算机语言指令集,定义了芯片的基本使用规 ...

  9. (转)从CPU架构和技术的演变看GPU未来发展

    泡泡网显卡频道5月28日 自从AMD提出Fusion(融聚)的概念.NVIDIA加大力度推广GPU通用计算.Intel率先将CPU和GPU整合在一起之后,大家就会发现CPU和GPU从没如此亲密无间过, ...

最新文章

  1. 《请不要回应外星人2019》
  2. javascript实现base64加解密
  3. Unicorn - W3C 统一验证工具
  4. EasyCriteria 2.0 – JPA标准应该很容易
  5. 设计模式之建造者模式(Builder)
  6. django报错:ImproperlyConfigured和AppRegistryNotReady
  7. 电脑扬声器安装程序(UNKNOW)
  8. 计算机yiji教案,剑桥一级下册详细教案
  9. win10 开teredo
  10. 多个pdf如何快速合并成一个?
  11. 客户资料搜索软件_手机自动拨号软件APP外呼系统 电脑拨号电话营销神器 CRM客户管理系统...
  12. 学会python,妈妈再也不用担心我乱花钱了!
  13. java 限制录入特殊字符_要求输入框里面必须同时含有字母,数字,特殊字符,且不小于8位...
  14. padStart 和 padEnd的使用
  15. 基于Aforge的物体运动识别-入门篇
  16. 华硕笔记本电脑拆机清理灰尘涂抹硅汁教程
  17. 为什么需要选择服务器托管?
  18. 【透视课笔记】L2室内空间与人物
  19. XiaoHu日志 9/7~9/17
  20. MT7612芯片技术资料解析,MT7612处理器简介

热门文章

  1. NetFlow Analyzer-网络检测和响应
  2. 编写程序,输入一个较小的实数deta,利用e=1+1/1(嘿哈)+1/2(嘿哈)+1/3(嘿哈)+⋯+1/n(嘿哈)计算e的近似值,直到最后一项的绝对值小于deta时为止,输出此时e的近似值。
  3. linux 查看apk信息,linux 查看apk包名与类名
  4. 人力资源机器(Human Source Machine) 1-10
  5. Python爬取电商平台充气娃娃用户评价,看看用户体验是什么样的!
  6. 盘点世界七大新材料强国
  7. 记Vue报错Custom elements in iteration require ‘v-bind:key‘ directives.“错误解决
  8. PreScanCarSim联合仿真实现车道保持
  9. LVGL文件浏览器|基于 lvgl 实现的简洁、通用、轻量级的文件浏览器
  10. ALIENTEK 战舰ENC28J60 LWIP和UIP补充例程(LWIP WEB有惊喜)