---恢复内容开始---

  • 指令周期(取指令、分析指令到执行完该指令所需的全部时间)
  • 机器周期通常又称CPU周期
    • 通常把一条指令周期分成若干个机器周期,每个机器周期完成一个基本操作
    • 以主存的工作周期(存取周期)为基础来规定CPU周期,比如,可以用CPU读取一个指令字的最短时间来规定CPU周期
    • 不同的指令,可能包含不同数目的机器周期
    • 一个机器周期中,包含若干个T周期(节拍脉冲或T脉冲)
    • 不同的指令,CPU周期规定不同
  • 时钟周期
    • 在一个机器周期内,要完成若干个微操作。这些微操作有的可以同时执行,有的需要按先后次序串行执行。因而需要把一个机器周期分为若干个相等的时间段,每一个时间段称为一个节拍。节拍常用具有一定宽度的电位信号表示,称之为节拍电位
    • 节拍的宽度取决于CPU完成一次基本的微操作的时间,如:ALU完成一次正确的运算,寄存器间的一次数据传送等
  • 指令周期(由若干个CPU周期构成,CPU周期由若干个T周期构成)
  • MOV指令的指令周期

  • LAD指令的指令周期:

  • ADD指令的指令周期:

  • STO指令的指令周期:

  • JMP指令的指令周期:

    • 取值周期
    • 执行周期

5.2总结:

1. 一条指令包括一个取指令周期和一个执行指令周期

2. 在每个CPU周期中数据通路是明确的

3. 数据通路的建立及操作收到操作控制器的控制,当然决定于是什么指令


时序产生器和控制方式

1. 时序信号的作用和体制

  • 时序信号:CPU规定脉冲,有节奏的及其工作,提供的时间标志。(需要采用多级时序体制)
  • 时序信号是协调各工件工作的同步信号,时间按标志是用时序信号来体现的。
  • 时序信号的基本体制:电位——脉冲体制

2. 时序信号产生器

  • 硬布线控制器:采用主状态周期——节拍电位——节拍脉冲三级体制
  • 微程序控制器:采用节拍电位——节拍脉冲二级体制
    • 利用微程序顺序执行来实现为操作
    • 时序信号产生电路简单
    • 一个节拍电位包含若干个节拍脉冲,及时钟周期。节拍电位表示一个CPU周期的时间,而节拍脉冲把一个CPU周期划分为若干个较小的事假时间间隔。这些时间间隔可以相等,也可以不等。
  • 时序信号产生器功能:产生时序信号
  • 时序信号产生器构成:1. 时钟源 2. 环形脉冲发生器 3. 节拍脉冲和读写时序控制逻辑 4. 启停控制逻辑
  • 时钟脉冲φ的宽度等于节拍脉冲T的宽度
  • 4个节拍脉冲(T周期)构成一个机器周期(CPU周期)
  • 启停控制逻辑:启动、停止是随机的。
  • 当运行触发器为“1”时,打开时序电路。(计算机启动时,一定要从第一个节拍脉冲前沿开始工作)
  • 当运行触发器为“0”时,关闭时序产生器。(停机时一定要第四个节拍脉冲结束后关闭时序产生器)

3. 时序控制方式

  • 时序控制方式

    • 同步控制方式

      • 完全统一的机器周期执行不同的指令
      • 采用不定长机器周期
      • 中央控制及与局部控制的结合
    • 异步控制方式
      • 每条指令需要多少时间就占用多少时间
    • 联合控制方式
      • 大部分指令在固定的周期内完成,少数难以确定的指令采用异步控制方式
      • 机器周期的 节拍脉冲固定,但是各指令的机器周期数不固定(微程序控制器的采用)

微程序控制器的

1. 微程序控制器原理

  • 微程序设计技术是用软件方法来设计硬件的技术。
  • 微命令和微操作
    • 一条机器指令是由一个微程序来实现的
    • 控制部件向执行部件发出的各种控制命令叫做微命令,它是构成控制部件的最小单位
    • 微操作:是微命令的操作过程
    • 由于数据通路的结构关系,微操作可分为相容的和互斥的两种
      • 互斥的微操作:是指不能同时或不能在同一个节拍中并行执行的微操作
      • 相容的微操作:是指能够同时或者在同一个节拍内并行执行的微操作。必须各占一位。
    • 微指令:把在同一个CPU周期内并行执行的微操作控制信息,存储在控制存储器里,称为一条微指令
      • 它是微命令的组合,微指令存储在控制器中的控制存储器中
      • 一条微指令通常至少包含两大部分信息:
        • 操作控制字段,又称微操作码字段,用以产生某一步操作所需的各个微操作控制信号

          • 某位为1.表明发微命令
          • 微指令发出的控制信号都是节拍的电位信号,持续时间为一个CPU周期
          • 微命令信号还要引入时间控制
        • 顺序控制字段,又称微地址码字段,用以控制产生下一条要执行的微指令地址
    • 微程序
      • 一切微指令的有序集合就是微程序

        • 一段微程序对应一条机器指令
        • 微地址:存放微指令的控制存储器的单元地址

