计算机系统是由硬件和系统软件组成的,它们共同协作以运行应用程序。**计算机内部的信息被表示 为一组组的位,它们依据上下文有不同的解释方式。**程序被其他程序翻译成不同的形式,开始时是 ASCII 文本,然后被编译器和链接器翻译成二进制可执行文件。
处理器读取并解释存放在主存里的二进制指令。因为计算机花费了大量的时间在内存、I/O 设备和 CPU 寄存器之间复制数据,所以将系统中的存储设备划分成层次结构——**CPU 寄存器在顶部,接着是多层的硬件高速缓存存储器、DRAM 主存和磁盘存储器。**在层次模型中,位于更高层的存储设备比低层的存储设备要更快,单位比特造价也更高。层次结构中较高层次的存储设备可以作为较低层次设备的高速缓存。
操作系统内核是应用程序和硬件之间的媒介。它提供三个基本的抽象:
1)文件是对 I/O 设备的抽攀; 2)虚拟内存是对主存和磁盘的抽象; 3)进程是处理器、主存和 I/O 设备的抽象。
无符号(unsigned)编码基于传统的二进制表示法,表示大于或者等于零的数字。
补码(two’s-complement)编码是表示有符号整数的最常见的方式,有符号整数就是可以为正或者为负的数字。
浮点数(floating-point)编码是表示实数的科学记数法的以 2 为基数的版本。
大多数计算机使用 8 位的块,或者字节(byte=8bit), 作为最小的可寻址的内存单位,而不是访问内存中单独的位。
每台计算机都有一个字长(word size), 指明指针数据的标称大小(nominal size)。
寻址和字节顺序,分为大端和小端:
大端:低地址存储大端
小端:低地址存储小端
逻辑右移和算数右移: