自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 java toString() 方法整理

在Java里面所有的类都有一个共同的父类Object,不管你愿不愿意都得继承他(默认继承,不用加extends)。那么我们今天要说的toString方法就是存在于Object里面的一个方法,换而言之,所有的类都会具有这个方法。toString()方法在Object类里定义的,其返回值类型为String类型,返回类名和它的引用地址。当我们打印对象所在类重写了toString(),调用的就是已经重写了的toString()方法,一般重写是将类对象的属性信息返回。...

2020-10-15 21:27:27 314

原创 print_println_printf 区别

说明:内容来源于网络,非原创。(侵删,笔记是从 word 中转移过来,链接找不到了)printf主要是继承了C语言的printf的一些特性,可以进行格式化输出print就是一般的标准输出,但是不换行println和print基本没什么差别,就是最后会换行print将它的参数显示在命令窗口,并将输出光标定位在所显示的最后一个字符之后。println 将它的参数显示在命令窗口,并在结尾加上换行符,将输出光标定位在下一行的开始。printf是格式化输出的形式。参照JAVA AP...

2020-10-15 21:01:06 551

原创 数据结构_概念理解

1. 数据结构怎么理解?【从概念定义上】 数据结构是相互之间存在一种或多种特定关系的数据元素的集合。在任何问题中,数据元素都不是孤立存在的,它们之间存在某种关系,这种数据元素相互之间的关系称为结构。【从组成内容上】 数据结构包括三方面内容:逻辑结构、存储结构、数据的运算。学习某一种数据结构的时候,应该先关注它的逻辑结构,应该实现什么样的运算;最后在确定存储结构之后,再具体的用代码来实现该运算。...

2020-10-14 16:27:06 596

原创 组原综合复习_题目驱动

第7章:1. 鼠标适用于用中断方式来实现输入操作。(√) ==> 键盘鼠标等输入设备一般都采用中断方式来实现,原因在于 CPU 需要及时响应这些操作,否则容易造成输入的丢失。2. 某磁盘转速为 10000r/min ,平均寻道时间是6ms,磁盘传输速率是 20MB/s ,磁盘控制器延迟为 0.2ms,读取一个 4KB 的扇区所需要的平均时间约为: 9.4 ms。10000r/min => (1000/6) r/s => (6/1000) s/r 所以...

2020-10-13 11:19:07 3278 2

原创 组原综合复习_概念辨析

第7章:1.外部设备也称外围设备,是除主机外的能直接或间接与计算机交换信息的装置。 包括:输入/ 输出设备,通过输入/输出接口才能访问的外存储设备。2.外存设备,指除计算机内存及 CPU 缓存等外的存储器。硬磁盘、光盘等都是最基本的外存设备。3. 计算机外存储器又称辅助存储器。换句话来说,外存储器和辅助存储器是一个概念。...

2020-10-13 08:14:51 235

转载 i++ 和 ++i 的区别 !!!

原创:https://blog.csdn.net/android_cai_niao/article/details/106027313说明:原创很详细,这里仅记录自己理解后的笔记。知识核心:i++ 即后加加,原理是:先自增,然后返回自增之前的值++i 即前加加,原理是:先自增,然后返回自增后的值重点:这是一般人所不知道的,记住:不论是前++还是后++,都有个共同点是先自增。有很多的人写的文章上都是说i++是先返回i的值,然后再自增,这是错误,是先自增,然后再返回...

2020-10-12 20:57:25 1906

原创 8.22_快速排序

代码实现:细节分析:

2020-10-11 15:01:59 130

原创 7.12_折半查找

1. 算法介绍:折半查找又称为二分查找,仅适用于有序的顺序表。2. 算法实现注:上述代码是基于查找表是升序排列的,如果是降序排列,判断条件要做相应的更改。3. 细节分析...

2020-10-08 15:56:16 217

原创 7.11_顺序查找

