美文网首页NJUPT 计软院 复习资料
NJUPT《 计算机组成原理 》

NJUPT《 计算机组成原理 》

作者: Du1in9 | 来源:发表于2021-02-27 18:36 被阅读0次

    1/2 考前复习

    考试说明
    • 1、单选题,10分
    • 2、填空题,30分
    • 3、简答题,24分
    • 4、综合题,36分
    复习PPT答案

    https://wws.lanzoui.com/iEy7Pqwr3pi

    作业答案

    https://wws.lanzoui.com/iLOtLqwfrmh

    知识点临时整理

    https://wws.lanzoui.com/iA8bRqx6x4h

    2/2 学习笔记

    一、计算机系统概述

    • 导论

    1)计算机系统由不同的抽象层构成,计算的过程就是不同抽象层转换的过程。上层是下层的抽象,下层则是上层的具体实现。本课程涉及的内容主要位于图中 RTL 以上的微结构和 ISA 层次,介于软件和底层硬件电路之间。


    2)大部分的现代计算机系统都使用 ASCII 标准来表示文本字符,这种由 ASCII 字符构成的文件称为文本文件。

    hello.c 程序由文本文件高级语言程序到可执行文件的过程。

    3)内部结构
    总线:贯穿整个系统的一组电子管道。它携带信息字节井负责在各个部件间传递。
    I/O设备:系统与外界的联系通道(如磁盘、鼠标、键盘),每个I/O设备都通过一个控制器与总线相联。
    主存:临时存储设备,在处理器执行程序时,用来存放程序和处理的数据。

    4)硬件结构
    • 计算机的硬件组成

    1)硬件:是指计算机的实体部分,它由看得见摸得着的各种电子元器件、各类光、电、机设备的实物组成。
    软件:它是看不见摸不着的,由人们事先编制的具有各类特殊功能的程序组成。
    2)计算机体系结构:指那些能够被程序员所见到的计算机系统的属性,即概念性的结构和功能特性。
    计算机组成:指如何实现计算机体系结构所体现的属性,它包含了许多对程序员来说是透明的硬件细节。
    3)计算机功能
    数据处理、数据存储、数据传输、控制机构。
    前三种功能都必须要进行控制,控制是由计算机提供指令来施加的。
    图1:数据传输,图2:数据存储,图3:数据处理+数据存储,图4:数据处理



    4)美籍匈牙利数学家冯·诺依曼在1945年提出了存储程序控制的概念
    存储程序控制:
    ① 计算机是由运算器、存储器、控制器、输入设备、输出设备5个基本部件组成。
    ② 计算机内部采用二进制来表示指令和数据。
    ③ 将编好的程序和原始数据预先存入计算机的主存储器中,使计算机在工作时能够连续、自动、高速地取出一条条指令并加以执行,从而自动完成预定的任务。



    输入设备:用于向计算机中送入程序和数据的有一定独立功能的设备,通过接口和总线与计算机主机连通,用于人机交互联系。如键盘、鼠标等
    输出设备:用于送出计算机内部信息的设备。如打印机、显示器等。
    • 计算机的层次结构

    第零层是硬联逻辑级,是计算机的内核,由门、触发器等逻辑电路组成。
    第一层是微程序级。这级的机器语言是微指令集,用微指令编写的微程序一般是直接有硬件执行的。
    第二层是传统机器级。这级的机器语言是指机器的指令集,用机器指令编写的程序由微程序进行解释。
    第三层是操作系统级。从操作系统的基本功能来看,直接管理传统机器的软硬件资源。
    第四层是汇编语言级。语言是汇编语言,完成汇编语言翻译的程序叫汇编程序。
    第五层是高级语言级。这级是面向用户的,由各种高级语言程序支持和执行。通常用编译程序来完成各种高级语言的翻译。
    第六层是应用语言级。这级是为了使计算机满足某种用途而专门设计的,因此这一级语言就是各种面向问题的应用语言。



    二进制位:也称为位,基数为2的数字中的0或1,是信息的基本组成元素
    指令:计算机硬件所能理解并服从的命令
    机器语言:以二进制形式表示的机器指令
    汇编语言:以助记符形式表示的机器指令
    汇编程序:将指令由助记符形式翻译成二进制形式的程序
    编译程序:将高级语言翻译为计算机所能识别的机器语言的程序
    操作系统:为了使程序更好地在计算机上运行而管理计算机资源的监控程序

    • 计算机的主要技术指标

    1)机器字长
    指参与运算的基本位数,它是由加法器、寄存器的位数决定的。字长标志着计算机的精度,字长越长,计算机的精度就越高。
    机器字长以字节 Byte 为基本单位,用大写字母B表示。一个字节为8位二进制数(比特 bit)位,用小写字母b表示。我们通常提到的字(word)是指数据字,一般是16位,双字是32位。数据字和字长是有区别的,数据字是度量单位,用来度量各种数据类型的宽度,而字长表示数据运算的宽度,反映计算机处理信息的能力。
    2)数据通路宽度
    数据总线一次所能并行传送信息的位数,是指外部数据总线的宽度,与 CPU 内部的数据总线宽度可以不相同。它影响到信息的传输能力,从而影响计算机的有效处理速度。
    3)主存容量
    主存储器所能存储的全部信息量成为主存容量。一般以字节数来表示存储容量。1024 个字节称为 1KB 等
    4)运算速度
    影响计算机的运算速度有很多技术指标,主要包括:吞吐量、响应时间、CPU主频、CPU时钟周期、CPI、CPU执行时间、MIPS、MFLOPS 等
    ① 吞吐量:指计算机系统在单位时间内处理请求的数量。
    ② 响应时间:指计算机系统对请求作出响应的时间,包括CPU时间与I/O时间的总和。
    ③ 时钟频率:又称主频,表示在CPU内数字脉冲信号振荡的速度。
    单位:次/秒(Hz),1k = 10³, 1M = 10⁶, 1G = 10⁹
    ④ 时钟周期:主频的倒数,是CPU中最小的时间元素。单位:s。
    ⑤ CPI = 平均指令周期数/时钟周期 = 平均指令执行速度×时钟周期
    CPI:指每条指令执行的时钟周期数,单位:时钟周期/次。
    IPC:指每个时钟周期执行的指令数,单位:次/时钟周期。
    ⑥ 执行时间 = 时钟周期数/时钟频率 = 指令数×CPI/时钟频率
    ⑦ MIPS:表示每秒执行多少百万条指令。
    MIPS = 指令条数/执行时间×10⁶ = 时钟频率/CPI×10⁶ = 时钟频率×IPC×10⁶
    ⑧ MFLOPS: 表示每秒执行多少百万次浮点运算。
    MFLOPS = 浮点操作数/执行时间×10⁶

    二、信息在计算机中的表示

    • 信息表示的概述

    1)信息与数据
    百度百科:信息指音讯、消息、通讯系统传输和处理的对象,泛指人类社会传播的一切内容。
    维基百科:信息指为某种问题提供答案或解决不确定性的任何实体或形式。
    控制论创始人:信息指人们在适应外部世界,并反作用于外部世界的过程中,同外部世界进行互相交换的内容和名称。
    数据就是数值,是通过观察、实验、计算得出的结果。
    数据可以是数字、文字、图像和声音等。
    数据可以用于科学研究、设计、查证等。
    2)两者关系
    数据是反映客观事物属性的记录,是信息的具体表现形式,是信息的载体。
    信息是有一定含义的数据,信息需要经过数字化转变成数据才能存储和传输。
    3)编码
    指用少量简单基本符号,选用一定的组合规则,表示出大量复杂多样的信息。
    在计算机中,所有的数据都需要用二进制数进行编码。
    在计算机中”信息“分为两大类:
    ① 非数值数据:指字符、字符串、图形符号、汉字等数据,又称字符数据。

    ② 数值数据:指可以测量的,可以计数出来的数据,是有“量值”概念的数据。
    • 非数值数据的表示

    1)ASCII 码的编码特点
    ① 用7位二进制表示1个字符
    ② 可表示128个字符(数字字符、大小写字母、专用字符、控制字符)
    ③ 数字0-9的ASCII码对应30H-39H,同一英文字母的大小写相差20H
    ④ 内存中用一个字节来存放一个字符。其中低7位存放 ASCII 代码,最高位作为奇偶校验位。
    2)汉字
    汉字涉及4种编码:交换码、输入码、机内码、字形码。



    ① 交换码
    主要用于汉字信息处理系统之间,或通信系统之间交换信息使用。
    中国国家标准总局1980年颁布的《信息交换用汉字编码字符集基本集》(代号GB2312-80)规定汉字交换码作为国标码。
    ② 输入码
    主要用于从键盘输入汉字。常见的输入码有区位码、拼音码等。
    区位码定长4位,前2位表示区号,后2位表示位号。
    汉字的区号和位号均用十进制数表示。国标码=区位码(十六进制)+2020H
    例如:“学”的区位码是4907D,国标码是3107H+2020H=5127H
    ③ 机内码
    计算机内部用来标识汉字的编码。一个汉字由两个字节组成,为了与ASCII码区别,最高位均为1
    机内码 = 国标码+8080H;机内码 = 区位码+A0AH。
    例如:“学”的机内码是5127H+8080H=D1A7H
    ④ 字形码
    确定一个汉字字形点阵的代码。根据对汉字质量的不同要求,可有16 * 16、24 * 24、32 * 32、48 * 48的点阵结构。
    3)Unicode
    国际组织制定的可以容纳世界上所有文字和符号的字符编码方案。
    ① 编码方式
    用一个16位的二进制数(两个字节)来表示Unicode 的每一个符号。
    ② 实现方式
    Unicode 的编码是确定的,但由于不同系统平台的设计不一致,实现方式称为 Unicode 的转换格式(UTF)

    • 定点数和浮点数的表示方法

    1)定点数
    定点数就是小数点位置固定的数。分为两种:定点小数、定点整数。
    定点小数是指小数点位置固定在最高数值位之前符号位之后的数。
    定点整数是指小数点位置固定在最低数值位之后的数。


    例:机器字长为8位
    ① 原码机器表示范围:-0.1111111~0.1111111
    最大正数:1-2^-7
    最小正数:2^-7
    绝对值最大的负数:-(1-2^-7)
    ② 补码机器表示范围:-00000001~0.1111111
    最大正数:1-2^-7
    最小正数:2^-7
    绝对值最大的负数:-1
    ③ 原码机器表示范围:-01111111~01111111
    最大正数:2^7-1
    最小正数:1
    绝对值最大的负数:-(2^7-1)
    ② 补码机器表示范围:-10000000~01111111
    最大正数:2^-7-1
    最小正数:1
    绝对值最大的负数:-2^7
    2)浮点数
    ① 浮点数规格化:规格化数的非0尾数应满足 1/2≤|S|
    ② 规格化数的判别
    原码表示:规格化数的尾数应满足 1/2≤|S|<1
    补码表示:对于正数,规格化数的尾数应满足 1/2≤|S|<1
    对于负数,规格化的尾数应满足 -1/2>S≥-1
    ③ IEEE754 标准定义的浮点数格式:单精度格式、双精度格式、扩展精度格式。
    • 校验码

    1)数据校验码:具有检测错误或自动纠错能力的数据编码。
    合法编码:正确的数据编码。非法编码:错误的数据编码。
    校验码原理:在原有码的基础上增加一些冗余码,当合法数据编码出现某些错误时,就称为非法编码。
    码距:编码由码字构成,任意两个码字之间最少变化的二进制位位数,被称为“数据校验码的码距”。
    码距≥2的校验码才有检错能力。码距越大检纠错能力就越强,且检错能力 ≥ 纠错能力。
    校验位:编码系统中包含的非法编码称为冗余码。为了形成冗余码,在编码中增加的冗余位称为校验位。
    2)奇偶校验码
    一种开销小,能发现数据代码中1位或奇数个位出错情况的编码。
    编码规则:在k位数据码外增加1位校验位,使k+1位中为1的位数总为偶数或奇数。
    奇校验:整个编码中包含的1的个数为奇数
    偶校验:整个编码中包含的1的个数为偶数。
    例:原始数据为1011,奇校验码为01011,偶校验码为11011。
    方法:根据校验方程,当偶校验或奇校验出错=0时认为没有出错,否则出错。
    用途:存储器读写检查,或数据传送过程中的检查。
    3)海明校验码
    一种能够纠正 1 位出错,检测 2 位错,且自动恢复出错位的校验码。


    4)循环冗余校验码(CRC)
    用于多位串行数据传送中的检纠错处理,在 k 位数据位串行移位输出的过程中,用带有异或门控制的移位寄存器形成 r 个校验位的值,跟随数据位之后传送走。在接收端再对 k+r 位的码字进行合法与出错检查,若可能则自动纠错。
    • 定点数的加减运算

    1、补码
    正数的补码等于它本身。
    负数的补码等于"0"、"1"、符号取反,再加一。
    2、补码加法的运算公式
    [X]补+[Y]补=[X +Y]补
    例:X=0.1011,Y=-0.0101,求X+Y=?
    [X]补=0.1011,[Y]补=1.1011
    [X]补+[Y]补=0.0110(最高位丢掉)
    所以 X+Y=0.0110
    3、补码减法的运算公式
    [X]补-[Y]补=[X+(-Y)]补=[X]补+[-Y]补
    例:X=-0.1011,Y=-0.0110,求X-Y=?
    [X]补=1.0101,-Y=0.0110,[-Y]补=0.0110
    [X]补+[-Y]补=1.1011
    所以 X-Y=-0.0101
    4、溢出
    1)运算结果超出机器所能表示的数值范围的现象。
    两异号数相加或两同号数相减一定不会产生溢出;
    两同号数相加或两异号数相减才有可能产生溢出。
    2)溢出的判别方法
    ① 当两个正数相加结果为负,或两个负数相加结果为正时一定发生了溢出。
    ② 采用 "变形补码" 进行判断
    符号"00"表示正数,"11"表示负数,数值与普通补码一致。
    例:X=+1001,[X]变补=00 1001
    Y=-1001,[Y]变补=11 0111
    当两个符号位不相同时发生溢出。

    • 定点数的乘法运算

    一、逻辑移位
    针对无符号数的移位运算。
    1、逻辑左移1位
    将原有数中的每一位都向左移动1位,左面高位丢弃,右面低位补"0"。
    2、逻辑右移1位
    将原有数中的每一位都向右移动1位,右面低位丢弃,左面高位补"0"。
    二、算术移位
    1、原码移位操作
    符号位不变。数值单独移位,移走位丢弃,空出数位补"0"。
    2、补码移位操作
    正数:符号位不变。数值单独移位,移走位丢弃,空出数位补"0"。
    负数:符号位不变。数值单独移位,移走位丢弃,高位补"1"、低位补"0"。
    三、原码一位乘法
    符号位异或,两数绝对值相乘。被乘数取双符号位,部分积的长度同被乘数,初值为0。
    若Y=1,则部分积加上被乘数X,然后右移一位;若Y=0,则部分积加上0,然后右移一位。



    四、补码一位乘法
    符号位参加运算,运算数均以补码表示。被乘数取双符号位,乘数取单符号位。最后一步不移位。


    三、多层次的存储器

    • 3.1 存储器概述

    中央处理器由高速器件组成,不少指令的执行速度基本上取决于主存储器的速度。计算机解题能力的提高、应用范围的日益广泛、系统软件的日益丰富,无一不与主存储器的技术发展密切相关。

    一、基本概念
    1、存储器:计算机系统中的记忆设备,用来存放程序、数据。
    2、存储元:存储器的最小组成单位,用以存储1位二进制代码。
    3、存储单元:CPU访问存储器的基本单位,由多个具有相同操作属性的存储元组成。
    4、单元地址:存储器中用以表识存储单元的唯一编号,CPU通过该编号访问相应的存储单元。
    5、字存储单元:存放一个字的存储单元,相应的单元地址叫字地址。
    6、字节存储单元:存放一个字节的存储单元,相应的单元地址叫字节地址
    7、按字寻址计算机:可编址的最小单位是字的计算机。
    8、按字节寻址计算机:可编址的最小单位是字节的计算机。
    9、存储体:存储单元的集合,是存放二进制信息的地方。
    二、存储器分类
    1,按存储介质分类
    半导体存储器(易失),磁表面存储器、光盘存储器(非易失)。
    2,按存取方式分类
    顺序存储器:按顺序来存取,存取时间和存储单元的物理位置有关。例:磁带存储器。
    随机存储器:可以随机存取,存取时间和存储单元的物理位置无关。例:半导体存储器。
    3,按存储器的读写功能分
    只读存储器(ROM):只能读出不能写入的半导体存储器,存储的内容是固定不变的。
    随机读写存储器(RAM):既能读出又能写入的半导体存储器,分为静态RAM、动态RAM。
    4,按信息的可保存性分
    非永久记忆的存储器:断电后信息便消失的存储器。
    永久记忆性存储器:断电后信息仍能保存的存储器。
    5,按在计算机系统中的作用分
    主存储器、辅助存储器、高速缓冲存储器、控制存储器等。
    三、存储器的分级
    对存储器的要求是:容量大,速度快,成木低。
    为解决三者之间的矛盾,目前通常采用多级存储器体系结构,即高速缓冲存储器(寄存器、Cache)、主存储器、外存储器。
    四、主存储器的技术指标

    • 3.2 SRAM 存储器

    一、基本存储元:组成存储器的基础和核心,存储一位"0"或“1"。


    静态存储元陈列:任何一个SRAM,都有三组信号线。
    ① 地址线:A₅~A₀,决定了存储器的容量是 2^6=64 个存储单元。
    ② 数据线:I/O₃~I/O₀,决定了存储器的字长是4位。
    ③ 控制线:R/W,决定了存储器进行读(高电平)还是写(低电平)。

    二、SRAM 芯片的逻辑结构
    一个SRAM存储器由存储体、读写电路、地址译码、控制电路等组成。
    ① 存储体:将基本的存储电路有规则地组织起来,就是存储体。
    ② 双译码:图中,A0~A7 经行译码输出256行,A8~A14 经列译码输出128列。
    ③ 控制电路:CS 是片选信号,有效时(低电平)打开门 G1、G2。
    ④ 读写电路:OE 是读出信号,WE 是写信号。门G1、G2是互锁的,一个开启时另一个关闭。

    三、存储器的读、写周期
    1、读出时间(tAQ):从给出有效地址到外部数据总线上稳定地出现读出数据信息所经历的时间。
    2、读周期时间(tRC):存储器进行两次连续读操作时所间隔的时间,它总是大于等于读出时间。
    3、写周期时间(tWC):通常称为存储周期。为了控制方便,一般取 tRC = tWC。
    • 3.3 DRAM 存储器

    一、单管动态存储元:与SRAM相比集成度更高,功耗更低,应用广泛。


    二、DRAM 芯片的逻辑结构
    两个电源脚、两个地线脚、一个空脚(NC)
    A0~A10:地址输入线。D1~D4:数据输入/输出线
    CAS:列地址选通信号线。WE:写控制信号 。OE:读控制信号
    RAS:行地址选通信号线。(兼片选信号作用,整个读写周期处于有效状态)

    DRAM时序

    三、DRAM的刷新
    1、集中式刷新
    集中式刷新适用于高速存储器,存在不能进行读写操作的死区时间。
    例如:对于 128×128 矩阵存储器。设刷新周期为2ms,存取周期为0.5us,则刷新周期共有4000个存取周期。其中3872个周期(1936us)用来读写或维持信息,128个周期(64us)用来刷新。这64us内不能进行读写操作,称为“死区时间”,所占比例为128/4000×100%=3.2%,称为“死时间率”。

    2、分散式刷新
    分散式刷新既可以缩短“死区时间”,又充分利用最大刷新间隔为2ms的特点。
    例如:对于 128×128 矩阵存储器。设存取周期为0.5us,则在2ms内把128行刷新一遍:2000us/128≈15.5us。即每15.5us刷新一行,而每行刷新时间仍为0.5us,这样刷新一行只停止一个存取周期。对于每行来说,刷新间隔时间仍为2ms,而“死区时间”缩短为0.5us。

    四、DRAM和SRAM的比较
    通常,容量不大的高速缓冲存储器大多用SRAM实现。
    1、DRAM的优点:
    ① 在同样大小的芯片中,DRAM的集成度远高于SRAM。
    ② DRAM 行、列地址按先后顺序输送,减少了芯片引脚,封装尺寸也减少。
    ③ DRAM 的价格比SRAM便宜。
    2、DRAM的缺点:
    ① 由于使用动态元件(电容),速度比SRAM慢。
    ② DRAM需要再生,故需配置再生电路,也需要消耗一部分的功率。
    五、存储器容量的扩充
    1、位扩展法。2、字扩展法。3、字位扩展法。
    • 3.4 只读存储器和闪速存储器

    1、什么是闪速存储器
    在 EPROM 和 E²PROM 基础上的一种新型的、性价比更好、可靠性更高的可擦除非易失性存储器。既有EPROM价格便宜、集成度高的优点,又有EEPROM电可擦除重写的特性。
    2、闪速存储器的工作原理
    在EPROM基础上增加了电路的电擦除和重新编程能力。
    ① 保证TTL电平的控制信号输入;
    ② 在擦除和编程过程中稳定供电;
    ③ 最大限度的与EPROM兼容。

    • 3.5 并行存储器

    由于CPU和主存储器在速度上不匹配,限制了高速计算。
    为使CPU不至因为等待存储器读写而无事可做,可以采取以下一些措施:
    1、采用空间并行操作方式(双端口存储器) 
    2、提高时间读出并行性(多模块交叉存储器)
    3、采用更高速的技术来缩短存储器的读出时间(相联存储器)
    一、双端口存储器
    同一个存储器具有两组相互独立的读写控制线路,是一种高速工作的存储器。


    二、多模块交叉存储器
    1、 并行主存系统

    2、多模块交叉存储器
    1)存储器的模块化组织
    由若干个模块组成的主存储器是线性编址的。这些地址有两种安排方式:顺序方式、交叉方式。


    2)存储器的编址方式、存取方式

    三、相联存储器
    1、基本原理
    相联存储器不是按地址访问的存储器,而是按内容寻址的存储器。
    2、相联存储器的组成
    • 3.6 Cache存储器

    一、存储体系
    1、存储体系
    把各种不同存储容量、不同存取速度、不同价格的存储器组成层次结构,并通过管理软件、辅助硬件将不同性能的存储器组合成有机的整体,称为计算机的存储体系。


    2、实现原理:程序访问的局部性原理
    程序访问的局部性原理:对局部范围的地址频繁访问,而范围以外的地址则访问甚少的现象。
    ① 时间局部性:如果一个信息项正在被访问,那么在近期它很可能还会被再次访问。(程序循环、堆栈)
    ② 空间局部性:在最近的将来要用到的信息很可能与现在使用的信息在空间地址上是临近的。(指令顺序执行、数组存放)
    3、存储体系结构特点
    ① 包含性
    ② 相邻层之间的数据传送单位
    CPU ⇄ 高速缓存:字 (假设1个字包含4个字节)
    高速缓存 ⇄ 主存储器:块 (每块32/64个字节)
    主存 ⇄ 磁盘:页面 (每页4K字节,包含128块)
    4、存储体系的性能
    命中:在Mi中找到一个信息项时称为命中,反之称为失效。
    命中率:在 Mi 层的命中率 hi 是信息项可在 Mi 中找到的概率。
    失效率:在 Mi 中的失效率定义为 1-hi。
    二、cache基本原理
    cache由高速的SRAM组成,工作速度数倍于主存,全部功能由硬件实现,并且对程序员是透明的。

    1、cache概念
    1)CPU与主存储器之间的一种高速缓冲装置。
    2)cache-主存层次结构:由硬件变换地址和控制调度构成。
    2、cache的设计依据
    CPU这次访问过的数据,下次有很大可能也是访问附近的数据。
    3、cache控制逻辑
    依据地址判断此字是否在cache中,若在则立即传送给CPU 。
    三、cache的基本结构
    由cache存储体、地址映射变换机构、cache替换机构几大模块组成。

    命中率:指CPU所要访问的信息在cache中的比率。
    失效率:指CPU所要访问的信息不在cache中的比率。
    • 3.7 虚拟存储器

    一个用户的程序不再分配连续的内存空间,而是把物理存储器分成多个较小等长的存储块,称为页面。
    每个进程所需的存储空间被划分成小的固定长度的程序块,称为页。页的长度和页面相等。
    分页技术引申出一种非常重要的存储管理策略——虚拟存储器(虚存)。
    在存储管理部件(MMU)的支持下,虚拟存储器技术可以彻底解决存储器的调度与管理问题。

    一. 虚拟存储器的基本概念
    虚拟存储器,是建立在主存-辅存基础上的,由负责信息划分及信息调度的辅助硬件及操作系统的存储管理软件所组成的一种存储体系。
    虚拟存储器,是一个容量非常大的存储器的逻辑模型,不是任何实际的物理存储器。
    虚拟存储器,指的是主存-辅存层次。以透明的方式给用户提供了比实际主存空间大得多的程序地址空间。
    二. 虚地址和实地址
    1、虚拟存储器的辅存部分也能被用户像内存一样使用,用户编程时的指令地址允许涉及辅存大小的空间范围,这种指令地址称为“虚地址”。对应的存储空间称为“虚存空间”。
    2、实际的主存储器地址则称为 “实地址”。它由CPU引脚送出,是用于访问主存的地址。对应的存储空间称为“主存空间”。
    三. cache与虚存的异同
    1、cache-主存和主存-辅存这两个存储层次的相同点:
    1)出发点相同。2)原理相同。
    2、cache-主存和主存-辅存这两个存储层次的不同点:
    1)侧重点不同。2)数据通路不同。3)透明性不同。4)未命中时的损失不同。
    四. 虚存机制面临的问题
    1)调度问题。2)地址映射问题。3)替换问题。4)更新问题。
    五. 几种虚拟存储器
    由于存储映射算法不同,形成了多种存储器管理方式的虚拟存储器,其中主要有页式、段式、段页式三种。
    1、页式虚拟存储器
    虚地址空间被分成等长大小的页,称为逻辑页。
    主存空间也被分成同样大小的页,称为物理页。
    虚地址分为两个字段:高字段为逻辑页号,低字段为页内地址(偏移量)。
    存地址分为两个字段:高字段为物理页号,低字段为页内地址。
    为了避免对主存访问次数的增多,把页表中最活跃的部分存放在高速存储器中组成快表。保存在主存中的完整页表则称为慢表。


    2、段式虚拟存储器
    段式虚拟存储器,是以程序的逻辑结构所形成的段(如主程序、子程序、过程、表格等)作为主存分配单位的虚拟存储器。
    段式虚拟存储系统中,虚地址由段号、段内地址(偏移量)组成。虚地址到主存地址的变换通过段表实现。
    段表的每一个表项对应一个段。每个表项至少包含三个字段:有效位、段起址、段长。

    3、段页式虚拟存储器
    将段式管理和页式管理相结合,就构成了虚存的段页式管理。
    程序按页进行调入和调出操作,但可按段进行编程、保护和共享,兼备页式和段式的优点。目前大中型机都采用这种虚拟存储器。
    每道程序均通过一个段表和多个页表进行两级再定位。

    六、虚拟存储器的替换算法
    1、替换算法:一般采用LRU算法、LFU算法、FIFO算法,或将两种算法结合起来使用。
    FIFO+LRU算法比FIFO算法的命中率高。
    2、写操作:在页表的每一行应设置一个修改位。
    3、存储管理部件MMU:实现逻辑地址到物理地址的转换,并在页面失效时进行调页。
    • 3.8 奔腾系列机的虚存组织

    一、存储器模型
    1)平坦存储器模型:内存被组织成单一的、连续的地址空间,称为“线性地址空间”。
    2)分段存储器模型:每个程序使用一组独立的地址空间,每个空间就是一个段(最大长度为4GB)。
    3)实地址模式存储器模型:线性地址空间(最大长度为2^20B)被分为段(最大长度为64KB)。
    二、 虚地址模式
    1、IA-32 体系结构微处理机的虚拟存储器通过两种方式实现:分段、分页。
    2、存储管理部件
    ① 分段部件SU:将逻辑地址转换为线性地址。
    ② 分页部件PU:将线性地址转换为物理地址。
    3、在分段部件SU、分页部件PU中,每一部分都可以独立打开或关闭。
    1)不分段不分页模式:程序中使用的逻辑地址与物理地址相同。
    2)分段不分页模式:无需访问页目录表和页表,地址转换速度快。
    3)分段分页模式:在分段基础上添加分页存储管理的模式。
    4)不分段分页模式:纯分页的虚拟地址模式,即平坦地址模式。
    三、分页模式下的地址转换
    1、4KB 分页功能
    ① 分页
    将内存划分成大小相同的存储块,称为物理页面(4KB);
    内存最大4GB的空间可以分为 1M(1048576)个页面。
    ② 线性地址格式


    ③ 地址转换

    2、4MB 分页功能
    页面大小为4MB的分页方式,使用单级页表。减少了一次主存访问,地址转换加快了。
    32位线性地址分为高10位的页面和低22位的页内偏移两个字段。且全系统只有一张页表(1K个表项,每项4字节),由控制寄存器CR3指向。

    四、指令系统

    • 4.1 指令系统的发展与性能要求

    一、基本概念
    1、机器语言是由一系列的指令组成的,指令的格式就是机器语言的语法。
    2、从计算机组成的层次结构来说,分为微指令、机器指令(简称指令)、宏指令。
    3、一台计算机中所有机器指令的集合,称为指令系统或指令集,是表征计算机性能的重要因素。
    4、指令系统庞大的计算机称为复杂指令系统计算机,简称CISC。
    便于VLSI技术实现的计算机称为精简指令系统计算机,简称RISC。
    二、对指令系统性能的要求
    1、完备性
    用汇编语言编写各种程序时,指令系统直接提供的指令足够使用,而不必用软件来实现。台计算机中最基本、必不可少的指令是不多的。
    2、有效性
    利用该指令系统所编写的程序能够高效率地运行。程序占据存储空间小、执行速度快、功能更强、更完善。
    3、规整性
    ① 对称性:所有的寄存器和存储器单元都可同等对待,所有的指令都可使用各种寻址方式。
    ② 匀齐性:例如算术运算指令可支持字节、字、双字整数的运算,十进制运算,单、双精度浮点数运算。
    ③ 指令格式和数据格式的一致性:例如指令长度和数据长度通常是字节长度的整数倍,以便处理和存取。
    4、兼容性
    由于不同机种推出的时间不同,在结构和性能上有差异,做到所有软件都兼容是不可能的,只能做到“向上兼容”。
    三、低级语言与硬件结构的关系
    计算机能直接识别和执行的唯一语言是二进制机器语言,必须借助编译程序,把高级语言翻译成二进制码组成的机器语言。汇编依赖于计算机的硬件和指令系统,不同机器有不同的指令,所以汇编编写的程序不能在其他机器上运行。

    • 4.2 指令格式

    影响指令格式的因素:机器的字长、存储器的容量、指令的功能。
    指令 = 操作码字段OP + 地址码字段A
    一、操作码
    1、操作码是说明指令操作性质的二进制代码,如加减乘除法、存取数等。
    2、操作码所占的二进制位数决定了一台计算机所能允许的指令条数。
    例:操作码占用六位二进制码时,计算机最多有: 2^6=64 条指令。
    3、操作码字段分两种
    ① 固定长度操作码,操作码的长度是固定的,且集中地放在指令的同一字段中。这种格式有利于简化硬件设计,减少译码时间。
    ② 可变长度操作码,操作码的长度是可变的,且分散地放在指令的不同字段中。这种格式有利于压缩程序中操作码的平均长度。
    4、使用频度高的指令分配较短的操作码,频度低的分配较长的操作码。这样既有效地缩短操作码在程序中的平均长度,节省存储空间,又缩短常用指令的译码时间以提高程序的运行速度。
    缺点:译码系统比固定操作码复杂,增加了设计控制器的难度,需要更多的硬件支持。
    二、地址码
    1、地址码用来指出该指令的源操作数地址、结果地址及下一条指令的地址。
    2、① 四地址指令
    若指令字长32位,操作码占8位,4个地址段各占6位,则指令的直接寻址范围为:2^6 = 64


    ② 三地址指令
    各项含义与四地址指令相同,由于采用了指令计数器 (PC),省去了A4地址。
    若指令字长32位,操作码占8位,3个地址段各占8位,则指令的直接寻址范围为:2^8 = 256
    ③ 二地址指令
    若指令字长32位,操作码占8位,2个地址段各占12位,则指令的直接寻址范围为:2^12 = 4K

    ④ 一地址指令
    若指令字长32位,操作码占8位,1个地址段各占24位,则指令的直接寻址范围为:2^24 = 16M
    隐含了一个操作数地址和目的地址,这个隐含地址就是运算器的累加寄存器AC。

    ⑤ 零地址指令
    没有操作数地址的指令,如停机指令就是零地址指令。
    完成一条四/三/二地址指令共需四次访存(取指令一次,取两个操作数两次,存结果一次);完成一条一地址指令只需两次访存。
    3、在二地址指令格式中,从操作数的物理位置来分,指令可以分为三种类型:存储器-存储器(SS)型指令、寄存器-寄存器(RR)型指令、寄存器-存储器(RS)型指令。
    三、指令字长度
    1、机器字长
    简称字长,指计算机能直接处理的二进制数据的位数。字长越长,运算精度越高。
    字长还能反映指令的寻址能力,若字长n位全用来寻址,可直接寻址2^n个字节。
    一般把机器字长定为字节长度(8位)的整数倍,即8位、16位、 32、64位。
    2、指令字长
    指一个指令字中包含的二进制代码的位数。指令字的长度也定为字节长的整数倍。
    指令字长与机器字长没有固定的关系,它可以等于、大于或小于机器字长。
    • 4.3 操作数类型

    1、地址数据
    多数情况下,对指令中操作数的引用必须完成某种计算,才能确定它们在主存中的有效地址,此时地址被看成无符号整数。
    2、数值数据
    ① 定点整数或定点小数。② 浮点数。③ 压缩BCD码 。
    3、字符数据
    也称文本数据或字符串,目前广泛使用ASCII码。
    4、逻辑数据
    一个单元中有几位二进制位项组成,每位的值可以是1或0。当数据以这种方式看待时,称为逻辑数据。

    • 4.4 指令和数据的寻址方式

    寻址方式:当采用地址指定方式时,形成操作数或指令地址的方式。
    寻址方式分为两类:指令寻址方式、数据寻址方式。前者比较简单,后者比较复杂。
    一、指令寻址方式
    1、顺序寻址方式:下条指令的地址码由程序计数器PC给出。指令地址在内存中按顺序安排。
    2、转移寻址方式:下条指令的地址码不由程序计数器PC给出,而是由本条指令给出。


    二、操作数基本寻址方式
    寻址:就是把操作数的形式地址,变换为操作数的有效地址的过程。
    指令中操作数字段的地址码由:形式地址A(偏移量)、寻址方式特征位(变址位、间址位)等组合形成。

    1、隐含寻址:在指令中操作数或操作数的地址隐含在某个通用寄存器中或指定的存储单元中。
    2、立即寻址:所需操作数由指令直接给出。取指令时将操作码和一个操作数同时取出,不必再次访问存储器,提高执行速度。
    3、直接寻址:指令地址字段中直接指出操作数在内存的地址A。
    4、间接寻址:指令地址字段中的形式地址A不是操作数D的真正地址,而是存放其主存单元的地址,简称操作数地址的地址。
    5、寄存器寻址:指令中给出的操作数地址不是内存的地址单元号,而是通用寄存器的编号。
    6、寄存器间接寻址:将操作数放在主存储器中,而其地址放在通用寄存器中,并在指令的地址码部分给出该寄存器的编号。
    7、偏移寻址:直接寻址与寄存器间接寻址的结合。
    常用的三种偏移寻址:相对寻址、基址寻址(面向系统)、变址寻址(面向用户)。
    8、段寻址:这种寻址方式的实质依然是基址寻址。
    9、堆栈寻址:存储器的一部分用作堆栈,采用“先进后出”的工作方式。
    • 4.5 典型指令

    一、指令的分类
    1、数据传送类指令
    取数指令、存数指令、传送指令、成组传送指令、字节交换指令、清寄存器指令、堆栈操作指令。
    2、算术运算指令
    二进制定点加、减、乘、除指令,浮点加、减、乘、除指令,求反、求补指令,算术移位指令,算术比较指令,十进制加、减运算指令。
    3、逻辑运算指令
    逻辑加、逻辑乘、逻辑比较、测等指令、按位加、逻辑移位指令。
    4、程序控制指令
    条件转移指令、无条件转移指令、转子程序指令、返回主程序指令、中断返回指令。
    5、输入输出指令
    用来启动外围设备,检查其工作状态,并实现外部设备和CPU之间的信息传送。
    6、字符串处理指令
    一种非数值处理指令。字符串传送、字符串转换、字符串替换。
    7、陷阱(TRAP)指令
    实现把发生的故障通知CPU,并根据情况转入相应的故障处理程序。
    8、特权指令
    具有特殊权限的指令。只用于操作系统或其他系统软件,不直接提供给用户使用。
    9、其他指令
    状态寄存器置位、复位指令、测试指令、暂停指令,空操作指令等。
    二、精简指令系统计算机
    1、RISC和CISC
    ① RISC,精简指令系统计算机。提供数目较少、格式与功能简单、运行高效的指令。
    特点:计算机控制器实现简单,运行高速,更容易在单块超大规模集成电路的芯片内制做出来。
    实质:简化指令系统,尽量使用寄存器-寄存器操作指令,指令操作在一个周期内完成,指令格式力求一致,以利于提高编译的效率。
    ② CISC,复杂指令系统计算机。相对于 RISC 而提出来的一种说法。
    特点:指令条数多,格式多样,寻址方式复杂,每条指令的功能强。汇编程序设计容易些,但计算机控制器的实现困难,很多指令被使用的机会不多。
    2、性能指标
    机器上运行的机器指令数为I;
    • 每条机器指令执行时所需要的平均机器周期数是C;
    • 每个机器周期的执行时间为T;
    计算机执行程序的时间P可用下式计算:
    3、指令系统的兼容问题
    ① CISC的兼容性:当前,计算机公司生产的各种CISC都能够实现软件兼容。
    ② RISC的兼容性:RISC机则将指令做了简化,数量减少,格式也不同,与老机器不能兼容。

    五、中央处理器

    • 5.1 CPU的功能和组成

    一、CPU的功能


    指令控制:即程序的顺序控制,程序中指令顺序不能任意颠倒。
    操作控制:一条指令由若干操作信号实现。
    时间控制:对指令的各种操作实施时间的定时。
    数据加工:对数据进行算术运算和逻辑运算处理。
    二、CPU的基本组成

    1、控制器
    由程序计数器、指令寄存器、指令译码器、时序产生器、操作控制器组成,协调和指挥整个计算机系统的操作。
    主要功能:
    1)从指令cache中取出一条指令,并指出下一条指令在指令cache中的位置。
    2)对指令进行译码或测试,并产生相应的操作控制信号,以便启动规定动作。
    3)指挥并控制CPU、数据cache和输入/输出设备之间数据流动的方向。
    2、运算器
    由算术逻辑单元ALU、通用寄存器、数据缓冲寄存器DR、状态条件寄存器PSW组成,是数据加工处理部件。所有操作由控制器发出的控制信号来指挥。
    三、CPU中的主要存储器
    1、指令寄存器 IR
    ① 保存当前执行的指令。当执行一条指令时,先将其从指令cache(指存)读出,传送至IR。
    ② IR中指令操作码字段经过指令译码器译码,向操作控制器发出具体操作的特定信号。
    ③ 在执行该指令的时,IR的内容不发生变化,以保证实现指令的全部功能。
    2、程序计数器 PC
    ① 程序开始执行前,将起始地址(程序的第一条指令所在的地址)送入PC。
    ② 执行指令时,CPU自动修改PC的内容,使PC中总是存放将要执行的下一条指令的地址(指令顺序执行,PC+1)
    ③ 执行转移指令时,后继指令地址由转移指令来规定,因此PC具有寄存器、计数两种功能。
    3、数据地址寄存器 AR(也称MAR)
    保存当前CPU所访问的数据cache(数存)单元的地址。
    4、数据缓冲寄存器 DR(也称MDR)
    ① 暂存ALU的运算结果,作为ALU运算结果和通用寄存器之间信息传送中时间上的缓冲。
    ② 暂存数据存储器读出的一个数据字或来自外部接口的一个数据字,补偿CPU和外存、外围设备操作速度上的差别。
    5、通用寄存器组
    ① ALU执行算术或逻辑运算时,为ALU提供一个工作区。
    ② 寄存器既可以存放源操作数,又可以存放结果操作数,因此在指令格式中要对寄存器号加以编址。
    ③ 通用寄存器还可以用作地址指示器、变址寄存器、堆栈指示器等。
    6、状态字寄存器 PSW
    一个由各种状态条件标志拼凑而成的寄存器。
    ① 保存由算术和逻辑指令运算结果建立的各种条件信息,如运算结果进位标志、运算结果溢出标志。
    ② 保存中断和系统工作状态,以便CPU和系统及时了解机器运行状态和程序运行状态。
    四、操作控制器与时序产生器
    数据通路:寄存器之间传送信息的通路。
    操作控制器:完成在各寄存器之间建立数据通路的任务。
    操作控制器可以分成两种:
    ① 硬布线控制器——采用时序逻辑实现
    ② 微程序控制器——采用存储逻辑实现
    操作控制器产生的控制信号必须实施时间上的控制,因此必须有时序产生器。
    CPU中其他功能部件:中断系统、总线接口等。
    • 5.2 指令周期

    一、基本概念
    1、指令周期
    指令周期:取指令、分析指令到执行完该指令所需的全部时间。
    各种指令的操作功能不同,因此各种指令的指令周期不尽相同。
    用主存中读取一个指令字的最短时间来规定CPU周期。
    2、节拍脉冲
    一个CPU周期中,含若干相等的时间段,即T周期(节拍脉冲,处理操作的最基本时间单位)
    节拍常用具有一定宽度的电位信号表示,信号宽度取决于CPU完成一次基本微操作的时间。
    二、MOV 指令的指令周期
    MOV指令是RR型指令,需要两个CPU周期——取指、执行。


    三、LAD 指令的指令周期
    LAD指令是RS型指令,需要两个CPU周期——取指、访问指存、访问数存。

    四、ADD 指令的指令周期
    MOV指令是RR型指令,需要两个CPU周期——取指、执行。
    五、STO 指令的指令周期
    STO指令是RS型指令,需要两个CPU周期——取指、访问指存、访问数存。

    六、JMP 指令的指令周期
    MOV指令是RR型指令,需要两个CPU周期——取指、执行。
    七、用方框图语言表示指令周期
    • 5.3 时序产生器和控制方式

    从时间上来说,“取指令”发生在指令周期的第一个CPU周期,而取数据事件发生在“执行指令”阶段。
    硬布线控制器:主状态周期 — 节拍电位 — 节拍脉冲三级体制
    微程序控制器:节拍电位 — 节拍脉冲二级体制
    一、时序信号产生器
    1、时钟源
    为环形脉冲发生器提供频率稳定且电平匹配的方波时钟脉冲信号。
    2、环形脉冲发生器
    产生一组有序的间隔相等或不等的脉冲序列。
    3、启停控制逻辑
    当计算机启动时,一定要从第1个节拍脉冲前沿开始工作。
    当计算机停机时,一定要在第4个节拍脉冲结束后关闭时序产生器。


    二、控制器的控制方式
    1、同步控制方式:对机器的所有指令采用统一的时序信号。
    2、异步控制方式:采用“结束——起始”的工作方式,无统一的时序信号。
    3、联合控制方式:将同步控制方式、异步控制方式结合使用。
    1)硬布线控制器的特点
    优点:速度快。缺点:缺乏规整性、缺乏灵活性。
    2)微程序控制器的特点
    优点:规整性、灵活性、可维护性好。缺点:速度慢。
    • 5.4 微程序控制器

    目前,大型机、小型机、微型机都普遍采用了微程序设计技术(一种用软件方法来设计硬件的技术)。
    基本思想:把操作控制信号编制成微指令,存放到控制存储器中。运行时再从控存中取出微指令,产生指令运行所需的操作控制信号。
    一、微程序控制原理
    1、微命令和微操作
    微命令:构成控制序列的最小单位。
    微操作:执行部件中最基本的操作。
    ① 能同时或在同一个CPU周期内可以并行执行的微操作。
    ② 不能同时或不能在同一个CPU周期内并行执行的微操作。
    2、微指令和微程序
    微指令:一个CPU周期中,实现一定操作功能的微命令的组合。
    一条微指令至少包含两部分信息:
    ① 操作控制字段(又称微操作码字段),用以产生某一操作所需的微操作控制信号。
    ② 顺序控制字段(又称微地址码字段),用以控制产生下一条要执行的微指令地址。
    微地址 :存放微指令的控制存储器的单元地址。
    微程序:一系列微指令的有序集合,一段微程序对应一条机器指令。
    3、微程序控制器原理框图


    ① 控制存储器(μCM)
    微程序控制器的核心部件,存放实现全部指令系统的微程序,是一种只读型存储器。
    控制存储器的要求:速度快,读出周期短。
    ② 微指令寄存器(μIR)
    微地址寄存器:决定将要访问的下一条微指令的地址。
    微命令寄存器:保存微指令的操作控制字段、判别测试字段的信息。
    ③ 地址转移逻辑
    微程序顺序执行时,下一条微指令的地址由微地址寄存器给出。
    微程序出现分支时,通过判别测试字段和执行部件的“状态条件”反馈信息,修改微地址寄存器的内容,然后去读下一条微指令。
    4、CPU周期与微指令周期的关系
    串行方式的微程序控制器中,微指令周期 = 读出微指令的时间 + 执行微指令的时间。

    二、微程序设计技术
    1、微命令的编码
    ① 直接表示法

    ② 编码表示法

    ③ 混合表示法
    2、微地址的形成
    初始微地址的形成 ⇒ 后继微地址的形成
    3、微指令的格式
    ① 水平型微指令:一次能定义并能并行执行多个微命令。
    ② 垂直型微指令:一次只能执行1或2个微命令,有操作码。
    • 5.5 硬连线控制器

    组合逻辑控制器:通过逻辑电路直接连线而生成的控制器。
    设计目标:使用最少元件(复杂的树形网络),速度最快。
    设计步骤:1、画出指令流程图。
    2、列出微操作时间表。
    3、进行微操作信号的综合。
    4、实现电路。

    • 5.6 流水CPU

    一、并行处理技术
    1、时间并行:让多个处理过程在时间上相互错开,轮流使用同一套硬件设备的各个部分,以加快硬件周转。
    2、空间并行:以“数量取胜”为原则来大幅度提高计算机的处理速度。
    3、时间并行+空间并行:时间重叠与资源重复的综合应用。
    二、流水线原理
    把任务分割成一系列子任务,使其能在流水线的各个阶段并发执行。将任务连续不断地输入流水线,从而实现子任务级的并行,大幅度改善计算机的系统性能。


    ① 从本质上讲,流水线技术是一种时间并行技术。且需要有装入时间和排空时间。
    ② 在流水线中,要求各个阶段的处理时间都相同,否则会引起堵塞、断流的现象。
    ③ 在流水线中,必须是连续的任务,只有不断的提供任务才能充分发挥它的效率。
    ④ 在流水线中的每个功能部件之后都要有一个缓冲寄存器(又称锁存器)。
    三、流水CPU结构
    1、流水计算机的系统组成
    图中CPU按流水线方式组织,通常由三大部分组成:指令部件、指令队列、执行部件。这三个功能部件组成一个3级流水线。

    2、流水线分类
    ① 指令流水线:指令步骤的并行。
    ② 算术流水线:运算步骤的并行。如流水加法器、流水乘法器等。
    ③ 处理机流水线(宏流水线):程序步骤的并行。
    四、流水线中的主要问题
    流水过程中会出现以下三种相关冲突,使其更难实现不断流。
    1、资源相关:多条指令进入流水线后在同一机器时钟周期内争用同一个功能部件所发生的冲突。
    2、数据相关:在流水计算机中,由于多条指令的重叠处理,当后继指令所需操作数刚好是前一指令的运算结果时,便发生“先读后写”的数据相关冲突。
    3、控制相关:执行转移指令时,依据转移条件的产生结果,可能为顺序取下条指令;也可能转移到新的目标地址取指令,从而使流水线发生断流。

    六、总线系统

    • 6.1 总线

    一、总线的基本概念
    1、什么是总线
    总线:各模块之间进行信息传送的公共通路。
    借助于总线连接,计算机在各功能部件间实现地址、数据、控制信息的交换。
    2、总线的分类
    ① 内部总线:CPU内部连接各寄存器及运算部件的总线。
    ② 系统总线:CPU同其他高速功能部件(如存储器、通道)互相连接的总线。
    ③ I/O总线: 中、低速I/O设备之间互相连接的总线。
    3、总线的性能指标
    ① 总线宽度
    数据总线的根数。例:16位总线,指数据总线为16根。
    ② 寻址能力
    取决于地址总线的根数。例:地址总线为32位,寻址能力达4GB。
    ③ 传输率(总线带宽)
    指总线的最高数据传输率。计算公式:Dr = D×f/N
    D:数据宽度,f:总线时钟频率,N:一次数据传送的时钟周期数。
    ④ 是否支持突发传送
    正常传送:每个传送周期先传送数据的地址,再传送数据。
    突发传送:支持成块连续数据的传送,只需给出数据块的首地址。
    ⑤ 负载能力
    总线上能够连接的设备数。
    二、总线的连接方式
    1、单总线结构
    优点:控制简单、易扩充、使用率高。
    缺点:分时工作,导致很大的时间延迟,总效率低。


    2、多总线结构

    三、总线的内部结构
    1、早期总线的内部结构
    早期的总线是处理器芯片引脚的延伸,是处理器与I/O设备适配器的通道。这些线按功能可分为:地址总线、数据总线、控制总线。

    2、总线结构实例

    3、南北桥芯片
    CPU总线、PCI总线、ISA总线通过两个桥芯片连成整体。
    桥芯片起到了信号速度缓冲、电平转换、控制协议的转换作用。
    通过 "桥" 将总线粘合在一起的技术特别适合于系统的升级换代。
    • 6.2 总线的接口

    一、信息传送方式
    出于速度和效率的考虑,系统总线上传送的信息必须采用并行传送方式。
    1、串行传送
    只有一条传输线且采用脉冲传送。优点:成本低廉。
    2、并行传送
    每个数据位都需要单独一条传输线。优点:速度快。
    3、分时传送
    传输线上既传送地址信息,又传送数据信息。
    二、总线接口的基本概念
    1、总线接口(I/O设备适配器)
    指CPU和主存、外围设备之间通过总线进行连接的逻辑部件。
    2、接口功能
    ① 控制:接口靠程序的指令信息来控制外围设备,如启动、关闭设备。
    ② 缓冲:接口在外围设备和计算机其他部件之间用作为缓冲器,以补偿速度上的差异。
    ③ 状态:接口监视外围设备的工作状态并保存。如数据 "准备就绪"、"忙"、"错误" 等,供CPU询问外围设备时进行分析。
    ④ 转换:接口可以完成任何要求的数据转换,如并-串转换、串-并转换,因此数据能在外围设备和CPU之间正确地传送。
    ⑤ 整理:接口可以完成一些特别的功能,如可以修改字计数器或当前内存地址寄存器。
    ⑥ 程序中断:每当外围设备向CPU请求动作时,接口发送一个中断请求信号到CPU。

    • 6.3 总线的仲裁

    一、为什么要总线仲裁
    主方:可以启动一个总线周期。从方:只能响应主方的请求。
    每次总线操作,只能有一个主方占用总线控制权,但可以有多个从方。
    为了解决多个主设备同时竞争总线控制权,必须具有总线仲裁部件,筛选其中一个主设备作为总线的下一次主方。
    二、总线仲裁方式
    1、集中式仲裁:总线仲裁逻辑集中于一个单元。
    ① 链式查询方式 ② 定时器查询方式 ③ 独立请求方式
    当代总线标准普遍采用独立请求方式。
    2、分布式仲裁:以优先级仲裁策略为基础。

    七、外围设备

    • 7.1 外围设备概述

    一、作用
    在计算机和其他机器,以及用户之间提供联系。
    二、外设的组成
    1、存储介质:具有保存信息的物理特征。例:磁盘。
    2、驱动装置:用于移动存储介质。例:磁盘的驱动装置。
    3、控制电路:向存储介质发送数据或从存储介质接受数据。
    三、外设的分类

    • 7.2 磁盘存储设备

    一、磁记录原理
    磁表面存储器:用某些磁性材料涂在金属铝或塑料表面作载磁体来存储信息。
    读写原理:利用一种称为磁头的装置来形成和判别磁层中的不同磁化状态。
    二、磁盘的组成和分类
    1、硬磁盘
    记录介质为硬质圆盘的磁表面存储器。主要由磁记录介质、磁盘控制器、磁盘驱动器组成。
    ① 磁盘控制器:包括控制逻辑与时序、数据并-串变换电路、串-并变换电路。
    ② 磁盘驱动器:包括写入与读出电路、读写转换开关、读写磁头与磁头定位伺服系统。
    2、硬磁盘分类
    ① 根据磁头的工作方式分类
    移动头硬盘存储器、固定头磁盘存储器。

    ② 根据磁盘的可换与否分类
    可换盘存储器、固定盘存储器。
    三、磁盘驱动器和控制器
    1、磁盘驱动器
    一种精密的电子和机械装置,主要由定位驱动系统、主轴系统、数据转换系统组成。
    ① 磁头定位驱动系统
    驱动磁头沿盘径向运动以寻求目标磁道位置的机构。由驱动部件、传动部件、运载部件(磁头小车)组成。
    磁头小车有两种驱动方式:步进电机、音圈电机。
    ② 主轴系统
    安装盘片,并驱动它们以额定转速稳定旋转。
    ③ 数据转换系统
    控制数据的写入和读出。
    2、磁盘控制器
    主机与磁盘驱动器之间的接口。它有两个方面的接口:
    ① 系统级接口:控制外存与主机总线之间交换数据。
    ② 设备级接口:根据主机命令控制设备的操作。
    四、磁盘的信息分布
    1、磁盘片表面称为记录面,上面的同心圆称为磁道,每个磁道又分为若干个扇区。
    2、磁道的编址是从外向内,最外的同心圆叫0磁道,最里的同心圆叫n磁道,n磁道里的圆不记录信息。
    五、磁盘的技术指标
    1、存储密度
    ① 道密度:沿磁盘半径方向单位长度上的磁道数,单位为道/英寸。
    ② 位密度:磁道单位长度上能记录的二进制代码位数,单位为位/英寸。
    ③ 面密度:道密度和位密度的乘积,单位为位/平方英寸。
    2、存储容量
    一个磁盘所能存储的字节总数。
    ① 格式化容量:按照某种特定记录格式的存储容量,即用户可以真正使用的容量。容量一般是非格式化的60%~70%。
    ② 非格式化容量:磁记录表面可以利用的磁化单元总数。当用于计算机系统中,必须进行格式化,才能供用户记录信息。
    3、平均存取时间
    ① 找道时间:将磁头定位至所要求的磁道上所需的时间。
    平均找道时间:最大找道时间与最小找道时间的平均值。约 10~20ms。
    ② 等待时间:找道完成后磁道上信息到达磁头下的时间。
    平均等待时间:用磁盘旋转一周时间的一半来表示。约 3ms。
    ③ 数据传送时间。
    4、数据传输率(字节/秒)
    数据传输率 Dr=nN,旋转速度为每秒n转,每条磁道容量为N个字节。
    数据传输率 Dr=Dv,位密度为D,旋转的线速度为v。

    • 7.3 磁盘存储设备的技术发展

    一、磁盘cache
    采用磁盘cache可以减少存取时间,磁盘cache是为了弥补慢速磁盘和主存之间速度上的差异。
    二、磁盘阵列RAID
    RAID称为廉价冗余磁盘阵列,它是用多台磁盘存储器组成的大容量外存系统。
    可实现数据的并行存储、交叉存储、单独存储。
    阵列的部分磁盘存有冗余信息,一旦某一磁盘失效,可以利用它重建用户信息。

    • 7.4 光盘和磁光盘存储设备

    1、CD-ROM 光盘
    只读型光盘,一张光盘容量为680MB。
    2、WORM、CD-R 光盘
    一次写多次读,是一种只能写一次的光盘。
    3、CD-RW 光盘
    可重复写光盘,用于反复读写数据。
    4、DVD-ROM 光盘
    有两面可写/多层可写的DVD光盘。原理类似于CD-ROM,但容量可达10GB。

    相关文章

      网友评论

        本文标题:NJUPT《 计算机组成原理 》

        本文链接:https://www.haomeiwen.com/subject/pizjfltx.html