计算机组成原理

目录

计算机系统概述

数据表示、运算与校验

CPU概述

存储子系统

总线与输入/输出子系统

输入/输出设备及接口



计算机系统概述

  1. 电子计算机的定义?5个逻辑模块?4种信息?
        是一种能存储程序,并且通过执行程序指令,可以自动、高速、准确地对数字信息进行复杂处理,然后输出运算结果的智能电子设备。
        运算器、控制器、存储器、输入、输出;
        指令信息、数据信息、控制信息、状态信息;
     
  2. 数字计算机的主要特点是什么?信息的数字化包含哪两层含义?用数字信号表示代码有什么优点?
        主要特点:自动连续地执行程序、速度快、精度高、存储能力强。
        第一层含义:用数字代码表示各种信息;第二层含义:用数字信号表示数字代码。
        主要优点:
        ①物理上(高低电平)易于实现信息的表示和存储。
        ②抗干扰能力强,可靠性高。
        ③数值的表示范围大,精度高。
        ④支持丰富的信息类型。
        ⑤能用数字逻辑技术进行处理。
     
  3. 计算机的分类和特点?
        模拟计算机:由模拟运算器件(电阻、电感、电容、二极管、传感器等)组成,处理在时间和数值上连续的模拟量(电压、电流)
        数字计算机:由数字逻辑器件(逻辑门、编码/译码器、寄存器等)组成,处理离散的数字量(非0即1),分为专用和通用计算机。
     
  4. 冯.诺依曼思想为什么产生?3个要点是什么?产生了什么样的影响?
        为了解决信息如何表示才能被计算机识别,采用什么工作方式才能使计算机自动对信息进行处理。
        ①使用二进制代码表示程序和数据  ②采用存储程序的工作方式(核心思想) ③计算机硬件系统由5个硬件组成,即存储器、运算器、控制器、输入/输出设备

        冯.诺依曼体系提供了数字计算机的基本设计思想,奠定了现代计算机的基本结构,开创了程序设计新时代。

  5. 主要功能部件及其特点简述?
        运算器:执行算术、逻辑运算;由ALU组成,ALU以全加器为核心,具有多种运算功能;运算的位数越多,计算精度越高;
        控制器:产生控制命令(微命令),控制全机操作。
        存储器:使用二进制存储数据和程序;在存储器中保存一个n位二进制数的n个存储电路,组成一个存储单元;存储单元的编号称为地址;存储器中所有存储单元的总数称为存储容量;分为内存和外存;
        I/O设备:执行I/O信息的转换。
        总线:多个部件分时共享的信息传送通路,根据信息不同分为:数据总线、地址总线、控制总线。
        接口:在总线和各类外部设备之间设置的具有缓冲、转换、连接功能的部件。

  6. 什么是硬件与软件的逻辑等价性?
        软件的特点:易于实现各种逻辑和运算功能,但受速度指标和软件容量的限制;
        硬件的特点:可以高速实现逻辑和运算功能,但难以实现复杂功能和计算;
        计算机中的软件理论上都可以“固化”成硬件,提高执行速度。

  7. 计算机系统的性能指标有哪些?
        机器字长:计算机一次数据操作的基本位数,与CPU的寄存器位数有关,直接影响计算精度、指令总数。
        外频:系统时钟频率,由系统振荡器产生(一般不超过300MHz),即系统总线的工作频率。需要经过放大提供给CPU、内存等部件使用(可达到几GHz)
        存储器的容量:内存容量 = 可编址存储单元个数 x 存储单元位宽;外存指存储器能存储的最大数据量,与总线地址码的位数无关
        数据传输率(带宽):单位时间内数据的传输量,单位为B/S。

  8. 常用的CPU性能指标?
        主频 = 外频 x 倍频系数
        IPS:每秒执行指令数
        CPI:指令平均周期,每条指令需要的时钟周期数
        FLOPS:每秒执行浮点运算的次数
        CPU的功耗:动态功耗、静态功耗。静态功耗主要由电子元器件的泄露造成。动态功耗 = C×U^2×f。电容、电压、工作频率。
     

  9. 什么是控制流驱动?什么是数据流驱动?
        控制流驱动:传统的冯.诺依曼机采用控制流(指令流)驱动方式,按指令序列依次读取指令,根据指令所包含的控制信息对数据进行处理,在程序执行中,始终由指令驱动计算机串行执行下一步工作。
        数据流驱动:对传统的冯诺依曼机的根本改变,只要数据准备好,有关指令就可以并行执行,如数据流计算机。

  10. 计算机未来的发展趋势?
        巨型机、微型机、多媒体化、智能化;
        量子计算机:通过量子力学规律实现算术逻辑计算,通过量子的两种状态实现记忆单元和信息的存储。
        生物计算机:主要原材料是生物工程技术产生的蛋白质分子,并以此作为生物芯片来替代半导体硅片,利用有机化合物存储数据。信息以波的形式传播,当波沿着蛋白质分子链传播时,会引起蛋白质分子链中单键、双键结构顺序的变化。
        光子计算机:是一种由光信号进行数字运算、逻辑操作、信息存贮和处理的新型计算机。
        纳米计算机:计算机使用的硅芯片已经到达其物理极限,体积无法太小,通电和断电的频率无法再提高,耗电量也无法再减少。科学家认为,解决这个问题的途径是研制“纳米晶体管”,并用这种纳米晶体管来制作“纳米计算机”。纳米计算机的运算速度将是硅芯片计算机的1.5万倍,而且耗费的能量也要减少很多。

  11. HDMI 和 VGA 和 DVI 接口线的区别:
        HDMI :high definition multimedia 高清晰度多媒体接口,同时实现高清画质及音频输出,不需要进行数/模,模/数转化,支持更高质量的音视频传输。目前HDMI V2.1支持8k画质,最大带宽为48Gbps.
        VGA:Video Graphics Array 视频图形阵列,早期是为了解决CRT显示器只能接收模拟信号设计的,显卡通过该接口使得数字信号转化为模拟信号。15针,3排5针,3个RGB彩色信号,2个扫描同步信号。如:投影仪;
        DVI:Digital Visual Interface 数字视频接口,同样直接传输数字信号,无需转换。如:数字电视; 

