计算机组成原理(超详解!!) 第七节 中央处理器(上)

2024-05-09 05:04

本文主要是介绍计算机组成原理(超详解!!) 第七节 中央处理器(上),希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

1.CPU的功能和组成

CPU的功能:

指令控制:程序的顺序控制。

操作控制:管理并产生每条指令的操作信号,并把它们送到相应部件,控制这些部件按要求进行动作。                    

时间控制:对各种操作实施时间上的定时。

数据加工:对数据进行算术和逻辑运算处理。

CPU的基本组成:(1)运算器(2)Cache(3)控制器

运算器:

由ALU、R0-R3、DR和PSW组成;是数据加工处理部件;在控制器的指挥下运行。

运算器的主要功能:执行算术运算;执行逻辑运算,并进行逻辑测试。

定点运算器的结构:单总线结构的运算器;双总线结构的运算器 ;三总线结构的运算器。

控制器:      

组成:PC、指令寄存器(IR) 、AR、指令译码器(ID)、时序产生器和操作控制器;      

作用:“决策机构” ,协调和指挥整个系统的操作。      

功能:

(1)取指令,并指出下一条指令的位置。            

(2)对指令译码或测试,产生相应操作控制信号,以启动规定的动作。                                         

(3)指挥并控制CPU、内存和I/O设备之间数据流动的方向。

各种计算机的CPU可能有这样或那样的不同,但是在CPU中至少要有6类寄存器:

①指令寄存器(IR)

②程序计数器(PC)

③数据地址寄存器(AR) 保存当前CPU所访问的内存单元的地址

④数据缓冲寄存器(DR)    暂时存放由内存读出或写入的指令或数据字

⑤通用寄存器(R0~R3)    存放操作数

⑥状态字寄存器(PSW) 保存由算术和逻辑指令的结果建立的各种条件码

通常把许多寄存器之间传送信息的通路,称为数据通路。 在各寄存器之间建立数据通路的任务,是由称为操作控制器的部件来完成的。  

操作控制器的功能:根据指令操作码和时序信号,产生各种操作控制信号,以便正确地选择数据通路,把有关数据打入到一个寄存器,从而完成取指令和执行指令的控制。  

根据设计方法不同,操作控制器可分为两种:

1.硬连线控制器,它是采用时序逻辑技术来实现的;

2.微程序控制器,它是采用存储逻辑来实现的。  

操作控制器产生的控制信号必须定时,为此必须有时序产生器。  

因为计算机高速地进行工作,每一个动作的时间是非常严格的,不能太早也不能太迟。时序产生器的作用,就是对各种操作信号实施时间上的控制。

操作控制器(微命令发生器)分类:

(1)组合逻辑型:   常规控制器或硬布线控制器,采用组合逻辑技术实现。  

优点:速度快;  

缺点:设计、调试、维修困难,难实现设计自动化。

(2)存储逻辑型 :  微程序控制器,采用存储逻辑来实现,即微操作信号代码化,使得每条指令转化为一段微程序并存入一个专门的存储器中。

(3)结合型 :  PLA控制器,组合两者优点,尽量克服两者的缺点,是一种较有前途的方法

2.指令周期

1.指令周期的基本概念

指令周期:取出并执行一条指令的时间。    

注:各种指令功能变化多样,其指令周期亦不尽相同。

CPU周期|机器周期(工作周期):

通常把一条指令周期划分为若干个机器周期,每个机器周期完成一个基本操作。

主存的工作周期(存取周期)为基础来规定CPU周期,比如,可以用CPU读取一个指令字的最短时间来规定CPU周期

不同的指令,可能包含不同数目的机器周期。

一个机器周期中,包含若干个时钟周期(节拍脉冲或T脉冲)。

CPU周期规定,不同的计算机中规定不同

时钟周期|节拍电位|T周期:

在一个机器周期内,要完成若干个微操作。这些微操作有的可以同时执行,有的需要按先后次序串行执行。因而需要把一个机器周期分为若干个相等的时间段,每一个时间段称为一个节拍。节拍常用具有一定宽度的电位信号表示,称之为节拍电位。

节拍的宽度取决于CPU完成一次基本的微操作的时间,如:ALU完成一次正确的运算,寄存器间的一次数据传送等。

2.MOV指令的指令周期

3.LAD指令的指令周期

4.ADD指令的指令周期

5.STO指令的指令周期

6.JMP指令的指令周期

7.用方框图语言表示指令周期 

