Global Edition, 12th Edition()
by Brookshear, J.Glenn
1.1 Bits and Their Storage
- XOR: 相同为1,不同为0
- flip-flop(触发器):一输出,两个输入分别置零、置一。记忆功能的基础。
1.2 Main Memory
- cell: 存储8个bit = 1个字节byte = 2个16进制数
- 每个cell有一个地址,地址是连续的
RAM
-
Random Access,想读那个就读直接哪个。掉电丢数据。
- SRAM:不需要一直刷新
- DRAM:需要一直刷新
1.3 Mass Memory
磁盘
- 由若干磁片platter组成,每片的一面称为一个head。
- 每一面有读写头,所有读写头统一运动
- 磁道track:一环。
- 柱面cylinder:所有head上半径相同的track集合。不动读写头,可以同时读到。
- 扇区sector:磁道的一部分。统一大小为512 bytes或者若干KB。
- 磁盘速度:毫秒,RAM速度:纳秒
光盘
- 适于长的、连续读取的数据:歌曲
- CD->DVD-> BD:多层压成一篇,读取头精细聚焦深度
闪存
- 频繁擦写会损坏,所以做主存不合适
- 电子读取,不怕震
- SSD:更大,代替磁盘;SD卡:手机、照相机
1.4 Representing Information as Bit Patterns
文本
- 每种字符 = 一种bit pattern
- ASCII:每字符8bit,1字节
- Unicode:一类编码方式。每字符最多21bit,约3字节。
- UTF-8, UTF-16:两种Unicode编码方式。长度不定。
数值
- 16bit,2字节,0~65535
- 负数:二进制补码 two's complement
- 分数:floating-point notation
图像
声音
- 每隔一定间隔(例如采样率44100hz),用16或32bit记录声音的信息
- MIDI:直接记录乐谱。多用于电子音乐
1.5 The Binary System
1.6 Storing Integers
二进制补码
-
固定一个长度n,2n-1~2n-1-1
- 正数x:第一位0,后续bin(x)
- 负数x:第一位1,后续bin(x+2n-1)
正数 |
|
负数 |
|
0 |
000
|
-4 |
100
|
1 |
001
|
-3 |
101
|
2 |
010
|
-2 |
110
|
3 |
011
|
-1 |
111
|
- 加法:和普通二进制加法一样,超出则截取
- 检测overflow:正+正 = 负,负+负 = 正
余码记数法
-
固定一个长度n,2n-1~2n-1-1
- 正数x:第一位1,后续bin(x)
- 负数x:not(-x-1)
正数 |
|
负数 |
|
0 |
100
|
-1 |
011
|
1 |
101
|
-2 |
010
|
2 |
110
|
-3 |
001
|
3 |
111
|
-4 |
0**00 ** |
1.7 Storing Fractions
- 符号:0-非负,1-负
- 指数:有正负整数,表示小数点移位
- 尾数:表示0.XXXX,第一位必须为1
- 32位float:符号1 bit,指数8 bit,尾数23 bit。精确到小数点后7位
- 64位double:精确到小数点后15位
1.8 Data and Programming
1.9 Data Compressing
Generic Data
- 无损:游程编码,霍夫曼编码,差分编码,字典编码,LZW(把信息中的新词添加到基础字典中)
图像
- GIF:256种颜色字典。每个像素从3byte(RGB)压缩到1byte。
- JPEG:压缩10-30倍
- PNG:无损
- TIFF:侧重记录照片信息,色彩无损
音频视频
1.10 Communication Errors
校验位Parity Bits
自矫正编码
- 只允许部分编码合法。接收后查找汉明距离最近的合法编码。