学习计时:共8小时

读书:3小时

代码:1小时

作业:2小时

博客:2小时

 

第四章处理器体系结构

 

我们看到的计算机系统只限于机器语言程序级

指令被编码为由一个或多个字节序列组成的二进制格式——指令集体系结构(ISA)

设计处理器:基于顺序操作,功能正确,有点不实用,时钟必须足够慢。

创建一个流水线化的处理器,处理冒险或冲突

冒险:一条指令的位置或操作数依赖于其他仍在流水线中的指令

Y86处理器:硬件构造块,结构构造模块

 

4.1 Y86指令集体系结构

定义:各种状态元素、指令集和编码,一组编程规范和异常事件处理

4.1.1 程序员可见的状态

程序员可见状态:每条指令都会读取或修改处理器状态的某些部分

Y86处理器类似于IA32,有8个程序寄存器

每个程序寄存器存储一个字

3个一位的条件码:ZF、SF、OF

存储器:一个很大的字节数组,保存着程序和数据

Y86用虚拟地址引用储存器的位置

虚拟地址会被翻译成物理地址

状态码Stat:程序执行的总体状态,正常or异常

4.1.2 Y86指令

是IA32指令集的一个子集,只包括四字节整数操作

详见P232图4-2

Movl指令:irmovl、rrmovl、mrmovl、rmmovl

第一字母:源 i:立即数 r:寄存器 m:储存器

第二字母:目的 r:寄存器 m:储存器

储存器引用方式:基址和偏移量形式

4个整数操作指令OPl:addl、subl、andl、xorl,只对寄存器数据进行操作

7个跳转指令:jmp、jle、jl、je、jne、jge、jg,根据分支指令的类型和条件码的设置来选择分支

6个条件传送指令:cmovle、cmovl、cmove、cmovne、cmovge、cmovg

Call指令将返回地址入栈,然后跳到目的地址

Pushl:入栈 popl:出栈

Halt指令停止指令的执行

4.1.3 指令编码

每条指令的第一个字节表明指令的类型

高4位:代码 低四位:功能

Rrmovl:无条件传送,功能代码0

寄存器标识符0-7

程序寄存器存在CPU中的一个寄存器文件中

寄存器指示符字节:指示一个或两个寄存器

有些指令需要附加4字节的常数字

4.1.4 Y86异常

程序员可见的状态包括状态码Stat,描述程序执行的总体状态

1 AOK  正常

2 HLT 处理器执行halt指令

3 ADR 遇到非法地址

4 INS 遇到非法指令

处理器会调用一个异常处理程序。

4.1.5 Y86程序

.开头的命令是汇编器命令:调整地址

.pos0:从地址0开始产生代码

初始化栈指针,帧指针

YIS:指令集模拟器

4.1.6 一些Y86指令的详情

Pushl:栈指针减4,并且将一个寄存器值写入存储器中。

处理器的行为不确定

两种约定:1.压入%esp的原始值 2.压入减去4的%esp的值

 

4.2 逻辑设计和硬件控制语言HCL

三个组成部分:计算对位进行操作的函数的组合逻辑、存储位的存储器元素、控制存储器元素更新的时钟信号

4.2.1 逻辑门

AND OR NOT

4.2.2 组合电路和HCL布尔表达式

组合电路

两条限制:

两个或多个逻辑门的输出不能连接在一起,否则可能会使线上的信号矛盾,可能会导致一个不合法的电压或电路故障

这个网必须是无环的。

多路复用器:根据输入控制信号的值

组合逻辑电路与C语言中逻辑表达式的区别:

  1. 组合电路:输出会持续的响应输入的变化

C表达式:遇到才求值

  1. C表达式:允许参数是任意整数,0表示FALSE,其他都是TURE

组合电路:只对位0,1进行操作

  1. C表达式可能只被部分求值

4.2.3 字级的组合电路和HCL整数表达式

在HCL中,将所有的字级信号都声明为int,不指定字的大小,每个字都可以声明为有特定的位数

