计算机基础知识

众所周知,计算机硬件主要由CPU(运算器和控制器)、存储器(内存和外存)、外部设备(输入/输出设备)等构成。那这几个部件之间是如何协同工作的?下面逐一介绍这几部件,以及这几个部件之间协同工作方式。

一、CPU:Central Processing Unit

中央处理器,俗称“计算机的大脑”。

1.1 CPU的组成

传统上,CPU由控制器和运算器这两个主要部件组成。
随着集成电路技术的不断发展和进步,新型CPU纷纷集成了一些原先置于CPU之外的分立功能部件,如浮点处理器、高速缓存(Cache)等,在大大提高CPU性能指标的同时,也使得CPU的内部组成日益复杂化。

1.1.1控制器

控制器是整个计算机系统的指挥中心。在控制器的指挥控制下,运算器、存储器和输入/输出设备等部件协同工作,构成了一台完整的通用计算机。
控制器根据程序预定的指令执行顺序,从主存取出一条指令,按该指令的功能,用硬件产生所需的带有时序标志的一系列微操作控制信号,控制计算机内各功能部件的操作,协调和指挥整个计算机完成指令的功能。
控制器通常由程序计数器(PC)、指令寄存器(IR)、指令译码器(ID)、时序发生器和操作控制器组成。其主要功能包括:

  1. 从主存中取出一条指令,并指出下一条指令在主存中的位置;
  2. 对指令进行译码,并产生相应的操作控制信号,以便启动规定的动作;
  3. 指挥并控制CPU、主存和输入/输出设备之间数据流动的方向。

1.1.2运算器

运算器是计算机中用于实现数据加工处理等功能的部件,它接受控制器的命令,负责完成对操作数据的加工处理任务,其核心部件是算术逻辑单元(Arithmetic Logic Unit,ALU)。
相对控制器而言,运算器接受控制器的命令而进行动作,即运算器所进行的全部操作都是由控制器发出的控制信号来指挥的,所以它是执行部件。
运算器由算术逻辑单元(ALU)、累加寄存器(AC)、数据寄存器(DR)和程序状态字寄存器(PSW)组成。它有两个主要功能:

  1. 执行所有的算术运算;
  2. 执行所有的逻辑运算,并进行逻辑测试。

1.2 CPU中的主要寄存器

在CPU中至少要有六类寄存器:指令寄存器(IR)、程序计数器(PC)、地址寄存器(AR)、数据寄存器(DR)、累加寄存器(AC)、程序状态字寄存器(PSW)。
这些寄存器用来暂存一个计算机字,其数目可以根据需要进行扩充。
下面详细介绍这些寄存器的功能与结构。

1.2.1 数据寄存器(DR)

数据寄存器(Data Register,DR)主要作为CPU和主存、外设之间信息传输的中转站,用以弥补CPU和主存、外设之间操作速度上的差异。
数据寄存器用来暂时存放由主存储器读出的一条指令或一个数据字;反之,当向主存存入一个数据字时,也暂时将它们存放在数据寄存器中。
数据寄存器的作用是 :

  1. 作为CPU和主存、外围设备之间信息传送的中转站;
  2. 弥补CPU和主存、外围设备之间在操作速度上的差别;
  3. 在单累加器结构的运算器中,数据寄存器还可兼作操作数寄存器。

1.2.2 指令寄存器

指令寄存器(Instruction Register,IR)用来保存当前正在执行的一条指令。
当执行一条指令时,先把该指令从主存读取到数据寄存器中,然后再传送至指令寄存器。
一条指令被划分为操作码和地址码2个字段。为了执行任何给定的指令,必须对操作码进行测试,以便识别所要求的操作。指令译码器(Instruction Decoder,ID)就是完成这项工作的。
指令译码器对来自指令寄存器的操作码部分进行译码,以产生操作性质的控制电位,并将其送到微操作控制线路上,在时序部件定时信号作用下,产生具体的操作控制信号。
指令寄存器中操作码字段的输出就是指令译码器的输入。操作码一经译码后,即可向操作控制器发出具体操作的特定信号。

1.2.3 程序计数器

