1 计算机系统不同层次上的抽象
内存从概念上来说就是一个很大的字节数组,保存着程序和数据。程序用虚拟地址来引用内存位置。硬件和操作系统软件联合起来将虚拟地址翻译成实际或物理地址,指明数据实际存在内存中哪个地方。
指令集的一个重要性质就是字节编码必须有唯一的解释。任意一个字节序列要么是一个唯一的指令序列的编码,要么就不是一个合法的字节序列
2 存储层次
计算机中的存储器与运算器相比,实在是速度太慢了,于是出现了存储分层的概念。
我们知道,计算机对数据的处理,按冯诺依曼存储程序控制的概念,程序和数据都要加载到可以寻址的内存中,由控制器顺序读取指令,通过译码、产生控制控制信号,一些数据、中间结果、地址需要在寄存器中存储起来,通过运算器运算,再将数据交换到内存和外部的辅助存储系统。
3 各种编码
3.1 原码
用来表示无符号整数。
3.2 补码
用来表示有符号整数。
减法可以转换为与一个负数的补码的加法,如24-3相当于24+(-3)。
乘法可以转换为加法,如24*3相当于24+24+24。
除法也可以转换减法,再转换为加法,如24/3相当于循环循环操作24+(-3),循环的次数就是商。
3.3 IEEE754编码
用来表示浮点数。
浮点数的阶码:用移码表示,称雄相当于原码+e^(k-1)-1;
浮点数的尾码:用原码表示。
3.4 字符编码
用整数来编码,根据纳入字符的多少,及对某些编码方案的兼容,有不同的编码方案,如ASCII、Unicode、GB2312等。
4 输入输出的文件概念
输入输出都以文件(字节序列)的形式进行抽象。网络如同磁盘一样,也是一种输入、输出的数据源,网络的套接字也抽象为文件流的概念。
-End-