在画字级电路的时候,用中等粗度的线来表示携带字的每个位的线路,用虚线表示布尔信号结果

多路复用函数用情况表达式来描述

选择表达式可以是任意的布尔表达式,可以有任意多的情况

情况表达式能描述带复杂选择标准的,多种输入信号的块。

4.2.4 集合关系

判断集合关系的通用格式:

Iexpr in{iexpr1,iexpr2,…,iexprk}

都是整数表达式

4.2.5 储存器和时钟

由一个时钟控制

时钟寄存器:存储单个位或字,时钟信号控制寄存器加载输入值

随机访问寄存器:存储多个字,用地址来选择该读或该写哪个字

硬件寄存器,程序寄存器

寄存器文件有两个读口端,一个写口端,允许同时进行多个读或写操作

处理器还包括另一个只读储存器

两个储存器合并为一个具有双端口的储存器:一个用来读指令,另一个用来读或写数据

 

4.3 Y86的顺序实现

每个时钟周期上,SEQ执行处理一条完整指令所需的所有步骤

4.3.1 将处理组织成阶段

取址,译码,执行,访存,写回,更新PC

以一种统一的方式处理所有的跳转指令,它们只在判断是否要选择分支的时候不同

在执行阶段,检查条件码和跳转条件来确定是否要选择分支,产生出一个位信号Cnd

在更新PC阶段,检测这个标志

1:PC设为valC(跳转目标)

2:PC设为valP(下一条指令的地址)

4.3.2 SEQ硬件结构

同各个阶段相关的硬件单元负责执行这些处理

在右边,反馈线路向下,包括要写到寄存器文件的更新值,以及更新的程序计数器值

取址,译码,执行,访存,写回

浅灰色方框表示硬件单元

控制逻辑块是用灰色圆角矩形表示的

线路的名字在白色椭圆中说明

宽度为字长的数据连接用中等粗细的线表示

宽度为字节或更窄的数据连接用细线表示

单个位的连接用虚线来表示

4.3.3 SEQ的时序

一个时钟变化会引发一个经过组合逻辑的流,来执行整个指令

SEQ的实现包括组合逻辑和两种存储器设备

时钟寄存器(程序计数器和条件码寄存器),随机访问储存器(寄存器文件、指令存储器和数据存储器)

处理器从来不需要为了完成一条指令的而去读由该指令更新了的状态

4.3.4 SEQ阶段的实现

Nop指令:除了将PC加1,不进行任何处理

Halt指令:使得处理器状态被设置为HLT,导致处理器停止运行

1、  取指阶段

包括指令存储器硬件单元。以PC作为第一个字节的地址,这个单元一次从存储器读出6个字节,第一个字节被解释为指令字节(Split)

Icode:控制逻辑块计算指令

Ifun:功能码

当指令地址不合法,这些值对应于nop指令

2.译码和写回阶段

寄存器文件有四个端口

支持同时进行两个读或两个写

每个端口都有一个地址连接和一个数据连接

地址连接是一个寄存器ID,数据连接是一组32根线路

3.执行阶段

执行阶段包括算术\逻辑单元(ALU),对输入数据执行一系列运算

  1. 访存阶段

读或者写程序数据

两个控制块产生存储器地址和存储器输入数据的值

另外两个块产生控制信号表明应该执行读操作还是写操作

当执行读操作时,数据存储器产生值valM

  1. 更新PC阶段

会产生程序计数器的新值

  1. SEQ小结

问题:时钟必须非常慢,以使信号能在一个周期内传播所有的阶段

 

课后作业:

 

 

借鉴资料:《深入理解计算机系统》

 

问题:最后的课后作业make不能运行

心得:和上次不同,这次接触的基本都是全新的知识,也比较难于理解,课后题也不如以前的那么轻松,总之,理论知识很难,还需要多看几遍。

 

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                           

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        

                              

posted on 2015-10-18 19:50  綺麗な嘔吐物  阅读(185)  评论(1编辑  收藏  举报