方框:代表一个CPU周期,方框中的内容表示数据通路的操作或某种控制操作;

菱形:表示某种判别或测试,在时间上不单占一个CPU周期,而是依附于紧接它的前面一个方框的CPU周期;

箭头:表示CPU执行顺序;

‘ ~ ’ :公操作符号,表示一条指令执行完毕后,CPU所开始执行的一些操作——如中断处理、通道处理等,其中取指令也可认为是公操作。

3.时序产生器和控制方式

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

CPU中的控制器用它指挥机器的工作

CPU可以用时序信号/周期信息来辨认从内存中取出的是指令(取指)还是数据(执行)

一个CPU周期中时钟脉冲对CPU的动作有严格的约束

操作控制器发出的各种信号是时间(时序信号)和空间(部件操作信号)的函数。

是CPU中的时间标志。计算机就是按照时序信号准确、迅速、有条不紊指挥各个部件协同工作。

功能:控制操作时间和操作时刻。

基本体制:电位-脉冲制。

当实现寄存器之间的数据传送时,数据加在触发器的电位输入端,而打入数据的控制信号加在触发器的时钟输入端。

所有的操作都按节拍进行,持续时间为一个节拍的称为节拍电位。在节拍电位有效期间产生的脉冲称为节拍脉冲。一个节拍电位中可产生多个节拍脉冲。

硬布线控制器:主状态周期-节拍电位-节拍脉冲三级体制

微程序控制器:节拍电位-节拍脉冲二级体制

节拍电位-节拍脉冲:

控制信号:脉冲

数据:电位

数据准备好后,以电位的方式送触发器

控制信号来到后,用一个脉冲信号把数据装入触发器

硬布线控制器中的时序信号:

硬布线控制器中,时序信号往往采用主状态周期-节拍电位-节拍脉冲三级体制。

主状态周期(指令周期):包含若干个节拍周期,可以用一个触发器的状态持续时间来表示

节拍电位(机器周期):表示一个CPU 周期的时间,包含若干个节拍脉冲

节拍脉冲(时钟周期):表示较小的时间单位

2.时序信号产生器

一般由时钟源、环行脉冲发生器、节拍脉冲和读写时序译码逻辑、启停控制逻辑等组成。

1、时钟源(主时钟)

通常由石英晶体震荡器和与非门组成的正反馈振荡电路组成。  

作用:提供频率稳定且电平匹配的方波时钟脉冲信号,为整个机器提供基准信号。    

时钟源在机器上电后立即开始产生具有一定占空比的时钟脉冲序列,直到关电源为止,中间不允许有任何间断。

2、环形脉冲发生器(节拍信号发生器)

产生一组有序的间隔相等或不等的脉冲序列,以便通过译码电路产生最后所需要的节拍脉冲。

3、节拍脉冲和读写时序译码逻辑

根据环形脉冲发生器产生的脉冲,通过与门和与非门电路产生节拍。同时和微程序控制器中产生的读/写/对内存/对I/O设备等操作信号融合,实现对内存和外设的读写操作。

注:时序信号还不是微操作信号,而只是协调各部件工作的同步信号。

4、启停控制逻辑

根据计算机的需要,可靠地开放和封锁脉冲,控制时序信号的发生和停止,实现对整个机器的正确启动与停止。必须保证启动时输出的第一个脉冲和停止时输出的最后一个脉冲都是完整的脉冲。

1.同步控制方式(固定时序控制方式)

产生不同微操作命令序列所用的时序控制方式

1. 同步控制方式

任一微操作均由 统一基准时标 的时序信号控制

(1) 采用定长的机器周期

以最长的微操作序列 和最繁的微操作作为 标准

机器周期内节拍数相同

(2) 采用不定长的机器周期

机器周期内节拍数不等

(3) 采用中央控制和局部控制相结合的方法

局部控制的节拍宽度与中央控制的节拍宽度一致

优点:时序关系简单,时序划分规整,控制不复杂;控制逻辑易于集中,容易实现,便于管理。

缺点:时间安排不合理,会造成简单指令较多的空闲时间,影响指令执行速度,不利于发挥计算机高速运算的潜力。

应用场合:用于CPU和设备内部、系统总线操作(各挂接部件速度相近,传送时间确定,传送距离较近)。

2.异步控制方式(可变时序控制方式)

各项操作按需安排时间,不受统一时序控制。

特点:无统一时钟周期划分,各操作间的衔接和各部件之间的信息交换采用异步应答方式。

