您好,欢迎访问三七文档
当前位置:首页 > 临时分类 > 汇编语言与计算机原理第一章
1绪论计算机的应用已经渗入人类社会活动的各个领域:尖端科技领域的复杂数学运算,公司经营管理信息处理,自动化生产过程控制,建筑、电子电路设计,教育和娱乐等等,计算机都在扮演着不可或缺的重要角色,成为人类脑力劳动的重要工具。随着计算机的“智能”不断提高,计算机的应用还逐渐步入人类的高智能能活动领域:数学定理证明,重大问题辅助决策,甚至在国际象棋的对奕中战胜了国际象棋大师。计算机何以如此神奇?人们将计算机称为电脑,计算机的智能和人的智能有无区别,有怎样的区别?计算机智能究竟会发展到什么样的程度,会达到,或超过人类吗?回答这些问题,我们不能不追述到计算机的工作原理。当然,作为信息管理专业的学生,学习计算机的工作原理,不仅仅是为了满足我们天生的单纯的好奇心。本课程是作为一门专业基础课而开设的,是为了专业课程的学习打下基础,帮助我们顺利完成专业学习,以及为今后的学习和工作储备必要的知识。本课程的内容包括计算机原理和汇编语言程序设计。对于计算机工作原理,主要是计算机的硬件构成原理。但是,如今计算机的硬件和软件的界限已经变的十分模糊,不了解计算机汇编语言——和计算机硬件系统直接相关的计算机语言,是难以了解计算机的工作原理的。学习计算机汇编2语言的另外一个目的是:通过学习使用汇编语言程序设计,使我们了解什么是程序,如何完成程序设计,培养初步的程序设计能力。程序设计还可以训练思维能力,提高专业素质。作为信息管理专业的课程,其目的和内容都和计算机专业有很大不同。首先,我们学习计算机的工作原理不是为了达到能够设计计算机的目的,而只是为了今后学习和工作中用好计算机,所以,涉及到计算机体系结构的许多细节问题,比如关于计算机硬件的具体电路,我们没有进行深入的讨论。关于汇编语言,也仅考虑说明计算机工作原理和达到基本编程能力训练的需要。如果要更多的了解课程相关内容,可以参考下列的参考书目:ComputerSystemArchitecture作者M.MorrisManno清华大学出版社IBMPCAssemblyLanguageandPrograming作者PeterAbel清华大学出版社计算机系统原理作者张基温电子工业出版社计算机体系结构作者人民大学出版社汇编语言程序设计作者于春凡南开大学出版社3第一章逻辑运算及计算机逻辑部件电子计算机分为电子模拟计算机和电子数字计算机两种类型。电子模拟计算机用于对连续的物理量(如电流、电压)进行计算,仅使用于少数专业领域。电子数字计算机用于处理离散(非连续)数据,我们通常所使用的电子计算机属于电子数字计算机。实现电子数字计算机计算功能的基础是电子开关电路。电子开关电路又称为逻辑电路,是能够实现逻辑运算的电子电路。1849年英国的乔治·布尔创建了逻辑代数,之后逻辑代数发展成一门独立的学科。逻辑代数研究的是逻辑运算,是计算机科学的一门重要的基础学科。由于电子技术的出现和发展,研究人员发明了实现各种逻辑运算的电子逻辑部件,为电子计算机的设计奠定了基础。本章我们学习逻辑运算和逻辑电路的基本知识,使大家了解电子计算机4的最基本工作原理。§1.1基本逻辑运算和逻辑电路一、逻辑常量、逻辑变量和逻辑运算1.逻辑常量和逻辑变量对某一事物的陈述或判断,结果只有一种,或“真”或“假”。例如,对于判断表达式“a3”,当a=4,5,6…时,我们说该表达式成立,或者说该表达式的运算结果为“真”值;当a=3或a3时,我们说该表达式不成立,或者说该表达式的运算结果为“假”值。这里的“真”或“假”在逻辑代数中称为逻辑常量,因此,逻辑常量只有两个。有时,我们用字母“T”作为“真”值的符号表示,用字母“F”作为“假”值的符号表示,在计算机科学中,常常用二进制数字“1”表示“真”值,用数字“0”表示“假”值,或者相反。逻辑变量是仅允许取值为逻辑值的变量。通常用大写字母表示逻辑变量,如A,B等。逻辑变量的取值只能是“真”值或“假”值。2.逻辑运算逻辑运算是对逻辑量定义的运算,表示逻辑运算的式子称为逻辑表达式,逻辑表达式的运算结果仍是逻辑值。在逻辑代数中定义了三种基本逻辑运算,即“与”运算、“或”运算和“非”运算。并且上述三种基本逻辑运算可以通过组合,构成的复杂逻辑运算。这类似于基于加、减、乘、除5基本算术运算构成的综合算术运算。二、基本逻辑运算及其定义1.“与”(AND)运算“与”运算又称为逻辑乘。这里“与”的含义是“并且”的意思,即当两个进行“与”运算的逻辑量的值同为真值时,运算结果为真值;如果其中有一个逻辑量的值为假值,“与”运算的结果为假值。一般,变量A和B的“与”运算记作A·B,或A∧B,或A∩B,或AB。如果将参加逻辑运算变量的每一可能取值及其运算结果列表,我们将该表称为真值表。例如,描述A·B运算的真值表如表1.1.1所示。在真值表中数字“1”代表“真”值,数字“0”代表“假”值。分析表1.1.1可知:如果一个逻辑变量和0相“与”,运算结果为0;一个逻辑变量和1相“与”,运算结果和该逻辑变量值相同,即,A·0=0,A·1=A。ABA·B000010100111表1.1.1A·B运算真值表2.“或”(OR)运算6“或”运算又称为逻辑加。这里“或”的含义是“或者”的意思,即当两个进行“或”运算的逻辑量的值同为假值时,运算结果为假值;如果其中有一个逻辑量的值为真值,“或”运算的结果即为真值。一般,变量A和B的“或”运算记作A+B,或A∨B,或A∪B。描述A+B运算的真值表如表1.1.2。在汉语中“或”的含义可以是“可兼或”,也可以是“不可兼或”,例如:⑴X1或X10⑵X10或X-10例⑴中的“或”的含义是“可兼或”,例⑵中的“或”的含义是“不可兼或”。在逻辑代数中“或”运算的含义可以是“可兼或”,也可以是“不可兼或”。ABA+B000011101111表1.1.2描述A+B运算真值表分析“或”运算的真值表可以得知:如果一个逻辑变量和1相“或”,运算结果为1;一个逻辑变量和0相“或”,运算结果和该逻辑变量值相同,即,A+0=A,A+1=1。73.“非”(NOT)运算“非”运算又被称为取反运算。变量A的“非”运算记作A,或~A。当变量A的值为真时,A的值为假值;当变量A的值为假时,A的值为真值。“非”运算真值表如表1.1.3。AA0110图1.1.3描述A运算真值表三、基本逻辑电路基本逻辑电路又称为逻辑门电路(LogicGates),是一种能够实现基本逻辑运算,由电子元件组成的电路。门电路的输入端和输出端有两种电压信号:高电平(3v~5v)和低电平(0.1v~0.5v),这样就可以将电子元件的输入端或输出端的电压状态和逻辑值对应起来,例如,用高电平代表逻辑值1,用低电平代表逻辑值0,或者反之。表1.1.4给出了基本逻辑门电路的电路图符号。名称实现运算电路图符号与门F=A·B或门F=A+BABFBFA8非门F=A表1.1.4基本逻辑门四、组合逻辑门电路除上述三种基本逻辑门外,常用的逻辑门电路还有实现组合逻辑运算的与非门、或非门、异或门、同或门等。1.“与非”运算、“与非”门变量A和B的“与非”逻辑运算表示为BA,“与非”运算实际是“与”运算和“非”运算的逻辑组合,即将两个逻辑量先进行“与”运算,再对其运算结果进行“非”运算。“与非”门的逻辑电路符号如图1.1.1,真值表如表1.1.5。分析“与非”运算的真值表可以看出:进行“与非”运算的两个逻辑量中只要有一个为假值运算结果即为真值;当两个逻辑量同为真值时,“与非”运算结果为假值。表1.1.5“与非”运算真值表图1.1.1“与非”门2.“或非”运算、“或非”门ABA·B001011101110ABFAF9变量A和B的“或非”逻辑运算表示为BA,“或非”运算实际是“或”运算和“非”运算的逻辑组合,即将两个逻辑量先进行“或”运算,在对其运算结果进行“非”运算。“或非”门逻辑电路符号如图1.1.2,真值表如表1.1.6。分析“或非”运算的真值表可以看出:进行“或非”运算的两个逻辑量中只要有一个为真值时,运算结果即为假值;当两个逻辑量同为假值时,“或非”运算结果为真值。表1.1.6或非门真值表图1.1.2或非门3.“异或”运算、“异或”门变量A和B的“异或”逻辑运算定义为:A·B+A·B,一般用符号“○+”表示"异或"运算,因此上式可简化表示为A○+B。“异或”门逻辑电路符号如图1.1.3,异或逻辑运算真值表如表1.1.7。从“异或”运算真值表可以看出,当A和B的值相同时,异或运算结果为0,当A和B的值不同时,异或运算结果为1。ABA·B001010100110ABF10表1.1.7异或运算真值表1.1.3异或门4.“同或”逻辑运算、“同或”门变量A和B的“同或”逻辑运算定义为:A·B+A·B=BA,“同或”门逻辑电路符号如图1.1.4,同或逻辑运算真值表如表1.1.8。表1.1.8同或逻辑运算真值表图1.1.4同或门由同或逻辑运算的表达和真值表可以看出:两个逻辑量的同或运算等价与对它们进行异或运算再取反。上面介绍的四种逻辑运算实际上是“与”、“或”、“非”的组合逻辑运算,由于计算机和其他数字电路经常应用这些组合,因此也被看作基本逻辑运算,相应电路也视作门电路,并且在电路图中常常表示为相应的电路图符号。ABF000011101110ABF001010100111ABFABF11§1.2逻辑表达式及其化简一、逻辑表达式逻辑表达式由逻辑运算符号、逻辑常量、逻辑变量以及括号组成,具有一定逻辑运算含义的式子。例如:F=(A+A·B)C逻辑表达式运算顺序是先括号内,后括号外,在没有括号,或同一括号内运算优先级顺序为:1.“非”运算2.“与”运算3.“或”运算同级运算由左至右顺序进行。逻辑表达式表达的运算同样可以用真值表描述,如F=(A+A·B)C的真值表如表1.2.1所示。逻辑表达式运算可以用逻辑门组合的逻辑电路实现,图1.2.1给出了实现上述运算的电路图。ABCF0000001001000110100110101101111012图1.2.1F=(A+A·B)C真值表图1.2.2实现F=(A+A·B)C运算电路图二、逻辑表达式化简逻辑表达式ABC+ABC+AC和AB+AC都是对变量A、B、C的运算,观察和比较两个表达式的真值表(表1.2..2和表1.2..3)发现两个表达式的真值表是完全相同的,所以表达式ABC+ABC+AC和AB+AC是等价的。但是前一个表达式要比后者复杂,所以实现运算的逻辑电路也要比后者复杂。所以,为了简化电路,以减少门电路使用,降低制造成本在,逻辑电路设计中应先对复杂的逻辑运算进行化简。表表1.2..2ABC+ABC+AC真值表1.2..3ABCF00000011010001111000101011011111ABCF00000011010001111000101011011111FABC13AB+AC真值表在逻辑代数中可以使用已经得到证明的基本花简公式,使用演绎法对逻辑表达式化简。表1.2.4列出了基本化简公式,对这些公式证明的最直接方法是分别给出等号两边表达式的真值表,如果真值表相同的,则证明了该等式。名称化简公式同一律A+0=AA·1=A零律A+1=1A·0=0幂等律A+A=AA·A=A矛盾律A+A=1A·A=0交换律A+B=B+AA·B=B·A结合律A+(B+C)=(A+B)+CA·(B·C)=(A·B)·C分配律A(B+C)=AB+ACA+BC=(A+B)(A+C)吸收律A+AB=AA(A+B)=A反演律BA=A•BBA=A+B否定律A=A表1.2.4基本化简公式14下面举例说明应用化简公式对复杂逻辑表达式化简方法。例题1化简逻辑表达式ABC+ABC+AC解ABC+ABC+AC=AB(C+C)+AC;分配律=AB+AC;矛盾律例题2化简逻辑表达式AB+AC+BC解AB+AC+BC=AB+(A+B)C;分配律=AB+ABC;反演律=(AB+AB)(AB+C);分配律=1·(AB+C);矛盾律=AB+C;同一律三、逻辑运算在计算机逻辑部件设计中的应用举例这里我们
本文标题:汇编语言与计算机原理第一章
链接地址:https://www.777doc.com/doc-2368326 .html