第四章 处理器体系结构

来源:互联网 发布:网络传真软件破解版 编辑:程序博客网 时间:2024/05/28 18:44

       指令集 体系结构(Instruction-Set Architecture,ISA):一个处理器支持的指令和指令的字节级编码。

       虽然很少有人设计处理器,但是许多人设计包含处理器的硬件系统。嵌入式系统的设计者必须了解处理器是如何工作的。

       硬件控制语言(Hardware Control Language,HCL):

 

1、Y86指令集体系结构

定义一个指令集体系结构,包括:

Ø  各种状态元素

Ø  指令集和它们的编码

Ø  一组编程规范和异常事件处理

 

1.1、       程序员可见状态

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

Y86:

8个程序寄存器

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

程序计数器(PC):存放当前正在执行指令的地址。

状态码Stat:表明程序执行的总体状态。

存储器:保存程序和数据

 

1.2、       Y86指令

指令集就是处理器实现的目标。

图4-2 Y86指令集,左边是指令的汇编码表示,右边是指令的字节级表示。

 

1.3、       指令编码

指令的字节级编码。每条指令需要1~6个字节不等。

每条指令的第一个字节表明指令的类型:前4位是代码部分,后4位是功能部分。

 

8个程序寄存器中每个都有相应的0~7的 寄存器标识符(registerID)。

ID值0xF表明不应访问任何寄存器。

 

指令集的一个重要性质就是字节编码必须有唯一的解释。---因为每条指令的第一个字节有唯一的代码和功能组合,决定所有其他附加字节的长度和含义。

 

1.4、       Y86异常

程序员可见的状态包括状态码Stat,描述程序执行的总体状态。代码值1、2、3、4分别表示正常操作、异常等不同含义。

对于Y86,遇到异常就简单的让处理器停止执行指令。完整的处理器设计会调用一个异常处理程序(exception handler),这个过程被指定用来处理遇到的某种类型的异常。

 

1.5、       Y86程序

 

 

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

2.1、逻辑门

逻辑门:是数字电路的基本计算元素。它们产生的输出,等于它们输入位值的某个布尔函数。

AND OR NOT…

 

2.2、组合电路和HCL布尔表达式

组合电路(combinational circuits):很多的逻辑门组合成一个网,构建计算块(computational block)。

构建组合电路两条限制:

l  两个或多个逻辑门的输出不能连接在一起。

l  这个网必须是无环的。

HCL写检测位相等的组合电路 的函数是:bool eq=(a&&b)||(!a&&!b);

HCL 位多路复合器 bool out = (s && a) || (!s && b);

 

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

字级计算的组合电路:根据输入字的各个位,用逻辑门来计算输出字的各个位。

HCL 写比较字是否相等bool Eq = (A == B);

在HCL中,多路复用函数是用情况表达式(case expression)来描述的。例如:

字级多路复用器用HCL描述:

int Out= [

              s: A;

              1: B;

];

 

算术/逻辑单元(ALU):一种很重要的组合电路,有三个输入(标号为A,B的两个数据输入,一个控制输入),根据控制输入的设置,电路会对数据输入执行不同的算术或逻辑操作。

 

组合电路从本质上讲,不存储任何信息。他们只是简单的响应输入信号,产生等于输入的某个函数输出。

 

2.4、集合关系

 

2.5、存储器和时钟

       两类存储器设备:

Ø  时钟寄存器(简称寄存器):存储单个位或字。时钟信号控制寄存器加载输入值。

Ø  随机访问存储器(简称存储器):存储多个字,用地址来选择该读或该写哪个字。

 

硬件寄存器:在硬件中,寄存器直接将它的输入和输出线连接到电路的其他部分。

程序寄存器:在机器编码汇总,寄存器代表的是CPU中为数不多的可寻址(这里的地址是寄存器ID)的字。这些字通常存在寄存器文件中。

寄存器堆(register file)是CPU中多个寄存器组成的阵列,通常由快速的静态随机读写存储器(SRAM)实现。这种RAM具有专门的读端口与写端口,可以多路并发访问不同的寄存器。寄存器文件不是组合电路,因为它有内部存储。

       处理器有一个随机访问存储器来存储程序数据。

3、Y86的顺序实现

4、流水线的通用原理

5、Y86的流水线实现

6、小结

 

0 0
原创粉丝点击