1. 算法介绍顺序查找又称为线性查找,通常用于线性表(分为线性存储和链式存储)。算法思想:从头到脚挨个找(反过来也Ok)2. 代码实现一(不带哨兵)3. 代码实现二(带哨兵)4. 细节分析...

2020-10-08 14:18:02 143

原创 8.21_冒泡排序

冒泡排序是基于 "交换" 的排序:根据序列中两个元素关键字的比较结果来对换这两个记录在序列中的位置。

2020-10-07 16:39:14 208

原创 8.13_希尔排序

希尔排序的思想是基于直接插入排序提出的。在直接插入排序时,时间复杂度最好的情况(表中元素已经有序)是 O(n) , 最坏的情况(表中元素刚好逆序)是 O(n^2)。希尔排序先将间隔 "某个增量d"的记录组成一个子表,对各个子表进行直接插入排序,随着 “增量d” 逐渐变小,表中元素越来越有序。当 d 变为1时,表中元素已经基本有序,这个时候对全局使用直接插入排序,很快可以得到最终结果。...

2020-10-07 16:00:23 124

原创 8.12_折半插入排序

你你您

2020-10-06 21:20:14 208

原创 8.11_直接插入排序

我我我

2020-10-06 21:19:41 104

原创 1.4_双链表的操作

目录1. 初始化2. 增加结点3. 删除操作4. 销毁双链表1. 初始化2. 增加结点3. 删除操作4. 销毁双链表

2020-10-05 20:15:07 104

原创 1.3_创建单链表

1.头插法 (带头结点)2. 尾插法(带头结点)

2020-10-05 15:21:44 135

原创 1.2_线性表之链式存储

目录1. 初始化2. 增删 (改)查操作2.1 按位序插入2.2 指定结点的后插和前插2.3 按位序删除2.4 删除指定结点1. 初始化L 是一个指向 LNode 型的指针,更进一步来理解就是声明一个指向单链表第一个结点的指针。2. 增删 (改)查操作2.1 按位序插入2.2 指定结点的后插和前插2.3 按位序删除...

2020-10-05 14:17:13 206

原创 1.1_线性表之顺序存储

目录1. 静态分配2. 动态分配1. 静态分配2. 动态分配

2020-10-05 09:33:41 159

原创 Typora修改图片默认的存储位置

目录1. 使用相对路径,图片分布在离线笔记内的各个文件夹(assets)下2.使用相对路径,图片集中保存到统一的文件夹内1. 使用相对路径,图片分布在离线笔记内的各个文件夹(assets)下勾选至少有框1 框3。至此,设置完成。 但是在新建一个文件的时候,一定要将文件先保存(选择自己希望的路径),然后再开始编辑内容,这样当将截图粘贴的时候,就可以自动在同一级目录下生成存放图片的文件夹。在对应的文件夹中也已经...

2020-09-09 16:21:35 9178 8

原创 第3章习题小结

1. Cache 知识点【1】Cache 和主存映射方式直接映射、组相联映射的联系对比理解。(还有全相联映射) 各种映射方式下,CPU 访存的过程概述; 各种映射方式下,主存地址结构的划分;划分结构时用到的是二进制的地址形式,题目可能给出的地址形式是十进制和十六进制。 多思考二进制状态下,划分位数结构时对应的十进制计算理解; 点我! 各种映射方式下,Cache 地址和主存地址的对应关系。 Cache 标记位,有效位,...

2020-09-06 16:18:29 221

原创 组原7_DMA 方式

1. 总览2. DMA 主要功能中断机构向 CPU 提出中断请求,这里的中断和中断方式中的中断是不一样的。中断方式的中断是为了让 CPU 来控制数据传送的过程。这个中断是告知 CPU 数据传送已经结束了,看一下还有没有其它事要做。3. DMA 传送过程CPU 执行遇到 I/O 指令后,接着预处理:预处理是由 CPU 来完成的,主要的任务就是对一些寄存器的值进行初始化。预处理结束之后,CPU 就继续...

2020-08-27 12:50:39 380

原创 组原7_程序查询和程序中断方式

