1.计算机是怎么工作的?

2.计算机系统概论-笔记

3.计算机外部设备和内部设备各有哪些?

4.计算机的工作原理是什么

计算机是怎么工作的?

电脑系统的组成总结怎么写-电脑系统的组成总结

计算机在运行时,先从内存中取出第一条指令,通过控制器的译码,按指令的要求,从存储器中取出数据进行指定的运算和逻辑操作等加工,然后再按地址把结果送到内存中去。

接下来,再取出第二条指令,在控制器的指挥下完成规定操作。依此进行下去。直至遇到停止指令。程序与数据一样存取,按程序编排的顺序,一步一步地取出指令。

扩展资料:

硬件通常是指构成计算机的设备实体。一台计算机的硬件系统应由五个基本部分组成:运算器、控制器、存储器、输入和输出设备。

现代计算机还包括中央处理器和总线设备。这五大部分通过系统总线完成指令所传达的操作,当计算机在接受指令后。

由控制器指挥,将数据从输入设备传送到存储器存放,再由控制器将需要参加运算的数据传送到运算器,由运算器进行处理,处理后的结果由输出设备输出。

百度百科—计算机工作原理

计算机系统概论-笔记

title: 计算机系统概论-笔记

date: 2019-09-28 10:40:32

tags:

typora-copy-images-to: ./计算机系统概论-笔记

本章就是概括性的讲解了一下计算机的一些基本常识.和计算机能产生的深刻哲学理念和计算机组成的层次

以8位二进制为例,这里需要考虑二进制是正数还是负数,负数的话要拿到补码在计算,补码表示法中最高位代表符号位

十进制转二进制,就是每次除以2,记录余数,然后从右到左排列,得到二进制数.

这四个结构就是布尔代数的基础结构.也是很多电子原器件能时间的固定门结构

浮点数用来表示小数.但也不是绝对的精确.只能在二进制数的范围内尽量接近结果.浮点数用固有的结构来表示,类似科学计数法,由三部分组成 比如 12340 =1.234*10^4

符号位:1bit 0为正数1位负数

数值范围:8bit 指数部分

数值精度:23bit 尾数部分

二进制的每四位都可以对应一个16进制, 因此直接四位四位一组转换就行

? 如 0011 1101 0110 1110 转换为 3 D 6 E 也就是3D6E

同理 十六进制转换二进制,就是把每位转成四个二进制01

本章将了一些二进制的常用转换,其实最主要的是补码,通过补码把减法转换成加法,简化了计算机的实现.而浮点数则是通过牺牲数字的精度来扩大了数值的范围,包括表示更大的大数如 1.5 10^20和更小的小数.1.5 *10^(-20)

in输入电压时,p断开n联通, out和ov相练.输出0v

in无电压时,p联通,n断开,out和2.9v相连,输出2.9v

电路in的输入和out的输出结果总是想反的

A B任一方有电压,都会导致上方p断开,下方0V联通, 则C输出为0v

A B都无电压时, 上方 2.9v 与C联通, 则C输出2.9V

? 或门就是或非门的相反或者说 或门取反就是或非门

? 电路就是或非门的输出结构在加上之前的非门,把结果在反转

左边部分.AB任意一个为0则上边两个P型会有一个连通,导致C输出为1,在经过非门后输出为0

A B 都为1时, 上边两个P行都端口,此时c输出为0,经过非门后为1

到这里二进制运算的与或非.就已经可以通过电路来实现了.而与或非,异或作为最基础的元件,在经过复杂的组合可以形成更多复杂的逻辑.下边把这几个门用符号抽象化,其中与非门和或非门就是对与门和或门取反

决策单元是不能存储数据的电路组合,他的输出取决于当前的输入.输出后的数据也没办法在决策单元中存储起来.

简单来说决策单元就是由实时的输入产生实时的输出.并不保存结果.

所有的输出结果没次只有一个是1,其他都是零.这个几个结构用来检测匹配不同的输入模式.因为他可以通过输出的结果判断输入的来源

与门前的小圆圈表示对输入取反. AB的每种组合都对应一个输出线路.这就是一种判断逻辑

这是一个一拆多的组合

ABCD 一直是输入的数据源.有电压. 而通过S的两根线路的组合.来决定使用ABCD的那个输入来传递给输出.

这是一个多合一的组合

累加器是用来做二进制的加法的.二进制的加法 其实是三个输入产生两个输出的结果

如 a= 10111 加 b= 11101 其实是两个数的每一位逐渐相加.但是这里两个位相加可能会产生进位.所以应该改为是a和b的每一位和前一位产生的进位(可以是1或0) 进行相加. 产生的结果也包括当前位的和,和一个进位.用carryi表示第i-1位产生的进位, carryi+1表示i位产生的进位, si是当前位相加的结果 真值表如下

门电路如下,可以看到.两个1位相加,就需要这么多电路,然后产生的传ci+1还要作为下一位相加的输入进位.

讲多个1位的全加器组合,形成多为加法器

最右边的0 是第一位加法的进位,然后产生的c1作为第二位加法的进位. S0,S1,S2,S3则是每位加法后的结果,最后输出的二进制格式就是 C4S3S2S1S0

指通过与或非三个门的各种组合,可以实现任何逻辑函数.类似道家的三生万物

存储单元用来把数据保存在电路中,在使用的时候将其输出

他能存储1比特的信息,S和R是两个输入端 ab是输出端.这个器件规定RS不能同时为0.而且这个电路任何时候A和a相同,B和b相同.

这个器件的规律是.当S和R都为0或都为1时, a b的状态都是稳定不变

当R从 1->0时, a->0 b->1

当S从 1->0 是,a->1,b->0.

而 R或S从 0->1时 a,b的状态稳定不变

因此只有 R或S从1->0时,才会改变ab的状态,其他情况 ab保持不变, 这就相当于这个器件提供了保存状态的功能和变更状态的功能,这就是一个存储器.

在锁存器前在加两个控制,we表示可写,D是输入的数据,当we为0时,SR都是1.输出不变,只有当W0->1时,无论

D是0还是1.都导致 RS其中一个由1->0,就会导致其中一个输出会变为1

举例.We为1,如果D为0,R会 1->0,b变成1a变成0 We为1,如果D为1,S会 1->0, 则a变成1b变成0

因此 We为1时,a的结果和D同步,表示D的数据保存在了a中,we为0时,a的数据不会在变化.

到此.这个锁存器可以通过数据数据D和读写控制W来变更,保存数据了.

把多个门控D锁存器相连,用同一个WE信号控制,就形成了多位的寄存器

下图是4位寄存器,D是数据源 Q是输出的存储结果 WE统一控制四位锁存器同时写入数据

内存是由数量极大的存储空间构成,每个存储空间可以放一个数据.而每个数据我们可以约定他有8位或者4位或者16位锁存器组成. 这里的每个存储空间的识别符叫做地址. 而每个数据中含有的锁存器的个数(也就是能存储的bit的位数)叫做寻址能力.地址的总数叫做寻址空间.

以手机短信为例. 手机上最多装2000条短信,2000叫寻址空间.而每个短信可以包含100个字.就是寻址能力是100.

比如说电脑有16MB内存,表示该系统有16M的地址个数(寻址空间为16M),而每个地址的寻址能力是1字节(寻址能力是8bit)

上文中,决策单元是不保存数据,当前的输出取决于当前的输入.存储单元是报错数据,可以持久使用.时序电路则是决策单元和存储单元的组合,既能存储数据,又能保存数据

时序电路的主要用于实现有限状态机.所谓有线状态机,就是指他有几个固定的状态,然后又固定的输入和输出,他会自己在这几个状态间切换,输入不同的状态.每个状态都会根据当前状态和当前输入来跳转到下一状态.例如红绿灯.红灯会在输入时间到变换时,根据现在是红灯状态,跳为绿灯,而绿灯则会跳到黄灯.