数据表示、运算与校验

  1. 进位计数制的基和权?
        基数:在任意数制中,每一个数位上允许使用的记数符号的个数
        权值:数制中每个数位在数码中的位置代表的值
        BCD码:用4位二进制数表示0~9的十个数字,分为带权BCD码(8421、2421、5421)、不带权BCD码(余3码、格雷码)
  2. 二进制数的码制有哪些?
        原码、反码、补码和移码;
        原码:高位0/1表示符号位,数值位不变。反码:正数不变,负数符号位不变,数值位“取反”。
        补码:[X]补 = X+2^n,n为编码位数。①原码转补码:X≥0时,补码和原码相同;X<0时,符号位不变,数值位“按位取反,末位再加1”。②补码转原码:操作完全相同。[X]补变补为[-X]补不区分正负数,全部取反末位加1。

    移码:通常用于表示浮点数的阶数,即指数部分。一般为整数。①原码转移码:正数符号位取反,数值位不变;负数全部取反再末位加1。②补码和移码:符号相反,数值位不变。
  3. 定点数的表示有哪3种?
    ①带符号的定点小数:约定小数点位置,隐式固定(逻辑上存在)在符号位后面。
    ②带符号的定点整数:约定小数点位置,在最低数值位之后。
    ③无符号的顶点整数:小数点固定在最低数值位之后。

  4. 浮点数的表示原理?浮点数的意义?
       由阶码(exponent code,阶符、阶码位)和尾数(mantissa,数符、尾数位)组成。
       阶码E是带符号的定点整数,尾数M是带符号的定点小数。 
       阶码可以使用补码或移码,决定数的范围;尾数可以使用原码或补码,决定数的精度。
       相同字长下,使用浮点数表示的范围更大、精度更高。
       特殊IEEE754格式浮点数:E全0M全0:表示浮点数0;②E全1M全0:表示±∞;③E全1M非全0:无效数NaN;

  5. 引入规格化尾数的目的是什么?规格化尾数的含义和特征?如何判断是否是规格化?
        在浮点数中,为了充分利用尾数部分的有效位数,确保浮点数的表示方法唯一,使精度更高,所以一般都对尾数进行规格化约定。
        在R =2 下,尾数规格化具有下列特点:尾数原码表示时,应确保二进制位:M真 = ±0.1M2M3M4...,即确保0.5≤ |M| <1;尾数补码表示时,确保0.5 ≤ M<1 或者-1≤ M<-0.5
         判断方法:如果是原码表示,则M1 =1; 若为补码表示且为负数,则M1 =0;若为补码表示且为正数,则M1 =1;
     
  6. 字符的表示方法有哪些?
    ASCII码:128个字符,7b编码+1b奇偶校验码
    汉字编码: 输入编码、汉字内码、汉字字形码
     
  7. 移位操作有哪些?有什么规则?
    逻辑循环移位、算数符号移位。
    正数补码/原码移位规则:符号位不变,左移低位补0,右移高位补符号位(单/双符号位)
    负数补码移位规则:符号位不变,左移低位补0,右移高位补1
     
  8. 保留尾数时的舍入的2种方法:
    ①最后一位为0舍1入;②末位直接截断恒置为1;
     
  9. 数位扩展与压缩的3种方法:
    ①符号位扩展②补0扩展③弃高位留低位
     
  10. 数据存储的2种方法(大小端):
        小端模式(little-endian):小地址单元存储数据的低位
        大端模式(big-endian):大地址单元存储数据的低位
        注意:大小端存储模式仅针对数据字节,与指令操作码无关。所以在MIPS32中,存储对象仅限于16位的立即数。
    大小端格式
    地址编号#103#102#101#100实际数据
    小端模式FFFF0001FFFF0001
    大端模式FFFF00 010100FFFF

     
  11. 基本运算——定点数的补码运算(+、-、×、÷):
    运算规则:

     ( X + Y )补  = X补  +  Y补             (1)
     ( X -  Y )补  = X补  +  (-Y)补         (2)[-Y]补 = [Y补]变补

    溢出判断:
    假设A、B位4位尾数,1位数符(Sa,Sb),结果的符号为Sf,符号位的进位为Cf,尾数最高位的进位为C。
    ①硬件逻辑一:根据Sa,Sb,Sf的关系判断,当两个同号的运算数相加后,结果异号,则溢出。溢出逻辑 =   
    ②硬件逻辑二:根据Cf和C的关系判断,当符号位和最高位的进位不相同时,则溢出。
    溢出逻辑 =
    ③硬件逻辑三:根据双符号位判断,当第1、2符号位不同时,则溢出。当00/11正确,01-正溢,10-负溢
    溢出逻辑 = 

  12.  基本运算——浮点数的原码运算(+、-、×、÷):
    运算规则:
    同号相加,则求和,符号不变;同号相减,数值位求差 = {被加数 +[加数]补}的补码。
    原码1位乘法:每次将1位乘数对应的部分积与原部分积的累加和相加,并移位。

  13. 基本运算——浮点数的移码运算(+、-):
    运算规则:两数移码的加减 等于 两数加减后的结果表示为补码。
    溢出判断:当两数与和数三者的符号全相同时,则发生了溢出。

  14. 浮点数的加减运算步骤?溢出时的左归、右归?
    运算思路:
        移位操作,尾数原码加减操作,①检测能否简化操作②计算阶差③对阶④尾数加减⑤结果规格化
    结果规格化:
        对尾数M左右移动,使得1≤|M|<2;若|M|<1,则左归;|M|≥2,则右归。
    溢出判断:
        左归(阶码-1)时:先判断阶码是否全为0,若是,则直接置阶码下溢;否则,阶码减1后判断阶码是否为全0,若是,则阶码下溢。

        右归(阶码+1)时:先判断阶码是否为全1,若是,则直接置阶码上溢;否则,阶码加1后判断阶码是否为全1,若是,则阶码上溢。

  15. 什么是对阶?为什么要对阶?如何对阶?
           对阶是指让两个浮点数的阶码相同;浮点数的加减操作是对尾数进行的,首先应该确保两者小数点对齐,即各个数位的权值对应相等。若果大阶减小,尾数左移,舍去的是尾数的高位,误差太大,因此不允许!如果小阶增大,尾数右移,舍去的是尾数的低位,误差很小。故对阶原则采用小阶向大阶增大。

  16. 浮点数规格化时,什么时候左归,什么时候右归?
        规格化是针对浮点数尾数而言的,确保 0.5≤|M|<1。正数补码(包括正、负数原码)的最高位为1,负数补码的最高位为0;
        所以当|M|<0.5时,即尾数的符号位和最高位同为0.0或1.1时,进行左移规格化,将尾数左移1位,阶码减1,直到 |M|≥0.5。当|M|>1时,即尾数的两个符号位不同时01或10,进行右移规格化,将尾数右移1位,第二符号位中存放的进位移至尾数最高位,使|M|<1,阶码加1。

  17. 数据的校验方式有哪些?
    奇偶校验、海明校验、循环冗余校验

  18. 奇偶校验和海明校验的联系与区别?
        奇偶校验:增加一个校验位,使得数中编码“1”的个数为奇数(奇校验)、偶数(偶校验);仅能识别奇数位错误,不能判断偶数位错误,不能定位错误。
        海明校验:是一种分组奇偶校验,将数据分组,每组都有1个校验位,单独进行奇偶校验。  

    假设:待编码信息为K位,分成r组,每组1个校验位,代码检验时,每组产生1个指误码,
         校验码位数:r位,海明编码总长:N = k+r位;指误码位数:r位,共有2^r种情况
        指误码全为0——海明编码无错;其余(2^r-1)种指误码——分别指示(2^r-1)种只有1位错的情况
    则:各参数应该满足的关系:N = K+r ≤ 2^r-1
    如:K =4时,则r≥3满足关系式,可组成7位海明码。    

  19. 循环冗余校验码(CRC)的原理和编码方法?
        原理:用待检验数据除以某个生成多项式,能整除表示数据正确,否则通过循环移位校正出错位。
        编码方法:将待编码k位数据M(x)左移r位得到全编码,选取一个r+1位生成多小时G(x);用全编码除以生成多项式,得到商Q(x)和余数R(x)。最后用R(x)替换全编码低 r 位即可。
        生成多项式G(x)说明:
        ①生成多项式的最高位和最低位必须是1
        ②余数全为0,则数据无措

        ③余数非0则出错,且出错位和余数唯一映射
        ④相邻两个非0余数,对应的出错位也相邻
        ⑤非0余数,循环执行低位补0并重新计算余数,余数会循环出现,对应的出错位会随之左移。

     

