自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 CRR

CCRCCR(Condition Code Register),称为条件寄存器,其实有四个标志位,分别是0位(Z),负位(N),进位(C),算术溢出(V)。例子1: 11111111 Z = 1, N = 0 + 00000001 C = 1, V = 0 ———————————— 100000000 结果正确,结果为0,产生进位例子2: 01011100 Z = 0 , N = 1

2020-11-22 21:09:31 526

原创 立即数加法流程

下面讲讲立即数的加法流程??其实和加法流程差不多,主要是简化了操作数的寻址。程序: z = x + 5 ;此时将加法流程中的Y改成5,其他都一样!!!!1.PC计数器把当前地址值赋值给MAR,PC+12.主内存将MAR地址存储的指令读取到MDR3.IR将MDR的指令值读取交给CU,CU解析到操作码为立即数4.CU发出信号,IR将立即数直接写到寄存器25.CU发出信号,ALU进行加法运算,将结果写到寄存器3如果有讲解错误,请留言联系作者及时删除,避免引导错误。...

2020-11-22 20:55:04 1139

原创 加法流程

下面说说程序执行加法时候发生了什么??这里给出了操作码相应的含义。(真实的指令集是很多的,这里只是模拟一部分)。假如程序要计算: z = x + y ;那么编译后的指令初始化(并不是真实指令):下面分为三部分:1.第一步读取X2.第二步读取Y,相加3.将结果写入Z所在地址4.终止程序这里对应主内存中00地址的运行图: 1.PC初始化 = 0,PC将0地址赋值给MAR,PC + 1。 2.主内存从MAR读出指令地址,将指令地址存储的指令赋值给MDR。 3.IR读取MDR所存储的

2020-11-22 19:11:08 3273

原创 取指流程

下面主要说说指令被取出的阶段(取指)具体名词意义可以查询名词篇。1.PC计数器将当前指令地址放进MAR地址寄存器中2.PC计数器+4(具体加多少取决于计算机)3.CU发出信号,让主内存从MAR读走指令地址4.主内存把对应地址存储的指令放进MDR5.CU发出信号,IR从MDR将读走指令6.IR将操作码部分交给CU进行解码,即具体指令要进行何种操作7.IR将操作数地址部分传递给MAR8.CU发出信号,让主内存从MAR读走操作数地址9.主内存把相应地址存储的数值放进MDR10.CU发出信号

2020-11-22 18:21:56 4122

原创 计算机名词篇

计算机名词 指令: 计算机指令就是指挥机器工作的指示和命令,程序就是一系列按一定顺序排列的指令,执行程序的过程就是计算机的工作过程。 操作码: 指令分为两部分,一部分为操作码,另一个部分操作地址,操作码就是定义好在计算机指令集里面的某个代号。 操作地址: 具体指向某个确定的地址。 PC: 地址计算器,用于计算当前地址到了那个位置。 MAR: 地址存储器,用于存储地址。 MDR: 数据存储器,用于存储数据。 主内存: 存储各类数据的硬件。 IR:指令存储器。 CU:控制发出各类操作,硬件之

2020-11-22 17:53:22 217 1

原创 删除重复元素-算法(1)

问题: 删除一个数组里面所有重复的元素?当然,有很多种解决方法:1.循环删除:for(int i = 0; i< 数组.length();i++){ for(int j = 0 ; j<数组.length(); j++){ if(j == i){ 删除操作; } }} 这个方法无疑是可以的,但是如果数组长度是100W个元素的话,而这个算法的时间复杂度为: t(n^2) 其中n为数组长度,运行时间太长了!!!下面介绍一种空间换时间的方法(只适合于数值差异范

2020-11-22 15:17:25 1419 1

原创 集合-顺序表-数据结构(2)

概述 数学概念: 集合是指具有某种特定性质的具体的或抽象的对象汇总而成的集体。其中,构成集合的这些对象则称为该集合的元素。 有一堆学生的信息: 小明,小红,小Q。。。那怎么样去存储起来是个很好的问题,因为信息总归是要使用的,而使用则意味着查询。所以先要把信息存储起来,怎么样实现存储? student 小明, 小红,小Q ; #定义足够多的学生对象 这种方式无疑是可以的,但是太过繁杂,而且不容易维护。可以试试集合!!!集合的抽象 abstract class AbstractLis

2020-11-11 17:00:23 70

原创 实现比较器-数据结构(1)

概述以下都会使用伪代码实现 在编程的世界里,比较大小可谓是随地可见: a=1 > b=2 ,但是有的时候想比较两个比较复杂的对象怎么办? 就好像要对一堆学生排序,第一天按照学号进行升序,学号相同按照姓名比较;第二天按照身高进行升序,身高相同按照姓名比较;有人说: if(比较函数(学生1.学号 = 学号2.学号) -> 比较函数(姓名1,姓名2) if(比较函数(学生1.身高= 学号2.身高)) -> 比较函数(姓名1,姓名2) .........

2020-11-11 10:59:43 249

原创 关于原码,反码,补码的那些破事

数值在计算机的表现方式: 因为电路的原因,计算机只能识别1和0:0代表低电压;而1代表高电压。因此采用二进制的方式表示数值。 二进制数系统中,每个0或1就是一个位(bit),位是数据存储的最小单位,一个字节等于8位,就是8个bit,这是因为早期计算机使用的编码为ASCII码,而ASCII码使用的位数远远少于8个bit。随着计算机的快速发展,一个字节等于8位已经成为规定。有符号和无符号数值: 无符号: 1的二进制表示 00000001 2的二进制表示 00000010 从右到左,依

2020-10-28 13:36:07 2186 4

原创 Byte的源码探索

Byte非可变类 final class实现对比接口 Comparable继承于数字类 Number成员变量 byte MIN_VALUE 最小值 byte MAX_VALUE 最大值 Class<Byte> TYPE 类类型 byte value 初始值 int SIZE bit位数 int BYTES 字节数静态内部类static class ByteCache 缓存类Byte cache[] -128~128的范围静态代码块

2020-08-11 16:05:12 125

原创 Double的源码探索

Double 非可变类 实现对比接口 继承于Number成员变量double POSITIVE_INFINITY 正无穷大的表示方式double NEGATIVE_INFINITY 负无穷大的表示方式double NaN 无穷大的表示方式double MAX_VALUE 最大表示数的十六进制方式double MIN_NORMAL 浮点数的最小正数double MIN_VALUE 最小数值表示方式int MAX_EXPONENT 有限数里面最大可表示的指数int MIN_EX

2020-08-10 18:06:21 641

原创 String 源码的探索

String 1. 非可变类 2. 实现可对比接口 3. 实现字符序列接口成员变量char value[] 不可变的char数组int hash 字符串的hash值构造方法 随机选取一个比较长的构造方法讲解:public String(int[] codePoints, int offset, int count) { if (offset < 0) { throw new StringIndexOutOfBoundsE

2020-08-05 17:57:45 877 1

原创 JDK的入门

JDK目录详解bin: 用于存放各种jdk工具db: jdk自带的关系型数据库include: 各类引用的c头文件jre: java运行环境lib: jvm需要用的jar文件环境变量classpath: .;%JAVA_HOME%/lib/tools.jar;%JAVA_HOME%/lib/dt.jarjava_home: jdk路径path: jdk的bin目录classpath 和 path: path 是 JDK依赖的, 而classp

2020-08-04 17:02:23 125

空空如也

空空如也

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

TA关注的人

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