系统概述及数据表示
主要内容
第1章(计算机系统概述)主要介绍冯诺依曼结构的特点、计算机硬件的基本组成、计算机软件设计和执行过程、计算机系统层次结构以及系统性能评价方法。
第2章(数据的机器级表示)主要介绍无符号数和带符号整数的表示、 IEEE 754 浮点数标准、西文字符和汉字的编码表示、大端小端存放顺序及对齐方式以及常用检纠错码表示与使用方法等。
计算机系统概述
冯诺依曼体系
基本思想:
- 采用“存储程序”工作方式
- 存储程序:任何要计算机完成的工作都要先被编写成程序,然后将程序和原始数据送入主存并启动执行。一旦程序被启动,计算机应能在不需操作人员干预下,自动完成逐条取出指令和执行指令的任务。
- 计算机由运算器、控制器、存储器、输入设备和输出设备5个基本部件组成
- 计算机内部以二进制形式表示指令和数据;每条指令由操作码和地址码组成,操作码指出数据类型,地址码指出操作数的地址。
- 5个基本部件的功能:
- 存储器:不仅能存储数据,而且也能存放指令,形式上数据和指令没有区别,但计算机能区分它们
- 控制器:能自动执行指令
- 运算器:能进行加减乘除四种基本运算,也能进行一些逻辑运算和附加运算
- 输入输出设备:操作人员可通过其与主机进行通信
计算机硬件基本组成
硬件包括:中央处理器、存储器、I/O控制器、外部设备、各类总线
- 中央处理器:CPU=控制器+运算器。
- 存储器:存储器=内存+外存,内存=主存储器+高速缓存,外存=辅助存储器+海量后备存储器,目前主要的辅助存储器是磁盘存储器和固态硬盘
- 外部设备:称I/O设备,也称外设。外设=机械部分+电子部分,机械部分是外部设备本身,电子设备是控制外部设备的I/O控制器或I/O适配器。例如:键盘接口、打印机、显卡、网卡都属于I/O控制器
- 总线:传输信息的介质,用于在部件之间传输信息,在CPU和I/O模块中都内含相应的存储部件,即缓存器
计算机软件设计和执行过程
- 软件=系统软件+应用软件
- 系统软件:介于计算机硬件和应用程序之间,包括操作系统、语言处理系统、数据库管理系统、各类实用程序。
- 操作系统:如Windows,管理整个计算机系统的各种资源,包括对它们进行调度、管理、监视和服务
- 语言处理系统:如C语言编译器,主演用于提供一个用高级语言编程的环境,包括源程序的编辑、翻译、调试、链接、装入运行等
- 数据库管理系统:如Oracle,提供计算机用户和硬件之间的人机交互页面,并提供对应用软件的支持
- 各类使用程序:如磁盘碎片整理程序、备份程序
- 应用软件:为数据处理、科学计算、事务管理等应用所编写的各类程序。如qq,网易云音乐,微信,微博等。
- 系统软件:介于计算机硬件和应用程序之间,包括操作系统、语言处理系统、数据库管理系统、各类实用程序。
计算机层次结构
ISA:指令集体系结构,是软件和硬件之间借口的一个完整定义。所有软件功能都建立于ISA之上。
- 硬件设计者角度:指令系统为CPU提供功能需求,要求易于硬件设计
- 系统程序员角度:通过指令系统来使用硬件,要求易于编写编译器
计算机性能评价
执行时间=CPU时间+其他时间
CPU时间=用户CPU时间+系统CPU时间
计算机系统的性能评价主要考虑的CPU性能,即用户CPU时间。
课堂补充
兼容机
指软件的兼容,特征:相同或相似的指令集/操作系统
单位换算
1KHZ=1000HZ
1MHZ=10^6HZ
1GHZ=1000MHZ=10^9HZ
性价比R
R=性能/价格=1/时间*价格
MIPS、MFLOPS、GELOPS
MIPS:million instruction per second,每秒执行百万条指令,表示定点执行速度
MFLOPS:浮点操作速度
GFLOPS:G=10^9M
数据的机器级表示
无符号数和带符号整数的表示
无符号整数:Unsigned integer,即正整数或非负整数。
带符号整数:signed integer,即用一个二进位来表示符号。
- 8位无符号整数最大是255(1111 1111),n位无符号整数可表示的范围0~(2^n-1)
- 8位带符号整数最大为127(0111 1111),n位带符号整数可表示的范围-2^n-1~ 2^(n-1)-1
求负数的补码
IEEE 754 浮点数标准
例如,-12.75用IEEE754
表示
整数部分12,二进制表示为1100B
小数部分.75,二进制表示为.11B
因此1100.11B规格化为1.10011*2^3
阶码e=3+127=2+128=1000 0010B
f=0.10011,所以用IEEE754表示为
1 1000 0010 1001 1000 0000 0000 0000 0000 0
西文字符和汉字的编码
西文字符的编码
- 表示(常用编码为7位ASCII码)
- 十进制数字:0/1/2…/9
- 英文字母:A/B/…/Z/a/b/…/z
- 专用符号:+/-/%/*/&/……
- 控制字符(不可打印或显示)
汉字的编码
编码形式
有以下几种汉字代码:
输入码:对汉字用相应按键进行编码表示,用于输入
内码:用于在系统中进行存储、查找、传送等处理
字模点阵或轮廓描述: 描述汉字字模点阵或轮廓,用于显示/打印输入码:向计算机输入汉字的方式
1、 手写汉字联机识别输入,或者是印刷汉字扫描输入后自动识别,这两种方法现均已达到实用水平。
2、 用语音输入汉字,虽然简单易操作,但离实用阶段还相差很远。
3、 利用英文键盘输入汉字:每个汉字用一个或几个键表示,这种对每个汉字用相应按键进行的编码称为汉字“输入码”,又称外码。输入码的码元为按键。是最简便、最广泛的汉字输入方法。
常用的方法有:搜狗拼音、五笔字型、智能ABC、微软拼音等内码:西文字符常用的内码就是ASCII码。至少需要2个字节才能表示一个汉字内码。
字模点阵或轮廓描述:为便于打印、显示汉字,汉字字形必须预先存在机内
- 字库 (font):所有汉字形状的描述信息集合
不同字体 (如宋体、仿宋、楷体、黑体等) 对应不同字库
从字库中找到字形描述信息,然后送设备输出
- 字库 (font):所有汉字形状的描述信息集合
大端小端存放顺序及对齐方式
大端小端
对齐方式
要求数据的地址是相应的边界地址
若不按照对齐方式,虽节省了空间,但增加了访存次数!
常用检纠错码表示与使用方法
常用的数据校验码有:奇偶校验码、海明校验码、循环冗余校验码。
补充
BCD码表示十进制数
- 十进制有权码
- 每个十进制数位的4个二进制位(称为基2码)都有一个确定的权。8421码是最常用的十进制有权码。也称自然BCD(NBCD)码
- 十进制无权码
- 每个十进制数位的4个基2码没有确定的权。在无权码方案中,用的较多的是余3码和格雷码。
例如:+236=(1100 0010 0011 0110)8421
数据的宽度和存储
比特:bit,是计算机中处理、存储、传输信息的最小单位
字节:byte,也称位组,是二进制信息的计量单位
- 现代计算机中,存储器按字节编址
- 字节是最小可寻址单位
字:word,与字长不同,区别如下
字与字长的区别
“字长”指定点运算数据通路的宽度
- 数据通路指CPU内部数据流经的路径以及路径上的部件,主要是CPU内部进行数据运算、存储和传送的部件,这些部件的宽度基本上要一致,才能相互匹配。因此,”字长”等于CPU内部总线的宽度、运算器的位数、通用寄存器的宽度等。
“字”表示被处理信息的单位,用来度量数据类型的宽度。
数据量的度量单位
要区分容量单位和带宽单位!
容量单位
“千字节”(KB),1KB=210字节=1024B
“兆字节”(MB),1MB=220字节=1024KB
“千兆字节”(GB),1GB=230字节=1024MB
“兆兆字节”(TB),1TB=240字节=1024GB
通信中的带宽单位
“千比特/秒”(kb/s),1kbps=103 b/s=1000 bps
“兆比特/秒”(Mb/s),1Mbps=106 b/s =1000 kbps
“千兆比特/秒”(Gb/s),1Gbps=109 b/s =1000 Mbps
“兆兆比特/秒”(Tb/s),1Tbps=1012 b/s =1000 Gbps
注意!
如果把b换成B,则表示字节而不是比特(位)
例如,10MBps表示 10兆字节/秒