1. I/O 方式简介2. 程序查询方式程序查询方式流程图程序查询方式接口结构一次只能传送一个字的原因在于:这种方式下,外设传过来的数据是放在寄存器中的;即使外设传的数据想放到主存中,也需要先放到 CPU 寄存器中,再从这个寄存器移到主存相应位置。所以程序查询的方式用来管理这些高速设备是非常不科学的。一般来说,从频率的角度来考虑,计算量会比较小,但需要对频率的概念理解准确。...

2020-08-26 20:20:53 2291

原创 组原6_零碎杂记

2020-08-25 14:04:10 121

原创 组原6_总线仲裁

目录1. 基本概念2. 集中仲裁方式3. 分布仲裁方式1. 基本概念2. 集中仲裁方式总线控制部件可以单独做一个部件,也可以就做在 CPU 中。(集中仲裁方式统一特点)[1/3] 链式查询方式 单独特点:BG BR BS 这三根控制线都是单根的线。 5min 20s 工作流程[2/3] 计数器查询方式共用...

2020-08-24 11:47:23 198

原创 组原6_ 总线的性能指标

前6个关心的是总线的工作速度,第7个总线复用关心的是总线的利用率以及如何减少总线所占用的面积,第8个信号线数主要受总线复用的影响。一个总线的传输周期,可能由若干个时钟周期来构成。总线传输周期:完成一次总线的操作所需要的时间(图中的 T1 到 T4 总时间)。对于这个读的例子来说,在这样一个总线传输周期内是完成了一个数据的操作(从哪读到哪和使用总线的两个设备有关)变形:有可能总线传输周期是由单个时钟周期构成,在这单个时钟周期内完成了上面的四个步骤。甚至存在...

2020-08-24 11:03:12 144

原创 组原5_指令流水线影响因素和流水线分类

1. 机器周期的设置对于这些硬件,取指阶段和访存阶段能够拆分为两段原因在于将指令和数据分开存储,否则取指的时候和存回数据的时候访问的都是存储器,就有可能产生硬件资源的冲突。锁存器出现的原因在于机器周期取的是最长耗时,当某阶段不需要这么久,那么当这阶段完成产生的数据要提供给下一阶段时,如果直接流向下一阶段,那么可能破坏下一阶段的数据,因此需要先存储在锁存器中。2. 影响流水线的因素[1/3]资源冲突:这里 Mem 冲突...

2020-08-22 20:56:20 1192

原创 组原5_指令流水线和性能指标

目录1. 指令流水线的定义2. 流水线的表示方法3. 流水线的性能指标摘要 =>前面内容知道了 CPU 如何协调整个系统的工作,并且完成了控制器的设计。这一小节主要是在之前能够完成工作的基础上想办法提升系统的工作速度;这就是引入流水线结构的原因。1. 指令流水线的定义[1/3]顺序执行方式:根据上面的特点,容易知道 取指阶段用到的是 取指所需要的硬件,分析阶段主要是译码器等硬件,执行主要用的是运算器硬件,它们使用的这些功能部件是不一...

2020-08-22 14:16:47 433

原创 组原5_控制器微程序设计

1. 微程序设计逻辑和基本思想硬布线设计的本质是想一个办法来产生这个控制信号。那么是不是可以选择不用电路来产生它,而是直接将这些信号存下来。这就是微程序的设计逻辑。就是将所需要的这些信号存在一个专门的存储器中(控制存储器,直接做在 CPU 里面的),既然涉及到把一些东西存到存储器中,这个就类似于之前存储程序的思想,只不过之前是把一个程序分解一些指令,现在是把一条机器指令编写成一个程序,这个程序叫做微程序。这样把一个一个的微指令存储到存储器中,就可以使用之前执行指令的...

2020-08-21 22:31:49 1686

原创 组原5_控制器硬布线设计

