《计算机专业导论》01

254 阅读8分钟

一、前言

《计算机专业导论》哈尔滨工业大学 慕课_哔哩哔哩_bilibili

1、计算机怎么学

学习计算机,不是简单的学习如何修电脑,也不是简单的学习应用程序的使用,而是要达能够达到知道计算机底层的执行原理,知道如何设计计算机程序(这辈子够呛了😟😭😭)。要把自己的思维和眼光放的高一些。

所谓计算机科学,主要还是针对的“计算”,这里的计算主要是指把自然生活中的问题,用计算机进行处理。这里就要用到数学的知识了,数学是指人进行计算,而这门学科研究的是机器的计算。

涉及到机器计算,又要牵扯到一些更深入的问题:

  • 如何编写能够让计算机看的懂的程序呢?

生活中如果语言不通,常常会出现对牛弹琴的囧境,为了和外国人交流,我们要学习彼此的语言,想让计算机能够服务于我们也一样,我们需要学习计算机语言,并且计算机要通过编译程序才能看的懂我们写的程序语言。

  • 程序怎么被计算机自动计算呢?

我们写的程序是要运行在操作系统上的,否则就无法执行指令。

  • 如何更好的处理问题呢?

通过了解数据结构和算法,我们可以将问题使用不同的数据结构及算法编写成程序,然后交给计算机执行。

image-20211211120054505

一些思维方式的转变,下面这张图自己得好好理解一下:

image-20211211124113486

另外要好好理解计算机的进阶次序:

image-20211211125152695

2、计算机的实现

巴贝奇差分机,通过差分进行计算平方的值,后来实现了用齿轮进行计算的方式,可以说是里程碑式的壮举。

实现计算机有两个最主要的部分:数据和计算规则。而数据又涉及到如何表示和如何存取的问题,计算规则涉及到如何执行的问题,这些构成了计算机学习的各个部分。

image-20211211141453944

正如上面所说的,计算机中执行计算的是CPU(中央处理器),它是我们连接输入到输出的一个桥梁,而完成存取任务的是存储设备,比如内存和外存。

而随着科技的发展,一般发展的也就是这么几个部分:输入设备(鼠标、键盘等)、输出设备(显示器,显卡好坏)、计算设备(CPU的优劣)、存储设备(固态硬盘、闪存等等)。

3、计算机技术的发展

开始从十进制的方式转换为二级制,从而使用电子管作为元器件,然后冯诺依曼提出运算和存储分离,从而解决运算很快而读写很慢导致计算机很慢的问题。接着元器件从电子管变为晶体管,但是焊接的时候并不牢靠,后来人们就采用把它们封装起来,变成了集成电路。

  • 进行计算和控制的是微处理器,微处理器的最主要的指标是字长,8位-->16位-->32位-->64位;运算速度的主频(单位是Hz)。
  • 进行存储的设备:磁芯存储器-->半导体-->磁盘(硬盘软盘)-->光盘-->闪存-->固态硬盘、U盘等。
  • 输入设备:穿孔纸带-->键盘输入-->鼠标输入-->感知输入。
  • 输出设备:略

二、符号化、计算化与自动化

1、整体思考

现实问题转化为数学模型,变为二进制0、1,然后进行计算,二进制可以用电路实现,这样就转化为电路的组合逻辑运算,简单的电路逻辑运算进行分层-封装为复杂的电路,最后计算后变为0、1表示的结果,最后解码为现实的结果。

2、用0、1表示信息

  • 数值信息可以用0、1这样的二进制表示:包括带有权值的数位(个十百千位)和数码,4396就是4千 + 3百 + 9十 + 6表示;二进制同理。
  • 非数值信息可以用编码的方式表示:编码是以若干位数码或符号的不同组合来表示非数值性信息的方法,它是人为地将若干位数码或符号的每一种组合指定一种唯一的含义。

ASCII码:是英文字母与符号的0,1型编码方法,是用7位0和1的不同组合来表示10个数字、26个英文大写字母、26个英文小写字母及其一些特殊符号的编码方法,是信息交换的标准编码。最高位为0,其他7位是0和1。

img

比如We这个单词看图就可以表示为:01010111 01100101。

思考:英文字母很少,所以表示很容易,但中文有很多个汉字,如何表示,其他国家怎么表示?

汉字可以采用2个字节表示。但是如果采用2个字节表示,那么怎么确定这两个字节是2个英文字母,还是一个汉字呢?比如上面这个We的二进制,它是英文单词,还是某个中文汉字的表示呢?可以采用每个字节最高位变为1的方式,这个叫汉字内码。

输入的时候是上面这种方式,而输出的时候,汉字采用的是汉字字形码,汉字在计算机内部采用汉字内码存储,汉字内码是一两字节且最高位均为1的0,1型编码。

img

3、用0、1进行计算

基本逻辑运算:

  • 与运算(&):X和Y都是真才为真
image-20211213215446938
  • 或运算(OR):当X和Y都为假时, X OR Y也为假; 其他情况, X OR Y均为真
image-20211213215559403
  • 非运算(NOT): 当X为真时, NOT X为假;当X为假时, NOT X为真
  • 异或运算(XOR):当X和Y都为真或都为假时, X XOR Y为假; 否则, X XOR Y为真

下面这个图:1为真,0为假

image-20211213215833177

4、符号表示

十进制变为二进制,然后二进制的最高位是符号位,1表示负数,0表示正数。

原码就是数字的二进制 + 符号位。

正数的反码和原码相同,负数的反码是这样算的,符号位不变,数字的二进制全部变号,1变成0,0变成1。

正数的补码和原码相同(正数的三码合一),负数的补码是反码的基础上 + 1。

image-20211213220622681

机器数受位数限制,超出这个位数能表示的数,叫做溢出

之所以使用补码是因为原码和反码表示+0和-0的时候不一致,而且使用补码可以使减法计算变为加法计算。

image-20211213221348238

5、电路实现逻辑运算

用电路开关实现逻辑运算

高电平为1,低电平为0。

image-20211213222717700

用二极管和三极管实现逻辑运算

与、或、非:用这种方式实现的叫与门、或门、非门。

image-20211213230652600

6、电路符号的抽象

  • 与门电路:是实现逻辑与运算的集成电路,即:只有当两个输入端为高电平(1)时,则输出端为高电平(1);否则,输出端为低电平(0)。
  • 或门电路:是实现逻辑或运算的集成电路,即:只有当两个输入端为低电平(0)时,则输出端为低电平(0);否则,输出端为高电平(1)。
  • 非门电路:是实现逻辑非运算的集成电路,即:当输入端为高电平(1)时,则输出端为低电平(0);输入端为低电平(0)时,则输出端为高电平(1)。
  • 异或门电路:是实现逻辑异或运算的集成电路,即:当两个输入端同为高电平(1)或同为低电平(0)时,则输出端为低电平(0);否则,输出端为高电平(1)

image-20211213232016583

7、加法器

就是每一权位都使用加法器进行计算。

image-20211213233929949

多位加法器:

image-20211213234000984

8、进位计数制

也就是上面介绍的用数码 + 带有权位的数位表示数的方式。

r进制数转换为十进制:以前介绍过,也就是每一权位的权值×数码之和。

十进制转换为r进制:整数部分是除权数取余数,小数部分是乘权数取整数

二进制转十六进制,四位二进制数一组求成十六进制,转换成八进制数一样。

9、小数点的表示

定点数:小数点默认在某个位置。这种方式一般用来表示纯整数和纯小数。

浮点数:小数点位于

img

如何表示数:

image-20211214211836076