计算思维导论 - parnec.nuaa.edu.cnparnec.nuaa.edu.cn/huangsj/files/ct/2-4.pdf ·...

Post on 17-Sep-2019

27 Views

Category:

Documents

0 Downloads

Preview:

Click to see full reader

TRANSCRIPT

huangsj@nuaa.edu.cn http://parnec.nju.edu.cn/huangsj

大学计算机

计算思维导论

南京航空航天大学 2015年

计算机科学与技术学院

大学计算机 —— 计算思维导论 2015年

第2章 计算系统的基本思维

计算思维导论

• 第1章 引论 • 第2章 计算系统的基本思维 • 第3章 问题求解框架 • 第4章 算法与复杂性 • 第5章 数据抽象、设计与挖掘 • 第6章 计算机网络、信息网络与网络化社会

大学计算机 —— 计算思维导论 2015年

第2章 计算系统的基本思维

第2章 计算系统的基本思维

• 2.1 理解0和1(的思维) • 2.2 图灵机与冯·诺依曼计算机 • 2.3 现代计算机(系统) • 2.4 不同抽象层级的计算机软件

大学计算机 —— 计算思维导论 2015年

第2章 计算系统的基本思维

2.4 不同抽象层级的计算机软件

• 语言与编译器 • 不同抽象层级计算机(虚拟机器) • 操作系统层级计算机 • 协议与编码器/解码器

大学计算机 —— 计算思维导论 2015年

第2章 计算系统的基本思维

2.4 不同抽象层级的计算机软件

• 语言与编译器 • 不同抽象层级计算机(虚拟机器) • 操作系统层级计算机 • 协议与编码器/解码器

大学计算机 —— 计算思维导论 2015年

第2章 计算系统的基本思维

2.4 不同抽象层级的计算机软件

• 算法、语言与计算机程序

算法

解决问题 的步骤

程序

计算机能够理解与 执行的解决问题的步骤

计算机语言

步骤书写的规范、语法规则、标准的集合 是人和计算机都能理解的语言

大学计算机 —— 计算思维导论 2015年

第2章 计算系统的基本思维

2.4 不同抽象层级的计算机软件

• 计算机能够理解与执行什么呢?

例如:完成7+10并存储的一段程序

• 机器语言:用二进制和编码方式提供的指令系统所编写程序的语言被称为机器语言

100001 10 00000111

100010 11 00001010

100101 11 00000111

111101 00 • 所有程序都需转换成机器语言程序计算机才能执行

• 指令系统:CPU用二进制和编码提供的可以解释并执行的命令的集合。

100001 10 00000111 100010 11 00001010

操作码 地址码

• 用机器语言编写程序存在什么问题呢?

大学计算机 —— 计算思维导论 2015年

第2章 计算系统的基本思维

2.4 不同抽象层级的计算机软件

• 汇编语言

例如:完成7+10并存储的一段程序

• 汇编语言:是用助记符号编写程序的语言。

• 汇编语言源程序:是用汇编语言编出的程序。

• 汇编程序: 是将汇编语言源程序翻译成机器语言程序的程序。

用符号编写程序 == 翻译 == 机器语言程序。

MOV A, 7 ADD A, 10 MOV (7), A HLT

100001 1000000111 操作码 地址码

大学计算机 —— 计算思维导论 2015年

第2章 计算系统的基本思维

2.4 不同抽象层级的计算机软件

• 汇编语言程序处理过程

MOV A, 7 ADD A, 10 MOV (7), A HLT

汇编 程序

源程序

助记符号

机器语 言程序

二进制和编码 10000110 00000111 10001011 00001010 10010111 00000111 11110100

自动转换

大学计算机 —— 计算思维导论 2015年

第2章 计算系统的基本思维

2.4 不同抽象层级的计算机软件

• 用汇编语言编写程序存在什么问题呢? – 复杂,不容易编写大程序,不利于复杂算法的实现… …

• 能不能像写数学公式一样编写程序呢?

– 按类似于自然语言方式书写程序,然后再自动翻译成机器语言

Result = 7+10; Return

大学计算机 —— 计算思维导论 2015年

第2章 计算系统的基本思维

2.4 不同抽象层级的计算机软件

• 提供一套规范/书写标准,以语句为单位编写程序 • 开发一个翻译程序,实现将语句程序自动翻译成机器语

言程序的功能

• 高级语言 – 用类似自然语言的语句编写程序的语言。

• 高级语言源程序 – 用高级语言编出的程序。

• 编译程序 – 将高级语言源程序翻译成机器语言程序的程序。

大学计算机 —— 计算思维导论 2015年

第2章 计算系统的基本思维

2.4 不同抽象层级的计算机软件

• 高级语言程序处理过程示意

编译 程序

源程序

语句

机器语 言程序

二进制和编码

Result = 7+10 Return

10000110 00000111 10001011 00001010 10010111 00000111 11110100