目录1. 控制器的结构和功能2. 控制单元的输入和输出3. CPU 的控制方式4. 安排微操作时序5. 电路设计(组合逻辑设计)1. 控制器的结构和功能2. 控制单元的输入和输出操作码部分规定了要产生一些任务,具体怎么产生这些信息,流过控制单元后,就会自动的变成相应的信号。在写微操作序列的时候,微操作的产生是需要一定顺序的,产生顺序的概念需要一个参考的时钟。某些微操作的实现需要依据一定的条件的,所以...

2020-08-21 20:42:13 977

原创 组原5_专用数据通路

1. 知识讲解总线的方式下,是所有的寄存器和相应的电路都是连接到总线的。它们总线是一条公共的通路。专用数据通路方式下,是需要交流的部件之间直接有一条通路,控制的方法就是依靠这条通路上的一个信号。因为基本的控制逻辑是一样的,所以只以取指周期为例进行分析:IR 到 CU 的路径画出来了,那么就需要表示一下这个过程(单总线没有画,所以没有表示这个过程)2. 例题把数据来拿过,必须放在一个能存...

2020-08-20 11:42:24 596

原创 组原5_数据通路(CPU 内部单总线方式)

目录1. 概述2. 单总线方式下的分析3. 例题1. 概述在研究数据通路的时候,要搞清楚的一个问题就是:信息从哪里流出来的,中间经过哪些部件,最后传到哪个部件;以及这样的流动是怎么去控制的 = => 依靠的是控制单元所发出来的控制信号,这些控制信号可以建立数据通路。而具体应该有哪些控制信号 ==> 基于 CPU 内部这些连线的方式的。连线的方式有三种:CPU 内部单总线方式、CPU 内部多总线方式、专用数据通路方式。前两种可以看成一种:...

2020-08-20 10:35:41 4530 4

原创 组原5_指令周期数据流

1. 指令周期中断是被安排在指令的最后一个阶段的,中断的意思就是暂停现在的任务去完成其它的任务,但即使是要暂停现在的任务,也应该把现在这条指令执行完成。所以中断周期是安排在这条指令执行结束的,但是中断的响应是要在这条指令结束前安排好的。如果不这样,则这条指令执行结束就会自动取下一条指令,又进入一个新的指令周期。2. 指令周期流程通过这个流程就可以使具有不同长度的指令系统运行起来。整个机器可以处于不同的...

2020-08-19 17:44:01 2599

原创 组原5_CPU 的功能和基本结构

1. 本章总览2. CPU 的功能这五个功能是摊到了运算器和控制器两个模块的。这两个模块分别应该具有的一些功能见下方。3. 运算器基本结构运算器核心 ==> ALU能够输入两个操作对象,根据控制信号对这两个操作对象进行处理后在输出端输出相应结果。要注意的是,它是一个组合逻辑电路,特点在于这些信号输入进去后,输出就会相应的产生;所以在对这个输出进行接收的时候,这些输入信号是需要同时有...

2020-08-19 11:06:43 344

原创 组原4_指令系统设计 CISC 和 RISC

CISC 复杂指令集 RISC 精简指令集这里的存储部件不是主存,而是为了实现复杂指令集这样的设计在 CPU 中专门设置了一个小的存储部件。可访存指令:对于 RISC 来说,访问存储器的操作也被抽象成一个小的动作。所以只有访存指令才可以访存。对于 CISC 来说,更关注的是整个任务怎么去完成,这一整个任务所要完成的任务都包含在了这条指令中,所以每条指令基本上都可以访存。通用寄存器数量:CISC 每条指令考...

2020-08-18 12:22:13 378

原创 组原4_指令偏移寻址

目录1. 基址寻址 EA= (BR) + A2. 变址寻址 EA = (IX) + A3. 相对寻址 EA = (PC) + A4. 例题5. 小结6. 附加 堆栈寻址1. 基址寻址 EA= (BR) + A基址寄存器可以是 专用寄存器 和 通用寄存器区别:使用专用寄存器的时候,不需要在指令中指出寄存器编号,而是将编号隐含的放在操作码中;只要进行基址寻址这个操作,就自动去寻找相应的专用寄存器;使用通用寄存器的时候,因为通用寄存器除了要进行基址寻...

