408计算机学科专业基础综合——计算机组成原理

第1章 计算机系统概述

1.1 计算机发展历程

1)第一代计算机(1946-1957年)——电子管时代:逻辑元件采用电子管,使用机器语言进行编程
2)第二代计算机(1958-1964年)——晶体管时代:逻辑元件采用晶体管,软件开始使用高级语言,如Fortran
3)第三代计算机(1965-1971年)——中小规模集成电路时代:逻辑元件采用中小规模集成电路,开始有了分时操作系统
4)第四代计算机(1972-现在)——超大规模集成电路时代:逻辑元件采用大规模集成电路和超大规模集成电路,并产生了微处理器

摩尔定律
32位、64位指的是机器字长,是指计算机进行一次整数运算所能处理的二进制数据的位数。

电子计算机可分为电子模拟计算机和电子数字计算机。数字计算机又可按用途分为专用计算机和通用计算机。通用计算机又分为巨型机、大型机、中型机、小型机、微型机和单片机6类。

计算机按指令和数据流还可分为:
1)单指令流和单数据流系统(SISD),也即冯诺依曼体系结构
2)单指令流和多数据流系统(SIMD),包括阵列处理器和向量处理器系统
3)多指令流和单数据流系统(MISD),这种计算机实际上不存在
4)多指令流和多数据流系统(MIMD),包括多处理器和多计算机系统

选择题

2.微型计算机的发展以(微处理器)技术为标志

4.只有当程序执行时才能将源程序翻译成机器语言,并且一次只能解释一行语句,边翻译边执行的是(解释)程序,把汇编语言源程序转变为机器语言程序的过程是(汇编)

5.到目前为止,计算机中所有的信息仍以二进制方式表示的理由是(由物理器件的性能决定)

1.2 计算机系统层次结构

硬件系统和软件系统共同构成了一个完整的计算机系统。对于某一个功能来说,其既可以用软件实现,也可以用硬件实现,则称为软硬件在逻辑上是等效的。

早期的冯诺依曼机的特点:
1)计算机硬件系统由运算器、存储器、控制器、输入设备、输出设备5大部件组成
2)指令和数据以同等地位存于存储器内,并可按地址寻访
3)指令和数据均用二进制代码表示
4)指令由操作码和地址码组成,操作码用来表示操作的性质,地址码用来表示操作数在存储器中的位置
5)指令在存储器内按顺序存放
6)早期的冯诺依曼机以运算器为中心,输入/输出设备通过运算器与存储器传送数据

现代计算机已经发展为以存储器为中心,使I/O操作尽可能地绕过CPU,直接在I/O设备和存储器之间完成,以提高系统的整体运行效率。

输入设备:键盘、鼠标、扫描仪、摄像机等等
输出设备:显示器、打印机
存储器:主存储器和辅助存储器
主存储器的工作方式是按存储单元的地址进行存取的,称为按地址存取方式。(相联存储器是按内容访问的)
地址寄存器MAR用于寻址,其位数对应着存储单元的个数,MAR的长度与PC的长度相等。
数据寄存器MDR和存储字长相等。

MAR和MDR的位数分别为(地址码长度、存储字长)
注意:MAR和MDR虽然是存储器的一部分,但在现代CPU中却是存在于CPU中的,另外后文提到的高速缓存Cache也是存在于CPU中。
运算器:算术逻辑单元ALU、通用寄存器(累加器ACC、乘商寄存器MQ、操作数寄存器X、变址寄存器IX、基址寄存器BR)、程序状态寄存器PSW
控制器:程序计数器PC、指令寄存器IR、控制单元CU

系统软件、应用软件
注意:数据库管理系统DBMS和数据库系统DBS是有区别的,DBMS是系统软件,而DBS一般由数据库、数据库管理系统、数据库管理员DBA和应用系统构成

机器语言是计算机唯一可以直接识别和执行的语言
汇编语言的程序必须经过一个称为汇编程序的系统软件的翻译,将其转换为计算机的机器语言后,才能在计算机的硬件系统上执行;
高级语言需要经过编译程序编译成汇编语言程序,然后经过汇编操作得到机器语言程序,或者直接由高级语言程序翻译成机器语言程序

注意:(PC)指程序计数器PC中存放的内容,括号不能省略,即(PC)+1->PC不能写成PC+1->PC

选择题

1.完整的计算机系统应包括(配套的硬件系统和软件系统)

2.冯诺依曼机的基本工作方式是(控制流驱动方式)

4.冯诺依曼计算机中指令和数据均以二进制形式存放在存储器中,CPU区分它们的依据是(指令周期的不同阶段)

9.MAR和MDR的位数分别为(地址码长度、存储字长)

12.一个8位的计算机系统以16位来表示地址,则该计算机系统有(2^16=65536)个地址空间

16.将高级语言源程序转换为机器级目标代码文件的程序是(编译程序)

20.相联存储器(既可以按地址寻址又可以按内容寻址)