MOV A, 7 ADD A, 10 MOV (7), A HLT

大学计算机 —— 计算思维导论 2015年

第2章 计算系统的基本思维

2.4 不同抽象层级的计算机软件

• 高级语言程序处理过程

大学计算机 —— 计算思维导论 2015年

第2章 计算系统的基本思维

2.4 不同抽象层级的计算机软件

• 能不能像堆积木一样构造程序呢? – 用所提供的积木块(一组程序)构造更大一些的积木块,再用这些

积木块构造更大的程序 – 面向对象的程序设计语言与可视化构造语言

可视化构造语言的积木块,每一个积木块都对应一组已编写好并可执行的程序。

大学计算机 —— 计算思维导论 2015年

第2章 计算系统的基本思维

2.4 不同抽象层级的计算机软件

• 计算机语言发展的基本思维

计算机/CPU 能识别与执行的 机器语言程序

汇编程序

编译程序

编译程序

编程 效率高

执行 效率高 汇编语言源程序

自动 转换

高级语言源程序 自动 转换

语言积木块 自动 转换

更大的语言积木块 自动 转换 编译程序

大学计算机 —— 计算思维导论 2015年

第2章 计算系统的基本思维

2.4 不同抽象层级的计算机软件

• 不仅要用语言,还要发明新语言

(可执行)计算机语言源程序

新语言源程序

编译器

新语言 书写规范 及其语法结构

编辑器 类自然语言 图形化的模型 积木块式编程语言 智能化语言及模型 (面向各专业的)专业化语言

大学计算机 —— 计算思维导论 2015年

第2章 计算系统的基本思维

2.4 不同抽象层级的计算机软件

• 计算机技术伴随着计算机语言的不断发展而发展 – 扩展了机器的能力 – 不断演变与发展 – 不断提出新的语言

FORTRAN COBOL

JAVA

C++

大学计算机 —— 计算思维导论 2015年

第2章 计算系统的基本思维

2.4 不同抽象层级的计算机软件

• 语言与编译器 • 不同抽象层级计算机(虚拟机器) • 操作系统层级计算机 • 协议与编码器/解码器

大学计算机 —— 计算思维导论 2015年

第2章 计算系统的基本思维

2.4 不同抽象层级的计算机软件

计算机 计算机的使用者--所有人 应用别人编写的程序。

对计算机内部基本不了解

大学计算机 —— 计算思维导论 2015年

第2章 计算系统的基本思维

2.4 不同抽象层级的计算机软件

计算机 程序员--计算机相关专业人员

用高级语言编写程序。 (理解:操作系统提供的API或

计算机语言提供的各类函数/过程) 算法与程序构造能力

大学计算机 —— 计算思维导论 2015年

第2章 计算系统的基本思维

2.4 不同抽象层级的计算机软件

计算机 硬件系统程序员--计算机相关专业人员

用汇编语言编写程序。 理解硬件的结构和指令系统;

理解操作系统提供的扩展功能指令; 控制硬件的算法与程序的构造能力

大学计算机 —— 计算思维导论 2015年

第2章 计算系统的基本思维

2.4 不同抽象层级的计算机软件

计算机 系统程序员--计算机专业人员

用机器语言和操作系统指令编写程序。 理解:硬件的结构和指令系统;

理解操作系统提供的扩展功能指令

大学计算机 —— 计算思维导论 2015年

第2章 计算系统的基本思维

2.4 不同抽象层级的计算机软件

计算机 硬件系统和操作系统程序员--计算机专业人员。

用机器语言或用控制信号编写程序。 理解:硬件的结构和指令系统;理解信号控制逻辑

大学计算机 —— 计算思维导论 2015年

第2章 计算系统的基本思维

2.4 不同抽象层级的计算机软件

大学计算机 —— 计算思维导论 2015年

第2章 计算系统的基本思维

2.4 不同抽象层级的计算机软件

• 语言与编译器 • 不同抽象层级计算机(虚拟机器) • 操作系统层级计算机 • 协议与编码器/解码器

大学计算机 —— 计算思维导论 2015年

第2章 计算系统的基本思维

2.4 不同抽象层级的计算机软件

• 操作系统层级计算机

大学计算机 —— 计算思维导论 2015年

第2章 计算系统的基本思维

2.4 不同抽象层级的计算机软件

OS怎样控制不同厂家的同类别设备?

大学计算机 —— 计算思维导论 2015年

第2章 计算系统的基本思维

2.4 不同抽象层级的计算机软件

大学计算机 —— 计算思维导论 2015年

第2章 计算系统的基本思维

2.4 不同抽象层级的计算机软件

OS怎样控制不同类别的设备?

OS怎样让用户不考虑设备的具体操作细节?

大学计算机 —— 计算思维导论 2015年

第2章 计算系统的基本思维

2.4 不同抽象层级的计算机软件

大学计算机 —— 计算思维导论 2015年

