计组期中考点

复习以PPT+平时作业为主

应用题:4选2

①最终总成绩100%=期末50%+其他成绩50%。

②其中其他成绩100%=期中30%+(作业+实验)50%+考勤20%。

第一章 计算机系统概述

导入:现实与计算机中的运算结果有差异

理解程序的执行结果要从系统层面考虑

高级语言语句都要转换为机器指令才能在计算机上执行

计算机系统是模运算系统,字长有限,高位被丢弃

运算器不知道参加运算的是带符号数还是无符号数

访问内存需要几十到几百个时钟,访问磁盘需要几百万个时钟

进程具有独立的逻辑控制流和独立的地址空间

过程调用使用栈存放参数和局部变量,递归过程有大量额外指令,增加时间开销,并可能发生栈溢出

计算机系统抽象层次:ISA(指令集体系结构)

程序执行结果不仅取决于算法、程序编写,而且取决于语言处理系统、操作系统、ISA、微体系结构

冯诺依曼结构

第一台冯诺依曼机-IAS计算机

  1. 采用“存储程序”工作方式

  2. 运算器、控制器、存储器、输入设备和输出设备五个基本部件组成

    • 存储器存放数据和指令

    • 控制器取出指令执行

    • 运算器进行加减乘除基本运算,也可以进行一些逻辑运算和附加运算

    • 输入设备、输出设备与主机通信

  3. 内部以二进制表示指令和数据,每条指令由操作码和地址码两部分组成。操作码指出操作类型,地址码指出操作地址,由一串指令组成程序。

早期计算机以运算器为中心,效率低下

image-20231110175748162

现在的计算机以存储器为中心

image-20231110175804142

image-20231110175941631

计算机是如何工作的,及各种缩写

  • CU:控制器
  • ALU:算术逻辑部件
  • CPU:中央处理器
  • GPRs:通用寄存器组
  • MDR:存储数据寄存器
  • PC:程序计数器
  • MAR:存储器地址寄存器
  • IR:指令寄存器

image-20231110180234204

image-20231111140351701

8位模型机M:8位定长指令字,4个GPR,16个主存单元

image-20231111140849915

各编程语言:机器指令、汇编指令、机器级指令

机器语言

使用特定计算机规定的指令格式而形成的0/1序列,用机器语言编写程序,并记录在纸带或卡片上,穿孔表示0,未穿孔表示1.

汇编语言

机器语言的符号表示语言,与机器指令一一对应。汇编语言和机器语言都是低级语言、面向机器结构的语言,统称为机器级语言。

高级程序设计语言/高级编程语言

面向算法设计、与具体机器结构无关、可读性比机器语言好、描述能力更强、高级语言中一条语句对应几条、几十条指令。

三类翻译程序

汇编程序:汇编语言源程序→机器语言目标程序

编译程序:高级语言源程序→机器级目标程序

解释程序:将高级语言语句逐条翻译成机器指令并立即执行,不生成目标文件

image-20231111142642882

计算机系统性能评价(应用):时钟周期、主频、CPI、用户CPU时间

两种不同的性能

  1. 度量单位时间内所完成的工作量(多媒体应用)
    1. 吞吐率(throughput)
    2. 带宽(bandwidth)
  2. 度量完成一项工作所用时间(银行、证券等事务处理)
    1. 响应时间
    2. 执行时间
    3. 等待时间或时延

性能的测量

从执行时间来考虑,完成同样工作量所需时间最短的计算机性能最好,采用用户CPU时间来衡量计算机性能好坏。

image-20231111143630955

概念和指标

image-20231111150545127

时间计算

image-20231111150644690

性能评估

image-20231111150739530

第二章 数据的机器级表示与处理

第一讲

为什么采用二进制编码?

  • 制造两个稳定状态的物理器件容易
  • 二进制编码、计数、运算规则简单
  • 与逻辑命题对应,便于逻辑运算,方便使用逻辑电路实现算术运算

进制转换

二进制数:B(Binary)

八进制数:O(Octal)

十进制数:D(Decimal)

十六进制数:H(Hexadecimal)或0x+数字

定点数与浮点数

定点表示

image-20231111152330313

浮点表示

image-20231111152352541

数值数据的编码表示:原-反-补-移-8421

真值补码互求(综合考)

image-20231111152545090

image-20231111152607656

特殊数的补码

字长为8位时

  • 原码范围-127~127
  • 反码范围-127~127
  • 补码范围-128~127

-128没有原码和反码,只有补码(1000 0000)

0的补码是唯一的

无符号整数和带符号整数之间的转换

2^31=2147483648,机器数为:100 ┅ 0(31个0)

8位无符号整数最大是255(1111 1111)

8位带符号整数最大是127(0111 1111)

image-20231111154715068

image-20231111161009497

image-20231111161019837

image-20231111161913932

浮点数机器数与真值互求(应用)

image-20231111162130096

32位单精度浮点数表示

image-20231111162242937

64位双精度浮点数表示

image-20231111162310846

会判断数据类型强制转换后是否永真

image-20231111163712297

第二讲