主设备:申请并掌握总线权的设备。

从设备:响应主设备请求的设备。

优点:   时间安排紧凑、合理、效率高;

缺点:   控制复杂,不容易实现。

应用场合:用于异步总线操作(各挂接部件速度差异大,传送时间不确定,传送距离较远)。

3.联合控制方式

大部分操作安排在固定的机器周期中,对某些时间难以确定的操作则以执行部件的“回答”信号作为本次操作的结束。

特点:同步方式引入异步应答。

优点:不浪费很多时间,控制上又不是很复杂。

这篇关于计算机组成原理(超详解!!) 第七节 中央处理器(上)的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!


原文地址:
本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.chinasem.cn/article/972465

相关文章

Java调用C#动态库的三种方法详解

《Java调用C#动态库的三种方法详解》在这个多语言编程的时代,Java和C#就像两位才华横溢的舞者,各自在不同的舞台上展现着独特的魅力,然而,当它们携手合作时,又会碰撞出怎样绚丽的火花呢?今天,我们... 目录方法1:C++/CLI搭建桥梁——Java ↔ C# 的“翻译官”步骤1:创建C#类库(.NET

Java Lambda表达式的使用详解

《JavaLambda表达式的使用详解》:本文主要介绍JavaLambda表达式的使用方式,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教... 目录一、前言二、Lambda表达式概述1. 什么是Lambda表达式?三、Lambda表达式的语法规则1. 无参数的Lambda表

Mysql的主从同步/复制的原理分析

《Mysql的主从同步/复制的原理分析》:本文主要介绍Mysql的主从同步/复制的原理分析,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教... 目录为什么要主从同步?mysql主从同步架构有哪些?Mysql主从复制的原理/整体流程级联复制架构为什么好?Mysql主从复制注意

详解如何使用Python构建从数据到文档的自动化工作流

《详解如何使用Python构建从数据到文档的自动化工作流》这篇文章将通过真实工作场景拆解,为大家展示如何用Python构建自动化工作流,让工具代替人力完成这些数字苦力活,感兴趣的小伙伴可以跟随小编一起... 目录一、Excel处理:从数据搬运工到智能分析师二、PDF处理:文档工厂的智能生产线三、邮件自动化:

Nacos注册中心和配置中心的底层原理全面解读

《Nacos注册中心和配置中心的底层原理全面解读》:本文主要介绍Nacos注册中心和配置中心的底层原理的全面解读,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教... 目录临时实例和永久实例为什么 Nacos 要将服务实例分为临时实例和永久实例?1.x 版本和2.x版本的区别

Spring @RequestMapping 注解及使用技巧详解

《Spring@RequestMapping注解及使用技巧详解》@RequestMapping是SpringMVC中定义请求映射规则的核心注解,用于将HTTP请求映射到Controller处理方法... 目录一、核心作用二、关键参数说明三、快捷组合注解四、动态路径参数(@PathVariable)五、匹配请

git stash命令基本用法详解

《gitstash命令基本用法详解》gitstash是Git中一个非常有用的命令,它可以临时保存当前工作区的修改,让你可以切换到其他分支或者处理其他任务,而不需要提交这些还未完成的修改,这篇文章主要... 目录一、基本用法1. 保存当前修改(包括暂存区和工作区的内容)2. 查看保存了哪些 stash3. 恢

java String.join()方法实例详解

《javaString.join()方法实例详解》String.join()是Java提供的一个实用方法,用于将多个字符串按照指定的分隔符连接成一个字符串,这一方法是Java8中引入的,极大地简化了... 目录bVARxMJava String.join() 方法详解1. 方法定义2. 基本用法2.1 拼接

Java中的record使用详解

《Java中的record使用详解》record是Java14引入的一种新语法(在Java16中成为正式功能),用于定义不可变的数据类,这篇文章给大家介绍Java中的record相关知识,感兴趣的朋友... 目录1. 什么是 record?2. 基本语法3. record 的核心特性4. 使用场景5. 自定

MyBatis编写嵌套子查询的动态SQL实践详解

《MyBatis编写嵌套子查询的动态SQL实践详解》在Java生态中,MyBatis作为一款优秀的ORM框架,广泛应用于数据库操作,本文将深入探讨如何在MyBatis中编写嵌套子查询的动态SQL,并结... 目录一、Myhttp://www.chinasem.cnBATis动态SQL的核心优势1. 灵活性与可