第2章 计算系统的基本思维

2.4 不同抽象层级的计算机软件

大学计算机 —— 计算思维导论 2015年

第2章 计算系统的基本思维

2.4 不同抽象层级的计算机软件

大学计算机 —— 计算思维导论 2015年

第2章 计算系统的基本思维

2.4 不同抽象层级的计算机软件

高级语言程序设计 API Library

OS: 操作系统

接口:设备驱动程序

大学计算机 —— 计算思维导论 2015年

第2章 计算系统的基本思维

2.4 不同抽象层级的计算机软件

OS: 操作系统

设备无关层控制

设备相关层控制

设备驱动与接口

设备

大学计算机 —— 计算思维导论 2015年

第2章 计算系统的基本思维

2.4 不同抽象层级的计算机软件

• 语言与编译器 • 不同抽象层级计算机(虚拟机器) • 操作系统层级计算机 • 协议与编码器/解码器

– 机-机交互层级的计算机

大学计算机 —— 计算思维导论 2015年

第2章 计算系统的基本思维

2.4 不同抽象层级的计算机软件

• 协议 – 为交流信息的双方(计算机)能够正确实现

信息交流而建立的一套规则、标准或约定

大学计算机 —— 计算思维导论 2015年

第2章 计算系统的基本思维

2.4 不同抽象层级的计算机软件

• 图像的表示与处理 – 位图图像

像素表达颜色的不同,需要编码的位

数不同。

黑白-1位 256级灰度-8位 16色彩色-4位 256色彩色-8位 24位真彩色-24位

大学计算机 —— 计算思维导论 2015年

第2章 计算系统的基本思维

2.4 不同抽象层级的计算机软件

• 图像的表示与处理 – 图像编码 – 由于位图图像的存储量大(水平像素数目×垂直像素数目×每像

素位数),通常都需要进行压缩存储,不同的压缩采用了不同的图像编码

– JPEG:国际标准化组织(ISO)和国际电报电话咨询委员会(CCITT)联合成立的“联合照片专家组” 于1991年3用提出了JPEG标准(Joint Photographic Experts Group) 。

– 其他常用编码格式有:BMP,GIF,TIFF,…

大学计算机 —— 计算思维导论 2015年

第2章 计算系统的基本思维

2.4 不同抽象层级的计算机软件

• 音频信息的表示与处理 – 音频编码:将连续信号经采样、量化和编码后形成数字音频

采样:按一定的频率对连续音频信号做时间上的离散化 量化:将所采集的信号点的数值区分成不同位数的离散数值 编码:将采集到的离散数值按一定规则编码存储

•采样频率 •量化精度 •编码方法及其保真度

大学计算机 —— 计算思维导论 2015年

第2章 计算系统的基本思维

2.4 不同抽象层级的计算机软件

• 视频信号的表示与处理 – 视频:视频是时间序列的动态图像(如25帧/秒), – 连续的模拟信号,需要经过采样、量化和编码形成数字视频 – 视频处理相当于按照时间序列处理图像、声音和文字及其同步

音频轨 文字轨 视频轨

大学计算机 —— 计算思维导论 2015年

第2章 计算系统的基本思维

2.4 不同抽象层级的计算机软件

• 视频信号的表示与处理 • 视频编码:

– MPEG是Moving Pictures Experts Group(动态图象专家组)的缩写。提出了四个版本:MPEG-I(VCD: Video CD) 、MPEG-II (DVD:Digital Versatile Disk) 、MPEG-III、MPEG-Ⅳ。

– MIDI 音乐(Musical Instrument digital Interface),WAV,MP3等是音频的编码标准。

大学计算机 —— 计算思维导论 2015年

第2章 计算系统的基本思维

第2章 计算系统的基本思维

• 2.1 理解0和1(的思维) • 2.2 图灵机与冯·诺依曼计算机 • 2.3 现代计算机(系统) • 2.4 不同抽象层级的计算机软件

大学计算机 —— 计算思维导论 2015年

第2章 计算系统的基本思维

第2章 计算系统的基本思维

• 计算系统的基本思维 – 从语义层到硬件实现都可使用0和1表达与处理; – 图灵将控制处理的规则用0和1表达, 将待处理的信息及结果也

用0和1表达, 处理即是对0和1的变换, 提出了计算机的理论模型---图灵机;

– 冯诺依曼提出了将程序和数据存储于存储器中,实现连续自动计算的现代计算机模型---冯诺依曼计算机,促进了计算机技术由理论向实现的转变;

– 计算机的发展伴随的是计算机语言的发展,使计算机所能实现的功能也越来越多越来越大;

– 计算技术,本质上讲可认为是将各种语义信息绑定于0,1及其之上的符号串,定义绑定规则形成协议或语言,然后通过实现协议解析或语言编译来实现计算能力的提升;

– 复杂问题可通过分离或分层,化难为简, 得到实现。

top related