程序计数器(Program Counter,PC)用来指出下一条指令在主存储器中的单元地址。
在程序执行之前,首先必须将程序的首地址,即程序的第一条指令所在的主存单元地址送入PC。因此PC的内容即是从主存提取的第一条指令的地址。
当执行指令时,CPU能自动递增PC的内容,使其始终保持将要执行的下一条指令的主存地址,为取下一条指令做好准备。若为单字长指令,则(PC)+1PC,若为双字长指令,则(PC)+2PC,以此类推。
但是,当遇到转移指令时,下一条指令的地址将由转移指令的地址码字段指定,而不是像通常那样通过顺序递增PC的内容来取得。
因此,程序计数器的结构应当是具有寄存信息和计数两种功能的结构。

1.2.4 地址寄存器

地址寄存器(Address Register,AR)用来保存CPU当前所访问的主存单元的地址。
由于在主存和CPU之间存在操作速度上的差异,所以必须使用地址寄存器来暂时保存主存的地址信息,直到主存的存取操作完成为止。
当CPU和主存进行信息交换,即CPU向主存存入/取出数据时,或者CPU从主存中读出指令时,都要使用地址寄存器和数据寄存器。
同样,如果我们把外围设备的设备地址作为像主存的地址单元那样来看待,那么,当CPU和外围设备交换信息时,我们同样要使用地址寄存器和数据寄存器。

1.2.5 累加寄存器

累加寄存器通常简称累加器(Accumulator,AC),是一个通用寄存器。
累加器的功能是:当运算器的算术逻辑单元(ALU)执行算术或逻辑运算时,为ALU提供一个工作区,可以为ALU暂时保存一个操作数或运算结果。
显然,运算器中至少要有一个累加寄存器。

1.2.6 程序状态字寄存器

程序状态字(Program Status Word,PSW)用来表征当前运算的状态及程序的工作方式。
程序状态字寄存器保存由算术指令和逻辑指令运行或测试的结果所建立起来的各种条件码内容,如运算结果进/借位标志(C)、运算结果溢出标志(O)、运算结果为零标志(Z)、运算结果为负标志(N)、运算结果符号标志(S)等,这些标志位通常分别用1位触发器来保存。
除此之外,程序状态字寄存器还保存中断和系统工作状态等信息,以便CPU和系统及时了解机器运行状态和程序运行状态。
因此,程序状态字寄存器是一个保存各种状态条件标志的寄存器。

二、存储器

存储器由内存储器和外存储器构成,内存储器通常指的是内存,外存储器通常指的是硬盘等。

2.1 内存

内存是计算机中重要的部件之一,它是与CPU进行沟通的桥梁。计算机中所有程序的运行都是在内存中进行的,因此内存的性能对计算机的影响非常大。内存也被称为内存储器,其作用是用于暂时存放CPU中的运算数据,以及与硬盘等外部存储器交换的数据。只要计算机在运行中,CPU就会把需要运算的数据调到内存中进行运算,当运算完成后CPU再将结果传送出来,内存的运行也决定了计算机的稳定运行。

2.2 硬盘

硬盘(英语:Hard Disk Drive,简称HDD)是电脑上使用坚硬的旋转盘片为基础的非挥发性存储设备,它在平整的磁性表面存储和检索数字数据,信息通过离磁性表面很近的磁头,由电磁流来改变极性方式被电磁流写到磁盘上,信息可以通过相反的方式读取,例如读头经过纪录数据的上方时磁场导致线圈中电气信号的改变。硬盘的读写是采用随机存取的方式,因此可以以任意顺序读取硬盘中的数据。硬盘包括一至数片高速转动的磁盘以及放在执行器悬臂上的磁头。

三、指令

指令是计算机硬件能够识别并直接执行操作的命令,一台计算机中所有指令的集合构成了该计算机的指令系统。指令系统是表征一台计算机性能的重要因素,其格式与功能不仅直接影响到机器的硬件结构,也直接影响到系统软件,影响到机器的适用范围。因此,设计一个合理有效、功能齐全、通用性强并且丰富的指令系统是至关重要的。
从计算机组成的层次结构来说,计算机的指令分为微指令、机器指令和宏指令三类。微指令是微程序级的命令,属于硬件;宏指令是由若干条机器指令组成的软件指令,属于软件;机器指令,也就是我们通常所说的指令,介于微指令与宏指令之间,每条指令可完成一个独立的算术运算或逻辑运算。

3.1 指令系统的发展