有限状态机表示一直逻辑上的顺序执行过程.他通过固定频率的市中电路来触发.

本章讲了主要讲了最基础的与或非门器件,然后由这几个器件组成了计算机中最重要的决策单元和存储单元.这两部分就是计算机的核心部件.到这里我们就发现.计算机其实就是有一些器件进行封装组合,然后形成了控制逻辑,然后慢慢演化出了程序和数据.

现在常用内存是 2 28-by-8-bit模式,也就是寻址空间为2 28(2^28个存储单元),寻址能力为8(每个单元容量为8bit)

访问内存需要先得到某存储单元的地址,放在CPU的内存地址寄存器(MAR)中,然后在发送读写信号,使内存和cpu的数据寄存器联通,数据从内存进入到数据寄存器(MDR)中.

ALU是算数逻辑运算单元,可以进行加减法和与或非逻辑运算.ALU能处理的数据的长度成为字长,目前通常是32位和64位字长.

通常为ALU配置少量存储器.用来保存计算中间结果.因为从内存中读取太慢了.这些存储器叫寄存器,字长和ALU一直

输入输出的读写速度更慢,通常会为他们分配缓存,CPU与缓存进行数据交流

控制单元指挥其他单元协同工作.里边最重要的两个寄存器是指令寄存器,用来保存被执行的那条指令,程序技术器,保存下一条要执行的指令的地址.控制单元包括有限状态机,用来控制系统中的活动.

指令周期是指指令的执行步骤,指令在计算机控制单元的控制下一步一步执行,每个指令分为六个步骤,称为节拍,一个指令的完整执行过程叫指令周期.

取指令就是把内存中某个指令,加载到控制单元的指令寄存器IR中.PC就是指向下一个要执行的指令的地址.详细步骤如下

从这里可以看到CPU与内存打交道都是通过MAR,MDR寄存器, MAR保存某存储单元的地址,MDR从该单元拿到数据.而IR寄存器总是保存要执行的指令的内容,IP则总是指向下一个要执行的指令的地址.

这里的每个步骤都会花费一到多个时钟周期

译码操作是分析,检查指令的类型,并确定对应的操作.这里利用第三章的译码器 逻辑器件,确定指令对应的电路.

如果指令执行时存在地址操作,则在此节拍进行. 就是得到 指令操作数中完整的地址

读取操作数地址对应的实际内容,这里也需要使用MAR装入上步计算出的地址,然后通过MDR把地址上的数据读取出来

指令已经识别出,操作数的内容也拿到了.这步就是执行指令.

这是该指令周期的最后一个节拍,前一节拍的结果会被写入目的寄存器.该节拍完成后,控制单元再次从取指令开始执行下一个指令周期(因为此时PC寄存器已经指向下一个将要执行的指令地址了).这里就是一个有限状态机在不同状态的按顺序切换

要想改变指令的执行顺序,比如跳到一个我们希望他执行的指令那里,例如循环时需要向前跳.就要在当前指令取指令节拍 后Pc指向下一个指令 到执行下一个指令的取指令节拍前,把pc执行的指令的地址改成我们希望执行的指令的地址. 这就需要用到控制指令, 控制指令就是在上文的执行节拍EXECUTE,主动修改PC寄存器的内容.那么本条指令执行完后,Pc就取出我们想要的指令的地址了.

因为CPU是一条指令一条指令一直执行,如和才能停止运行呢,因为指令是根据CPU的时钟周期来运行的.意思是时钟不断发信号提醒指令执行不同的节拍,然后一直执行指令.因此想停掉指令执行,就是要停止时钟.也就是事运行控制位输出为0 .就停止了时钟.

本章介绍了冯诺依曼的模型.现在的计算机都是用这个模式来设计和组装的.这里边不同的硬件,对于CPU来说.都需要把数据读到寄存器中,CPU在从寄存器中读取使用.因为CPU的频率远远高于内存和io单元的频率.

接下来是指令执行的六个阶段.他是一种有限状态机.不停的在六个节拍中顺序执行.这里就用上了上章的译码器器件.

lc-3 是一个简化版的计算机.用来了解整个计算机的完整构造.

? 寻址空间是2^16(数据块),寻址能力是16位(数据块大小), 我们成这16位寻址能力叫做一个"字".

? 内存和频率远远低于CPU的频率.CPU从内存直接读取数据就浪费大量时钟周期.所以CPU中有很多寄存器,其实就是告诉内存.他们和内存的原理一样,能存储数据,有唯一表示能独立寻址,用R0...R7表示8个寄存器

? 指令集包括 操作码(做什么)+操作数(对谁操作) 其实操作数中还包括 寻址模式, 也就是怎样定位到操作数的具体位置,该指令表示 把R0 和R2的值相加,结果保存在R1中

? 操作码主要分三类,运算,数据移动,控制. 运算指令负责处理信息(加减乘除与或非) 数据移动指令负责在内核和寄存器之间以及内存/寄存器和io设备间传递信息. 控制负责改变指令的执行顺序,如指令跳转.

? 全部指令如下 DR是 DestinationRegister目的寄存器 SR是SourceRegister 源寄存器 通常指令都是把sr的数据传入到dr中

? 是指定位操作数位置的方式.操作数通常在三个地方,内存,寄存器或数据本身.通过寻址模式和操作数的搭配确定操作数的具体地址. 寻址模式有5种,立即数,寄存器,相对寻址,间接寻址,基地址偏移

? lc-3中有3个一位寄存器 N Z P ,当任何寄存器有数据写入时,根据结果,如果写入结果是负数,N为1.结果是0则Z为1,写入是正数则P是1. 这三个寄存器可提供信息给控制指令用来做条件跳转用.

对源操作数按位取反,放入目的操作数 使用寄存器寻址模式,也就是源操作数和目的操作数都是寄存器

把 R5寄存器的值按位取反,结果放在R3寄存器中

ADD是两个操作数执行补码加法.AND是两个操作数执行按位与. 这个指令需要2个源操作数,一个目的操作数.这里的源操作数,其中一个是寄存器寻址模式.另一个可以是立即数寻址模式或寄存器模式.

立即数就是把数值直接放在指令中作为源操作数.如 MOV AL, 0FH ; 将8位立即数0FH传送到AL寄存器中, 0FH就是立即数

下图是 把 R5和R4的结果相加.保存在R1中

搬移指令是在寄存器和内存/寄存器和Io间进行数据传输的指令. 数据从内存到寄存器叫装载(load),从寄存器到内存叫存储(store).

如果bit[9-11]是DR 表示把地址生成位中的数据加载到改DR中

如果bit[9-11]是SR,表示把该SR的数据保存到地址生成位的内存中

? LD 加载指令 ST存储指令

? 该模式下 bit[0-8]表示的是相对位移.相对于当前pc计数器的位移,(上文说过pc计数器保存下一条要执行指令的地址) .pc相对寻址的限制就是 偏移量是针对PC的地址的.所以偏移的范围有限

如下图.此时pc的值是 x4019,相对x4019在偏移x1AF ,LD是加载指令.意思是把 (x4019+x1AF)地址中的数据保存到R2中

? LDI 加载指令 STI存储指令

? 间接寻址中.地址生成位保存的是一个偏移地址A. 而A和PC相加后得到的数值是另外一个地址B.地址B的值才是最终要操作的内存地址.间接寻址可以使指令在更大的范围内跳转. 这是一种2次寻址.x

? 下图解释. pc当前的值是 x4A1C. 则偏移地址A =(x4A1C +x1CC)=x4BE8 ,下图写错了.应该是x4BE8的内容是x2110,然后在把x2110的内容放在R3中.

总结起来就是先进行一次pc相对寻址,再把得到的地址中的值交给R3

? LDR 加载指令 STR存储指令

? 该模式先指定一个基地址寄存器.在指定一个偏移地址,最终的操作数地址由 基地址寄存器的值+偏移地址构成

? 下图解释, 操作数地址 = R2+x1D =x2345+x1D =x2362, 在把 x2362地址中的内容加载到 R1中

? LEA 将立即数与pc计数器地址相加.保存到另一个寄存器中.该命令用来对寄存器初始化.

? 立即数.这个词的命名意思就是,操作数就在指令中,直接就可以读取了(文中-3).就是立即得到.上图中,改指令读取指阶段,pc加1 变成 x4019, 执行时 x4019-3 =x4016. 再把x4016地址处的值复制给R5.

? 控制指令可以改变指令的执行顺序.不用说.肯定是修改pc计数器的值.而且控制指令肯定是需要根据条件判断进行跳转.因此也用上了上边提到的 NZP 三个一位寄存器.

? lc-3中有5中控制指令, 条件跳转,无条件跳转,子程序(函数).TRAP,中断返回

? N negative 表示负数 Z zero 表示零 P positive 表示正数

? bit[9-11]中的值如果与NZP三个位寄存器匹配时,该条件被触发.pc计数器就会计算pc计数器的值+pc偏移值, 也就是进行了指令的跳转.

在指令周期的执行节拍(EXECUTE),处理器检测bit[9-11]的条件码和 NZP三个位寄存器的匹配情况,如果匹配,就修改pc计数器的值.完成指令跳转.

上图中 pc=x4028 修改后的pc = x4028+x0D9 =x4101

如果 某指令的bit[9-11]位都设置为1. 则一定会触发跳转,这叫做无条件跳转指令.

条件跳转指令的问题就是跳转是根据pc偏移值来跳转的.一共8位,跳转的范围有有限.而如果想在内存中更大范围跳转指令.需要使用jump

jump指令.使用源操作数的内容作为要跳转的地址,如下.表示要跳转到 寄存器R2的内容的地址上

trap指令和jump指令相似.都是改变pc计数器内容.跳转到新的指令执行地址.但是jump是在本程序中跳转.而trap则是直线操作系统控件内部,也就是跳转到操作系统的某个指令地址.这就是相当于开启调用系统服务api了.执行完成后.pc计数器会还原为原来本程序中trap指令的下一个地址,既接着执行本程序的逻辑.

回顾一下上文的lc-3结构.下边进行介绍

图中最粗最黑的先.lc-3的全局总线有16位,表示不同结构之间每次传递最多16位信息.同一时刻,总线只允许一个数据发送方发送数据.

访问内存的步骤是.先将要访问内存的地址装入MAR寄存器,然后在看是读指令还是写指令.如果是load,会发送RD信号,把内存中数据送入MDR寄存器, 如果是store,则数据会放入MDR寄存器中,然后发送WE信号,使MDR寄存器中的数据保存至MAR寄存器指定的地址中. (感觉这里是硬件的执行逻辑了.是器材之间电路的联通)

ALU是算数逻辑单元,进行基础的运算. 接受两个输入,一个是寄存器.另一个是寄存器或者是立即数.ALU计算完成会把结果保存在通用寄存器中.同时改变三个条件码寄存器NPZ.

? pc计数器记录下一条要执行的操作.他会在指令周期的取指令节拍最后进行自增来指向下一条指令的地址.但同时上问介绍的控制指令.也是会改变pc计数器的值.因此有了PCMUX,PCMUX是一个三选一的多路复用器(第三章介绍过,多种输入数据,1个输出数据),PCMUX输入包括PC+1(正常执行)、利用offset计算的PC值(控制指令)、MDR(控制指令)

