自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(12)
  • 收藏
  • 关注

原创 C++类关键字this解析

C++中的this关键字的作用:当类对象调用成员函数时,编译器会将类对象的地址赋值给隐含的this形参,在成员函数中对类成员的访问都将通过this指针来进行访问。C++中This关键字的本质:指向类类型的常量指针,假设类名为student,则this指针的类型为student* const。这样一来,让我们看看如何来理解const成员函数,在这之前,先来看一看普通成员函数的调用。 图

2022-06-20 11:13:29 2234 1

原创 C++中类对象所在的内存位置

C++中类对象所在的内存位置,快来看看吧。

2022-06-19 16:01:40 1854

原创 高速缓冲存储器cache的组织方式及工作原理

早期的计算机存储器层次结构只有简单的三层:CPU寄存器组,DRAM主存储器和磁盘存储。不过随着时间的发展,CPU和主存之间的速度差距逐渐增大,系统设计者被迫在CPU寄存器文件和主存之间插入一个容量小但速度快的SRAM高速缓存存储器,我们一般称之为cache。简单的抽象图如下,一定注意哦,这只是为了方便理解的灵魂抽象图。cache工作的原理:程序运行的空间局部性和时间局部性。空间局限性指的是当一条指令正在被执行,在很短的时间内,这条指令周围的指令也会有很大的概率被执行。时间局部性指的是当一条指

2022-05-03 08:42:38 1969

原创 408统考道道解析之2014-17题

解析:本题中共有16个通用寄存器,所以要想锁定一个通用寄存器需要4位,源操作数和目的操作数分别采用寄存器直接寻址和基址寻址,所以在操作数字段需要锁定一个用于寄存器直接寻址的寄存器(设为A,占据4位),一个用于基址寄存器的通用寄存器(设为B),和一个偏移量。该指令32位,减去8位操作码,减去4位寄存器A,减去4位寄存器B,剩余16位用于偏移量。偏移量补码表示,所以偏移量取值范围为-32768~+32767。小图解:知识点:指令格式,寻址方式,补码表示形式。...

2022-04-27 11:38:09 299 2

原创 操作数的基本寻址方式

1.隐含寻址这种类型的指令,不是明显地给出操作数的地址,而是在指令中隐含着操作数的地址。例如:8086汇编里的CWD指令;把AX中的内容按符号位拓展成DX,AX双字。2.立即寻址指令中直接给出操作数本身,而不是操作数所在的地址。例如:MOV AX,#1233.直接寻址指令中直接给出操作数在内存中的位置。例如:MOV AX,1234.间接寻址指令中的地址字段不是真正的操作数地址,而是操作数地址的指示器。例如:MOV AX,[121]5.寄存器..

2022-04-26 11:21:33 6659

原创 执行基准程序的MIPS计算

408统考真题如下:MIPS:cpu每秒执行百万条指令的数目。CPI:执行一条指令所需要的时钟周期数。主频:cpu每秒的时钟周期数目。计算式:MIPS = (1.2*1000)/(0.5*2+0.2*3+0.1*4+0.2*5)=400

2022-04-25 09:16:33 1064

原创 引发流水线堵塞的原因

要使流水线具有良好的性能,必须使流水线畅通流动,不发生断流。但由于流水过程中会出现以下三种相关冲突,实现流水线的不断流是困难的,这三种相关分别是资源相关,数据相关和控制相关。资源相关所谓资源相关,是指多条指令进入流水线后在同一周期内争用同一个功能部件所引发的冲突。比如取值阶段和访存阶段都需要访问存储器,如果数据和指令放在同一个存储器且只有一个访问口时,便发生两条指令争用存储器资源的相关冲突。解决办法:1.暂停。暂停是避免冒险的一种常用技术,暂停时,处理器会停止流水线的一条或多条指令,直到

2022-04-25 08:51:28 2749

原创 关于cpu流水线的各阶段周期,吞吐率计算问题

本人在复习计组流水线时,遇到了一些问题,再次记录,以备不时之需。首先要弄明白一点,那就是cpu的各阶段是否具有相同的时钟周期,也就是说,每个阶段所花费的时间是否都是相同的?为什么会想到这个问题,先看一下408统考真题的这一题:刚开始那是想都没想,这他么这么简单的题,肯定选A啊,虽然的确做对了,但分析这道题所考的知识点时,想的就多了,为什么时钟周期不能小一点,比如为50ns,让每个阶段所占用两个时钟周期不就得了,但是这时候脑子突然想到,cpu流水线的每个阶段是不是必须是一个时钟周期啊?这时候,

2022-04-17 20:42:01 2526 3

原创 常见的微指令编码方式

一,直接表示法微指令操作控制字段的每一位都直接表示一个微命令,该位为“1”,表示执行这个微命令。二、最短编码法将所有的微命令进行统一编码,每条微指令只定义一个微命令。三,字段直接编码法将微指令的微命令字段分为若干小字段,把互斥性微命令组合在同一字段中,把相容性微命令组合在不同的字段中,每个字段独立编码,每种编码代表一个微命令且各字段编码含义单独定义,与其他字段无关,这就是字段直接编码方式。...

2022-04-16 09:32:38 5759

原创 关于Risc指令采取流水线技术后时钟周期的变化

在复习考研408的过程中,遇到了以下疑问。在Risc指令集体系中,一条单周期指令,采用流水线技术后,该指令会变成几周期指令?采用流水线技术后,机器周期会发生改变吗?查询相关资料后得到以下结论:该单指令周期会发生改变,比如将流水线划分为五个功能段(取指,译码,执行,访存,写回),那么这条本是单周期的指令,要想完整的实现其功能,必须经过流水线的这五个阶段,每个阶段占据一个cpu周期,所以需要五个周期。采用流水线技术后,cpu周期一般会便短(否则提高不了性能)。假设不采用流水线一条单指令执行时间为

2022-04-15 11:34:54 1572 1

原创 Cisc和Risc哪一个更适合采用流水线技术来提高性能?

Cisc由于指令功能复杂,规整性不好,不利于采用流水线技术来提升性能。Risc指令集,指令相对规整,功能简单,适合采用流水线技术来提高性能。

2022-04-15 11:16:41 1626

原创 C++类中静态成员变量和静态成员函数

静态成员与普通成员的区别 C++类中静态成员(包括静态成员变量和静态成员函数)与普通成员的主要区别在于:静态成员归类所有,也就是说所有的该类对象共享静态成员。静态成员变量静态成员变量归类所有,如果该静态成员变量具有public权限,则由该类产生的所有对象都可以显式的访问该静态成员变量;静态成员变量除了在类中进行声明之外,还要在类外再定义一次才能使用,因为编译器编译时需要为其分配内存。所有该类对象访问的某个静态成员变量都是同一个变量,处于相同的内存。例如:某类中含有静态变量a,具有pub...

2021-05-20 13:28:52 251

空空如也

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除