单位:B、bit、字、字长

  • 比特(bit,位)是计算机中处理、存储、传输信息的最小单位
  • 字节(Byte)是二进制信息的计量单位,也称“位组”,1B=8b
    • 现代计算机中,存储器按字节编址
    • 字节是最小可寻址单位
  • 除比特和字节外,还是用“字”(word)作为单位
    • 字长:CPU内部用于整数运算的数据通路的宽度,反映了一种计算及处理信息得能力
    • “字”表示被处理信息的单位,1个字=16bit
  • 经常使用的容量度量单位:

image-20231111172931361

  • 通信中的带宽使用单位:

image-20231111173020604

大端/小端

image-20231111173143324

image-20231111173352260

边界对齐

  • 目前计算机所用数据字长一般为32位或64位,而存储器地址按字节编址
  • 指令系统支持对字节、半字、字及双字的运算,也有位处理指令
  • 各种不同长度的数据存放时,有两种处理方式:
    • 按边界对齐(假定字的宽度为32位,按字节编址)
      • 字地址:4的倍数
      • 半字地址:2的倍数
      • 字节地址:任意
    • 不按边界对齐
      • 坏处:可能会增加访存次数

image-20231111175146250

image-20231111175202757

第三讲

按位运算

image-20231111175419455

逻辑运算

image-20231111175432468

移位运算:逻辑移位、算术移位

image-20231111190923864

逻辑移位

image-20231111191301535

image-20231111191205008

补码的算术移位

image-20231111191326849

image-20231111191341414

定点加减法并判断溢出(应用)

image-20231111193040037

  • 运算溢出是指运算结果超出了数的表示范围

    image-20231111193231256

  • 常用的判断溢出的方法有以下两种:

    1. 采用变形补码判断溢出

      image-20231111193425656

    2. 利用符号位进位信号判断溢出

      image-20231111193602813

      image-20231111193656862

(浮点数加减运算不考)

标志位有哪些,如何判断

第三章 程序的转换及机器级表示

指令概念

  • 有微指令、机器指令、汇编指令、伪(宏)指令等
  • 微指令时微程序级命令,属于硬件范畴,相当于洗、切、煮、炒菜做菜“微过程”
  • 机器指令处于硬件和软件的交界面
  • 汇编指令时机器指令的汇编表示形式,即符号表示
  • 机器指令是一个0/1序列,由若干字段组成和汇编指令一一对应,他们都与具体机器结构有关,都属于机器级指令
  • 伪指令是由若干汇编指令组成的序列,属于软件范畴,相当于由多个菜谱合成一个“大菜”的过程

机器指令及汇编指令

image-20231111201641193

ISA 常用数据类型及其位数和后缀

  • ISA规定了:
    • 可执行的指令的集合,包括指令格式、操作种类以及每种操作对应的操作数的相应规定
    • 指令可以接受的操作数的类型
    • 操作数所能存放的寄存器组的结构,包括每个寄存器的名称、编号、长度和用途
    • 操作数所能存放的存储空间的大小和编址方式
    • 操作数所在存储空间存放时按照大端还是小端方式存放
    • 指令获取操作数的方式,即寻址方式
    • 指令执行过程的控制方式,包括程序计数器、条件码定义等

IA-32支持的数据类型及格式

image-20231111202708531

IA-32体系结构

image-20231111202930957

寻址方式(结合指令考)(综合考)

8086/8088的寄存器组织

image-20231111203003598

image-20231111203017995

IA-32的寻址方式

  • 寻址方式
    • 根据指令给定信息得到操作数或操作数地址
  • 操作数所在的位置
    • 指令中:立即寻址
    • 寄存器中:寄存器寻址
    • 存储单元中(属于存储器操作数,按字节编址):其它寻址方式

保护模式下的寻址方式

image-20231111203255174

常用寻址方式

image-20231111210337424

image-20231111210355691

image-20231111210412165

image-20231111210424020

image-20231111210438397

image-20231111210528353

image-20231111210602847

IA-32常用指令及操作

image-20231111215134401

传送指令

b:字节

w:字

l:双字

  1. 通用数据传送指令
    • MOV:一般传送,包括movb、movw和movl等
    • MOVS:符号扩展传送,如movsbw、movswl等
    • MOVZ:零扩展传送,如movzwl、movzbl等
    • PUSH/POP:入栈/出栈,如pushl、pushw、popl、popw等
  2. 地址传送指令
    • LEA:加载有效地址,如”leal(%dex,%eax),%eax”的功能为R[eax]←R[edx]+[eax],执行前,若R[edx]=i,R[eax]=j,则执行指令后,R[eax]=i+j
  3. 输入输出指令(了解)
    • IN和OUT:I/O端与寄存器之间的交换
  4. 标志传送指令(了解)
    • PUSHF、POPF:将EFLAG压栈,或将栈顶内容送EFLAG

MOV指令

image-20231111220109362

push/pop指令

image-20231111220400242

定点算术运算指令

image-20231111220523327

image-20231111220652036

按位运算指令

image-20231111220839684

控制转移指令

image-20231111220927646

条件转移指令

image-20231111220944354

RTL 语言(综合考)


计组期中考点
http://cdt3211.github.io/2023/10/22/计组期中考点/
作者
Abner
发布于
2023年10月22日
许可协议