微机原理与接口技术(一)——计算机系统概述
补码运算及其溢出判断
通常计算机都是采取补码的方式来存储有符号数,只需设计加法器就能同时完成加法和减法的运算。二进制补码的运算规则:
[X+Y]补 = [X]补 + [Y]补
[X-Y]补 = [X]补 + [Y]补
以上补码加、减法公式成立有个前提条件,就是运算结果不能超出机器数所能表示的范围,否则会出现溢出。假设机器字长为8为,那么补码能表示的范围为-128~127。计算 (+64) + (+65)。
显然+129 > +127,超出了8位补码所能表示的最大值,产生了正溢出。再计算 (-125) + (-10)。
(-125) + (-10) = -135 < -128,产生了负溢出。为了判断溢出是否发生,可以采用以下两种检测方法。
第一种方法是单符号法,从上面两个例子可以看出,当最高有效位产生进位而符号位无进位时,产生正溢出;当最高有效位无进位而符号位有进位时,产生负溢出。
第二种方法是采用双符号位法,这种方法又称为“变形补码”或“模4补码”。变形补码在一个数的补码表示中用两个相同的符号位表示该数的符号。任何正数,两个符号位都是“0”,即00xn-2xn-3···x1x0;任何负数,两个符号位都是“1”,即11xn-2xn-3···x1x0。如果两个数经过运算后,其结果的符号位出现“01”或“10”这两种组合时,表示发生溢出。符号位“01”表示正溢出,“10”表示负溢出,而最高符号位永远表示结果的正确符号。
另外,计算机本身运算时不区分参与运算的是带符号数还是无符号数,而总是按照补码的运算规则做运算。
冯·诺依曼结构
(1) 计算机(指硬件)由运算器、存储器、控制器、输入设备和输出设备五大基本部件组成。
(2) 指令和数据均以二进制编码表示,采用二进制运算。
(3) 采用存储程序的方式,程序和数据存放在同一存储器中。
(4) 指令在存储器中按其执行顺序存放,由程序计数器指明要执行的指令地址,自动从存储器中取出指令并执行。
(5) 计算机是以运算器为中心的,输入/输出设备与存储器之间的数据传送都要通过运算器。
ps:所谓“存储程序控制”的基本思想是:将编好的程序和原始数据事先存入存储器中,然后再启动计算机工作,使计算机在不需要人工干预的情况下,自动、高速地从存储器中取出指令加以执行。
现代计算机系统
现代计算机系统是以存储器为中心,采用总线结构,在系统总线上配置一定容量地存储器和一定数目地I/O接口电路,以及相应的I/O设备而构成的。
(1) 冯·诺依曼结构是以运算器为中心的,其他部件通过运算器完成信息的传递,这极大地影响了计算机的效率。现代计算机以存储器为中心,批量的输入、输出数据可以直接在输入/输出设备和存储器之间进行。
(2) 采用总线结构有两个优点:一是各部件可通过总线交换信息,减少连接线的根数,从而提高了微机的可靠性;二是在扩展计算机功能时,只需把要扩展的部件接到总线上即可。
(3) I/O接口,又称适配器,存在于CPU和外设之间,是CPU与外围设备进行信息交换的中转站。接口可以匹配CPU运行速度和外设运行速度,降低主机负担,并形成微机本身和外设产品的标准化和系列化,促进微机系统的发展。
(4) 在现代计算机系统中,规模较大的存储器通常分为若干级,称为存储系统。常见的三级存储系统由下图所示。
主存储器是由RAM制成的,可由CPU直接访问,存取速度快但容量较小,一般用来存放当前正在执行的程序和数据。辅助存储器又称外存储器,容量大,价格较低,但存取速度较慢,不能由CPU直接访问,一般用来存放暂时不参与运行的程序和数据。Cache是高速缓冲存储器,Cache的存取速度比主存更快,但容量更小,用于存放当前正在执行的程序中的活跃部分,可以使访问存储器的速度和CPU的速度相匹配。三级缓存,分别是Cache,主存与外存,其读写速度与价格依次递减,而容量依次递增。分成三级,既可以充分发挥低速度存储设备的容量大的优势,又能充分发挥直接存储设备的速度优势,使总体的性价比最高。
结语
本章主要介绍计算机中的数据表示与编码、微型计算机中常用的数字逻辑电路,以及计算机系统的基本结构与工作原理等内容。该系列博客将用于记录微机原理与接口技术这门课程的学习笔记。