? MARMUX是用来在load,store.trap指令执行期间,选择合适的地址输入.他会根据指令的操作码.来从他的几个输入地址中选择合适的地址.我的理解是他处理了各种不同寻址方式产生的结果.

? IR寄存器保存当前要执行的这个指令.当执行一条指令时,先把它从内存取到内存数据寄存器(MDR)中,然后再传送至IR

? 具体讲解,直接记录了,本指令开头是0110,对应指令格式如下 ,意思是把 baseR +offset6 地址的数据取出来.保存到DR中 DR =M[BaseR + offset6]

? 本章主要分解了LC-3计算机的基础结构,分别是内存,寄存器,指令集,寻址模式,条件码..其中寄存器虽然有好几种,但本质都是存取数据的存储元件,只是保存不同的信息.而指令则分为操作指令(用于计算数据),数据搬移指令(用于移动数据)和控制指令(用于控制指令跳转),在加上三个位寄存器NPZ的配合,就实现了一部分逻辑功能,有点程序的感觉了.

? 接着是指令执行的一个周期中的6个节拍.每个节拍需要一到多个始终周期.而计算书就是根据时钟周期的信号频率还不断的运行.不同的节拍做什么,直接理解记住就好.这就是规则.

? 至于指令,其实操作码是主要的.反复就这集中,有的操作码还根据寻址模式不同,又多了几个变化,其实也是很好理解的

? 寻址模式是为了在不同程度上,在寄存器中的不同位置得到数据,这个也直接记录就可以.没难度

? 对于寄存器.概括就是 MAR记录内存的地址 MDR保存内存的值. PC指向下一个指令地址 IR保存要执行的指令

ZNP记录对寄存器数据变化的结果,用来做逻辑判断.

汇编语言是对机器指令的另一种表示方法.机器并不理解汇编语言.汇编语言最后也要翻译成机器指令.而汇编语言和机器指令的格式有点类似.每条汇编语言通常会对应一个机器指令.汇编语言需要经过汇编器汇编变成机器语言.

LABEL OPCODE OPERANDS ; COMMENTS

? 这个和之前的机器指令是一样的. 操作码决定做什么.操作数决定对谁做.这里同样存在不同的寻址模式.

? ru ADD R1 ,R3,#-1 把R3和 -1相加.结果在保存在R1中,这是立即数寻址方式

? 指向内存单元的一个符号名.可以直接在内存中使用.用来做跳转或者做load/store用,其实是一种地址的简单表示方式如下 brp又跳转到了again标号的地方

? 注释用 ; 隔开,计算机不会别识别.是提供给人看的.

? 伪操作并不会执行,是程序员传递给汇编器的信息.用来指导汇编器的汇编操作.汇编器看到这些信息,会把他们丢弃.

? 告诉汇编器将lc-3程序放在内存的什么位置上.如 .ORIG x3050 表示

计算机外部设备和内部设备各有哪些?

内部设备:电源、主板、CPU、内存、硬盘、声卡、显卡、调制解调器、软驱、光驱

外部设备:显示器、键盘 、鼠标、音箱、打印机、摄像头、扫描仪、数码像机等设备。?

电源的作用是将220V交流转换为电脑中使用的5V,12V,3.3V直流电,其性能的好坏,直接影响到其他设备工作的稳定性,进而会影响整机的稳定性。?

主板把电脑的各个部件紧密连接在一起,各个部件通过主板进行数据传输。电脑中重要的“交通枢纽”都在主板上,它工作的稳定性影响着整机工作的稳定性。?

扩展资料:

显卡在工作时与显示器配合输出图形,文字,其作用是负责将CPU送来的数字信号转换成显示器识别的模拟信号,传送到显示器上显示出来。?

调制解调器通过电话线上网,它的作用是将电脑上处理的数字信号转换成电话线传输的模拟信号。

内存由电路板和芯片组成,特点是体积小,速度快,有电可存,无电清空,即电脑在开机状态时内存中可存储数据,关机后将自动清空其中的所有数据。?