CPU概述

  1. CPU的主要部件:
        运算部件、时序部件、缓存部件、寄存器、控制器,它们通过数据通路/控制通路互相连接。
        运算部件:对操作数进行运算,算术、逻辑运算
        缓存部件:为了提高CPU从主存中读取指令/数据的效率,CPU内部集成了多级缓存L1、L2、L3。
        寄存器组:存储各种用途的数据信息。
        控制器:根据指令、时钟信号、外部信号等信息,产生各种控制信号(微命令),以便控制各种功能部件协同工作。根据产生微命令的方式,有两类控制单元。①组合逻辑控制器 ②微程序控制器。
        时序部件:产生时序信号的部件,由1个低频振荡器和倍频逻辑组成
        

  2. 寄存器中都包含哪些类型的寄存器?
        ①通用寄存器:多个,具有全局唯一地址,可通过地址码访问,可在机器指令中直接使用。可以提供操作数、地址码、存放运算结果等.
        ②暂存器:多个,CPU内部使用,不能在机器指令中显式使用。用来暂存临时数据。
        ③指令寄存器(IR):1个。从存储器中读取到指令后,就直接存放到IR中。
        ④程序计数器(PC):1个。用来指明指令在存储器中的存放位置,即存储单元的地址码。PC的值保存的是下一条指令的地址。
        ⑤程序状态字寄存器(PSW):1个。记录当前程序的运行状态和工作模式。PSW-标志位:反映CPU当前状态,系统根据情况自动设置这些特征位,包括进位(C)、溢出(V)、零值(Z)、负值(N)、奇偶(P);PSW-编程设置位:由程序设定,用来决定程序的工作模式,包括跟踪位(T)、允许中断(I)、程序优先级(P)、允许模式
        ⑥地址寄存器(MAR):1个。用于存放目标单元的地址码,再才执行具体的读写访问操作。
        ⑦数据缓冲寄存器(MBR):1个。缓存CPU与主存之间交换的数据,提高数据访问速率。
        ⑧堆栈指针(SP):1个。固定存放栈顶单元的地址码。
     
  3. 解释下列名词:
        时序系统:用来产生时序信号(如周期、节拍、脉冲等)的部件,也称为时序发生器,它由一个系统振荡器和一组计数分频器组成。
        指令周期:是指一条指令从取指到执行完毕所用的全部时间。
        工作周期:是指一个指令周期中,完成某一阶段操作所需的时间,如取指周期、源周期、目的周期、执行周期等。
        时钟周期:是指CPU执行一步操作的时间。时钟周期作为时序基准,在计算机中其长度是固定不变的。
        微指令周期:是指读取并执行一条微指令所用的时间。
        总线周期:是指通过总线传送一次数据的时间。在同步方式下,一个总线周期可能包含若干个时钟周期。
        主存读/写周期:指主存进行连续读/写所允许的最小时间间隔,即两次读/写操作之间的最小间隔。
        微命令:在计算机中用来控制微操作(如逻辑门的开或关、寄存器的打入或清除等操作)的控制命令。也称为微操作控制命令。(最基本)
        微指令:将一步操作所需的微命令编写位一串代码,这串代码称为微指令。它由微命令字段和为地址字段组成。
        微程序:由若干条微指令组成一段微程序,用来解释执行一条机器指令(实现了某个完整功能)。
        控制存储器:用来存放各微程序段的专用存储器,属于CPU范畴,不属于主存范畴。
        SMT:同步多线程(Simultaneous MultiThreading),是一个在时钟周期内CPU能够执行分别来自多个线程的指令的硬件多线程技术。
        超线程:利用特殊的硬件指令,把两个逻辑内核模拟成两个物理芯片,让单个处理器能进行线程级的并行操作,由Intel在2002年开发成功。
        多核:在一个处理器芯片上集成多个完整内核,不同内核之间可以并行执行指令,可以实现多个低频内核产生单个高频内核的处理效果。
  4. CPU的主要功能和执行指令的流程?
         主要功能:处理指令—控制指令执行顺序;执行操作—产生控制信号;控制时间—控制各步操作的时间;数据运算—算数逻辑运算;中断处理—对计算机运行过程中出现的异常和特殊请求进行处理。
         流程:读取指令、指令译码、执行指令、后续工作;
     
  5. CPU控制各种部件协同工作的控制方式有哪些?
        同步控制:所有操作都靠外部时钟信号的驱动实现协同;各步操作之间没有交互。
        异步操作:每步操作不需要向外部时序信号对齐;各步操作之间需要交互才能实现协同。
     
  6. CPU的外部连接类型?
        单处理机系统:通过前端总线(FSB)与北桥芯片组连接;
        多处理机系统:高性能CPU中集成了主存、视频、PCI-E接口(CPU已经集成传统的北桥),CPU之间通过QPI连接,CPU再通过DMI总线与PCH芯片组(类似于南桥部分)连接。

     
  7. 设计CPU的一般过程:
        设计指令系统、设计数据通路、设计控制器、CPU定型。
     
  8. 什么是指令?指令集?指令字?机器字长?
      指令:计算机中执行某类操作的需要信息的集合,是CPU工作的主要依据。
      指令集:计算器中能执行的全体指令的集合,分为RISC(reduced)、CISC(complexed)。指令集决定了计算机硬件功能的丰富性;指令集是软硬件的分界面。
      指令字:指令的一组二进制代码
      机器字长:计算机能够直接处理的二进制数据的位数  = 寄存器的宽度
     
  9. 为什么CISC会向RISC转化?CISC 和 RISC各有什么特点?
        ①早期硬件设备速度慢且昂贵,为了扩展硬件的功能,所以引入复杂指令系统;但是随着半导体技术,可以直接通过硬件实现更多功能,所以指令规模缩小。
        ②28定律:CISC中80%指令为简单指令,复杂指令只有20%
        ③大量复杂指令阻碍VLSI工艺发展
        ④主存技术的发展使得复杂指令不必再用微程序实现,可以直接使用简单指令构成的子程序等效实现,得益于主存DRAM的速度较快。
        CISC:指令数量多;指令长度不固定,指令格式、寻址方式多样;很多指令涉及到存储器读写操作,指令周期长;一般在通用计算机中使用。
        RISC:少;指令长度固定,格式和寻址方式较少;只有少数指令会读写存储器,其余指令只涉及CPU内部存储器,指令周期短;一般在高端服务器中使用。

     
  10. 指令中提供地址的方式有哪两种?常见的5种地址结构类型?
        指令中的地址是地址偏移量、立即数或者寄存器编号;分为显式地址方式、隐式地址方式
       5种地址结构:

     
  11. 什么是地址简化方法?举例说明隐地址的应用?
        简化地址结构就是使用隐地址,使指令中显地址个数减少。隐地址在指令中不存在描述段信息,而是由指令代码(操作码)来隐含约定有效地址。
        ①在CPU中使用PC程序计数器,用于存放后继地址,使得指令中不需要专门的字段。故:后继地址采用隐地址给出。
        ②在某些二地址指令完成双操作数运算时,其中一个操作数会作为存放结果的目的地址。故:该目的地址可以隐含一个操作数。
        ③在单地址指令完成双操作数中,另一个操作数由指令隐含约定,如累加器AC中实现自加自减操作。
        ④零地址指令中没有显地址。故:零地址采用隐地址。
     
  12. 请讨论什么是零地址指令,它的执行过程不涉及到任何地址吗?
        零地址格式只给出操作码OP,没有显式地址。这种指令有两种可能:①不需要操作数的指令,如空操作指令、停机指令、关中断指令等少数指令;②作为唯一的运算类指令用在堆栈计算机中,通常参加运算的两个操作数隐含地从栈顶和次栈顶弹出,送到运算器进行计算,运算结果再隐含地压入堆栈。
        它的执行过程中肯定是涉及到地址的,只是说零地址没有显式给出,但是已经被计算机设计之初就已经确认了这些指令的地址。
     
  13. 指令中可能涉及到的操作数类型:
    地址码数据:寄存器编号或存储器地址,无符号整数
    数值型数据:定点数、浮点数,一般用补码表示
    字符型数据:通常为ASCII码、汉字内码格式
    逻辑型数据:常规二进制代码,不具有数值含义
     
  14. 指令中常见的寻址方式有哪些?
    ①立即寻址(立即数):指令中直接包含了操作数,用来提供偏移量、常熟、设置初值等
    ②直接寻址(绝对寻址):指令中给出操作数的地址码(存储单元地址、寄存器编号),分为主存直接寻址、寄存器直接寻址。S = (D) 或 (R)
    ③间接寻址:指令给出操作数的间接地址,需要两次访问存储器才能得到操作数。S = ((A))或 ((R)) 或 ((SP)),分为主存间接寻址、寄存器间接寻址、堆栈间接寻址
    ④变址寻址:指令给出一个变址寄存器编号和一个地址量,寄存器内容与地址量之和为有效地址。 S = ((Rx) +D ),D为基准地址。即 指令提供基准量,寄存器提供偏移量
    ⑤基址寻址:指令给出一个基址寄存器编号和一个地址量,寄存器内容与地址量之和为有效地址。 S = ((Rb) +D ),Rb为基准地址。即 指令提供偏移量,寄存器提供基准量
    ⑥基址+变址:指令给出两个寄存器号和一个地址量,寄存器内容和地址量之和为有效地址,便于处理三维数组,三个变量分别存储三个维度的地址。S  =((Rx)+(Rb) +D),Rx为变址寄存器号,Rb为基址寄存器号,D为位移量。
    ⑦PC相对寻址:指令给出偏移量,PC当前量与偏移量相加得到有效地址。 S = ((PC) +D) 是一种特殊的基址寻址方式。
    ⑧页面寻址(伪直接寻址):指令给出偏移量,PC的高位部分与偏移量拼接,形成有效地址。 S = ((PC)H ,D)   (PC)H为页号,D为页内地址。类似于页式存储系统的页面访问。
    ⑨堆栈寻址:根据堆栈寄存器中的栈顶单元地址码指示进行寻址。

     
  15. 为什么跟PC相关的寻址方式,都存在左移2位这个操作?但普通的基址寻址,则不存在把偏移地址左移2位?
        pc = label ,label=PC+4+offset<<2    
        因为在MIPS架构中,指令格式是32位,且起始地址、偏移量都是4的倍数,在I型指令(立即数)中,offset只占16位,所以首先进行符号位扩展为32位。最后左移2位是确保偏移量始终为4的倍数(8421低两位必须为0)

     
  16. 变址寻址和基址寻址的主要异同点?
        相同点:都是通过相似的地址计算方法来获取有效地址。
    S = ((Rx) +D ),S = ((Rb) +D );当指令确定后,都提供了操作数地址的可变性;指令中多设有形式地址。
        不同点:
        
    有效地址的基准量不同。变址寻址的形式地址是基准量,受指令字长的限制,所以基址地址范围受限,而偏移量是由变址寄存器提供的,范围较大(起始地址选择小,变化范围大)。基址寻址的基准量是基址寄存器提供,范围较大,但偏移量由指令中形式地址提供,偏移量小。(起始地址范围大,但是变化范围小)
       
    ②寻址方式的应用场景不同。变址寻址立足用户,可用于访问字符串、数组、表格等批量数据;基址寻址立足系统软件,解决程序重定位或有限字长指令中扩大寻址空间。
     
  17. 假如你设计I/O指令,给出你的设计思路?
        ①设计专门的I/O指令(显式IO)。针对端口自行编址,用I/O指令访问I/O端口,指令中说明I/O类型,并给出端口号。
        ②使用传送指令(隐式IO)。针对端口和主存统一编址,用访存指令访问I/O端口,使得外设的访问如同内存一样。
        ③通过专门的IOP进行I/O操作控制(通道技术)。需要两级I/O指令,一个用于CPU控制IOP,一个用于IOP控制I/O操作。
     
  18. 外围设备和主存的统一编址,如何使用传送类指令实现CPU对I/O设备的控制和信息交换?
        通过将外设接口的有关寄存器和主存单元统一编址,即给IO接口的有关寄存器分配统一的总地址,访问这些单元地址就是访问相应的外设接口寄存器(CR、DR、PSW)。
        具体做法是将主存寻址空间划分为两部分:将从0单元开始的绝大部分存储空间作为用户可用的主存;剩下小部分单元称为主存高端(如从A地址到主存的最大地址部分),留给IO接口的有关寄存器使用。所以当传送指令的地址小于A时,则访问主存;否则访问相应IO寄存器的相应接口。
       统一编址缺点:导致用户可用的主存空间减少,限制只在主存低端编址;如果用户主存使用完毕,但主存高端空闲,导致存储空间浪费。

     
  19. 组合逻辑控制方式和微程序控制方式:
        两者都是产生微命令的方式,前者直接通过硬件逻辑电路产生微命令,后者通过执行微指令产生微命令。
        组合逻辑控制:根据微命令条件,形成逻辑表达式,用组合逻辑电路实现;执行指令时,由组合逻辑电路在相应时间发出所需微命令,控制有关操作。优点:产生微命令速度快;缺点:逻辑电路的设计不规范,设计效率低,难以实现;硬件一旦固定很难实现功能扩展。
        微程序控制:将程序技术和存储逻辑引入CPU的构成级,将一个操作所需要的微命令编写在一条微指令中,若干条微指令构成一个微程序,解释执行一条机器指令,将微程序事先存放在控制存储器中,执行机器指令时再取出。优点:设计规范效率高,易于修改、扩展功能;缺点:速度较慢,微程序频繁访存;执行效率较低,没有充分发挥数据通路的并行操作能力。
     
  20. ALU算术逻辑运算单元的5个标志位:
    0标志位(ZF):结果是否为0;进位标志(CF):运算是否有进位;溢出标志(OF):运算是否有溢出;符号标志(SF):结果是否为负数;奇偶标志(PF):结果中是否有偶数个1。早期的ALU采用74181、74182芯片实现。

