天天看点

一、计算机系统知识1.1计算机系统基础知识

1.1计算机系统基础知识

1.1.1计算机系统已经基本组成

计算机系统是由软件和硬件组成的,它们协同工作来运行程序。计算机的基本硬件系统由运算器、控制器、存储器、输入设备、输出设备5大部件组成。运算器、控制器等部件被集成在一起称为中央处理单元(Central Processing Unit,CPU)。CPU是硬件系统的核心,用于数据的加工处理,能完成各种算术、逻辑运算以及控制功能。存储器是计算机系统中的记忆设备,分为内部存储器和外部存储器。前者速度高、容量小,一般用于临时存放程序、数据及中间结果。外部存储设备容量大、速度慢,可以长期保存程序和数据。输入设备和输出设备合成为外部设备(外设),输入设备用于输入原始数据以及各种命令,而输出设备则用于计算机运行的结果。

1.1.2中央处理单元

中央处理单元CPU是计算机系统的核心部件,它负责获取程序指令、对指令进行译码并加以执行。

CPU的功能

  1. 程序控制。CPU通过执行指令来控制程序的执行顺序,这是CPU的重要功能。
  2. 操作控制。一条指令功能的实现需要若干操作信号配合来完成,CPU产生每条指令的操作信号并将信号送往对应的部件,控制相应的部件按照指令的功能要求进行操作。
  3. 时间控制。CPU对各种操作进行时间上的控制,即指令执行过程中操作信号的出现时间、持续时间以及出现的时间顺序都需要进行严格控制。
  4. 数据处理。CPU通过对数据进行算术运算及逻辑运算等方式进行加工处理,数据加工处理的结果被人们利用。所以,对数据的加工处理也是CPU的最根本的任务。

    此外,CPU还需要对系统内部和外部的中断异常做出响应,进行相应的处理。

CPU的组成

CPU主要由运算器、控制器、寄存器组和内部总线等部件组成。

一、计算机系统知识1.1计算机系统基础知识

1)运算器

运算器是由算术逻辑单元(Arithmetic and Logic Unit,ALU)、累加寄存器、数据缓冲寄存器和状态条件寄存器等组成,它是数据加工处理部件,用于完成计算机的各种算术和逻辑运算。相对控制器而言,运算器接受控制器的命令进行动作,即运算器所进行的全部操作都是由控制器发出的控制信号来指挥的,所以它是执行部件。运算器有如下两个主要功能:

(1)执行所有的算术运算,例如加减乘除等基本运算及附加运算。

(2)执行所有的逻辑运算并进行逻辑测试,例如与、或、非、零值测试或两个值的比较等。

下面简要介绍运算器中各组成部件的功能。

(1)算术逻辑单元(ALU)。ALU是运算器的重要组成部件,负责处理数据,实现对数据的算术运算和逻辑运算。

(2)累加寄存器(AC)。AC通常简称为累加器,它是一个通用寄存器,其功能是当运算其的算术逻辑单元执行算术或逻辑运算时,为ALU提供一个工作区。例如,在执行一个减法运算前,先将被减数取出暂存在AC中,再从内部存储器中取出减数,然后同AC的内容相减,将所得的结果送回AC中。运算的结果是放在累加器中的,运算器中至少要有一个累加寄存器。

(3)数据缓冲寄存器(DR)。在对内存储器进行读/写操作的时候,用DR暂时存放由内存储器读/写的一条指令或一个数据字,将不同时间段内读/写的数据隔离开来。DR的主要作用为:作为CPU和内存、外部设备之间数据传送中的中转站;作为CPU和内存、外围设备之间在操作速度上的缓冲;在单累加器结构的运算器中,数据缓冲寄存器还可以作为操作数寄存器。

(4)状态条件寄存器(PSW)。PSW保存由算术指令和逻辑指令运行或测试的结果建立的各种条件码内容,主要分为状态标志和控制标志,例如运算结果进位标志(C)、运算结果溢出标志(V)、运算结果为0标志(Z)、运算结果为负标志(N)、中断标志(I)、方向标志(D)和单步标志等。这些标志通常分别由1位触发器保存,保存了当前指令执行完成之后的状态。通常,一个算术操作产生一个运算结果,而一个逻辑操作产生一个判决。

2)控制器

运算器只能完成运算,而控制器用于控制整个CPU的工作,它决定了计算机运行过程中的自动化。它不仅要保证程序的正确执行,而且要能够处理异常事件。控制器一般包括指令控制逻辑、时序控制逻辑、总线控制逻辑和中断控制逻辑等几个部分。

指令控制逻辑要完成取指令、分析指令和执行指令的操作,其过程分为取指令、指令译码、按指令操作码执行、形成下一条指令地址等步骤。

(1)指令寄存器(IR)。当CPU执行一条指令时,先把它从内存储器取到缓冲寄存器中,在送入IR暂存,指令译码器根据IR的内容产生各种微操作指令,控制其它的组成部件工作,完成所需的功能。

