计算机科学概论第4-6章预习
第四章 门与电路
4.1计算机与电学
通过电平区分信号的值(0或1);0~2伏的电压是低电平,由二进制数字0表示,2~5伏范围内的电 压是高电平,由二进制数字1表示。
门:是对电信号执行基本运算的设备。
电路:是由门组合而成的,可以执行更加复杂的任务。
布尔代数:变量和函数的值只是0或1。表示二值逻辑函数。
逻辑框图:电路的图形话表示,真实地表示出整个电路逻辑。
真值表:列出了一种门可能遇到的所有输入组合和相应的输出的表。
4.2门
非门(逆变器):非门接受一个输入值,生成一个输出值。输1出0,属0出1。
与门:接受的输入信号是两个。当输入两个信号都是1时,输出1。否则输出0。
或门:接受的输入信号是两个。当输入两个信号都是0时,输出0。否则输出1。
异或门: 接受的输入信号是两个。当输入两个信号都相同时,输出0。否则输出1。
与非门: 接受的输入信号是两个。当输入两个信号都是1时,输出0。否则输出1。
或非门: 接受的输入信号是两个。当输入两个信号都是0时,输出1。否则输出0。
注:与非门生成的结果和与门生成的相反。或非门生成的结果和或门生成的相反。
门可以被设计为接受三个或更多个输入值。
4.3门的构造
门使用晶体管建立输入值和输出值之间的映射。
晶体管的作用:1. 传导电流的电线 2. 是阻止电流的电阻器。
晶体管有半导体材料制成
如果电信号是接地的,那么它可以通过一条备选线路流人大地,在地 上它是无害的。接地的电信号将被降低或减小到0伏。
晶体管具有三个接线端,即源极、基极和发射极。发射极通常接地,源极制造高电平,5伏左右。基极值控制的门决定了是否把源极接地。
晶体管只能是开(生成高电平输出信号)或关(生成低电平 输出信号)两种状态,由基极电信号决定。开:基极信号是低电平接近0伏;关:基极信号是高电平接近5伏。
4.4电路
电路可以分为两大类。一类是组合电路,输入值明确决定了输出。另一类是时序电路,它的输出是输入值和电路现有状态的函数。
组合电路:把一个门的输出作为另一个门的输入,就可以把门组合成电路。
电路等价:对应每个输入值组合,两个电路都生成完全相同的输出。
布尔代数表达式:(AB+AC)布尔表达式:A(B+C)
显然:(AB+AC)=A(B+C)
布尔代数的一些性质:
德·摩根定律:对两个变量的与操作的结果进行非操作,等于对每个变量进行非操作后再对它们进行或操作。对两个变量的或操作的结果进行非操作,等于对每个变量进行非操作后再对它们进行与操作。
加法器:对二进制值执行加法运算的电路。
半加器:算两个数位的和并生成正确进位的电路
注意:半加器不会把进位考虑在计算之内,只能算两个数位的加法;
全加器:计算两个数位的和,并考虑进位输入的电路。
多路复用器:生成单个输出信号的通用电路。可以有任意多条输入线和相应的控制线。一般说来,n条输入控制线的二进制值决定了选择2n条数据线中的哪一条作为输出。
多路分配器则与多路复用器相反。
4.5存储器电路
S-R锁存器:一个锁存器存储一个二进位制数字
4.6集成电路
集成电路 (芯片)是嵌入了多个门的硅片。边缘有引脚,每个引脚连接着一个门的输入或输出,或者连接着电源,或者接地。
4.7CPU芯片
中央处理器(CPU):CPU只是一种具有输入线和输出线的高级电路。并且具有大量引脚,以用作各种通信也把CPU本身也是高级电路的存储器与I/O设备连接在一起。
问题:
- 如何根据实际需求,更好的设计组合电路从而达到目的?一般是通过什么方法实现的?
- 德·摩根定律在实际使用上有什么意义?
第五章 计算部件
5.1独立的计算机部件
1.CPU(中央处理单元):2.5GHz Intel i5(1066MHz FSB/6MB SDRAM)
Intel i5(酷睿i5)是一种处理器,运行速度2.5GHz。G表示十亿的公制前缀。Hz代表赫兹,衡量每秒周期数的单位。在计算机中,会有一个称为时 钟(clock)的部件集中生成一系列电脉冲,它用来保证所有动作的协调。这一处理器中的时钟脉 冲是每秒25亿次。
1066 MHz FSB。M表示百万,FSB的东西的脉冲是每秒10.66亿次。FSB(前端总线)即处理器与外界的主要连接线。一个处理器需要访问内存和输入、输出设备,这是通过被称为总线的一组电线实现的。
6 MB cache是缓存,MB代表兆字节,1MB = 220字节。仅当缓存中没有所需数据时才使用前端总线。
一般来说,更快的时钟、更快的前端总线和更大的缓存空间似乎能使计算机更加强大。
2. 显示器
15.6英寸全高清LED触摸屏(1920×1080)
数字15.6指的是显示区域对角线的长度。LED代表发光二极管, 1920×1080指的是屏幕的像素(pixel)分辨率,
3.GPU(图形处理器)
Intel HD Graphics 520
游戏和其他图形软件向GPU发送指 令,这些指令使GPU很快地操纵屏幕上的图像,减轻中央处理器在这一工作中承受的负载。
4. 随机访问存储器(RAM)(主储存器)
8GB SDRAM DDR3。
8GB意味着存储空间有 8×230字节。DDR3是 存储器的一种。
5.硬盘
1TB硬盘5400 RPM
为该硬盘驱动器有1 TB(兆兆字节,1万亿(240)字节)的存储空间。5400 RPM(转/分),这是硬盘旋转的速度。
6.DVD驱动器
DVD+/-RW驱动器
R表明驱动器能够在一 种特殊的可写的DVD上读取数据。+-表明两种标准制作的DVD这种驱动器都能读取。
7.无线网络支持
802.11A,802.11bgn,无线蓝牙
8. 内置数字照相机
Intel实感3D照相机
3D说明有标准的2D透镜技术,它还有红外线技术,这种技术可以分辨出物体之间的距 离,也就可以更好地进行面部和手势识别。
9.电池
电池,7小时平均寿命
10.外部接口
1个USB 3.0,2个USB2.0,1个HDMI,LAN 10/100,音频输入/输出
11.物理尺寸和重量
15×10.2×0.9英寸,5.36磅
12.操作系统及预装软件
可以运行Windows 10操作系统
5.2存储程序的概念
冯·诺伊曼体系结构
- 存放数据和指令的内存单元
- 对数据执行算术和逻辑运算的算术/逻辑单元。
- 把数据从外部世界转移到计算机中的输入单元。
- 把结果从计算机内部转移到外部 世界的输出单元。
- 担当舞台监督,确保其他部件都 参与了表演的控制单元。
1.内存:
每个存储单元(称为位)能存放1或0,这些位被组合成字节(8位),字节被组合成字。
内存是存储单元的集合。
2.算术/逻辑单元
算术/逻辑单元(ALU)能执行基本的算术运算和逻辑运算的部件。
3.输入/输出单元
输入单元是使外界数据和程序进入计算机的设备。
输出单元是使外界使用存储在计算机上的结果的设备。
4.控制单元
掌管着读取-执行周期,有两种寄存器:指令寄存器和程序计数器。
每条总线携带三种信息: 地址、数据和控制信息。
总线宽度是同时能传输的位数。
读取-执行周期
- 读取下一条指令 2.译解指令 3.如果需要,获取数据 4.执行指令
RAM和ROM
RAM是随机存取存储器,这是一种每个存储单元(通常是1字节)都能被直接访问的内存。
ROM是只读存储器,ROM中的内容不能更改,是永久的。
二级储存设备
用于保存程序和数据,可以存放大量的数据,所以它们又被称为大容量存储设备
如:磁带,磁盘,CD和DVD,闪存等。
触摸屏
一种特殊的I/O设备,它显示文本和图形的方式与常规的显示器相同,能对用户在屏幕上用手指或书写笔的触摸做出响应
触摸屏的种类:电阻式触摸屏,电容式触摸屏,红外触摸屏,表面声波触摸屏
5.3嵌入式系统
一个嵌人式系统集成在单个微型处理器芯片上,程序被存储在ROM中。是为完成小范围功能而专门设计的计算机
5.4并行体系结构
并行计算
四种一般的形式:位级、指令级、数据级和任务级。
位级的并行是基于增加计算机的字长。
指令级的并行是基于程序中的某些指令能够同时独立地进行。
数据级并行基于同一组指令集能同时对不同的数据集执行。
任务级的并行是基于不同的处理器能在相同或不同的数据集上执行不同的操作。
并行硬件分类
多核处理器有多个独立的核心,它们通常是中央处理(CPU)。
超标量处理器能向执行单元发出多条指令,而多核心处理器能向不同 的执行单元发出不同的指令。
对称多处理器(SMP)包含多个相同的核心。
第六章 低级程序设计语言与伪代码
6.1计算机操作
程序设计语言都必须反映出计算机能够执行的运算类型。
计算机是能够存储、检索和处理数据的可编程电子设备。
这个定义中的操作字包括可编程的、存储、检索和处理。
存储、检索和处理是计算机能够对数据执行的动作。
6.2机器语言
计算机真正执行的程序设计指令是用机器语言编写的指令
机器语言: 由计算机直接使用的二进制编码指令构成的语言。
每种处理器都有自己专用的机器指令集合。这些指令 是处理器唯一真正能够执行的指令。
CPU的电子器件本来就能够识别专用命令的二进制表示。
每条机器语言指令只能执行一个非常低级的任务。
Pep/9:一台虚拟机
虚拟机是为了模拟真实机器的重要特征而设计的假想机器。
Pep/9有40条机器指令
- 基本特性
内存单元由65536字节的存储空间构成,这些字节从0到65535(十进制)编号。字长是2字节,或者16位。
- 指令格式
一条指令由两部分组成,8位的指令说明符和16位的操作数说明符。
指令说明符:说明了要执行什么操作和如何解释操作数的位置。Pep/9的操作码长度从4位到8位不等。
3位的寻址模式说明符,表示了怎样解析指令中的操作数部分。有立即寻址(000),直接寻址(001)
- 一些示例指令
0000停止执行:读取-执行周期中,当操作代码全部为零时,程序将终止。
1100将字载入寄存器A中:将一个字(两字节)载入寄存器A中。指令的第二和第三字节的内容(操作数说明符)将被载入寄存器A(累加器)之中。
1101将字节载入寄存器A中:与1100相似,但只载入一个字节
1110存储寄存器A中的字:把寄存器A中的内容存储到操作数中指定的位置。
1111存储寄存器A的字节:只存储1字节而不是2字节(1个字)。
0110将操作数加到寄存器A中:操作数说明符中的值被加到了寄存器A 的内容中。
1000从寄存器A减操作数:从寄存器A中减去操作数而不是相加。
Pep/9的输入输出
设计原则是内存映射输入/输出,将输入和输出设备与主存中特定的、固定的地址联系起来。在虚拟机中。地址FC15为输入设备,地址FC16为输出设备
6.3一个程序实例
在屏幕上显示“Hi”
5条机器语言指令:2条用于载入,2条用于存储,1条用于停止程序运行。
二进制和十六进制的列代表相同的值。十六进制只是更简洁
可以使用Pep/9模拟器来模拟程序,这个模拟器会按照虚拟机的设计方式进行运算。
模拟器执行程序时,它像真实机器一样每次只运行一条程序命令
读取-执行周期
1)从由程序计数器确定的存储器位置上获取指令;
2)解码指令,更新程序计数器;
3)获得操作数(如果需要);
4)执行指令。
6.4汇编语言
汇编语言给每条机器语言指令分配了一个助记指令码。代替二进制数码和十六进制数码,便于程序员使用
汇编器:将助记码翻译成等价的机器语言
Pep/9汇编语言的特性:操作数用0x和十六进制表示,接下来是逗号,最后是寻址模式(由字母i(立即寻址) 或d(直接寻址)说明。
除了常规的指令,汇编语言编程还支持汇编器指令(伪操作)
Pep/9汇编器忽略在分号后面的任何字符,这就允许我们在指令旁边添加注释
可以使用额外的用来展示输入和输出(I/O)数字和整个字符串的指令。
除此之外,还有分支命令
DECI指令代表十进制输入
DECO和STRO指令使数据写入输出设备中。
分支指令BR叫作无条件转移
BRLT和BREQ指令只在满足特定情况时导致程序分支
CPWA指令对比了累加器中的数值和操作数
6.5表达算法
伪代码是一种表达算法的语言,必须表现出这些概念:1.变量 2.赋值 3.输入/输出 4.选择 5.重复
6.6测试
测试程序的方法:执行程序,是否能产生预期的结果,根据程序原先的目的,来判断它直观的正确性。
几种测试方法:1.代码覆盖测试法 2. 明箱测试法 3. 数据覆盖测试法 4. 暗箱测试法
问题:
- 除了Pep/9之外还有哪些虚拟机(低级编程语言)?它们各有什么特点?
- 更高级的编程语言也都需要借助虚拟机吗?