计算机组成原理第五章(中央处理器CPU)的更多相关文章

  1. 【知识强化】第五章 中央处理器 5.1 CPU的功能和基本结构

    那么在前四章我们已经把数据的表示和运算,存储系统和指令系统都已经给大家讲完了.那么从这一章开始,我们将要讲解中央处理器的内容.那么这一部分内容我们就进入到我们计算机组成原理的一个深水区,它是我们计算机 ...

  2. 重学计算机组成原理(五)- "旋转跳跃"的指令实现

    CPU执行的也不只是一条指令,一般一个程序包含很多条指令 因为有if-else.for这样的条件和循环存在,这些指令也不会一路平直执行下去. 一个计算机程序是怎么被分解成一条条指令来执行的呢 1 CP ...

  3. 计算机组成原理 — CPU 中央处理器

    目录 文章目录 目录 前文列表 逻辑电路部件 组合逻辑电路 时序逻辑电路 阵列逻辑电路 中央处理器(CPU) 控制单元(控制器) 运算单元(运算器) 存储单元(寄存器组和片内缓存) CPU 的工作原理 ...

  4. 计算机组成原理实验之CPU组成与指令周期实验

    (实验五  CPU组成与指令周期实验) 课程 计算机组成原理实验 实验日期 2015 年 12 月  8 日 一.实验目的 1.将微程序控制器同执行部件(整个数据通路)联机,组成一台模型计算机. 2. ...

  5. 编程必备基础知识|计算机组成原理篇(09):CPU的控制器和运算器

    计算机基础方面的知识,对于一些非科班出身的同学来讲,一直是他们心中的痛,而对于科班出身的同学,很多同学在工作之后,也意识到自身所学知识的不足与欠缺,想回头补补基础知识.关于计算机基础的课程很多,内容繁 ...

  6. linux的系统组成和计算机组成原理,linux常用操作

    Linux入门 linux简介   学习目的:linux服务器操作系统稳定长期运行,python,pycharm装于linux上 linux系统组成 应用软件:调用系统软件接口 linux操作系统分两 ...

  7. day01-编程与计算机组成原理

    什么是编程 编程语言:是人与计算机沟通交流的介质,通过标准化的规则传递信息 编程:就是为了使计算机能够理解人的意图,通过编程语言写出一个个文件,这堆文件完成相应的目的 编程的目的:用计算机取代人完成工 ...

  8. 计算机组成原理(电脑硬件&语言分类)

    计算机组成原理 一.电脑硬件配置 CPU :中央处理器(人类的大脑) -飞机 内存:存放一些临时数据(人类的短暂记忆-右脑) -高铁 硬盘:存储永久数据(左脑-长期记忆) - 汽车 输入输出:键盘鼠标 ...

  9. Introduction to 3D Game Programming with DirectX 12 学习笔记之 --- 第五章:渲染流水线

    原文:Introduction to 3D Game Programming with DirectX 12 学习笔记之 --- 第五章:渲染流水线 学习目标 了解几个用以表达真实场景的标志和2D图像 ...

随机推荐

  1. ELINK编程器支持芯片详细列表

    支持MCU芯片包括:STM32  F0.F1.F2.F3.F4.L0.L1全系列: GD32 F10XX系列. 各系列芯片支持详情如下:

  2. Ionic3开发环境搭建-VS Code

    原文:Ionic3开发环境搭建-VS Code 一.Ionic3在VS Code中的开发环境搭建 1.全局安装Ionic包 npm install -g cordova ionic 使用 ionic ...

  3. Win8 Metro(C#)数字图像处理--2.57一维最大熵法图像二值化

    原文:Win8 Metro(C#)数字图像处理--2.57一维最大熵法图像二值化  [函数名称] 一维最大熵法图像二值化WriteableBitmap EntropymaxThSegment(Wr ...

  4. Linux编译安装Qt 5.4.1(-qt-xcb是必须要指定的,卸载自带的gcc等)

    转载请注明文章:Linux编译安装Qt 5.4.1 出处:多客博图 很久不写文章了,过程很简单,但是操作很多,简单说吧. 前言: 操作系统CentOS 6.6,64位的. 1.安装gcc 4.8.4, ...

  5. Android多线程(二)

    在上一篇中,我简单说了用AsyncTask来完成简单异步任务,但AsyncTask是把所有的异步任务放到一个队列中依次在同一个线程中执行.这样就带来一个问题,它无法处理那些耗时长.需要并行的的任务.如 ...

  6. 【Linux】Linux下跟踪记录每个用户对主机服务器进行的操作

    linux中跟踪每个用户对主机的操作,看有人之前已经写过如此shell,可直接参考,参考如下: 1.记录操作信息 这个脚本需添加至/etc/profile 脚本如下: history USER_IP= ...

  7. Codility------CyclicRotation

    Task description A zero-indexed array A consisting of N integers is given. Rotation of the array mea ...

  8. kafka设计原理(转)

    一.kafka简介 1.1 背景历史 当今社会各种应用系统,诸如商业.社交.搜索.浏览等信息工厂一样不断被生产出各种信息,在大数据时代,我们面临如下几个挑战: 如何收集这些巨大的信息 如何分析它 如何 ...

  9. python中的函数名,闭包,迭代器

    一.函数名 函数名是一个变量,但它是一个特殊的变量,与括号配合可以执行函数的变量,单纯print()出的是一个内存地址. def func(): print('你说你有点难追') print(func ...

  10. 使用Scrapy爬取图片入库,并保存在本地

    使用Scrapy爬取图片入库,并保存在本地 上 篇博客已经简单的介绍了爬取数据流程,现在让我们继续学习scrapy 目标: 爬取爱卡汽车标题,价格以及图片存入数据库,并存图到本地 好了不多说,让我们实 ...