除去计算机的外部设备和内部设备还有计算机的电脑的软件系统?

操作系统软件:人们知道,电脑完成许多非常复杂的工作,但是它却“听不懂”人们的语言,要想让电脑完成相关的工作,必须由一个翻译把人们的语言翻译给电脑。

此时,操作系统软件就充当这里的“翻译官”,负责把人们的意思“翻译”给电脑。由电脑完成人们想做的工作。?

应用软件:应用软件是用于解决各种实际问题以及实现特定功能的程序。?

此外还有程序设计软件:程序设计软件是由专门的软件公司编制,用来进行编程的电脑语言。程序设计软件主要包括语言,汇编语言和高级语言。

计算机的工作原理是什么

 很多人都会用电脑,那么你知道吗我总结了一些资料,供大家参考!

 计算机的基本原理是存贮程式和程式控制

 预先要把指挥计算机如何进行操作的指令序列称为程式和原始资料通过输入装置输送到计算机记忆体贮器中。每一条指令中明确规定了计算机从哪个地址取数,进行什么操作,然后送到什么地址去等步骤。

 计算机在执行时,先从记忆体中取出第一条指令,通过控制器的译码,按指令的要求,从存贮器中取出资料进行指定的运算和逻辑操作等加工,然后再按地址把结果送到记忆体中去。接下来,再取出第二条指令,在控制器的指挥下完成规定操作。依此进行下去,直至遇到停止指令。

 o 程式与资料一样存贮,按程式编排的顺序,一步一步地取出指令,自动地完成指令规定的操作是计算机最基本的工作原理。这一原理最初是由美籍匈牙利数学家冯.诺依曼于1945年提出来的,故称为冯.诺依曼原理。

 什么是计算机的工作原理

 1、计算机系统的组成

 微型计算机由硬体系统和软体系统组成。

 硬体系统:指构成计算机的电子线路、电子元器件和机械装置等物理装置,它包括计算机的主机及外部装置。

 软体系统:指程式及有关程式的技术文件资料。包括计算机本身执行所需要的系统软体、各种应用程式和使用者档案等。软体是用来指挥计算机具体工作的程式和资料,是整个计算机的灵魂。

 计算机硬体系统主要由运算器、控制器、储存器、输入装置和输出装置等五部分组成。

 2、计算机的工作原理

 1冯?诺依曼原理

 “储存程式控制”原理是1946年由美籍匈牙利数学家冯?诺依曼提出的,所以又称为“冯?诺依曼原理”。该原理确立了现代计算机的基本组成的工作方式,直到现在,计算机的设计与制造依然沿着“冯?诺依曼”体系结构。

 2“储存程式控制”原理的基本内容

 ①用二进位制形式表示资料和指令。

 ②将程式资料和指令序列预先存放在主储存器中程式储存,使计算机在工作时能够自动高速地从储存器中取出指令,并加以执行程式控制。

 ③由运算器、控制器、储存器、输入装置、输出装置五大基本部件组成计算机硬体体系结构。

 3计算机工作过程

 第一步:将程式和资料通过输入装置送入储存器。

 第二步:启动执行后,计算机从储存器中取出程式指令送到控制器去识别,分析该指令要做什么事。

 第三步:控制器根据指令的含义发出相应的命令如加法、减法,将储存单元中存放的操作资料取出送往运算器进行运算,再把运算结果送回储存器指定的单元中。

 第四步:当运算任务完成后,就可以根据指令将结果通过输出装置输出。

 指令

 指令是用来规定计算机执行的操作和操作物件所在储存位置的一个二进位制位串。

 指令的格式

 一条指令由操作码和地址码两部分组成。 例如二地址指令格式如下: 操作码 地址码1 地址码2 操作码:用来指出计算机应执行何种操作的一个二进位制程式码。 具体说明指令的性质或功能,每条指令只有一个操作码 。 例如,加法、减法、乘法、除法、取数、存数等各种基本操作均有各自相应的操作码。 地址码: 指出该指令所操作处理的物件称为运算元所在储存单元的地址。 包括著运算元的来源,结果的去向或下一条指令的地址等资讯,不同指令中地址码的个数可以不一样。

 指令系统

 定义 一台计算机所能识别并执行的全部指令的 *** ,称为该台计算机的指令系统。指令系统中有数以百计的不同指令。

 指令的分类:

 1,资料传送指令:用于把储存器或暂存器中的某个运算元复制到指定的储存单元或暂存器中去。

 例如: MOV CL,05H

 解释:将05H储存到暂存器CL中

 2,算术运算指令:用于完成两个运算元的加、减、乘、除等各种算术运算。

 例如: CX=0029H,SI=04EDH,执行指令ADD SI,CX之后

 将暂存器SI中储存的数04EDH和暂存器CX中储存的数0029H相加,

 并把结果存在暂存器SI中

 验算过程如下:

 0029H

 + 04EDH

 0516H

 结果SI=0516H

 3,逻辑运算指令:用于完成两个运算元的逻辑加、逻辑乘、按位加等各种逻辑运算。

 例如:按位求反指令

 BL=FBH,执行指令NOT BL后,

 BL=111110112

 取反后BL=000001002=04H

 4,移位运算指令:用于完成指定运算元的各种型别的移位操作。

 5,位与位串操作:计算机中越来越重视非数值资料的操作,包括位与位串的装入、储存、传送比较、重复执行等,也可包括位串的插入、型存取。

 6,控制与转移指令:通常程式中的指令多数是依次序一条条的顺序执行,但根据指令执行的结果,也可以跳到其他指令或其他程式段去执行。具有这种功能的就是各种型别的转移指令。

 7,输入/输出指令:在微机中,往往把输入/输出装置中与主机可交换资料的暂存器称为I/O埠。同时,把各个I/O埠统一编址。使用输入/输出指令,就可以去存取各种外部装置的I/O埠,实现资料的输入/输出。

 8,其它指令:包括各种处理器控制指令,它们往往由作业系统专用。

 相容性问题

 每种CPU都有自己独特的指令系统,用某一类计算机的机器语言编制的程式难以在其他各类计算机上执行,这个问题称之为指令不相容。 向下相容: 如586机器语言向下相容486机器语言程式。

 指令精简问题 精简指令系统计算机RISC。

 --------------------------------------------------------------------------------

 程式

 为解决某一问题而设计的一系列指令称为程式。 程式和相关资料存放在储存器中,计算的工作就是执行存放在储存器中的程式。 计算机执行程式的过程就是一条一条地执行指令的过程。

 程式的执行又自动地控制着整个计算机的全部操作。 这就是50年前美国数学家冯·诺依曼提出的程式储存和程式控制的思想。这也是目前计算机的基本工作方式。

 指令的执行

 一条指令的执行过程大体如下:

 1指令预取部件向指令快存提取一条指令,若快存中没有,则向汇流排介面部件发出请求,要求访问储存器,取得一条指令;

 2汇流排介面部件在汇流排空闲时,通过汇流排从储存器中取出一条指令,放入快存和指令预取部件;

 3指令译码部件从指令预取部件中取得该指令,并把它翻译成起控制作用的微码;

 4地址转换与管理部件负责计算出该指令所使用的运算元的有效实体地址,需要时,请求汇流排介面部件,通过汇流排从储存器中取得该运算元;

 5执行单元按照指令操作码的要求,对运算元完成规定的运算处理,并根据运算结果修改或设定处理器的一些状态标志;

 6修改地址转换与管理部件中的指令地址,提供指令预取部件预取指令时使用。

 Pentium 处理器中的流水线过程

 由于Pentium中有两个整数ALU,所以它能同时执行两条流水线, 这种结构称为“超标量结构”Superscalar。