计算机的定义以及发展史
1.计算机简介
计算机的定义:
能够高速运算,在数值运算还是逻辑运算上,还需要具有存储记忆,能够依据程序自动高速的进行工作。
计算机的分类:
原理角度:
- 数字计算机
- 模拟计算机
性能指标角度:
- 巨型机
- 大型机
- 小型机
- 微型机
计算机的两种稳态以及发展:
理论上来讲:具有两种稳态的元器配件都可以用来做计算机。也就是所谓的一对一错(允许/禁止)。
- 电子管(开关)计算机(主要代表是ANAC,1946年第一台电子计算机)
- 晶体管计算机(1958~1964)性能高于初代计算机
- 半导体存储器,中小规模集成电路计算机
- 大规模超大规模集成电路计算机(1978年~现在)
- 微型机的崛起
计算机的硬件系统:
计算机的硬件系统是有芬诺伊曼提出的以存储结构为核心的思想进行设计的。
那什么是存储程序呢?
- 计算机硬件包括(指硬件)存储器;运算器和控制器(又称为CPU);输入设备以及输出设备五个部分组成。
- 计算机的数据以及指令原则都是二进制
- 编好的程序和原始数据通过启动计算机进行工作
计算机的两种硬件系统:
- 运算器为核心的硬件式系统
- 存储器为核心的硬件式系统
计算机两种硬件形式
以运算器为核心的硬件式系统弊端在于如果输入设备输入存储器,那还要先经过运算器
以存储器为核心的硬件式系统避免了上面这一问题,因为任何对数据的计算控制首先都先要经过计算机的存储再进行处理。
而现代的计算机体系结构就是后面一种。
上面模型同下:
计算机的软件系统:
组成:
软件与硬件的逻辑上的等价性:
2.计算机如何处理数据
计算机表示数据所考虑的因素:
- 数据类型
- 数据范围
- 数据精度
- 硬件的花费与开销
数制以及数制转换:
我们在进制中常常见到09H,010110B形式,其实前面就是一个十六进制数码,后面则是一个二进制数码,H就是(hexadecimal:十六进制)大写字母,B就是(binary:二进制)大写字母
十六进制:
- 它是由0,1...9,A,B,C,D,E,F16个数码组成。
- 十六进制数基数为16,也就是逢16进1。
- 那么很容易知道16用十六进制表示就是10H,因为逢16进1嘛
例题:
求3901对应的十六进制数:
这也是我们通常说的数的计数方法。
进位计数制: 数码的大小与其所在的位置有关
看上面一张图片我们可以知道,十进制数555是由三个数码为5组成的,但是由于它是和位置有关的,所以三个数码代表的意义不一样。也就是五百五十五。但是对罗马数字而言,表示的是三,数码大小与位置无关。
进位计数制我们常见的有二进制、十进制、十六进制、六十进制。
R进制转换为十进制步骤如下:
十进制转换为R进制步骤如下:
八进制与二进制转换:
二进制与16进制转换:
那么计算机如何表示十进制数呢?
BCD码、ASCII码以及国标码
BCD码: :BCD码是一种具有十进制权的二进制编码,包括8421码、2421码、余三码以及格雷码。8421码是由于二进制数码的权8 4 2 1而得名,它的组成就是四位二进制数码,一共16中组合,从0000B至1001B,而1010B~1111B未被使用,称之为非法码或者冗余码。而10以上的所有二进制数至少需要两位8421码来表示,而不能出现非法码,否则就不是真正的BCD数,那么这里需要注意的是,BCD码是通过二进制实现的,但并不是二进制进位的,二十逢十进位。而且进位后不能用非法码去表示。例如45的BCD形式是1*2^5+0*2^4+1*2^3+1*2^2+0*2^1+1*2^0,考虑到2^5则用到两位8421码,前面是0100,而后面是0101,故而是:
01000101B
注意BCD码是一种表示形式,而不是用于比较大小的
那么计算机如何处理我们输入的十进制数据运算呢?虽然BCD码是按照权10与十进制码进制对应转换,但是呢,计算机并不能直接进行十进制运算,以8421码为例,它是四位二进制数码组成,那么就是逢16进位,不可能进行逢十进位,那么为了实现BCD码的计算,我们需要进行6的修正,我们看下具体例子:
48+69=117
48:0100 1000B
69:0110 1001B
注意:上面那个说错了,高次位1011已经大于9了,属于非法码发范畴了,因此也要进行修正,图中解释出错,抱歉~
再来一题:
53-27=26
53:0101 0011B
27:0010 0111B
运算结果如图:
ASCII码(美国信息交换标准码,也叫字符编码):
现在微型计算机不仅要处理数字信息,还有大量字母,符号。这就需要对它们进行二进制编码,这就需要人们对数字,字母,字符进行二进制编码,这种统称为字符,这里的数字和上面不一样,仅仅代表字符功能(比如学号,编号,不具有运算功能),为了解决这一问题,计算机诞生之初,ASCII码也就诞生了。
字符类型的0~9数字由原来数字加上30H得到,比如字符9表示就是09H+30H=39H
ASCII码有七位二进制数码构成,那么共可为2^7=128个字符进行编码,一类是图形字符96个另一类是控制字符:32个,96个图形字符包括十进制数符10个以及大小写英文字母52个以及其他字符34个组成,这一类字符有特定形状,可以在显示器进行打出,但控制类的32个字符没有特定形状,其编码虽然可以存储传送以及控制,但本身不能在显示器上进行打出,比如换行符、退出符、进入符等等。
在八位微型计算机中,信息通常是按照字节进行传送的,一个字节有八位,但是ASCII编码一共七位,那么多出一位我们计算机便用于奇偶校验,奇偶校验用处很大,常用于信息传送过程检测信息是否收到外界干扰而发生错误。
校验码编码与解码:
1.奇偶校验码编码:
奇偶校验码的编码和解码又叫做奇偶校验,是一种只有一位冗余位的校验编码方法,常用于主存校验以及信息传送,一个8位的奇偶校验码,那么有效信息在校验码的低7位(D0~D6),而奇偶校验位处于D7(最高位)。这个检验采用异或电路方式,如果发送端给与的是偶检验位,那么输出得到的结果就必须是偶检验位,输出是0则表示信息正确,奇检验位那结果则是奇检验,输出结果是1则表示结果正确。
我们具体看一个例子:
大写字符C的ASCII码为01000011B,采用偶检验,那么校验位
D7=1⊕0⊕0⊕0⊕0⊕0⊕1⊕1=1
(注意这里的⊕是判断奇偶,属于异或运算,相异为1,相同为0。它也叫模2和、模2加法,本质上是不带进位的加法。),那么最终形成的偶检验 信息编码为:11000011,接收的计算机只要判断每个字节是否含有偶数个1就能知道信息传输过程是否出错,如果大写字符C在传输过程发生错误变成01100011B,那么奇偶校验码就是:11100011B,判断有奇数个1!此时计算机就会反馈信息传输过程出现错误。但是去缺点在于不能解决信息传递过程中发生偶数个错误,因为偶数错误在奇偶检验中无效,比如01000011B传输变成01110011B,这时候奇偶校验就失效。另外缺点是不能确定哪一个位置发生错误。
2.海明码编码
海明码则是一个既能发现错误也能纠正错误的校验码,海明码码位有n+k位,n为有效信息位,k为奇偶校验位位数, K个奇偶校验位则有2k种组合,除了一种指示信息传送是否出现错误,另外 2k-1中可以指示出错的码位,依次要指示海明码任意一位置是否有错,需要满足:
那么这里我们就可以找出k与n的关系表,如下所示:
对于ASCII码有七个有效信息位,那么根据上表可知k=4,海明码码长=n+k=11位,如下所示:
这里奇偶校验码位2k可知是1、2、4、8位置,记作p0~p3,其余七位位有效信息码。
这样我们就可以得知海明码的校验位以及被校验关系如下:
我们以A字符为例子,字符A的 ASCII码位1000001B,变成海明码就是:
现在我们根据海明码校验表求出P0,P1、P2、P3的校验值得到最终11位海明码位00100001001B。那海明码是如何纠错的呢?这里海明码给出E3E2E1E0又称之为指误字,当指误字E3E2E1E0=0000B则表明信息传递过程未出现错误。如果出错,海明码给出出错标志位与所检测位号表如下所示:
假如字符A的海明码第11位错成0,则海明码变成00100001000B,如下我们来算指错字,步骤如下:
这就是海明码纠正原理。
了解知识
汉字编码与西文编码的不同:
由于西文组成就是字母,所以这些只需要对字母的二进制编码就可以对西文进行处理,但是汉字是表意文字,每一个字都是一个图像,所以每一个字都首先都需要进行二进制编码,建立一个庞大的字体库,这样就可以对汉字文稿进行增删改查。
汉字国标码:
汉字国标码,创建于1980年,目的为了使每个汉字有一个全国统一的代码而颁布了汉字编码的国家标准。每个汉字有个二进制编码,叫汉字国标码。 在我国汉字代码标准GB2312-80中有6763个常用汉字规定了二进制编码。
计算机的形象认识
计算机我们可以看作一个数据处理工厂
- 数据运算部件就是数据的加工车间
- 数据存储部件就是存放原材料,半成品和最终成品的库房
- 数据输入以及输出设备就是运送原材料以及最终成品的卡车
- 计算机控制部件就是承担领导指挥功能的厂长和各个职能办公室
如果源源不断的获得原材料,在计算机电力控制下,这个工厂就会进入正常的运行轨道,从而实现自动化。
什么是机器数?如何识别正负真值
机器数:就是用1,0来表示正负号,
那么对于数据的宽度不一致;计算机又是如何处理的呢?我们这里给出四种编码方式
- 原码:0表示证号,1表示负号,有效部分用二进制的绝对值来表示。
- 反码:如果是正数表示,表示方法与原码相同,负数则是保留符号1 有效部分按照原码部分求反。
- 补码:在计算机运算时候经常用到,正数时候与前面两者相同;如果是负数,则是反码的基础之上+1
- 移码:为了保证不管在那种形式保持良好的顺序对应性而产生的。移码符号位与补码符号位相反,数值位与补码相同。
练习:(视频讲解)
数的机器码表示
定点运算以及溢出
总线系统
所谓总线,就是硬件之间的传输线,当多个部件于总线相连时候,如果出现两个或两个以上部件同时向总线发送信息,就会导致信号冲突,传输无效,因此,在某一时刻,只能允许一个部件向总线发送信息,而多个部件可以同时在总线上接收信息。
特点:
- 共享性
- 独占性
分类:
- 地址总线
- 控制总线
- 数据总线
总线特性
- 物理特性(总线根数,插头,插座状,排列方式)
- 功能特性(总线的每根传输线的不同功能)
- 电气特性(每一根线信号的传输方向以及有效电平范围)
以上就是小编整理的计算机组成原理的相关知识,谢谢大家!