回顾计算机的发展历史,指令系统的发展经历了从简单到复杂的演变过程。早在1950-1960年代,计算机大多数采用分立元件的晶体管或电子管组成,其体积庞大,价格也很昂贵,因此计算机的硬件结构比较简单,所支持的指令系统也只有十几至几十条最基本的指令,而且寻址方式简单。到1960年代中期,随着集成电路的出现,计算机的功耗、体积、价格等不断下降,硬件功能不断增强,指令系统也越来越丰富。1960年代后期,开始出现系列计算机,即基本指令系统相同、基本体系结构相同的一系列计算机。
在1970年代,高级语言已成为大、中、小型机的主要程序设计语言,计算机应用日益普及。计算机设计者们利用当时已经成熟的微程序技术和飞速发展的VLSI技术,增设各种各样复杂的、面向高级语言的指令,使指令系统越来越庞大,按这种方法设计的计算机系统称为复杂指令系统计算机(Complex Instruction Set Computer),简称CISC。如此庞大的指令系统不仅使计算机的研制周期变长,难以保证正确性,不易调试维护,而且采用了大量使用频率很低的复杂指令而造成硬件资源的浪费。为此,人们又提出了便于VLSI技术实现的精简指令系统计算机(Reduced Instruction Set Computer),简称RISC,它是一种计算机体系结构的设计思想,是近代计算机体系结构发展史中的一个里程碑。1990年代初,IEEE的Michael Slater对于RISC的定义做了如下描述: RISC处理器所设计的指令系统应使流水线处理能高效率执行,并使优化编译器能生成优化代码。

3.2 指令系统的性能要求

指令系统的性能决定了计算机的基本功能,其设计是计算机系统设计的一个核心问题,不仅关系到计算机的硬件结构,同时关系到用户的使用需要。一个完善的指令系统应满足以下四个方面的要求:

1. 完备性

指令系统的完备性是指用汇编语言编写各种程序时,指令系统直接提供的指令足够使用,而不必用软件来实现。一台计算机中最基本和必不可少的指令构成了指令系统的完备性。而其他一些指令可以通过基本的指令来实现,或者直接通过硬件来实现,两者只是在执行时间和编写程序的难易程度上有差别。在指令系统中采用硬件指令,是为了提高程序执行的速度以及便于用户编写程序。

2. 有效性

有效性是指利用该指令系统所提供的指令编写的程序能够高效率的运行。高效率主要表现在程序占据存储空间小、执行速度快。通常,一个功能完善的指令系统必定有很好的有效性。

3. 规整性

规整性是指指令系统的对称性、匀齐性、指令格式和数据格式的一致性。
指令的对称性是指在指令系统中所有的寄存器和存储器单元都可同等对待,所有的指令都可使用各种寻址方式,这对提高程序的可读性和简化程序设计带来了便利之处。
指令的匀齐性是指一种操作性质的指令可以支持各种数据类型,例如算术运算指令可支持字节、字和双字整数运算、十进制数运算和单、双精度浮点运算等。因此程序设计者无须考虑数据类型而选用指令,提高了编程效率。
指令的格式和数据格式的一致性是指指令长度和数据长度有一定的关系,以方便处理和存取。

4. 兼容性

兼容性是指计算机的体系结构设计基本相同,计算机之间具有相同的基本结构、数据表示和共同的基本指令集合,因此指令系统是兼容的,即同一个软件可以不加修改就在其他系统结构相同的机器上使用。目前,除了系列计算机的指令系统兼容之外,新推出机种的指令系统包含所有旧机种的全部指令,实现了 “向上兼容”,即低档机上运行的软件不需任何修改便可在高档机上运行。

四、相互之间的关系

可以用一幅图来概括他们之间是如何协作使得计算机能够正常工作,如图所示:

计算机基础.png
最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 160,165评论 4 364
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 67,720评论 1 298
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 109,849评论 0 244
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 44,245评论 0 213
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 52,596评论 3 288
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 40,747评论 1 222
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 31,977评论 2 315
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 30,708评论 0 204
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 34,448评论 1 246
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 30,657评论 2 249
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 32,141评论 1 261
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 28,493评论 3 258
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 33,153评论 3 238
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 26,108评论 0 8
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 26,890评论 0 198
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 35,799评论 2 277
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 35,685评论 2 272

推荐阅读更多精彩内容