20145339《信息安全系统设计基础》第6周学习总结

处理器体系结构

学习目标

了解ISA抽象的作用

掌握ISA,并能举一反三学习其他体系结构

了解流水线和实现方式

ISA:

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

ISA在编译器编写者和处理器设计人员之间提供了一个概念抽象层,编译器编写者只需要知道允许哪些指令,以及他们是如何编译的。

现代处理器的工作方式可能跟ISA隐含的计算模型大相径庭。ISA模型看上去应该是顺序指令执行,然而,与一个时刻只执行一条指令相比,通过同时处理多条指令的不同部分,能提高处理器的性能。

HCL:硬件控制语言

4.1 Y86指令集体系结构

1、Y86指令集:

Y86指令的更多细节:

IA32的movl指令分成了4个不同的指令:irmovl、rrmovl、mrmovl和rmmovl 两个存储器传送指令中的存储器引用方式是最简单的基址和偏移量形式。在地址计算中,我们不支持第二变址寄存器和任何寄存器值的伸缩。 同IA32一样,不允许从一个存储器地址直接传送到另一个存储器地址。另外,也不允许将立即数传送到存储器。

有4个整数操作指令:addl、subl、andl、xorl。

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

7个跳转指令:jmp、jle、jl、je、jne、jge、jg call指令将返回地址入栈,然后跳到目的地址。ret指令从这样的过程调用中返回 halt指令停止指令的执行。IA32中有一个与之相当的hlt。

2、指令编码:

每条指令的第一个字节表示指令的类型。这个字节分为两个部分,每部分4位。高4位是代码部分,第4位是功能部分。

功能值只有在一组相关指令共用一个代码时才有用。

Y86指令集的功能码:

所有整数采用小端法编码。当指令按照反汇编格式书写时,这些字节就以相反的顺序出现。

指令集的一个重要性质就是字节编码必须有唯一的解释。

3、Y86异常:

在更完整的设计中,处理器就会经常调用一个异常处理程序,这个过程被指定用来处理遇到的某种类型的异常。异常处理程序可以被配置成不同的结果。

创建Y86唯一的工具就是汇编器。

YIS(指令集模拟器),它的目的是模拟Y86机器代码程序的执行,而不用试图去模拟任何具体处理器实现的行为。

4、Y86指令的详情

pushl指令会把栈指针减4,并且讲一个寄存器值写入存储器中。因此,执行pushl的时候,处理器的行为是不确定的,因为要入栈的寄存器会被同一条指令修改。通常有两种约定:

压入%esp的原始值 压入减去4的%esp的值

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

1、逻辑门

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

AND && OR || NOT !

逻辑门符号与C语言符号不同,是因为逻辑门只对单个位的数进行操作,而不是整个字。

逻辑门总是活动的。一旦一个门的输入变化了,在很短时间内,输出就会相应的发生变化。

将很多的逻辑门组合成一个网,就能构建计算块,称为组合电路。构建这些网有两条限制:

两个或多个逻辑门的输出不能连接在一起,否则他们可能会使线上的信号矛盾,可能会导致下一个不合法的电压或电路故障。 这个网必须是无环的。也就是不能形成一个回路。

HCL表达式和C语言中表达式的区别:

因为组合电路是由一系列逻辑门组成,它的属性是输出会持续的响应输入的变化,如果电路的输入变化了,在一定的延迟之后,输出也会相应的变化。相比之下,C表达式只会在程序执行过程中被遇到时才进行求值。 C的逻辑表达式允许参数是任意整数,0表示FALSE,其他的任何值都表示TRUE。而逻辑门只有0、1. C的逻辑表达式有个属性就是他们可能只被部分求值。如果一个AND或者OR操作结果只用对第一个参数求值就能确定,就不用在对第二个参数求职了。而组合逻辑没有部分求值这条规则,逻辑门只是简单的响应输入的变化。

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

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

在HCL中,我们将所有字级的信号都声明为int,不指定字的大小

在HCL中,多路复用函数是用情况表达式来描述的。每种情况i都有一个布尔表达式select和一个整数表达式expr。前者表示什么时候该选择这种情况,后者表示得到的值

算术/逻辑单元(ALU)是一种很重要的组合电路。这个电路有3个输入:标号为A和B的两个数据输入,以及一个控制输入。

3、存储器和周期:

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

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

寄存器文件有两个读端口(A和B),还有一个写端口W。这样一个多端口随机访问存储器允许同时进行多个读和写的操作。每个端口都有一个地址输入,表明该选择哪个程序寄存器。

时间: 2024-08-07 04:31:46

20145339《信息安全系统设计基础》第6周学习总结的相关文章

20145339《信息安全系统设计基础》第一周学习总结

20145339顿珠达杰<信息安全系统设计基础>第一周学习总结 ◆ Linux是一个操作系统.如果使用GUI,Linux和Windows没有什么区别.Linux学习应用的一个特点是通过命令行进行使用. 物理机系统上可以通过使用[Ctrl]+[Alt]+[F1]-[F6]进行终端和图形界面切换,在线实验环境中按下[Ctrl]+[Alt]+[F7]来完成切换.普通意义上的 Shell 就是可以接受用户输入命令的程序,Unix/Linux 操作系统下的 Shell 既是用户交互的界面,也是控制系统的

20145216 史婧瑶《信息安全系统设计基础》第一周学习总结

20145216 <信息安全系统设计基础>第一周学习总结 教材学习内容总结 Linux基础 1.ls命令 ls或ls .显示是当前目录的内容,这里“.”就是参数,表示当前目录,是缺省的可以省略.我们可以用ls -a .显示当前目录中的所有内容,包括隐藏文件和目录.其中“-a” 就是选项,改变了显示的内容.如图所示: 2.man命令 man命令可以查看帮助文档,如 man man : 若在shell中输入 man+数字+命令/函数 即可以查到相关的命令和函数:若不加数字,那man命令默认从数字较

