学习视频-计算机专业导论
内容多为视频摘要,文章只是作为个人复习总结
----------------------------------------------计算机介绍-----------------------------------------------
人计算与机器计算的区别
人进行计算:
1、一条规则可能很复杂,但计算量却可能很小
2、人需要知道具体的计算规则
3、特定规则针对特定问题
机器-自动计算:
1、每条规则可能很简单,但计算量很大
2、机器也可以采用人所使用的计算规则
3、一般性的规则,可以解任意问题 (例如:可以通过加减法求取差分)
自动计算需要解决的问题
计算式:数据+计算规则
自动计算需解决:数据与计算规则的表示、自动存取、自动执行
自动计算中元器件的发展:
电子管:可自动控制0和1变化的元件
晶体管
集成电路:可自动实现一定变换的元件
超大集成电路计算机组成:
计算机发展方向
微型化:可嵌入、可携带
大型化:可进行大规模计算、复杂计算
智能化
网络化
--------------------------------------符号化-计算化-自动化------------------------------------
0和1思维
(语义符号化------->符号计算化--------->计算0(和)1化----------->0(和)1自动化--------->分层构造化------->构造集成化)
现象和思维均可表达成0和1 —>用0和1可进行算术与逻辑运算—>0和1可以用电子技术实现—>电子技术实现逻辑运算—>分层构造实现复杂运算—>芯片:集成的复杂组合逻辑电路
信息如何用0和1表示
数值性信息:二进制
非数值性信息:编码(ASCII码、汉字编码)
如何用0和1进行计算
基本的逻辑运算
“与”运算(AND)
“或”运算(OR)
“非”运算(NOT)
“异或”运算(XOR):当X和Y都为真或都为假时,X XOR Y为假;否则,X XOR Y 为真
将减法变为加法(机器数的原码与补码)
加减法=补码相加
用硬件实现加法
-------------------------------------------冯.诺依曼机器------------------------------------
冯.诺依曼机的基本思想:
解决了:程序装载内存,便可被CPU执行
(以运算器为中心)
1、运算和存储分离
2、储存程序:指令和数据以同等地位事先存于存储器,可按地址寻访,连续自动执行。
3、五大部件构成:运算器、控制器、存储器、输入设备和输出设备
4、指令和数据用二进制表示,指令由操作码和地址码组成
5、以运算器为中心,控制器负责解释指令,运算器负责执行指令
(缺点:运算、存储、执行不能并行进行)
现代计算机
(现代计算机是以存储器为中心)
解决了:(永久存储、存储容量、存储速度)
可以同时进行多项操作
存储器工作原理
储存器的基本结构:
地址译码器、存储单元、输出缓冲器
存储容量
地址空间、存储字长
机器指令与机器级程序
机器指令是CPU可以直接分析并执行的指令,一般由0和1的编码表示
指令 ≈ 操作码 + 地址码 (操作动作与操作对象)
----------------------------------复杂环境下程序执行-------------------------------------------
操作系统是一组“管理各种资源以便执行应用程序”的程序:
分工:独立管理复杂环境中的每个部件
合作:以任务为驱动,中心任务就是“让计算机或者说CPU执行存储在外存上的程序”,各部件合作完成该任务
协调:当基本解决后,关键就是协同,“合作”和“同步”,“自动化”及“最优化”
程序如何存储在外存(硬盘、软盘、光盘)
内存:半导体材料制造,按地址访问的存储设施(RAM/ROM)
速度快、价格高、容量小、非永久存储
外存:磁性材料制作,顺序访问,可永久保存信息(硬盘、软盘)
速度慢、价格低、容量大、永久保存
磁盘管理:
化整为零,还零为整
文件被划分为一块块信息块,将信息块存储于外存的空闲空间中(一般不连续),顺序被打乱了。
为了使信息块能还原,操作系统生成了一个文件分配表,该表存储了信息块存储的位置顺序信息。
程序如何装载到内存中
内存管理包含:
内存空间管理
内存空间分配
内存与外存信息的自动交换
内存空间回收
程序如何被CPU执行
CPU管理:
内存中待执行程序段落的地址送控制器的PC(程序计数器)
内存中的多个程序,执行哪一个程序?
内存执行切换中的状态、环境保护问题
操作系统是如何协调管理
程序(文件):存储在磁盘上的程序文件
进程:装入内存中的程序
任务:大粒度的工作,一个应用程序的完整执行。一个任务由多个进程来完成
作业:小粒度的工作,不同的作业由不同的进程来完成
-----------------------------从机器语言到高级语言:程序编写与编译译---------------------------
计算机能够理解与执行什么?
机器语言
指令系统:CPU用二进制和编码提供的可以解释并执行的命令的集合
机器语言:用二进制和编码方式提供的指令系统所编写程序的语言被称为机器语言(所有程序都需要转换成机器语言程序,计算机才能执行)
汇编语言
人们提供了用助记符编写程序的规范、标准。同时开发了一个翻译程序,实现了将符号程序自动转化成机器语言程序的功能
高级语言
人们提供了类似于自然语言方式、以语句为单位书写程序的规范/标准。并开发了一个翻译程序,实现了将语句程序自动翻译成机器语言程序的功能。
机器语言---->汇编语言---->汇编程序(编译器)
高级语言和汇编语言的差别:
高级语言是机器无关性,一要高级语言语句往往可由若干条机器语言语句实现且不具有针对性
汇编语言是具有机器相关性,汇编语言语句和机器语言语句由对应性。
高级语言构成要素
----------------------------------程序与递归:组合-抽象-构造------------------------------------
计算系统 = 基本动作 + 指令 + 程序执行机构
指令 = 对可执行基本动作的抽象,即控制基本动作执行命令
程序 = 基本动作指令的一个组合或执行序列,用以实现复杂的动作
程序执行机构 = 负责解释程序即解释指令之间组合,并按次序调用指令即调用基本动作动作执行机构
数学中的递推式
一个数列的第n项a.n与该数列的其他一项或多项之间存在某种对应关系,被表达式为一种公式,称为递推式(由前向后,可以依次计算每一项)
递推基础:
第项(或前K项)的值是已知的
递推规则/递推步骤:
由第n项或前n项计算第n+1项
递归是一种表达相似性对象及动作的无限性构造和执行的方法
递归基础:定义、构造和计算起点,直接给出;
递归步骤:由前n项或第n项定义第n+1项;由低阶f(k)且k<n,来构造(n+1)
递归和递推
迭代(递推):可以自递归基础开始,由前向后依次计算或者直接计算(递归定义、递推执行);
递归:可以自递归基础开始,由前向后依次计算或者直接计算;单有些,只能由后向前代入,直到递归基础,寻找一条路径,然后再由前向后计算。
递归包含了递推(迭代),但递推(迭代)不能覆盖递归。
--------------------------------计算机专业系列课程---------------------------------
计算机数学理论类系列课程
离散数学理论课程:集合论与图论、数理逻辑、近世代数
形式计算理论课程:形式语言与自动机
不确定数理理论课程:概率论与数理统计
计算机硬件系统与工程系统课程
计算机软件系统与工程系列课程
算法与高级语言程序实现计算:高级语言程序设计、数据结构、算法分析与设计
三大核心软件系统:操作系统、编译系统、数据库系统
大型软件系统工程:面向对象技术、软件设计模式与软件体系结构钢、软件工程