第一章计算科学简介
1.简述计算科学的概念
⑴是描述和变换信息的算法过程。
⑵包括其理论分析、设计,效率分析、实现和应用系统的研究。
⑶计算科学的基本问题就是:什么能(有效地)自动进行,什么不能(有效地)自动进行。2.计算科学涵盖了:计算机科学、计算机技术、计算机工程。
3.计算机科学研究的课题是:
计算机程序能做什么和不能做什么(可计算性);
如何使程序更高效的执行特定任务(算法和复杂性理论);
程序如何存取不同类型的数据(数据结构和数据库);
程序如何显得更具有智能(人工智能);
人类如何与程序沟通(人机互动和人机界面)。
4.计算机技术的内容非常广泛,可粗分为:
计算机系统技术;
计算机器件技术;
计算机部件技术;
计算机组装技术等。
5.计算科学的主要内容主要分为14个领域:
离散结构
程序设计基础
算法与复杂性
体系结构
操作系统
网络计算
程序设计语言
人-机交互
图形学和可视化计算
智能系统
信息管理
软件工程
社会和职业问题
科学计算
离散结构
•主要内容:集合论、数理逻辑、近似代数、图论和组合数学等。
程序设计基础
•内容包括:程序设计结构、算法、问题求解和数据结构等。
•基本问题主要包括:对给定的问题进行程序设计、编码、测试和调试。
算法与复杂性
•主要包括:算法的复杂度分析、典型的算法策略、分布式算法、并行算法、可计算理论、P类和NP类问题、自动机理论、密码算法、以及几何算法等。
•基本的问题:对于给定的问题类,最好的算法是什么?算法的复杂度如何?算法的性能如何?
操作系统
•主要内容:操作系统的逻辑结构、并发处理、资源分配与调度、存储管理、设备管理、文件系统等。
•基本问题:在计算机系统操作的每一个级别上,可见的对象和允许进行的操作是什么?等等。
程序设计语言
•主要内容:程序设计模式、虚拟机、类型系统、执行控制模型、语言翻译系统、程序设计语言的语义学、基于语言的并行构件等。
•基本问题:语言表示的虚拟机的可能组织结构是什么?语言如何定义机器?机器如何定义语言?什么样的表示法可以有效地用于描述计算机应该做什么?
软件工程
•主要内容:软件过程、软件需求与规格说明、软件设计、软件验证、软件演化、软件项目管理、软件开发工具与环境、基于构件的计算、形式化方法、软件可靠性、
专用系统开发等。
•基本问题主要包括:程序和程序设计系统发展背后的原理是什么?如何证明一个程序或系统满足其规格?
科学计算
•主要内容包括:数值分析、运筹学、模拟和仿真、高性能计算。
•基本问题主要包括:如何精确地以有限地离散过程近似表示连续和无限的离散过程?
如何处理这种近似产生的错误?等
算法特征:
•有穷性:合理算法应在执行有限步后结束
如:N!=1*2*3*…*(N-1)*N
而式子:sum=1+2+3+…+N+…不能称为算法,因为它执行有限步后仍不能结束•确定性:算法的每一步执行,其顺序和内容都必须有确切的规定,不能模棱两可•可执行性:即算法的所有操作都是能通过计算机程序代码实现,即可操作性
•0个或多个输入;
•1个或多个输出。
第二章数据存储
1.用位模式表示信息
⑴文本的表示
•ASCII(American Standard Code for Information Interchange )经常扩展为8位位模式,方法就是在7位位模式前面加一个0。这种编码可以表示大小写英文字母、标
点符号、数字0~9以及某些控制字符,如换行、回车与制表符等。
•Unicode:十六位模式表示,可以有65536个不同的位模式。可以表示用中文、日文等语言书写的文档资料。
•32位模式:由国际标准化组织开发的可能与Unicode竞争的代码标准,该种编码系统可以表示几十亿个不同的符号。
⑵数值的表示
•二进制记数法:为了用与存储文本同样的存储空间存储范围更广的数。
⑶图像的表示
•位图技术:图像表示为一组点(像素),一个点用一组位表示。
EG:一个点用一个二进制位表示,那么可以把这个图像表示为黑白图像;
一个点用八个二进制位表示,那么可以把图象中灰不同的地方表示出来;
一个点用三个字节来表示,可以表示一个彩图像。
缺点:不能把图像调整到任意大小,当为了增大图像而变大像素的时候,会使图像成为颗粒状。
•矢量技术:
优点:可以很容易的调整图像的大小,应用也很广泛。
EG:字处理系统中调整字体大小;
计算机辅助设计(CAD)系统。
⑷声音的表示
•声音的存储:按有规律的时间间隔采样声波的振幅,并记录所得到的数值序列。这些数值通过通信线路传输到接收端,用来重现声音。
EG:远程语音通信可以用每秒8000次的采样频率;
音乐录制的高保真采用每秒44100次的采样频率;
⑸整数的存储
•二进制补码记数法
•无符号整数的原码、反码、补码:
•余码记数法
⑹小数的存储
•浮点记数法
2.主存中的一些概念:
•ROM表示只读存储器(Read Only Memory)
•随机存储器(Random Access Memory)
•高速缓冲存储器(Cache)
•动态随机存储器(Dynamic Random Access Memory)
•静态随机存储器(Static Random Access Memory)
3.数据压缩
•无损的:行程长度编码;
频率相关编码(Huffman Code);
相对编码/差分编码。
•有损的:字典编码;
自适应自定编码;
相对编码/差分编码。
⑴图像压缩
•GIF:字典编码系统、自适应字典系统;
•JPEG:很少使用无损压缩;
•TIFF:基于类似于GIF所使用的技术。
⑵音频和视频压缩
•MPEG:运动图像专家组研制开发,使有损压缩;
•MP3:也是一种有损压缩。
4.奇偶校验位
•给原始模式添加一个校验位,使得每个模式中都包含有奇数(或偶数)个1,如果查到奇(或偶)数不符合校验系统,则此模式出错。
•缺点:不能检验出偶数个错误的模式,且不能提供纠错。
5.Hamming Distance:两个码字的对应比特取值不同的比特数称为这两个码字的海明距离。一个有效编码集中,任意两个码字的海明距离的最小值称为该编码集的海明距离。
•eg: ASCII表中两个码字之间的距离中最小值为1,则编码集的海明距离是1.•a,b的ASCII值分别为97和98,之间相差1,所以其海明距离是1.
第三章数据操作
精简指令集计算机(reduced instruction set computer,RISC):CPU只需要执行最小的一组机器指令集。其特点是:效率高且速度快。代表:英特尔的奔腾系列处理器。
复杂指令集计算机(complex instruction set computer,CISC):CPU因该能够执行大量复杂的指令。其特点是:容易编程。代表:苹果公司、IBM、和摩托罗拉联合开发的PowerPC 系列处理器。
机器指令的分类:数据传输、算术/逻辑类、控制类。
1.数据传输类指令
⑴概念:包含请求在各个位置之间传输数据的指令.
⑵几个术语:
①加载:由存储单元的内容填充通用寄存器的请求称为加载指令(LOAD);
②存储:将寄存器中的内容传输给存储单元的请求称为存储指令(STORE);
⑶一个特殊的指令:I/O指令。
access是基于什么的工具运行一个加法的步骤:
⑴从存储器中取出一个要加的值放在一个寄存器中;
⑵从存储器中取出另一个要加的值放在另一个寄存器中;
⑶激活加法电路,以步骤⑴和⑵所用的寄存器作为输入,用另一个寄存器存放相加的结果;
⑷将结果存入存储器;
⑸停止。
•其中,⑴和⑵是加载指令,⑷是存储指令,其中,⑶算术/逻辑类的指令。
2.控制类指令
①转移:(JUMP);
无条件转移:(unconditional jump);
条件转移:(conditional jump);
②分支:(BRANCH);
其中,⑶是条件转移指令。
一种演示用的机器语言:
⑴操作码(operation code,op-code):指明该指令要求的是什么基本运算,如STORE;
⑵操作数(operand) :指定更详细的内容。以STORE为例,其操作数字段中的信息指示哪个寄存器包含被存储的数据,哪个存储单元用于接收该数据。
两个二进制位串之间的移位运算:
•循环移位:将右侧移出的位放在左侧的空位上。
EG:0 1 1 0 0 1 0 1 原始位模式
0 1 1 0 0 1 0 1向右移一位
1 0 1 1 0 0 1 0
把移出的“1”放在左侧的空位上
•逻辑移位:丢弃移出边界的位,用0填充空位。
EG:1 0 1 0 1 0 1 0 原始位模式
1 0 1 0 1 0 1 0 向右移两位
0 0 1 0 1 0 1 0
逻辑移位后的位模式,“1 0”被丢弃
•算术移位:保留符号位不变的移位。
EG: 1 1 0 1 1 0 1 1 原始位模式
1 1 0 1 1 0 1 1移位后模式
1 0 1 1 0 1 1 0
丢弃“1 1”,前面的符号位是原始位模式的符号位“1”
其他体系结构:
•流水线:目的就是通过在相同时间内增加计算机吞吐量来改进计算机的性能(当一条指令执行的时候,可以取出下一条指令,也就是说在同一个时刻不止有一条指令在流水线上);
•多处理器:若干活动在同一时间里实现(也就是并行处理技术)。
第四章组网以及因特网
1.通信过程
•DET:数据终端设备,它是数据的出发点和目的地;
•通信控制器:负责DET和通信线路的连接,完成数据缓冲、速度匹配、通信转换等;
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。
发表评论