zoukankan      html  css  js  c++  java
  • CPU的结构和功能

    从今天起,进入CPU的微观世界,将CPU作为一个系统来拆分和讲解。以前的总线,MEM,IO都是结构组成部分,在控制器的控制下,完成取值,执指的流程。

    1.概述(What)

    CPU主要包括运算器控制器两大部分。一旦程序进入存储器后,可由计算机自动完成取指令和执行指令的任务。控制器就是专用于完成此项工作的,它负责协同并控制计算机各部件执行程序的指令序列,其基本功能就是取指令、分析指令和执行指令。

    1.1 组成

    (1)寄存器:存放下一指令地址;存放当前指令;存放操作数和计算结果;
    (2)CU:能发出各种操作命令序列的控制部件
    (3)ALU:完成算术和逻辑运算
    (4)中断系统:处理异常情况和特殊请求

    2.功能(Why)

    CPU需要具备控制程序顺序执行(指令控制)、产生完成每条指令所需的控制命令(操作控制)、对各种操作加以时间上的控制(时间控制)、对数据进行运算(数据计算)以及处理中断的功能。
    CPU的基本功能就是取指令、分析指令和执行指令。
    1.取指令
    控制器能自动形成指令的地址,并能发出取指令的命令,将此地址中的指令取到控制器中。
    2.分析指令
    分析指令包括两部分:(1)此指令完成什么操作,即控制器需要发出什么操作命令(2)分析参与这次操作的操作数地址
    3.执行指令
    执行指令就是根据分析指令产生的“操作命令”和“操作数地址”的要求,形成操作控制信号序列,通过对运算器、存储器和I/O设备的操作,执行此指令。
    4.此外
    控制器还要能控制主机与I/O设备交换信息及对总线的管理,甚至能处理机器运行过程中出现的异常情况(掉电)和特殊请求(打印),即处理中断的能力。

    3.指令周期

    3.1 概述(What)


    周期指每个步骤所耗费的时间
    CPU取出一条指令并执行完成所需的全部时间称为指令周期(花费时间)。设置CPU工作周期标志触发器对设计控制单元十分有利。

    3.2 指令数据流(How)

    3.2.1取指数据流


    1.CU将PC寄存器中存储的指令地址送至MAR
    2.CU将地址经地址总线送至MEM,将读控制命令经控制总线送至MEM
    3.CU控制MEM将存储内容经数据总线送至MDR
    4.CU控制MDR将内容送至IR
    5.CU将PC内容加1

    3.2.2间址周期的数据流


    1.CU检查IR中的指令是否需要间址,如果需要间址,将MDR中的地址送到MAR
    2.CU将MAR中的地址经地址总线送至MEM,将读命令经控制总线送至MEM
    3.CU将有效地址经数据总线送至MDR

    3.2.3执行周期的数据流

    不同指令在执行周期操作不同。涉及CPU内部寄存器的数据传送,对存储器或I/O进行读写,对ALU进行操作

    3.2.4中断周期的数据流


    1.CU将PC的指令地址送到MDR,CU控制数据总线将MDR中的内容送至MEM,向MEM发出写信号,保存断点。
    2.CU将中断服务程序入口的地址送至PC。

    4.优化性能

    4.1概述(What)

    为了提高处理机速度,通常可以从提高器件的性能和改进系统的结构,开发系统的并行性两个方面入手。

    4.2方法(How)

    1.提高器件的性能是提高整机性能的重要途径。人们通过技术改进每一个部分的性能。
    2.改进系统的结构,开发系统的并行性。在同一时刻或同一时间段内,完成两种或两种以上性质相同或不同的功能,只要在时间上相互重叠,就存在并行性。使用并行性,那么要将一个过程再细分为几个步骤,分析每个步骤使用到的资源共享,因果关系。并行时,两个步骤是否争抢同一资源,两个步骤之间是否有前后因果关系。

    5.中断系统

    5.1概述(What)

    中断是一种提醒CPU的机制,提醒CPU暂停执行当前指令序列,让CPU判断是否需要去执行其他序列。知止而后能定,这也是在计算机系统中的体现。

    5.2中断系统需要解决的问题

    1.各中断源如何向CPU提出中断请求
    2.当多个中断源同时提出中断请求,中断系统如何判断优先响应哪个中断源
    3.CPU在什么条件,什么时候,以什么方式响应中断
    4.CPU响应中断后如何保护现场
    5.CPU如何从原程序转入中断服务程序的入口地址
    6.中断处理结束后,CPU如何恢复现场,如何返回原程序的间断处
    7.在中断处理过程中,又有了新请求,CPU如何处理。

  • 相关阅读:
    宿主机无法访问CentOS7上Jenkins服务的解决办法
    415. Add Strings
    367. Valid Perfect Square
    326. Power of Three
    258. Add Digits
    231. Power of Two
    204. Count Primes
    202. Happy Number
    172. Factorial Trailing Zeroes
    171. Excel Sheet Column Number
  • 原文地址:https://www.cnblogs.com/ttkl90/p/9284780.html
Copyright © 2011-2022 走看看