20145311 《信息安全系统设计基础》第一周学习总结

20145311 <信息安全系统设计基础>第一周学习总结 教材学习内容总结 常用的部分命令 CTRL+SHIFT+T:新建标签页,编程时有重要应用: ALT+数字N:终端中切换到第N个标签页,编程时有重要应用: Tab:终端中命令补全,当输入某个命令的开头的一部分后,按下Tab键就可以得到提示或者帮助完成: CTRL+C:中断程序运行 Ctrl+D:键盘输入结束或退出终端 Ctrl+S: 暂定当前程序,暂停后按下任意键恢复运行 Ctrl+A: 将光标移至输入行头,相当于Home键 Ctrl+E

20145216史婧瑶《信息安全系统设计基础》第九周学习总结

20145216史婧瑶<信息安全系统设计基础>第九周学习总结 教材内容总结 第十章 系统级I/O 输入/输出(I/O)是在主存和外部设备之间拷贝数据的过程. 第一节 Unix I/O 这一节涉及到操作系统的基本抽象之一--文件.也就是说,所有的I/O设备都被模型化为文件,而所有的输入输出都被当做对相应文件的读/写.相关的执行动作如下: 1.打开文件: 应用程序向内核发出请求→要求内核打开相应的文件→内核返回文件描述符 文件描述符:一个小的非负整数,用来在后续对此文件的所有操作中标识这个文件.有

20145311 《信息安全系统设计基础》第二周学习总结

20145311 <信息安全系统设计基础>第二周学习总结 教材学习内容总结 重新学习了一下上周的一部分命令:grep main wyx.c(grep的全文检索功能)ls > ls.txt :ls内容输出到文本find pathname -mtime -n/+nfind -size -n/+n (find的功能还是比较强大) 简单地学习了一下vim编辑器,跟着vimtutor简单地学了一些,在linux bash中使用vim能够极大地提高效率, vim的用法比较多,只学习了其中简单的一部分

2017-2018-1 20155228 《信息安全系统设计基础》第九周学习总结

2017-2018-1 20155228 <信息安全系统设计基础>第九周学习总结 教材学习内容总结 常见的存储技术 RAM 随机访问存储器(Random-Access Memory, RAM)分为两类:静态的和动态的.静态 RAM(SRAM)比动态RAM(DRAM)更快,但也贵得多.SRAM用来作为高速缓存存储 器,既可以在CPU芯片上,也可以在片下.DRAM用来作为主存以及图形系统的帧缓冲 区.典型地,一个桌面系统的SRAM不会超过几兆字节,但是DRAM却有几百或几千兆 字节. SRAM将每

2017-2018-1 20155332 《信息安全系统设计基础》第九周学习总结

2017-2018-1 20155332 <信息安全系统设计基础>第九周学习总结 教材学习内容总结 简单模型中,存储器是一个线性的字节数组.真实模型中,是一个具有不同容量,成本,访问时间的存储层次结构(存储器山) 程序的局部性很重要,对程序性能有很重要的影响. 计算机系统一个基本而持久的思想,如果你理解了系统是如何将数据在存储器层级结构中上下移动,你就可以编写程序,让数据存储在层次结构中较高的地方,从而CPU可以更快的访问到他们. 编写程序实现功能是最简单的,如何让编写的程序拥有最高的性能,例

2017-2018-1 20155227 《信息安全系统设计基础》第九周学习总结

2017-2018-1 20155227 <信息安全系统设计基础>第九周学习总结 教材学习内容总结 第六章 随机访问存储器 随机访问存储器分为:静态RAM(SRAM)和动态RAM(DRAM),静态RAM(SRAM)比动态RAM(DRAM)更快,但也贵很多. (1)静态RAM SRAM将每个位存储在一个双稳态的存储器单元里,每个单元是用一个六晶体管电路来实现的. 属性:它可以无限制地保持在两个不同的电压配置或状态之一.其他任何状态都是不稳定的. 特点:由于SRAM的双稳态特性,只要有电,它就会永

2017-2018-1 20155334 《信息安全系统设计基础》第九周学习总结

2017-2018-1 20155334 <信息安全系统设计基础>第九周学习总结 学习目标: 了解常见的存储技术(RAM.ROM.磁盘.固态硬盘等) 理解局部性原理 理解缓存思想 理解局部性原理和缓存思想在存储层次结构中的应用 高速缓存的原理和应用 教材学习内容总结 一.常见的存储技术: 基本的存储技术包括随机存储器(RAM).非易失性存储器(ROM)和磁盘. 1. RAM分静态RAM(SRAM)和动态RAM(DRAM). 2. SRAM快些,主要用做CPU芯片上的高速缓存,也可以用作芯片下的

2017-2018-1 20155331 《信息安全系统设计基础》第九周学习总结

2017-2018-1 20155331 <信息安全系统设计基础>第九周学习总结 教材学习内容总结 存储器层次结构 存储技术 随机访问存储器 随机访问存储器分为:静态的SRAM.动态的DRAM 静态RAM: SRAM的特点:存储器单元具有双稳态特性,只要有电就会永远保持它的值,干扰消除时,电路就会恢复到稳定值. 动态RAM: DRAM的特点:每一位的存储是对一个电容的充电:对干扰非常敏感. 用途:数码照相机和摄像机的传感器 DRAM存储不稳定的应对机制: 存储器系统必须周期性地通过读出,或者重