(2)程序计数器(PC)。PC具有寄存信息和计数两种功能,又称为指令计数器。程序的执行分为两种情况,一是顺序执行,二是转移执行。在程序开始执行前,将程序的起始地址送入PC,该地址在程序加载到内存时确定,因此PC的内容即是程序第一条指令的地址。执行指令时,CPU自动修改PC的内容,以便使其保持的总是将要执行的下一条指令的地址。由于大多数指令都是按顺序来执行的,所以修改的过程通常只是简单地对PC加1。当遇到转移指令时,后续指令的地址根据当前指令的地址加上一个向前或者向后转移的位移量得到,或者根据转移指令给出的直接转移的地址得到。

(3)地址寄存器(AR)。AR保存当前CPU所访问的内存单元的地址。由于内存和CPU存在操作速度上的差异,所以需要使用AR保持地址信息,知道内存的读/写操作完成为止。

(4)指令译码器(ID)。指令包含操作码和地址码两部分,为了能执行任何给定的指令,必须对操作码进行分析,以便识别所完成的操作。指令译码器就是对指令中的操作码字段进行分析解释,识别该指令规定的操作,想操作控制器发出具体的控制信号,控制各部件工作,完成所需的功能。

时序控制逻辑要为每条指令按时间顺序提供应有的控制信号。总线逻辑是为多个功能部件服务的信息通路的控制电路。中断控制逻辑用于控制各种中断请求,并根据优先级的高低对中断请求进行排队,逐个交给CPU处理。

3)寄存器组

寄存器组可以分为专用寄存器和通用寄存器,运算器和控制器中的寄存器是专用寄存器,其作用是固定的。通用寄存器用途广泛并可由程序员规定其用途,其数目因处理器不同有所差异。

多核CPU

核心又成为内核,是CPU最重要的部分。CPU中心那块隆起的芯片就是核心,是由单晶硅以一定的生产工艺制造出来的,CPU所有的计算、接收/存储命令、处理数据都由核心执行。各种CPU核心都具有固定的逻辑结构,一级缓存、二级缓存、执行单元、指令级单元和总线接口等逻辑单元都会有合理的布局。

多核即在一个单芯片上面集成两个甚至多个处理器内核,其中,每个内核都有自己的逻辑单元、控制单元、中断处理器、运单元,一级cache、二级cache共享或者独有,其部件的完整性呵单核处理器内核相比完全一致。

CPU的主要厂商AMD和Intel的双核技术再物理结构上有所不同。AMD将两个内核做在一个Die(晶元)上,通过直连架构连接起来,集成度更高。Intel则是将放在不同核心上的两个内核封装起来,因此Intel的方案称为“双芯”,将AMD的方案称为“双核”。从用户端的角度看,AMD的方案能够使双核CPU的管脚、功耗等指标跟单核CPU保持一致,从单核升级到双核不需要更换电源、芯片组、散热系统和主板,只要刷新BIOS软件即可。

多核CPU系统最大的优点是满足用户同时碱性多任务处理。

单核多线程CPU是交替的转换执行多个任务,只不过交替转换的时间很短,用户一般感觉不出来。如果同时执行的任务太多,就会感觉到“慢”或者“卡”。而多核在理论上则是在任何时间内每个核执行各自的任务,不存在交替的问题。因此,单核多线程和多核都可以执行多任务,但是多核的更快。

虽然采用了Intel超线程技术的单核可以视为是双核,然而视为是8核一般比不上实际是8核的CPU性能。要发挥CPU的多核性能,就需要操作系统能及时、合理地给各个核分配任务和资源(如缓存、总线、内存),也需要应用软件在运行时可以把并行的县城同时交付给多个核心分别处理。

1.1.3数据表示

各种数值在计算机中表示的形式称为机器数,其特点时采用二进制计数制,数的符号用0和1表示,小数点则隐含,表示不占位置。机器数对应的实际数值称为数的真值。

机器数有无符号数和带符号数之分。无符号数表示正数,在机器数中没有符号位。对于无符号数,若约定小数点的位置在机器数的最低位之后,则是纯整数;若约定小数点的位置在机器数的最高位之前,则是纯小数。对于带符号数,机器数的最高为是表示正负的符号位,其余数位则表示数值。

为了便于运算,带符号的机器数可采用原码、反码、补码等不同的编码方法,机器数的这些编码方法称为码制。

机器数:

一个数在计算机中的表现形式叫做机器数,这个数有正负之分,在计算机中用一个数的最高位(符号位)来表示它的正负,其中0表示正数,1表示负数。

比如,十进制中的数+3,计算机字长为8位,转换成二进制就是00000011,如果是-3,就是10000011。

真数:

计算机中的机器数对应的真实的值就是真数,对最高位(符号位)后面的二进制数转换成10进制,并根据最高位来确定这个数的正负。

1)原码、反码、补码和移码

(1)原码表示法。如果机器数字长为n(即采用n个二进制位表示数据),则原码定义如下

一、计算机系统知识1.1计算机系统基础知识

原码就是符号位j

继续阅读