微机的基本构成:
硬件设备:
由运算器、控制器、存储器、输入、输出设备;
软件 :
系统软件、程序设计语言、应用软件;
CPU:整个计算机硬件的控制指挥中心。
构成:
运算:算术逻辑单元(Arithmetic Logic Unit,ALU)、Acc(Accumulator)累加器、状态寄存器(Flag Register,FR)和寄存器组(Register Set,RS).
控制:程序计数器(Program Counter,PC)、指令寄存器(Instructional Register,IR)、指令译码器(ID)和控制信号发生电路等
算术逻辑单元(Arithmetic Logic Unit)ALU :运算核心部分;在控制信号的作用下完成算术(加减乘除)和逻辑(与或非异或)运算。
累加器(Accumulator)Acc:通用寄存器中的一个,提供送入ALU的两个运算操作数中的一个,而运算后的结果送回Acc。
寄存器组(Register Set)RS:暂时存放数据,提高访问速度,加快运算和处理的速度。
状态寄存器(Flag Register)FR:记录计算机运行的某些重要的状态,在必要时,根据这些状态控制cpu的运行;这里的状态是指运算是否溢出,运算结果是否为零、负数、进位等等。
程序计数器(Program Counter)PC:用来记住当前要执行的指令地址码(每取出一条指令后,通过自加1或根据程序需求来重新设定PC的值,指向下一条将要执行的指令);
指令寄存器(Instructional Rrgister)IR、指令译码器(ID)和控制信号发生器:整个处理器的控制指挥中心;根据用户预先编好的程序,依次从存储器中取出各条指令放在指令寄存器IR中,通过指令译码器ID(分析)确定应该进行什么操作,然后通过控制逻辑在确定的时间内向确定的部分发出控制信号。
段寄存器:对内存的分段管理而设定的;
段寄存器cs:指向存放程序的内存段,IP是用来存放下条指令在该段的偏移量,把它们合在一起可在该内存段内取到下次要执行的指令。
段寄存器ss:指向用于堆栈的内存段,sp是用来指向该堆栈的栈顶,把它们合在一起可访问栈顶单元。另外,当偏移量用到了指针寄存器BP,则其缺省的段寄存器也是SS,并且用BP可以访问整个堆栈,不仅仅是只访问栈顶。
段寄存器DS指向数据段,ES指向附加段,在存取操作数时,二者之一和一个偏移量合并就可以得到存储单元的物理地址。该偏移量可以是具体数值、符号地址和指针寄存器的值等之一,具体情况将由指令的寻址方式来决定。
存储器:一般指存储数据和程序的外部设备,通过接口电路将信息送到内存存储器中,和cpu进行交换数据。
Data Bus:用于CPU、存储器和I/O接口之间的数据传送。
Address Bus:传送CPU发出的地址信息,以便选择需要访问的存储单元和I/O接口电路;
Control Bus:传送cpu发出或其他部件发出的控制信号;
总线:一般包括地址总线(Address Bus,AB)、数据总线(Data Bus,DB)、控制总线(Control Bus)CB;
堆栈:一组寄存器或存储器中某一指定的区域;存取方式——先进后出或后进先出;sp指针用来指向栈顶,其初始值由程序员设定(数据变动,SP指针通过自加或自减1,来指向栈顶);
机器数:指在计算机中的表示形式,机器数所表示的数值称为真值。
定点数:小数点位置固定的常用约定,
一种是小数点在最高数位之前,符号位之后,这种约定参与运算的数是纯小数;
另一种是小数点在数的最低位之后,这种约定参与运算的数是纯整数
浮点数:由阶符、阶码、数符、尾数四部分组成;N=2j x S
阶符,指j指数的正负;
阶码,指j的数值;
数符,指N的正负;
尾数,指小数点后面的数值;
微机原理与接口(1)——基础知识