1.3 计算机的性能指标

机器字长是指计算机进行一次整数运算(即定点整数运算)所能处理的二进制数据的位数,一般等于内部寄存器的大小,字长越长,数的表示范围越大,计算精度就越高。

数据通路带宽是指数据总线一次所能并行传送信息的位数。

吞吐量:系统吞吐量主要取决于主存的存取周期
响应时间:通常包括CPU时间(运行一个程序所花费的时间)与等待时间
CPU时钟周期:即主频的倒数,它是CPU中最小的时间单位
主频(CPU时钟频率):主频的倒数是CPU时钟周期,对于同一个型号的计算机,其主频越高,完成指令的一个执行步骤所用的时间越短,执行指令的速度越快。
CPI:执行一条指令所需的时钟周期数
CPU执行时间,指运行一个程序所花费的时间

CPU执行时间=CPU时钟周期数/主频=(指令条数*CPI)/主频
CPU的性能(CPU执行时间)取决于三个要素:主频,每条指令执行所用的时钟周期数(CPI)、指令条数

MIPS:每秒执行多少百万条指令。MIPS=指令条数/(执行时间*10^6)=主频/CPI
MFLOPS:每秒执行多少百万次浮点计算
GFLOPS:每秒执行多少十亿次浮点计算
TFLOPS:每秒执行多少万亿次浮点计算

选择题

4.存储字长是指(存放在一个存储单元中的二进制代码位数)

6.下列关于机器字长、指令字长和存储字长的说法中,正确的是(三者在数值上可能不等、存储字长是存放在一二存储单元中的二进制代码位数,存储字长是MDR的位数)

7.32位微机是指该计算机所用CPU(B能同时处理32位的二进制数)
A 具有32位寄存器 B 能同时处理32位的二进制数 C 具有32个寄存器 D 能处理32个字符

8.用于科学计算的计算机中,标志系统性能的最有用的参数是(C MFLOPS)(科学计算:评估浮点运算的性能)
A 主时钟频率 B 主存容量 C MFLOPS D MIPS

9.若一台计算机的机器字长为4字节,则表明该机器(在CPU中能够作为一个整体处理32位的二进制代码)

10.在CPU的寄存器中,(B指令寄存器)对用户是完全透明的
A 程序计数器 B 指令寄存器 C 状态寄存器 D 通用寄存器

11.计算机操作的最小单位时间是(A 时钟周期)
A 时钟周期 B 指令周期 C CPU周期(又称机器周期,由多个时钟周期组成) D 中断周期

12.CPU的CPI与下列哪个因素无关(A 时钟频率)
A 时钟频率 B 系统结构 C 指令集 D 计算机组织

15.下列关于“兼容”的叙述,正确的是(指计算机软件或硬件的通用性,通常在同一系列不同型号的计算机间通用)

1.5 常见问题和易混淆知识点

在逻辑功能上,软件和硬件是等效的。在计算机系统中,许多功能既可以由硬件直接实现,也可以在硬件的配合下由软件实现。

翻译程序是指把高级语言源程序翻译成机器语言程序(目标代码)的软件,可以分为两种:一种是编译程序,将高级语言源程序一次全部翻译成目标程序,只要源程序不变,就无须重新编译,目标程序与体系结构相关,但仍不是计算机硬件能够直接执行的程序;另一种是解释程序,翻译一句执行一句,并且不会生成目标程序。
汇编程序把汇编语言源程序翻译成机器语言程序。

在计算机领域中,站在某一类用户的角度,如果感觉不到某个事物或属性的存在,即“看”不到某个事物或属性,则称为“对该用户而言,某个事物或属性是透明的”。在CPU中,IR、MAR和MDR对各类程序员都是透明的。

机器字长:计算机能直接处理的二进制数据的位数,机器字长一般等于内部寄存器的大小,它决定了计算机的运算精度。
指令字长:一个指令字中包含二进制代码的位数。
存储字长:一个存储单元存储二进制代码的长度。

第2章 数据的表示和运算

2.1 数制与编码

二进制转换为八进制和十六进制:以小数点为界,其整数部分,从小数点开始往左数,将一串二进制数分为3位(八进制)一组或4位(十六进制)一组,在数的最左边根据需要加“0”补齐;对于小数部分,从小数点开始往右数,将一串二进制数分为3位(八进制)一组或4位(十六进制)一组,在数的最右边根据需要加“0”补齐。
八进制或十六进制转换为二进制:略。
任意进制转换为十进制:略
十进制转换为任意进制:基数乘除法。对于整数部分用除基取余法;对于小数部分用乘基取整法。

注意:并不是每一个十进制小数都可以准确地用二进制表示,但任意一个二进制小数都可以用十进制小数表示。

