计算机组成原理4
计算机系统概论
1.简述冯・诺依曼计算机的五大组成部件及功能
运算器:完成算术运算(加减乘除)和逻辑运算(与或非、比较移位),是数据加工部件;
控制器:从存储器取指令、译码、产生时序与控制信号,指挥整机协调工作;
存储器:存放程序、数据和中间结果,是计算机的记忆部件,支持按地址读写;
输入设备:将外部信息(数据、命令)转换为计算机可识别的二进制形式输入系统;
输出设备:将计算机处理的结果转换为人或其它设备可接收的形式输出
2.冯・诺依曼计算机的主要设计思想是什么?它包括那些主要组成部分?
核心设计思想:存储程序并按地址顺序执行。即把程序和数据预先存放在存储器中,计算机工作时自动、顺序地从存储器中取出指令并执行。
主要组成:运算器、控制器、存储器、输入设备、输出设备五大部件
3.什么是内存?什么是外存?什么是CPU?什么适配器?
内存(内存储存器):存放系统当前运行的程序和数据的半导体存储器,CPU可直接寻址访问,速度快、容量相对小;
外存(外存存储器):存放暂不运行的程序和数据的大容量存储器,CPU不能直接访问,需通过内存调入调出、容量大、速度慢、断点数据不丢失;
CPU(中央处理器):运算器与控制器的合称,是计算机的核心,负责指令执行、运算处理和整机控制;
适配器(接口):主机与外设之间的连接部件,负责实现数据缓冲、格式转换、电平匹配、地址译码和命令/状态传递,解决主机与外设的速度、格式不匹配问题
存储结构层次结构
1.简述Cache的工作原理及作用
工作原理:基于程序访问的局部性原理(时间局部性、空间局部性),将主存中CPU近期高频访问的数据块,复制到高速的Cache中。CPU访问时先查找Cache:命中则直接从Cache读取;未命中则访问主存,同时将给数据所在块调入Cache中。
作用:在CPU与主存之间搭建高速缓冲层,大幅降低平均访存时间,缓解CPU与主存的速度不匹配问题,提升系统整体性能。
中央处理器(CPU)与时序
1.简述指令周期、机器周期、时钟周期的关系
时钟周期(节拍):CPU最小的时序单位,是时钟频率的倒数,完成一个最基本的微操作。
机器周期(CPU周期):完成一个独立的基本操作(如取指、访存、执行)所需的时间,包含若干个时钟周期。
指令周期:CPU取出并执行完一条指令的总时间,包含若干个机器周期。
层级关系:指令周期>机器周期>时钟周期
输入输出系统
1.简述DMA方式的工作原理及特点
工作原理:DMA控制器在获得总线控制权后,直接在主存与外存之间建立数据传输通路,按照预设的地址和长度批量传送数据,全程无需CPU介入数据传送过程。传送结束后DMA向CPU发中断,通知CPU做收尾处理。
特点:数据传输直接由硬件完成,CPU开销极低;传输速度快,适合高速外设的大批数据传输;会占用总线,存在总线仲裁开销
2.程序查询方式和程序中断方式,他们有何相同点和不同点?
相同点:都依靠CPU执行程序实现外设的输入和输出控制,都属于程序控制类I/O方式。
不同点:
程序查询方式:CPU需要不断轮询外设状态,全程参与I/O过程,外设与CPU串行工作,CPU利用率低,实时性差;
中断方式:外设准备就绪后主动向CPU发请求,CPU仅在响应中断时执行I/O服务,其余时间可执行主程序,外设与CPU并行工作,CPU利用率高、实时性好。
数据运算-补码加减法与溢出判断
加法规则:[A + B]补 = [A]补 + [B]补
减法规则:[A - B]补 = [A]补 - [-B]补
溢出判断:(单符号位法):两个同号数相加,结果符号与原操作数符号不同,则发生溢出;
异号数相加不会溢出
(双符号位变形补码法):结果符号位为01表示正溢出,10表示负溢出
8位字长,A=100,B=50,计算[A+B]补 并判断溢出
解:
转换为二进制:A=01100100 B = 00110010
用补码表示:等于原码
补码相加得 10010110
他们是同号相加,符号符发生变换,发生溢出;
存储器系统-Cache直接映射地址计算
存储32MB、Cache256KB、块长16B,直接映射下地址位数计算
解:
块内地址:块长16B → 2^4 →块内地址 = 4位
Cache块数:Cache容量256KB→2^18 →Cache地址总数 = 18位;Cache块数 = 2 ^ 18 / 16B
=2^14块→14位
主存地址:主存容量32MB = 2^5MB=2^25B→主存地址总位数=25位
直接映射标记位:主存地址 = 标记位 + Cache块号+块内地址
得:标记位 = 主存地址位数 - Cache块号位数 - 块内地址位数=25-14-4 = 7
CPU数据通路与指令周期
本数据通路采用指令Cache与数据Cache分离的哈佛结构,总线分为两套独立总线:IBUS(指令总线)、DBUS(数据总线)
1.指令通路(右半部分)
功能:完成取指令、指令译码,是所有指令的公共通路
PC(程序计数器):存放下一条待执行指令的地址,自带地址加1功能;SPC:写入PC,更新地址值
I-Cache(指令存储器/指存):存放程序指令,按PC地址读出指令;IR/W:读写控制信号,读指令时置为读状态
IR(指令寄存器):暂停当前执行的指令,拆分为操作码+地址码两部分;SIR:写入IR,将指令存入寄存器中
操作控制器:对指令操作码译码,产生全部微操作控制信号;输出C₁、C₂、C₃等通路选通信号,及所有读写控制信号
OR 门:选择下一个 PC 地址(顺序执行地址 / 转移目标地址);输入:PC+1 的顺序地址、IR 的地址码字段
2.数据运算通路(左半部分)
功能:完成数据运算、数据访存操作,不同指令对应不同通路
AR(地址寄存器):存放数据访存的地址,输出给 D-cache
D-cache(数据存储器 / 数存):存放运算数据,按 AR 地址完成读写
DR(数据缓冲寄存器):暂存从 D-cache 读出的数据
R₀~R₃(通用寄存器):暂存运算中间数据,共 4 个通用寄存器
ALU(算术逻辑单元):完成算术运算、逻辑运算
PSW(程序状态字寄存器):保存运算结果的标志位(进位、零、负、溢出等)
3.指令周期流程图
取指周期:
功能:从指令存储器取出指令,存入 IR,PC 自动 + 1 指向下一条指令,完成指令译码
- PC 输出地址 → I-cache
IR/W置为读,I-cache 读出指令 → IBUSSIR有效:IBUS 上的指令 → 指令寄存器 IR- PC+1 → PC(顺序指向下一条指令)
- 操作控制器对 IR 的操作码译码
间址周期:
功能:根据指令的形式地址,从数据存储器取出有效地址
- C₃、SAR 有效:IR 的地址码(形式地址 A)→ DBUS → 地址寄存器 AR
DR/W置为读,D-cache 读出数据 → DBUS- DBUS 上的有效地址 → AR(替换原形式地址)
执行周期:
功能:按有效地址从数据存储器取数,将结果写入通用寄存器 R1
DR/W 置为读,D-cache 按 AR 中的有效地址读出数据 → DBUS SR₁有效:DBUS 上的数据 → 通用寄存器 R1
