计算机系统基础(961)

第二部分 计算机系统基础

考试题型:问答、分析、编程
总分:40分

一 、处理器体系结构

CPU中的时序电路

ISA

一个处理器支持的指令和指令的字节级编码称为他的指令集体系结构ISA
ISA在编译器编写者和处理器设计人员之间提供了一个概念抽象层
CPU循序的指令集编码,并且顺序的执行指令,也就是先取出一条指令,等他执行完毕再开始下一条,然而,现代处理器的实际工作方式可能跟ISA隐含的计算模型大相径庭。通过同时处理多条指令的不同部分,处理器可以获得较高的性能。但其必须对外表现出符合ISA模型的执行结果。
在计算机科学中,用巧妙的方法在提高性能的同时,又保持一个更简单、更抽象模型的功能,这种思想是众所周知的(抽象)。

CPU硬件简介

  1. 计算对位进行操作的函数的组合逻辑
  2. 存储位的存储器元素(寄存器)
  3. 控制存储器元素更新的时钟信号

逻辑门是数字电路的基本计算元素,他们产生的输出等于他们输入位值得某个布尔函数,将很多逻辑门组成一个网,就能构建计算块,称为组合电路

算术/逻辑单元 是一种很重要的组合电路,这个电路有三个输入:两个数据输入及一个控制输入,根据控制输入的位置,电路会对数据输入执行不同的算术或逻辑操作。

存储器和时钟 组合电路从本质上讲,不存储任何信息。它们只是简单地响应输入信号,产生等于输入的某个函数的输出。为了产生时序电路,也就是有状态并且在这个状态上进行计算的系统,我们必须引入按位存储信息的设备。
存储设备都是由同一个时钟控制,时钟是一个周期性信号,决定了什么时候要把新值加载到设备中。
大多数时候,寄存器都保持在稳定状态(用x表示),产生的输出等于它的当前状态。信号沿着寄存器前面的组合逻辑传播,这时,产生了一个新的寄存器输入(用y表示),但只要时钟是低电位的,寄存器的输出就仍然保持不变。当时钟变成高电位的时候,输入信号才加载到寄存器中,成为下一个状态y,直至下一个时钟的上升沿。
寄存器是作为电路不同部分中的组合逻辑之间的屏障。每当每个时钟到达上升沿时,值才会从寄存器的输入传送到输出。

寄存器文件 (通用寄存器组成的逻辑块) 有两个读端口,还有一个写端口。电路可以读两个程序寄存器的值,同时更新第三个寄存器的状态。每个端口都有一个地址输入,表明选择哪个程序寄存器。
虽然寄存器文件不是组合电路,因为它有内部存储。不过,从寄存器文件读数据就好像它是一个以地址为输入、数据为输出的一个组合逻辑块。

指令编码 指令集的一个重要性质就是字节编码必须有唯一的解释。任意一个字节序列要么是一个唯一的指令序列的编码,要么就不是一个合法的字节序列。因为每条指令的第一个字节有唯一的代码和功能组合,给定这个字节,我们就可以决定所有其他附加字节的长度和含义。
每条指令需要1——6个字节不等,这取决于需要哪些字段。每条指令的第一个字节表明指令的类型:高4位是代码部分(例:6为整数类操作指令),低4位是功能部分(例:1为整数类中的减法指令) 61合起来即为sub指令。

单周期处理器的设计

首先要理解什么叫单周期CPU(与后面多周期CPU对比)单周期CPU指的是一条指令的执行在一个时钟周期内完成,然后开始下一条指令的执行,即一条指令用一个时钟周期完成。

单周期CPU,是在一个时钟周期内完成这五个阶段的处理。
处理一条指令的序列:
取指(IF)
根据程序计数器PC中的指令地址,从存储器中取出一条指令,同时,PC根据指令字长度自动递增产生下一条指令所需要的指令地址,但遇到“地址转移”指令时,则控制器把“转移地址”送入PC,当然得到的“地址”需要做些变换才送入PC。
译码(ID)
对取指令操作中得到的指令进行分析并译码,确定这条指令需要完成的操作,从而产生相应的操作控制信号,用于驱动执行状态中的各种操作。
执行(EXE)
根据指令译码得到的操作控制信号,具体地执行指令动作,然后转移到结果写回状态。
访存(MEM)
所有需要访问存储器的操作都将在这个步骤中执行,该步骤给出存储器的数据地址,把数据写入到存储器中数据地址所指定的存储单元或者从存储器中得到数据地址单元中的数据。
写回(WB)
指令执行的结果或者访问存储器中得到的数据写回相应的目的寄存器中。

更新PC(PC update) 程序计数器
根据指令代码和分支标志,从前几步得出的信号值中,选出下一个PC的值。

计算机系统基础(961)_第1张图片
image

流水线处理器的基本原理

我们通过将执行每条指令所需的步骤组织成一个统一的流程,就可以用很少量的各种硬件单元以及一个时钟来控制计算的顺序,从而实现整个处理器。不过这样一来,控制逻辑就必须要在这些单元之间路由信号,并根据指令类型和分支条件产生适当的控制信号。(CPU内有三种总线:控制总线、地址总线、数据总线)

Data Hazard的处理

流水线设计中的其他问题

二、优化程序性能

内容:优化程序性能、优化编译器的能力和局限性以及表示程序性能、特定体系结构或应用特性的性能优化、限制因素、确认和消除性能瓶颈

三、存储器结构及虚拟存储器

内容:局部性、存储器层级结构、计算机高速缓存器原理、高速缓存对性能的影响、地址空间、虚拟存储器、虚拟内存的管理、翻译和映射、TLB、动态存储器分配和垃圾收集

四、链接、进程及并发编程

内容:静态链接、目标文件、符号和符号表、重定位和加载、动态链接库、异常和进程、进程控制和信号、进程间的通信、进程间信号量的控制、信号量,各种并发编程模式,共享变量和线程同步,其他并行问题

五、系统级I/O和网络编程

内容:I/O相关概念、文件及文件操作、共享文件、网络编程、客户端-服务器模型,套接字接口、HTTP请求,Web服务器

你可能感兴趣的:(计算机系统基础(961))