计算机科学
DAY1
程序设计语言
一、发展历史
第一代机器语言
由0、1代码指令构成,但不同的CPU具有不同的指令系统,机器语言难编写、难修改、难维护,编程效率极低。
第二代汇编语言
汇编语语言指令是机器指令的符号化,与机器指令直接对应,直接访问系统接口,编译效率高,但编程效率低、容易出错。
第三代高级语言
1.面向过程的语言
Pascal、C
2.面向对象的语言
C++、Java,VB
第四代非过程语言
只说明做什么不需要描述算法细节,比如数据库查询、应用程序生成器。
二、C语言
C语言是一门通用计算机编程语言
既有高级语言的特点,
三、计算机发展
1. 世界上真正的第一台电子计算机
阿塔纳索夫-贝瑞计算机(Atanasoff–Berry Computer,简称ABC)
ABC计算机不可编程,只能进行线性方程组的计算。
它的价值是确定了一些现代计算机设计思想,如采用二进制、可重用的存储器等理念
2.第1台通用电子计算机
(Electronic Numerical Integrator And Compute)电子数字积分计算机
由电子真空管组成
用十进制表示信息并运算;
采用手动编程,通过设置开关和插拔电缆来实现;
3.计算机之父--冯·诺依曼(John von Neumann)
1945年3月,冯·诺依曼在与同事共同讨论的基础上起草了一个全新的“存储程序通用电子计算机方案EDVAC(Electronic Discrete Variable Automatic Computer)
该方案对后来计算机的设计起到了决定性的影响
特别是 确定了计算机的体系结构,采用存储程序以及二进制编码等理念
其思想至今仍为电子计算机设计者所遵循
4.冯·诺依曼计算机的特点
指令由操作码和地址码组成
以运算器为中心;
操作码
指明该指令所要完成的操作,如加法、减法、传送、移位、转移等;
地址码
指出该指令的源操作数的地址(一个或多个),结果的地址以及下条指令的地址
5.计算机硬件结构
早期,部件之间用分散方式相连
现在,部件之间大多用总线方式相连,结构简单,便于扩充
图示时单总线结构,现在都采用多总线结构
6.为什么选择二进制
物理上具有两种状态的电子器件比较多,二进制状态比较容易实现;
两个状态的系统具有稳定性;
二进制的运算法则简单;
容易检错与纠错
7.逻辑运算
硬件基于这三种基本的逻辑运算,进而完成:
加法运算;
加、减、乘、除四则运算;
比较运算;
复杂的逻辑运算与算术运算;
8.门电路
半加器
与门控制进位
异或们控制本位
全加器
行波进位加法器:从C0开始,低位进位像引力波一样逐级向高位传播
由于高位加法需要等到低位传来的进位后才能完成,运算速度极慢
改进:并行进位加法器(计算机组成原理将详细介绍)
BIOS basic input output system