2020-08-18 11:23:02 1370

原创 组原4_指令寻址

1. 数据存放和对齐按字节编址,可以有不同的寻址方式 ===> 按字节寻址、按半字寻址、按字寻址;按字编址,最小取出的单元就是一个字,没办法直接取一个字节出来。若要拆出一个字节的话,需要软件来实现。存储单元和数据都有自己的高位和低位。 ==> 两种存放方式:大端方式,小端方式机器字长、指令字长、存储字长 三者之间没有固定的大小关系,但必须都是字节的整数倍。其中,存储字长一般去字节的偶数倍,方便硬件的设计。早期,习惯上会将存储字长和机器字长做成一...

2020-08-17 11:47:21 1006

原创 组原4_指令基础概念

目录1. 基础概念2. 地址码3. 操作码设计4. 操作类型1. 基础概念高级语言和机器语言的一个主要区别是:高级语言不管在哪台机器上,主要的关键字和语法是不变的; 但机器语言是直接指导硬件进行工作的,而硬件在设计上会有很多变化,所以一台计算机只能执行自己的那一套指令,而不能执行其它结构不一样的计算机指令。用符号语言可以代替冗长的文字语言进行描述。2. 地址码这种设计方式下:在主存中,同样是二进制数据,有的是...

2020-08-17 09:26:55 396

原创 组原3_虚拟存储器

目录1. 概念理解2. 页式虚拟存储器3. 段式虚拟存储器4. 段页式虚拟存储器5. TLB 块表6. 例题1. 概念理解这样的一个存储器层次是通过硬件直接实现的,操作系统是感受不到的 (透明)。 对于操作系统来说,虽然这里是一个层次化的设计,但是只需要给这个存储系统一个地址,直接要求所要返回的数据。而并不需要了解这个数据是从 Cache 来的,还是从主存来的,以及 Cache 和主存如何协同工作。访问辅助存储器的时候不会以字节为单位...

2020-08-16 10:56:09 605

原创 组原3_Cache 替换算法和写策略

1. 替换算法3考虑了局部性原理,4侧重全局观念。区分 3 和 4 计数器工作方式。1.1 全相联映射替换分析给出的是块号,不再需要从二进制地址中拆分出来。对于全相联映射来说,主存的块号就是标记位。相联存储器的工作原理理解。图中信息:对 LFU 替换算法,要更多的判断依据,需要参考操作系统对应的内容。最后这个2不管替换谁都是没有命中的。 所以总共命中3次。...

2020-08-15 22:36:48 673

原创 组原3_Cache的命中率 以及和主存 的映射方式

目录1. Cache命中率2. Cache 和主存的映射方式2.1 全相联映射2.2 直接映射2.3 组相联映射1. Cache命中率引入Cache后的时间计算包括: 主存调数据到 Cache,Cache 到 CPU,CPU 运算时间,运算结果从 CPU 到 Cache。CPU 和 主存或者高速缓存 交流的基本单位是机器字长,这是因为 CPU 取数据或者输出数据都是通过内部的寄存器,寄存器因为电路比较复杂,所以可以暂存的数据位数是有限的。但是主存和 Cac...

2020-08-15 22:12:06 4132

原创 组原3_双端口RAM 和 多模块存储器

目录1.优化思路2. 双端口 RAM3. 单体多字存储器4. 多体并行存储器1.优化思路对存储器工作的优化就在于能够把 恢复时间 通过一定的方法利用起来。基本的思路就是对多个不同时间能够进行不同存取的存储单元进行并行操作。或者采用流水线的方案,当某个存储单元进入恢复时间的时候,可以对其它单元进行存取。2. 双端口 RAM两个端口,两个CPU (CPU1 CPU2)3. 单体多字存储器限...

2020-08-15 19:39:47 310

空空如也

空空如也

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

TA关注的人

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