xml地图|网站地图|网站标签 [设为首页] [加入收藏]

科技科学

当前位置:澳门金莎娱乐网站-官方首页 > 科技科学 > 容积(存款和储蓄单元、存储单元地址、容积单

容积(存款和储蓄单元、存储单元地址、容积单

来源:http://www.qd-haiyu.com 作者:澳门金莎娱乐网站-官方首页 时间:2019-09-17 14:24

图片 1简介

By JackKing_defier

  • 数字计算机的基本组成

1.1 计算机系统概论

指令系统是指计算机所能执行的全部指令的集合,它描述了计算机内全部的控制信息和“逻辑判断”能力。不同计算机的指令系统包含的指令种类和数目也不同。一般均包含算术运算型、逻辑运算型、数据传送型、判定和控制型、移位操作型、位操作型、输入和输出型等指令。指令系统是表征一台计算机性能的重要因素,它的格式与功能不仅直接影响到机器的硬件结构,而且也直接影响到系统软件,影响到机器的适用范围。

首先说明一下,本文内容主要是简单说明CPU的大致原理,所需要的前提知识我会提出,但是由于篇幅我不会再详细讲解需要的其他基础知识。默认学过工科基础课。

  1. 控制器:操作控制功能。
  2. 运算器:计算功能。
  3. 存储器:记忆功能。
  4. 输入设备:交互接口、入。
  5. 输出设备:交互接口、出。

1.1 计算机系统简介

  • 把感应器嵌入和装备到电网,铁路,桥梁等各种物体中,并且被普遍连接,形成所谓“物联网”,然后将“物联网”与现代计算机网络联合起来,实现人类社会和物体实体的整合,形成智慧地球。
  • 计算机系统由硬件和软件组成。软件分为系统软件和应用软件,前者包括操作系统,语言处理程序,服务性程序等。
  • 计算机编程的层次结构:微指令系统->机器语言->操作系统->汇编语言->高级语言,前两者属于硬件编程层次。
  • 计算机体系结构指的是程序员所能看到的计算机系统的属性,概念性的结构和功能特性(指令系统,数据类型,寻址技术,I/O处理,逻辑实现)
  • 计算机组成指的是实现计算机体系结构所体现的属性(具体指令的实现,物理实现)

一条指令就是机器语言的一个语句,它是一组有意义的二进制代码,指令的基本格式如:操作码字段+地址码字段,其中操作码指明了指令的操作性质及功能,地址码则给出了操作数或操作数的地址。

一、总述

  • 冯·诺依曼型计算机

1.2 计算机的基本组成

  • 冯诺依曼计算机的特点(存储程序结构的计算机)
  • 计算机由五大部分组成(运算器,控制器,存储器,输入设备,输出设备)
  • 指令和数据以同等地位存储在存储器中,可按地址寻访
  • 指令和数据用二进制描述
  • 指令由操作码和地址码组成
  • 存储程序
  • 以运算器为核心

  • 冯诺依曼计算机的问题:运算器工作负载大,存在瓶颈。层次化特征差。

  • 解决前一问题,通过以存储器为核心解决。
  • 后者则演化成了现代计算机硬件结构。
  • 操作码指明了需要执行的操作,地址码指明了需要取出数据在内存中的地址
  • 存储器有以下结构:存储体->存储单元->存储元件。存储单元存放一串二进制代码。每个存储单元赋予一个地址,这样就可以在执行指令的时候找到这个存储单元。
  • 运算器由ALU,ACC,X,MQ组成。ALU是运算单元,ACC和X是输入数据寄存器,MQ是额外的数据寄存器。ACC和X进行加减运算,ACC和MQ进行乘除运算。
  • 控制器的功能包括解释指令和保证指令的按序运行。结构包括PC(取指令,程序计数器,存放当前欲执行指令的地址),IR(分析指令,存放当前欲执行的指令),CU(执行指令)。
  • 运算器,控制器,存储器构成了一条指令在计算机上的完成过程,以及指明了程序在主机上是如何运行的。
  • 取指令->分析指令->执行指令
    图片 2

  • 取指令->分析指令->执行指令
    图片 3

  • 取指令:PC-MAR-M-MDR-IR

  • 分析指令:IR(OP操作码)-CU
  • 执行指令:IR(AD地址码,也就是需要取数的地址)-MAR-M-MDR-ACC(以取数指令为例)
  • 以上三步来看,MAR和MDR实际上是接口寄存器。

发展历程

先从计算机的结构说起,在现代计算机中,CPU是核心,常常被比喻为人的大脑。现在的计算机都为“冯·诺依曼机”,“冯诺依曼机”的一个显著的特点就是由运算器、存储器、控制器、输入设备和输出设备组成。CPU是运算器和控制器合起来的统称,因为运算器和控制器在逻辑关系和电路结构上联系十分紧密,尤其在大规模集成电路制作工艺出现之后,所以这两个部件就集成在同一芯片上。

  1. 有运算器、控制器、存储器、输入设备、输出设备组成。
  2. 采用存储程序的方式。
  3. 数据以二进制码表示。
  4. 指令由操作码和地址码组成。
  5. 指令在存储器中按执行顺序存放,有PC指明要执行的指令的单元地址,一般按顺序递增。
  6. 机器以运算器为中心。

1.3 计算机硬件主要性能指标

  • 机器字长:CPU一次能够处理的数据的位数,与CPU的寄存器位数有关
  • 运算速度:主频(外频*倍频),核数,CPI(执行一条指令需要的时钟周期),MIPS(每秒执行百万次指令),FLOPS(每秒浮点数运算)
  • 存储容量:主存容量+辅存容量。

指令系统的发展经历了从简单到复杂的演变过程。早在20世纪50-60年代,计算机大多数采用分立元件的晶体管或电子管组成,其体积庞大,价格也很昂贵,因此计算机的硬件结构比较简单,所支持的指令系统也只有十几至几十条最基本的指令,而且寻址方式简单。

了解CPU怎么工作就转化为了解运算器和控制器的作用和功能。

  • 计算机组成

3. 系统总线

到60年代中期,随着集成电路的出现,计算机的功耗、体积、价格等不断下降,硬件功能不断增强,指令系统也越来越丰富。

二、CPU的运算

  1. 计算机系统由硬件和软件组成。
  2. 软件分为系统软件和应用软件。
  3. 硬件如图

3.1 总线的基本概述

  • 总线是连接各个部件的信息传输线,是各个部件共享的传输介质。
  • 总线上信息的传输方式分为并行和串行。

在70年代,高级语言己成为大、中、小型机的主要程序设计语言,计算机应用日益普及。由于软件的发展超过了软件设计理论的发展,复杂的软件系统设计一直没有很好的理论指导,导致软件质量无法保证,从而出现了所谓的“软件危机”。人们认为,缩小机器指令系统与高级语言语义差距,为高级语言提供很多的支持,是缓解软件危机有效和可行的办法。计算机设计者们利用当时已经成熟的微程序技术和飞速发展的VLSI技术,增设各种各样的复杂的、面向高级语言的指令,使指令系统越来越庞大。这是几十年来人们在设计计算机时,保证和提高指令系统有效性方面传统的想法和作法。

运算器由ALU(算术逻辑单元)和若干通用寄存器组成。//寄存器需要数字逻辑知识

图片 4

3.2 总线的分类

  • 片内总线:芯片内部的总线
  • 系统总线:计算机各个部件之间的信息传输
  • 系统总线又可以分为三类:
  • 数据总线(在CPU与RAM之间来回传送需要处理或是需要储存的数据)
  • 地址总线(用来指定在RAM(Random Access Memory)之中储存的数据的地址)
  • 控制总线(将微处理器控制单元(Control Unit)的信号,传送到周边设备,一般常见的为USB Bus和1394 Bus。)。
  • 通讯总线:计算机系统之间或者计算机系统与其他系统之间的信息传输
  • 还包括两种总线,扩展总线和局部总线。
  • 扩展总线(Expansion Bus):可连接扩展槽和电脑。
  • 局部总线(Local Bus):取代更高速数据传输的扩展总线,如cpu和高速缓存间。

性能要求

ALU即为一个芯片,有相应的输入,会给出相应的输出,由逻辑运算功能表可确定不同针脚会有的相应的运算输出。//这里可以类比于数字逻辑中的74LS138芯片,只不过74181给出的是相应输入的运算结果。

  • 运算器

指令系统的性能决定了计算机的基本功能,它的设计直接关系到计算机的硬件结构和用户的需要。一个完善的指令系统应满足如下四方面的要求:

在这里我想到,很多同学并没有学习过数字逻辑这门课,简单介绍一下。我们高中物理就学过“与门”、“或门”和“非门”,也就是通过电路可以实现逻辑上的“与”、“或”和“非”运算。同时呢,有一个门叫做“与非门”,也就是A和B先做与运算,再做非运算取反。通过布尔代数的运算法则可以把所有“门”的运算都用“与非门”表示出来,也就是等价变换。这样我们就有了异或、同或、或非等各种门电路。

  1. 算数运算和逻辑运算。
  2. 在计算机中参与运算的数是二进制的。
  3. 运算器的长度一般是8、16、32、64位

完备性

通过若干个输入的信号通过各种门电路之后会产生一个或多个结果,满足我们需要的功能。比如加法器、移位器、触发器、寄存器、译码器。

  • 存储器

指用汇编语言编写各种程序时,指令系统直接提供的指令足够使用,而不必用软件来实现。完备性要求指令系统丰富、功能齐全、使用方便。

ALU就是这样一个满足我们运算功能的部件。由于ALU功能很多,你可以理解为能做各种基本算术运算和基本逻辑运算。

存储数据和程序(指令)

有效性

说到现在,你现在应该清楚CPU内部有一个专职做运算的部件ALU了,而且由电路就可以实现。用电路可以很方便地表达出二进制信息,比如高电平为“1”,低电平为“0”。CPU处理的数据都为二进制,可以通过原码、反码和补码完成加减乘除运算,这样就把一切运算通过电路实现。

容量(存储单元、存储单元地址、容量单位)

是指利用该指令系统所编写的程序能够高效率地运行。高效率主要表现在程序占据存储空间小、执行速度快。

三、指令系统

分类内存(ROM、RAM)、外存

规整性

机器能做解题的运算是因为人们利用了机器语言,机器语言能被机器自身识别,同时也可以被人理解。机器语言是由一条条语句构成的,每一条语句有一定的含义。比如,它可以规定机器做什么操作,指出参与操作的数或其他信息在什么地方等。我们习惯把每一条机器语言的语句称为机器指令,全部机器指令系统的集合称为机器的指令系统。计算机的设计者主要研究如何确定机器的指令系统,如何用硬件电路、芯片、设备来实现机器指令系统的功能。计算机使用者则是依据指令系统,使用汇编语言来编制各种程序。

存储器单位:

包括指令系统的对称性、匀齐性、指令格式和数据格式的一致性。对称性是指:在指令系统中所有的寄存器和存储器单元都可同等对待,所有的指令都可使用各种寻址方式;匀齐性是指:一种操作性质的指令可以支持各种数据类型;指令格式和数据格式的一致性是指:指令长度和数据长度有一定的关系,以方便处理和存取。

上面一段话的内容也就是说:我们利用计算机做的所有操作,本质上都被还原成一个个指令。

  1. 2^10byte=1K
  2. 2^10K=1M
  3. 2^10M=1G
  4. 2^10G=1T

兼容性

指令是由操作码和地址码组成的。也就是分为不同的字段。操作码来指明要进行的操作,地址码来指出该指令的源操作数的地址、结果的地址以及下一条指令的地址。(这里又涉及到指令的格式,指令以及数据的寻址方式等,容易绕而且限于篇幅,略)一条指令包含的信息:它是干什么的,它需要的参数在哪里。

  • 控制器

至少要能做到“向上兼容”,即低档机上运行的软件可以在高档机上运行。

指令存储在存储器中,也就是我们平常说的内存。

指令和程序:指令的形式(操作码和地址码、存储程序的概念、指令中程序和数据的存放、指令系统)

图片 5 执行步骤

四、CPU的控制器

指令和数据存储:

一条指令的执行过程按时间顺序可分为以下几个步骤。

在第二小节中,我说了CPU的运算,这一段主要阐述CPU的控制。CPU的实质包含运算器和控制器两部分。对于冯·诺依曼结构的计算机来说,一旦程序放入存储器后,就可以通过计算机自动完成取指令和分析指令的任务,控制器就是专门做这个工作的。它负责协调并且控制计算机各部件执行程序的指令序列,其基本功能是取指令、分析指令和执行指令。

  1. 控制器的基本任务:按照一定的顺序一条接着一条取指令、指令译码、执行指令。取指周期和执行周期。
  2. 控制器完全可以区分开哪些是指令字,哪些是数据字。
  3. 一般来讲,取指周期中从内存读出的信息流是指令流,他流向控制器。
  4. 在执行周期中从内存读出的信息流是数据流,它由内存流向运算器。

① CPU发出指令地址。将指令指针寄存器的内容——指令地址,经地址总线送入存储器的地址寄存器中。

取指令,控制器必须具备能自动地从存储器中取出指令的功能。

  • 计算机工作全过程

② 从地址寄存器中读取指令。将读出的指令暂存于存储器的数据寄存器中。

分析指令,第一,要分析完成什么操作,即为控制器需要发出什么样的操作命令;第二要分析参与这次操作的操作数的有效地址。

  1. 输入程序和数据。
  2. 程序首地址。(程序计数器PC)
  3. 启动运行程序
  4. 取指令(PC-地址寄存器MAR-读内存M-地址寄存器MDR-指令寄存器IR)
  5. 分析指令OP(IR)-CU
  6. 执行指令Ad(IR)-MAR-M-MDR-运算器ACC,之后取指令PC+1
  7. 。。。
  8. 打印结果
  9. 停机

③ 将指令送往指令寄存器。将指令从数据寄存器中取出,经数据总线送入控制器的指令寄存器中。

执行指令,这一阶段就是根据分析指令产生的“操作命令”和“操作数地址”的要求,形成操作控制信号序列(不同的指令有不同的操作控制信号序列),通过对运算器、存储器以及I/O设备的操作,执行每一条指令。

  • 软件的组成与分类

④ 指令译码。指令寄存器中的操作码部分送指令译码器,经译码器分析产生相应的操作控制信号,送往各个执行部件。

除此之外,控制器还有其它控制的功能,全部罗列会让人头大。简短地讲,就是控制!

系统软件:

⑤ 按指令操作码执行。

根据上文的内容,可以得出CPU必须有的功能:

  1. 操作系统。
  2. 分布式系统软件。

⑥ 修改程序计数器的值,形成下一条要取指令的地址。若执行的是非转移指令,即顺序执行,则指令指针寄存器的内容加1,形成下一条要取指令的地址。指令指针寄存器也称为程序计数器。

指令控制,控制程序的顺序执行。//程序运行时,指令一般是顺序执行的。

应用软件

操作控制,产生完成每条指令所需的控制命令。//根据指令的要求对硬件产生操作控制信号序列,通俗来讲,就是把指令转化为对硬件的直接操作。

  • 编程语言

时间控制,对各种操作加以时间上的控制。//计算机的操作对时间比较敏感,后面会提到周期的概念。

  1. 手编程序:机器语言程序,手工编译二进制码。
  2. 汇编程序:符号语言程序,汇编程序汇编。
  3. 高级程序:算法语言/高级语言,机器编码程序/解释程序。

数据加工,对数据进行算数运算和逻辑运算。//这里主要是靠ALU。

  • 多级计算机系统

处理中断,//即为CPU被打断的操作,后面会提到中断,在CPU也是挺重要的一个概念。

  1. 最底层:微程序设计级
  2. 机器级
  3. 操作系统级
  4. 汇编语言级
  5. 高级语言级

五、CPU的结构

  • 软件与硬件逻辑等价

根据前面提到的CPU必须有的功能,要取指令,必须有一个寄存器专用存放当前指令的地址,告诉你从哪里取出现在需要执行的指令;要分析指令,必须有存放当前指令的寄存器和对指令操作码进行译码的部件,即为分析出这一个指令对应着什么操作,需要干什么;要执行指令,必须有一个能够发出各种操作命令序列的控制部件CU;要完成算术运算和逻辑运算,必须要有存放操作数的寄存器和实现运算的部件ALU;为了处理一些异常情况和特殊请求,还需要有中断系统。

  1. 计算机系统的软、硬件界限已经变得模糊。
  2. 任何操作可由软件来实现也可以有硬件来实现。
  3. 固件的概念(功能上是软件,形态上是硬件)

CPU主要由四大部分组成:ALU、CU、寄存器、中断系统。

  • 计算机性能指标

在数字逻辑中学到,寄存器就可以存放二进制信息。CPU中一些主要的寄存器和它们的功能:

机器字节是指参与运算的数的基本位数,它是由加法器、寄存器的位数决定的。

MAR:存储器地址寄存器,用于存放将要被访问的存储单元的地址。

数据总线一次所能并行传送信息的位数,称为数据通路宽度。

MDR:存储器数据寄存器,用于存放数据。这些数据将要被存放到存储单元或者刚从存储单元中读出。

一个主存储器所能存储的全部信息量称为主存容量。

PC:程序计数器,存放现行指令的地址,有计数功能。//一般下一条指令地址就是PC+1,即为顺序执行。直接修改这个值就是转移类指令,跳转到其他位置继续执行。

  1. 以字节数来表示存储容量。
  2. 也可以用字数乘以字长来表示存储容量。

IR:指令寄存器,存放当前将要执行的指令。

吞吐量:是指系统在单位时间内处理请求的数量。

主要通过这四个寄存器,CPU就可以和主存交换信息。//因为程序以及程序需要的数据都存在主存中。

响应时间:是指系统对请求作出相应的时间,响应时间包括CPU时间、等待时间的总和。

这里可以举例,CPU从主存中取指令的通路。/MM代表存储器/

CPU主频:又称为时钟频率,表示在CPU内数字脉冲信号振荡的速度。

取指令:PC–>MAR–>MM–>MDR–>IR

主频的倒数就是CPU时钟周期,这是CPU中最小的时间元素。每个动作至少需要一个时钟周期。

解释:PC中存储着我们将要执行的指令的地址,将现行指令地址存入地址寄存器MAR,然后进行命令存储器读操作,现行指令从存储器中读到数据寄存器MDR中,再将现行指令从MDR送至指令寄存器IR,接下来就进行译码执行部分了,后面根据指令的操作码,由CU译码去执行。

CPI:是指每条指令执行所用的时钟周期数。

控制单元CU提供微操作命令序列,以完成计算机的全部指令操作。

CPI参数经常用IPC表示,即每个时钟周期执行的指令数。

六、指令周期

MIPS表示每秒执行多少百万条指令

CPU取出并执行一条指令所需的时间称为指令周期,也就是CPU完成一条指令的时间。

  1. MIPS=指令条数/执行时间*10^6=主频/CPI=主频*IPC
  2. MFLOPS表示每秒执行多少百万次浮点运算

指令周期简单来讲,分为两个阶段:取指周期执行周期

  • 数制与编码

大多数情况下,CPU就是“取指–执行–取指–执行·······”的顺序自动工作。刚才提到过取指令的通路,所有的指令取指令都是这个通路,所以取指周期都相同。根据指令情况,执行周期长短不一,有的甚至没有,直接就是转移指令。

R进制转换成十进制的方法

这里要提到一个比较重要的概念:中断

  1. 按权展开法:先写成多项式,然后计算十进制结果。

中断比较好理解,就是CPU执行过程中被打断。这里面讲太细了就太多了。我可以用我的语言通俗地让你理解一下:这就好比你去网吧上网,是按照时间计费的,这个时间可以理解为指令周期。在你还正玩着的时候,有人不小心把网线拔了,你就得中断,你得去把网线插好继续玩。这里面就涉及到你得保留之前的位置,不要被别人占了,游戏不退出,让你能够在处理完之后还能继续玩。由于你也比较喜欢玩这个游戏,一般的事情是叫不动你的,这时候哥们叫你去打球,你就说正忙着呢,打完游戏再去打球。这个就说明有个优先级排序,打球的优先级不如玩游戏,所以你屏蔽掉了这个可以干扰你的中断,继续你目前的操作,去玩游戏。

十进制转二进制

因为在CPU中也会被各种情况打断,可以软件调控的就按照规矩来了,如果是断电什么的,那就是不可操作的了。

整数部分:

在周期这一块有很多划分和概念,比如机器周期,节拍周期等。不说太多,怕你绕。

  1. 除二取余法
  2. 减权定位法

你就可以理解为一点,CPU对时间把控的很紧,一切按照时间步骤来。

小数部分:

七、FINAL

  1. 除二取整法

本文由澳门金莎娱乐网站-官方首页发布于科技科学,转载请注明出处:容积(存款和储蓄单元、存储单元地址、容积单

关键词: