计算机硬件.ppt
计算机硬件,数据表示和数字电子技术微处理器和存储器存储设备输入和输出设备,数据在计算机中的表示,思考人类是如何表示“数”和“信息”的呢古代“结绳记事”近代地下工作的“暗号”现代计算机使用的数字化技术思考计算机为什么要数字化地表示数据模拟设备数字设备,数据在计算机中的表示,位binarydigit-bit-b字节Byte-B,1字节由8个位组成单位换算kilo-K;1KB210B1024Bmega-M;1MB210KB1024KBgiga-G;1GB210MB1024MBtera-T;1TB210GB1024GBpeta-P;1PB210TB1024TBexa-E;1EB210PB1024PB,数据在计算机中的表示,计算机怎样表示数字计算机怎样表示英文字母和字符ASCII码AmericanStandardCodeforInationInterchange,7位,128个字符键盘有多少个按键86键键盘、101键键盘、104键键盘用(0110001)2或(49)10表示数字符号‘1’用(1000001)2或(65)10表示大写字母‘A’用(1100001)2或(97)10表示小写字母‘a’,数据在计算机中的表示,计算机怎样表示汉字汉字的存储2个字节存储1个汉字汉字的国标码GB2312汉字的输入码如何用英文键盘有效地将汉字输入到计算机内。全拼、五笔、搜狗、QQ等。汉字的输出码点阵汉字信息处理系统用于实现各种汉字代码将的转换,数据校验码,奇偶校验码在表示数据的N位代码中增加一位奇偶校验位,使N+1位中“1”的个数为奇数(奇校验)或偶数(偶校验)。海明校验码在有效信息代码中增加校验位,用来校验代码中“1”的个数是奇数(奇校验)还是偶数(偶校验),通过奇偶校验可以发现代码传输过程中的错误并自动校正。应用用于计算机各部件之间信息传输以及计算机网络的信息传输。,数据在计算机中的表示,计算机怎样表示图形图像BMP格式JPG格式GIF格式计算机怎样表示声音WAVE格式MP3格式计算机怎样表示影像AVI格式ASF格式RAM格式,数制,数制按进位的原则进行计数称为进位计数制,简称数制日常生活中的常见数制有计数10进制秒、分60进制月份12进制数字计算机2进制,十进制,十进制是使用数字1、2、、9、0等符号来表示数值且采用“逢十进一”的进位计数制。使用位权表示法表示数制的特点数字的总个数等于基数。最大的数字比基数小1。每个数字都要乘以基数的幂次,该幂次由每个数字所在的位置决定。任何一个N进制数A可表示为A=AnAn-1A1A0.A-1A-2A-m-m=∑AiNiin,二进制,二进制使用数字0和1等符号来表示数值且采用“逢二进一”的进位计数制。二进制数制的特点仅使用0和1两个数字。最大的数字为1,最小的数字为0。每个数字都要乘以基数2的幂次,该幂次由每个数字所在的位置决定。二进制加法和乘法运算规则0+0=000=00+1=101=01+0=110=01+1=1011=1,计算二进制数1011101的值,101110110110000+1011110111,,,二进制计算,310210=810/210=1100110011002210=1100110011002/1610=,八进制与十六进制,八进制使用数字0、1、2、3、4、5、6、7等符号来表示数值的,且采用“逢八进一”的进位计数制。十六进制使用数字0、1、2、3、4、5、6、7、8、9和A、B、C、D、E、F等符号来表示数值,其中A、B、C、D、E、F分别表示数字10、11、12、13、14、15。十六进制的计数方法为“逢十六进一”。,十进制整数转换为非十进制整数,除基取余法“除基取余,先余为低(位),后余为高(位)”。例(55)10=(110111)2余数2551227121312602312110,,,,十进制整数转换为非十进制整数,例(55)10=(67)8余数85578660例(55)10=(37)16余数1655716330,十进制小数转换为非十进制小数,乘基取整法“乘基取整,先整为高位,后整为低位”例(0.625)10=(0.101)20.625整数21.2510.2520.5021.01,十进制小数转换为非十进制小数,例(0.32)10=(0.0101)20.32整数20.64021.2810.2820.56021.121,十进制小数转换为非十进制小数,十进制小数并不是都能够用有限位的其他进制数精确地表示,这时应根据精度要求转换到一定的位数为止,作为其近似值。如果一个十进制数既有整数部分,又有小数部分,则应将整数部分和小数部分分别进行转换。例将十进制数55.625转换为二进制数551011011120.625100.101255.62510110111.1012,非十进制数转换为十进制数,位权法把各非十进制数按权展开,然后求和。例101102=124+023+122+121+020=16+0+4+2+0=(22)10例10101.101212402312202112012-102-212-316+0+4+0+1+0.5+0+0.125=21.62510例12078183+282+081+780512+128+0+7=64710例1B2E161163+B162+2161+E16014096+11256+216+141695810,二进制与八进制之间的转换,二进制数转换为八进制数以小数点为界,将整数部分和小数部分自左向右分别按每三位为一组,不足三位用0补足,然后将各个三位二进制数转换为对应的一位八进制数。八进制数转换为二进制数把每一位八进制数转换为对应的三位二进制数。例(10111001010.1011011)2=(010111001010.101101100)2=(2712.554)8例(456.174)8=(100101110.001111100)2=(100101110.0011111)2,二进制与十六进制之间的转换,二进制数转换为十六进制数以小数点为界,将整数部分自右向左和小数部分自左向右分别按每四位为一组,不足四位用0补足,然后将各个四位二进制数转换为对应的一位十六进制数。十六进制数转换为二进制数把每一位十六进制数转换为对应的四位二进制数。例(10111001010.1011011)2=(010111001010.10110110)2=(5CA.B6)16例(1A9F.1BD)16=(0001101010011111.000110111101)2=(1101010011111.000110111101)2,数字电子技术,基本逻辑门电路与门,“与”∧两个命题A和B的“与”又称为A和B的“合取”是一个复合命题,记为A∧B。当且仅当A和B同时为真时A∧B为真,在其他的情况下A∧B的真值均为假。A∧B的真值表,连接词“与”(∧),或门,,连接词“或”(∨),“或”(∨)两个命题A和B的“或”(又称为A和B的“析取”)是一个复合命题,记为A∨B。当且仅当A和B同时为假时A∨B为假,在其他的情况下A∨B的真值均为真。A∨B的真值表,非门,,连接词“非”(┑),“非”(┑)命题A的“非”(又称为A的“否定”)是一个复合命题,记为┑A。若A为真,则┑A为假;若A为假,则┑A为真。┑A的真值表,连接词“异或”(⊕),“异或”(⊕)两个命题的A和B的“异或”(又称为A和B的“不可兼或”)是一个复合命题,记为A⊕B。当且仅当A和B同时为真或者同时为假时A⊕B为假,在其他的情况下A⊕B的真值为真。A⊕B的真值表,码制原码,原码表示法用符号位和数值表示带符号数,正数的符号位用“0”表示,负数的符号位用“1”表示,数值部分用二进制形式表示。例X1000101[X]原01000101X-1000101[X]原11000101X0[X]原00000000X-0[X]原10000000,码制反码,反码表示法正数的反码与原码相同,负数的反码为对该数的原码除符号位外各位取反。例X1000101[X]反01000101X-1000101[X]反10111010,码制补码,补码表示法正数的补码与原码相同,负数的补码为对该数的原码除符号位外各位取反,然后在最后一位加1。例X1000101[X]补01000101X-1000101[X]补10111011数的原码表示适合于进行乘除运算;补码用于进行加减运算,半加器,,全加器,,码制,例计算68-12的值681000100[68]补01000100-12-0001100[-12]补11100111111101000100010011110100100111000,,码制,例计算12-68的值120001100[12]补00001100-68-1000100[68]补101110111101111000000110010111100110010005600111000[-56]补11000111111001000,,定点整数格式,定点整数格式把小数点固定在数值部分最低位的右边。N0NnNn-1......N2N1.符号位数值部分小数点数的范围二进制的(m1)位定点整数格式的数N,所能表示的数的范围为|N|≤2m-1。比例因子对于绝对值大于该范围的数,如果直接使用定点整数格式也将会产生“溢出”,需根据实际需要选择一个比例因子进行调整,使所表示的数据在规定的范围之内。,定点小数格式,定点小数格式把小数点固定在数值部分最高位的左边。N0.N-1N-2......N-m符号位小数点数值部分数的范围二进制的(m1)位定点小数格式的数N,所能表示的数的范围为|N|≤1-2-m。比例因子对于绝对值大于1的数,如果直接使用定点小数格式将会产生“溢出”,需根据实际需要使用一个比例因子,将原始数据按该比例缩小,以定点小数格式表示,得出结果后再按该比例扩大得到实际的结果。,浮点表示法,浮点表示法小数点的位置不固定,一个浮点数分为阶码和尾数两部分。阶码用于表示小数点在该数中的位置,是一个整数,一般用补码表示。尾数用于表示数的有效数值,可以采用整数或纯小数两种形式,一般用原码表示。可供选择的一种位数分配形式设字长为32位符号位阶码部分尾数部分1位8位23位规格化的浮点数为了提高浮点数表示的精度通常规定其尾数的最高位必须是非零的有效位,称为浮点数的规格化形式。数的范围2-12-128~1-2-232127,逻辑代数基础,计算机之所以具有逻辑处理能力,是由于计算机中使用了实现各种逻辑功能的电路半加器、全加器、比较器、计数器等。各种逻辑电路都是“与门”、“或门”、“非门”等基本门电路组成的。逻辑代数是逻辑电路设计的数学基础,其源自于对命题逻辑的研究,是用数学方法研究推理规律的科学。详细内容将在“离散数学”课程中介绍。,逻辑代数基础,命题有具体意义且能够判断真假的陈述句。命题的真值命题所具有的值“真”true,简记为T或“假”(false,简记为F)称为其真值。原子命题不能分解为更为简单的陈述句的命题;复合命题将原子命题用连接词和标点符号复合而成的命题。例北京是中国的首都数字8是一个奇数全体起立如果下午不下雨,则我去国家图书馆,逻辑代数基础,命题标识符表示命题的符号,当其表示任意命题时,称为命题变元。例可以定义命题标识符A、B、P、Q。连接词与(∨)、或(∧)、非(┓)、异或(⊕)等。命题公式由命题变元、连接词和括号组成的合式的式子称为命题公式。例A∨B,A∧B等。命题公式等价如果两个不同的命题公式P和Q,无论其命题变元取什么值它们的真值都相同,则称该两个命题公式等价,记为P=Q。,命题公式的等价律,其中A、B、C等为命题变元,T表示“真”,F表示“假”零律A∨F=AA∧F=F幺律A∨T=TA∧T=A幂等律A∨A=AA∧A=A求补律A∨┓A=TA∧┓A=F交换律A∨B=B∨AA∧B=B∧A,命题公式的等价律,结合律A∨(B∨C)=(A∨B)∨CA∧(B∧C)=(A∧B)∧C分配律A∧(B∨C)=A∧B∨A∧CA∨B∧C=(A∨B)∧(A∨C)吸收律A∧B∨A∧┓B=A(A∨B)∧(A∨┓B)=A狄-摩根定律┓(A∨B)=┓A∧┓B┓(A∧B)=┓A∨┓B双重否定律┓┓A=A,证明狄-摩根定律,例证明狄-摩根定律之一┓A∧B=┓A∨┓B。,逻辑代数的等价律,零律A+0=AA0=0幺律A+1=1A1=A幂等律A+A=AAA=A求补律A+Ā=1AĀ=0交换律A+B=B+AAB=BA,,逻辑代数的等价律,结合律A+(B+C)=(A+B)+CA(BC)=(AB)C分配律A(B+C)=AB+ACA+BC=(A+B)(A+C)吸收律狄-摩根定律双重否定律,逻辑函数的化简,例试将逻辑函数F=A+ĀB化简。解F=A+ĀB=(A+ĀA+B(分配律)=1A+B(求补律)=A+B(幺律)例试将逻辑函数化简。解F==(分配律)=A+Ā(求补律)=1(求补律),计算机硬件的基本结构,,,,辅助存储器,,内存储器,,,,运算器,控制器,,,,,,,,输入设备,输出设备,,,,,,,程序原始数据,运算结果,,,控制信息,数据,运算器,运算器对二进制数进行运算的部件。它在控制器的控制下执行程序中的指令,完成各种算术运算、逻辑运算、比较运算、移位运算以及字符运算等。运算器的组成算术逻辑部件(ALU)完成加、减、乘、除等四则运算以及与、或、非、移位等逻辑运算;寄存器用来暂存参加运算的操作数或中间结果,常用的寄存器有累加寄存器、暂存寄存器、标志寄存器和通用寄存器等。运算器的主要技术指标运算速度,其单位是MIPS(百万指令/秒),通常是按照一定的频度执行各类指令的统计值。,存储器,存储器用来存储数据和程序的部件。存储单位“位”(bit)、“字节”(byte)、“字”和“字长”存储容量存储器所包含的存储单元的总数,其单位为K(1K=210=1024)。存储器的分类内存储器又称为主存储器,简称为内存或主存,用来存放现行程序的指令和数据。包括随机存取存储器(RAM)和只读存储器(ROM)等。外存储器又称为辅助存储器,简称为外存或辅存,用来存放需要长期保存的信息,如硬盘、光盘、U盘等。,外存储器,存储器类型磁盘驱动器读写头、可磁化微粒光存储器小于1微米的凹点固态存储器存储介质软盘聚酯薄膜塑料片硬盘3.5英寸盘片CD和DVD(DigitalVideoDisc),CD-R,CD-RW闪存,控制器,控制器是指挥计算机的各个部件按照指令的功能要求协调工作的部件。控制器的组成程序计数器(PC)用来对程序中的指令进行计数,使控制器能依次读取指令;指令寄存器(IR)在指令执行期间暂时保存正在执行的指令。指令译码器(ID)用来识别指令的功能,分析指令的操作要求。时序控制电路用来生成时序信号,以协调在指令执行周期内各部件的工作。微操作控制电路用来产生各种控制操作命令。,输入/输出设备,输入/输出设备简称为I/O设备,是外部与计算机交换信息的渠道。输入设备用于输入程序、数据、操作命令、图形、图像以及声音等信息。常用的输入设备有键盘、鼠标器、扫描仪、光笔、数字化仪以及语音输入装置等。输出设备用于显示或打印程序、运算结果、文字、图形、图像等,也可以播放声音。常用的输出设备有显示器、打印机、XY绘图仪以及声音播放装置等。,输入/输出设备,阴极射线管显示设备(CathodeRayTube,CRT)液晶显示器(LiquidCrysstalDisplay,LCD)使用液体晶状单元层内的光线发光等离子显示器(PlasmaScreen)使用氖气填充的、微小的、荧光发光的技术质量判别屏幕尺寸、点距、视角宽度、刷新率、分辨率、颜色深度。,外围设备,安装扩展槽(ISA、PCI)USB端口线缆串行并行USB,选购电脑,,选购电脑,,,,,,,,选购电脑,,选购电脑,,如何选购台式电脑,,联想IdeaCentreK305台式电脑的配置,联想IdeaCentreK305台式电脑的配置,联想IdeaCentreK305台式电脑的配置,联想IdeaCentreK305台式电脑的配置,联想IdeaCentreK305台式电脑的配置,联想IdeaCentreK305台式电脑的配置,计算机的指令系统,指令能被计算机识别并执行的二进制代码,它规定了计算机能完成的某一种操作。计算机可执行哪些指令指令系统一台计算机能执行的所有指令的集合,如8086有133条基本指令。指令的格式一条指令由操作码和地址码组成。操作码规定了该指令进行的操作种类;地址码给出了操作数、结果以及下一条指令的地址。,计算机的指令系统,指令周期包含获取指令解释指令执行指令指针指向下一条指令指令的分类数据传送型指令数据处理型指令输入输出型指令硬件控制指令,指令的执行过程,读取指令即按照指令计数器中的地址,从内存储器中取出指令,并送往指令寄存器中。分析指令即对指令寄存器中存放的指令进行分析,由操作码确定执行什么操作,由地址码确定操作数的地址。执行指令即根据分析的结果,由控制器发出完成该操作所需要的一系列控制信息,去完成该指令所要求的操作。上述步骤完成后,指令计数器加1,为执行下一条指令做好准备。如果遇到转移指令,则将转移地址送入指令计数器。,计算机组织与系统结构领域的一些主要技术,复杂指令集技术CISC,Intel奔腾处理器精简指令集技术RISC,IBMPowerPC处理器指令流水线技术执行当前指令时读取下一条指令高速缓冲存储技术预取马上可能使用的数据虚拟存储技术小内存模拟大内存使用并行处理技术多处理器协同工作,程序设计语言,机器语言由计算机的指令系统组成,使用机器语言编写的程序计算机能够直接理解并执行,但编程和理解都十分的困难。汇编语言使用“助忆符”来表示指令的操作码,并使用存储单元或寄存器的名字表示地址码,以便于记忆和书写。高级程序设计语言是一种与机器的指令系统无关、表达形式更接近于被描述的问题的程序设计语言,便于程序的编写。使用高级程序设计语言编写的程序称为源程序,它必须经过程序设计语言翻译系统的处理后才能执行。面向过程程序设计语言结构化程序设计面向对象程序设计语言,程序设计,程序设计是一个使用程序设计语言产生一系列的指令以告诉计算机该做什么的过程。广义的程序设计需求分析总体设计详细设计编码测试运行与维护,结构化程序设计,结构化程序设计采用自顶向下逐步求精的设计方法和单入口单出口的控制成分(顺序、分支和循环)。,,良好的程序设计风格,标识符按意命名、保留字用大写字母、使用统一的缩写规则。表达式使用括号、使用库函数、条件化简、函数与过程模块化模块的独立性(高内聚、低耦合)、模块的规模适中。程序行的排列格式排列格式美观、层次分明、使用统一的缩进格式,同一嵌套深度并列的语句对齐。注释添加必要的注释,以说明程序、过程和语句等的功能及注意事项。,算法,算法是由一系列规则组成的过程,这些规则确定了一个操作的顺序,以便能在有限步骤内得到特定问题的解。算法的性质确定性通用性有限性算法的描述工具自然语言流程图决策表算法描述语言,欧几里德算法(Euclid’sAlgorithm),若给定两个正整数m和n,试写出求它们的最大公因子的算法。该算法的步骤用文字表述如下第1步读入两个正整数m和n(设mn)。第2步求m和n的余数r=mod(m,n)。第3步用n的值取代m,用r的值取代n。第4步判别r的值是否为零,如果r=0,则m为最大公因子;否则返回第2步。第5步输出m的值,即为最大公因子。,欧几里德算法(算法描述语言表示),PROCEDUREEuclid;BEGINREAD(m,n);REPEAT;rMOD(m,n);mn;nr;UNTILr=0;WRITEmEND,欧几里德算法(流程图表示),数据结构,数据描述客观事物的数、字符以及所有能输入到计算机并被计算机程序处理的符号的集合,如数值、字符、图形、图像、声音等。数据结构带有结构的数据元素的集合,结构反映了数据元素相互之间存在的某种联系。从学科的角度来看,数据结构是计算机科学技术的一个分支,它主要研究数据的逻辑结构和物理结构以及它们之间的关系,并对这种结构定义相应的运算,设计出实现这些运算的算法。,线性表,线性表是n个数据元素的有限序列。线性表的运算设L为一个线性表置空表SETNULL(L)求表的长度LENGTH(L)取表元素GET(L,i)在表中查找特定元素LOCATE(L,x)插入新元素INSERT(L,i,b)删除表元素DELETE(L,i)线性表的存储结构顺序存储结构链式存储结构,堆栈,堆栈(stack)是一种受限的线性表,即只能在表的一端(表尾)进行插入和删除操作。进栈和退栈操作按“后进先出”(LastInFirstOut,LIFO)的原则进行。堆栈的运算设S为一个堆栈置空栈SETNULL(S)进栈PUSH(S,x)退栈POP(S)取栈顶元素TOP(S)判断堆栈是否为空EMPTY(S)堆栈的存储结构顺序存储结构,队列,队列(queue)也是一种受限的线性表,只能在表的一端(队尾)进行插入,在表的另一端(队首)进行删除操作。进、出队列操作按“先进先出”(FirstInFirstOut,FIFO)的原则进行。队列的运算设Q为一个队列置空队列SETNULL(Q)进入队列ADDQUEUE(Q,x)退出队列DELQUEUE(Q)取队首元素FRONTQUE(Q)判断队列是否为空EMPTY(Q)队列的存储结构链式存储结构,一个链队列需要设置队首指针和队尾指针。,本章小结,本章介绍了计算机的一些基本知识,包括数制与码制、数的定点与浮点表示、信息的编码;逻辑代数与逻辑电路基础;计算机的基本结构与工作原理;程序设计语言、结构化程序设计、程序设计风格;以及算法与数据结构的基础知识。通过本章的学习,应掌握数据在计算机内部的表示形式及数制间的转换方法,理解逻辑代数、逻辑电路、计算机的结构、程序设计语言、结构化程序设计方法以及算法与数据结构的基本知识,为进一步学习本书的以下各章和后继课程打好基础。,