二进制编码的十进制数(BCD码):
8421码:设其各位的数值为b3、b2、b1、b0,则权值从高到低依次为8/4/2/1,则它表示的十进制数为D=8b3+4b2+2b1+1b0。如果两个8421码相加之和小于等于(1001),即(9),则不需要修正;如果相加之和大于等于(1010),即(10),则要加6修正
余3码:在8421码的基础上加上(0011)形成的,即每个数都多余“3”
2421码:权值由高到低分别为2/4/2/1,特点是大于等于5的4位二进制数中最高位为1,小于5的最高位为0。如5为1011而不是0101。

小端模式:先存储低位字节、后存储高位字节的顺序(即从低位字节向高位字节顺序)存放字符串的内容
大端模式:先存储高位字节、后存储低位字节的顺序(即从高位字节向低位字节顺序)存放字符串的内容

奇偶校验码:在原编码上加一个校验位,它的码距等于2,可以检测出一位错误(或奇数位错误),但不能确定出错的位置,也不能够检测出偶数位错误,增加的冗余位称为奇偶校验位。
奇校验码:整个校验码(有效信息位和校验位)中“1”的个数为奇数
偶校验码:整个校验码(有效信息位和校验位)中“1”的个数为偶数

海明(汉明)校验码:不但可以发现错位,还能指出错位的位置,为自动纠错提供了依据。
L-1=D+C且D≥C,即编码最小码距L越大,则其检测错误的位数D越大,纠正错误的位数C也越大,且纠错能力恒小于或等于检错能力。
信息位n和校验位k应满足n+k≤2^k-1
求海明码的步骤(略)

循环冗余校验码(CRC):在K为信息码后再拼接R位的校验码,整个编码的长度为N位

选择题

16.能发现两位错误并能纠正1位错的编码是(海明码)

17.在CRC中,接收端检测出某一位数据错误后,纠正的方法是(D)
A 请求重发 B 删除数据 C 通过余数值自行纠正 D 以上均可

18.在大量数据传送过程中,常用且有效的检测法是(CRC)

2.2 定点数的表示与运算

原码表示法:用机器数的最高位表示该数的符号,其余的各位表示数的绝对值
纯小数的原码定义:若字长为n+1,则原码小数的表示范围为-(1-2^-n)≤x≤1-2 ^-n
[x] = x,1>x≥0
[x] = 1-x = 1+|x|,0≥x>-1
纯整数的原码定义:若字长为n+1,则原码小数的表示范围为-(2^n-1)≤x≤2 ^n-1
[x] = 0,x,2^n>x≥0
[x] = 2^n-x = 2 ^n+|x|,0≥x>-2 ^n
注意:真值零的原码表示有正零和负零两种形式:[+0]=00000, [-0]=10000

补码表示法
纯小数的补码定义:若字长为n+1,则原码小数的表示范围为-1≤x≤1-2 ^-n
[x] = x,1>x≥0
[x] = 2+x = 2-|x|,0≥x>-1
纯整数的补码定义:若字长为n+1,则原码小数的表示范围为-2^n≤x≤2 ^n-1
[x] = 0,x,2^n>x≥0
[x] = 2^(n+1)+x = 2 ^(n+1)-|x|,0≥x≥-2 ^n
注意:真值零的补码表示是唯一的:[+0]=[-0]=0.0000

由原码求补码、由补码求原码:
对于正数,补码与原码的表示相同。
对于负数,原码符号位不变,数值部分按位取反,末位加1.

反码表示法
纯小数的原码定义:若字长为n+1,则原码小数的表示范围为-(1-2^-n)≤x≤1-2 ^-n
[x] = x,1>x≥0
[x] = 2-2^-n +x,0≥x>-1
纯整数的原码定义:若字长为n+1,则原码小数的表示范围为-(2^n-1)≤x≤2 ^n-1
[x] = 0,x,2^n>x≥0
[x] = 2^(n+1)-1+x,0≥x>-2 ^n
注意:真值零的原码表示有正零和负零两种形式:[+0]=0.0000, [-0]=1.1111

移码表示法:移码常用来表示浮点数的阶码,它只能表示整数。
[x] = 2^n+x(其中2 ^n>x≥-2 ^n,机器字长为n+1)
注意
1)移码中零的表示唯一,[+0]=2^n+0=[-0]=2 ^n-0=100…0(n个0)
2)一个真值的移码和补码仅差一个符号位,补码的符号位取反即得移码(1表示正,0表示负,这与其他机器数的符号位取值正好相反)
3)移码全0时,对应真值的最小值-2^n;移码全1时,对应真值的最大值2 ^n -1
4)移码大真值就大,移码小真值就小

不同机器数算术移位后的空位填补规则

码制 添加代码
正数 原码、补码、反码 0
负数 原码 0
负数 补码 左移添0,右移添1
负数 反码 1

逻辑移位:将操作数当做无符号数看待,逻辑左移时,高位移丢,低位添0;逻辑右移时,低位移丢,高位添0.
注意:逻辑移位不管左移还是右移,都是添0.

溢出是指运算结果超过

  • 51
    点赞
  • 259
    收藏
    觉得还不错? 一键收藏
  • 3
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 3
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值