存储子系统

  1. 半导体存储器的设计步骤?
        ①芯片的选择,根据所设计的存储器的容量和备选的存储器芯片的规格,来确定每种规格存储器芯片的数量。
        ②确定寻址系统。根据设计的存储器容量和各芯片的容量,分别确定存储系统的地址范围和各芯片的地址范围。
        ③设计芯片片选信号的逻辑。
        ④确定存储芯片与地址线、数据线、控制信号线和片选信号线之间的连接逻辑。
     
  2. 某机器字长32位,主存储器容量位256MB,问:使用字节编址、半字编址、字编址时所需要的地址寄存器、数据寄存器各有多少位?
        地址寄存器与存储单元数量直接相关,受到编址方式的影响而不同。数据寄存器直接与编址方式的位数相关。
        按字节编址:256MB =2^28 ×8位,则AR = 28位,DR =8位;
        按半字编址:半字 =16位,256MB =2^27 × 16位,则DR =16位,AR = 27位;
        按字编址:字 = 32位,256MB =2 ^ 26 × 32位,则DR= 32位,AR = 26位;
     
  3. 某8位机的主存容量位64KB,选择4片RAM芯片组成(16KB/片),地址线为A15~A0,请列出各片选信号的逻辑式?
        因为是8位机,即按字节编址。DR =8位,AR =16位,片上地址AR =14位。则可以设计为

  4. 解释下列名词:
        虚拟存储器:是指依靠操作系统的支持,为用户提供一个比实际内存大的可访问逻辑内存空间。实际不存在,请求调页/段技术,换入/出技术等。
        随机存储器RAM:按给定地址随机地访问任一存储单元,访问时间与单元位置无关。
        只读存储器ROM:在正常工作中只能读出、不能写入的存储器。
        存取周期:存储器连续访问操作过程中一次完整的存取操作所需的全部时间。
        数据传输率:指数据传入/传出存储器的速率。
        动态刷新:指对动态存储器中原存储信息为1的电容补充电荷,防止数据丢失。
        直接映像Cache:将主存与Cache的存储空间划分为若干个相同大小的页,每个主存页只能复制到某一个固定的Cache页中。
        全相联映像Cache:将主存与Cache的存储空间划分为若干个相同大小的页,主存的每一个页可以映射到Cache的任意页上
        组相联映像Cache:将主存和Cache都分组,主存中一个组内的页数与Cache的分组数相同,每组Cache中含有若干页,则主存中的各页与Cache的固定组号有映像关系,则可以自由映像到对应的Cache组中的任一页中。
        相联存储器:指一种按内容寻址的存储器,根据所存信息的全部特征或部分特征进行存取的存储器。
     
  5. 简述计算机系统中的三级存储体系结构模式,并分析这种模式的优缺点:
        三级存储体系包括缓存Cache、内存和外存,优点:层次体系清晰、便于设计实现,也利于系统调度管理,能提高存储系统性能;缺点:结构复杂,管理和控制比较复杂,硬件成本较高。
     
  6. SRAM 和 DRAM分别依靠什么原理存储信息? 需要刷新吗?
        SRAM静态半导体存储器,其中的一位存储单元实际上是一个双稳态触发器,靠交叉反馈存储信息。
        DRAM动态半导体存储器,利用电容电荷存储信息,电容上有电荷表示存储信息1,否则无信息0。
        SRAM不需要刷新,但是DRAM因为有电容、电荷所以需要刷新。
     
  7. 磁盘的磁道和光盘依靠什么原理来记录信息,磁道和光道有什么不同?
        磁盘依靠磁表面材料的磁化特征来记录信息,光盘依靠涂层材料的形变、相变或者热磁效应来记录信息。磁道是分布均匀的同心圆,光道类似于蚊香的放射状螺旋形。

 总线与输入/输出子系统

  1. 名词解释:
    系统总线:计算机内各功能部件之间或各插件板之间互连的总线。
    外总线:计算机系统之间或计算机系统与其他系统之间互联的总线。
    局部总线:指直接与CPU连接的一段总线。
    通信总线:指连接远距离信息传输的通信工具间的传输线路,常用串行总线做通信总线。
    同步总线:指数据的传送操作由统一的系统时钟同步定时的总线。
    异步总线:无固定时钟周期划分,总线周期时间由各部件操作的实际需要决定,采用异步应答方式控制传送操作的总线。
    缓冲深度:指接口中设置的数据缓冲寄存器的数量或缓冲区的容量。
    中断接口:如果系统程序中断方式控制,则接口需要有相应的中断系统所需的逻辑,这样的接口称为中断接口。
    DMA接口:如果系统采用DMA方式控制,则接口中需要有相应的DMA逻辑,这样的接口称为DMA接口。
    总线宽度:任何总线的线路在功能上可以分为3个组:数据线、地址线、控制线。总线宽度是指各功能组中的信号线数量。
    主设备:指申请并得到总线控制权的设备。
    从设备:响应主设备请求的设备。
    可屏蔽中断:CPU可以通过传送屏蔽字或开/关中断来禁止和开放中断,中断请求能否响应由CPU开/关决定。
    非屏蔽中断:中断请求的响应不受屏蔽字的影响,与CPU的开/关中断状态无关。
    非向量中断:指以软件查询的方式提供中断服务程序入口地址的中断。
    中断向量:指中断服务程序入口地址和状态字在一起。
    向量地址:指访问中断向量表的地址码,即读取中断向量所需的地址。
    中断向量表:指存放中断向量的一种表格。
    中断隐指令操作:在中断周期中,直接依靠硬件实现关中断、保存断点、通过中断类型码计算中断程序的入口地址并转中断服务程序等操作。


     
  2. 简述程序IO、程序中断、DMA三者的优缺点和使用场合
        直接程序传送方式:优点:CPU只需实现IO指令功能,不需要额外的硬件,因此硬件简单。控制简单。缺点:CPU与外设不能并行工作,CPU资源利用率极低。适用于CPU速度不是很高,不需要很高效率的场合。
        程序中断:优点:通过执行程序进行事件的服务处理,处理能力强、可以处理复杂事件,随机性和实时性强。缺点:为了实现程序切换,中断处理时间较长。适用于处理中、低速的I/O操作。
        DMA:优点:可以响应随机请求,传送的实现是直接由硬件实现,仅需占用系统总线,不会切换程序,因此不执行断点保护、现场保护等操作。缺点:依靠硬件只能实现简单数据传输,难于处理复杂事务。适用于主存和高速I/O之间的简单批量数据传输。

     
  3. 试说明同步总线和异步总线的特点,比较各自的优缺点及应用场合?
        同步总线的特点:有统一的时序划分,各项操作之间通过严格的时序控制,操作时间固定。优点:时序关系简单,时序划分规整,易于实现;缺点:时间安排不合理。应用场合:CPU内部、部件内部、总线与工作速度差异不大、距离较近。
        异步总线的特点:无统一的时序划分,各项操作之间通过交互实现总线的使用。优点:时间安排紧凑合理,能充分按照所需分配时间;缺点:控制和设计复杂。应用场合:异步系统总线,设备间速度差异较大、距离较远。
     
  4. 总线与设备之间的连接称为接口,总线接口分为哪几种类型?
         按传送格式:串行接口、并行接口
         按时序控制方式:同步接口、异步接口
         按数据传送控制方式:程序IO、中断、DMA。
     
  5. 某机连接一输入设备,以中断方式向主机传送数据,输入设备何时提出中断请求?减少终端过程?该设备的中断服务程序的功能是什么?
        当该输入设备的接口完成信息格式转换,并已存放到接口的数据缓冲寄存器中后,接口向主机提出中断请求。
        中断控制器汇集中断请求,经过屏蔽、判优后,由中断控制器向CPU发出一公共中断请求INT。CPU接到中断请求后,在指令执行结束后,向中断控制器发出中断响应INTA,进入中端周期。中断控制器收到中断响应信号后通过数据总线将该设备的中断类型码传送给CPU。CPU进入中断周期,关中断,保存断点,根据中断类型码计算向量地址,访问向量表获得中断服务程序的入口地址,转中断服务程序。在中断处理中,首先保护现场,执行该输入设备的中断服务程序,发出中断结束信号,恢复现场和断点,开中断,返回源程序执行。
        因为该设备为输入设备,所以该设备的中断服务程序的功能是从接口的数据缓存寄存器中读入数据到主机。(假如为数据设备,第一次中断是在主机启动打印机,打印机完成启动并准备好接收数据时向主机提出中断请求。以后当打印机完一次接收到的数据时就像主机提出中断请求。输出设备的中断服务程序是将主机的数据传送到输出设备接口的数据缓冲寄存器中。)
     

  6. 简述DMA方式工作的全过程,并说明在DMA工作方式下哪些阶段需要CPU的干预?
         DMA方式直接依靠硬件实现主存和I/O设备间的数据直送,传送期间不需要进行CPU的干预,只在DMA初始化和结束阶段才需要CPU的干预。
         DMA初始化程序:CPU通过执行程序,向DMA控制器和接口提供如下初始化信息。传送方向、主存缓冲区首地址、交换数据量、外设寻址信息。
         数据直接传送阶段:由DMA控制器控制发出地址信息,控制数据在主存和I/O设备间的传送,并修改交换量计数值。
         结束处理阶段:CPU通过中断方式进行善后,如对数据进行错误处理等。
     
  7. 以磁盘调用为例,说明在读磁盘和写磁盘时,磁盘适配器分别再什么时候向主机提出DMA申请。
        读磁盘时:当磁盘适配器的扇区缓冲区有一个扇区缓冲区装满时,表明适配器准备好DMA,这时磁盘适配器向主机发出DMA请求。
        写磁盘时:当扇区缓冲器有一个为空时,表明磁盘适配器已准备好接收数据,这时磁盘适配器向主机的DMA控制器发出DMA请求。
     
  8. 比较中断方式和DMA控制方式的异同点:
        相同点:都能随机产生请求,用于对随机事件的处理。
        不同点:
        ①中断控制方式通过执行中断服务程序处理主机和外设间的信息交换,DMA通过直接依靠硬件直送。
        ②中断方式可以处理更复杂的事态,而DMA一般只用于简单的数据直送。
        ③中断通过软件实现,一般用于控制低速IO操作,而DMA适用于高速的批量数据。
     
  9. 程序中断和转子程序有什么不同?
        ①转子程序的执行由程序员预先安排;程序中断是一个随机的中断事件引起的。
        ②转子程序的执行受到主程序或上层子程序的控制;中断服务程序一般与被中断的现场程序没有关系。
        ③不存在一个程序同时调用多个转子程序的情况,却经常可能发生多个外设同时请求CPU服务。
     
  10. 什么是向量中断方式和非向量中断方式?
        向量中断方式:将所有的中断源的中断服务程序入口地址组织在中断向量表中;CPU响应时由硬件产生向量地址,据此表查询服务程序的入口地址,再转入相应服务程序执行。
        非向量中断:将所有中断源的中断服务程序入口地址组织在公共查询程序中;CPU响应时执行查询程序,确定中断源对应的服务程序入口地址,再转入相应服务程序中执行。使用软件,简化硬件逻辑,便于灵活修改中断源优先级等信息,但是响应速度更慢。
     

输入/输出设备及接口

  1. 从计算机的整体功能来看,I/O设备具有哪些功能?
        完成CPU和外设之间的信息格式转换、缓冲;实现人机交互;存储备用的系统软件及各种信息;I/O设备促进计算机应用领域的发展。
     
  2. 显式器和显式适配器的显式规格主要指哪些?
        显示方式:采用字符显示、图形显示,还是混合显示。
        分辨率:字符显示时使用可显示的字符的行数和列数,如 80列×25行;图像显示时指像素点,如800点 × 600线
        颜色数:单色、彩色
     
  3. 在CRT字符显示器中,显示缓存和字符发生器个采用什么存储器来构成?各采用什么存取方式?决定它们存储容量大小的主要因素各有哪些?
        显示缓存:RAM芯片,随机存取,取决于字符显示器的分辨率、要求显示的颜色数和显示属性的数量。
        字符发生器:ROM芯片,只读方式,取决于字符显示器可显示的字符种类数和字符点阵规格。 
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值