软件设计师 32小时 第(1)个小时 计算机系统知识
软件设计师,是我们学校要求考取,同时也是众多人想要考取的的职称之一,在上半年的考试里面,很遗憾的是,上午考试差了1分,真的吐了
然后暑假由于小唐的贪玩又忘记得差不多了,所以。。。重新开始吧除了理论知识,里面更多的是我的理解和一些想法,在我看来万事万物都是具有一定联系的,正如能量守恒定律里面,能量不能随机产生,也不会凭空消失,当然这些见解都是我的一些个人看法,如果有错误,还请指正
1. 计算机的组成
(这5个不牢牢记住还考什么软考!!!)
运算器: 还是老规矩,看看它是用来干什么的,执行所有算术运算(加减乘除),执行所有的逻辑运算(就是那些0和1的判断,与或非的计算)。看到这里你还有什么是不会的吗?既然要进行算术逻辑运算,那是不是要一个算术逻辑单元,我们还要知道大部分的时候数据都是利用2进制来完成这些的加减的,我们就需要一个位置来进行这些运算和一个位置来存储剩余的数据,不就是累加寄存器和一个数据缓冲寄存器,最后我们0和1的判断放的当然就是我们的状态条件寄存器啦
控制器: 控制控制,保证我们程序的正常进行,还要处理我们的异常事件。那他需要什么,指令控制逻辑必不可少,用指令来控制我们的程序嘛,还要有个时间感知,时序控制逻辑,排线说到:“还有我呢,你们都是线连接的怎么可以没有啦我”加上排线控制逻辑,程序的异常怎么办,我们就需要我们的中断控制逻辑来服务啦
(上面两个东西合称为CPU)
存储器: 一听存储,就是来记忆资料的,然后分为内部存储器和外部存储器,内部存储器的速度快,容量低,断电数据就没有啦,所以就会有后面容量大,可长期保存但是速度慢的外部存储器。
输入输出设备: 这个一听,“输入”键盘输入法,等等,键盘不就是的吗,把外面的东西输入到电脑里面,那我们所看到,或者说所呈现的不就是输出设备,我们的显示屏,投影仪,这些,懂我意思吗?
在这里还有必要强化一下,指令控制逻辑的概念,指令控制逻辑分为取指令、分析指令、执行指令这几个流程。所以会有以下几个原件会被用到。
指令寄存器: 原理可以参考累加寄存器,每读取一条指令的时候,会把该指令缓存到缓冲寄存器里面,再送到这里寄存。
程序计数器: 这个一听名字,计数,储存好我们的信息,然后会计算出我们指令的数量,同时做好转移执行和顺序执行的执行方式。
地址寄存器: 储存的是我们CPU当前地址。
指令译码器: 分为操作码和指令码两个部分,这里的话主要就是对于操作码进行分析,看看他要去做什么。
数据的表示
数据的表示,在那里我们主要使用的就是二进制(B)。常见的还有八进制(O),十进制(D),还有就是十六进制(H)。我们的转化可以看这篇博客
在这里我们会涉及到原码、反码、补码、移码。
我们来举几个例子:
(第一位是符号位)
原码:1000 1011
反码:1111 0100
补码:1111 1101
移码: 0111 1101
原码:0000 1011
反码:0000 1011
补码:0000 1011
移码:1000 1011
原码:就是我们所求出来的二进制
反码:对于正数,和原码一样。对于负数,符号位不变,其他取反。
补码:对于正数,和原码一样。对于负数,符号位不变,其他取反后加1,就是反码加1。
移码:对于正数和负数来说,都是直接在补码的基础上改变符号位的数值。
校验码
有三种比较常见的检验码:奇偶校验码、海明码、循环冗余校验码。
1.奇偶校验码:就是把第一位当作效验位,使编码中1的个数为奇数或者偶数。只可以用来检查错误,但是不可以纠错。
举个例子:
对于 0011 1100编码(有四个1)
奇效验码:1011 1100(第一位变为1,让他有5个1)
偶效验码: 0011 1100(保持四个1不变)
2.海明码:利用奇偶性来进行纠错和查错。
3.循环冗余校验码:由两部分组成,左边是数据位,右边是效验位。