计算机采用冯·诺依曼
的硬件结构与存储程序原理。
在多体并行存储系统中,解决由于I/O设备向主存请求级别高于CPU而导致等待降低CPU工作效率的现象。
主存可将CPU要取的信息提前送至缓存,解决CPU与主存之间速度不匹配问题,工作速度大约为主存的5~10倍,容量较小
ACC + r = ACC
ACC * r = ACC
指挥和控制计算机执行自动化操作的一串二进制代码(最小功能单位),也就是机器指令。
指令 = 操作码 + 地址码
有些操作有时序,需要注意先后关系,等待其它操作完成,细化在每一个时间点上能够执行的操作放到一个微指令中不同的放到其它微指令中。
在程序执行时,指令和操作数都在内存某个单元中,访问时需要按照地址进行访问,那么形成操作数或指令地址的方式就称为寻址方式。
在执行指令时无论当前累加器的运算结果是负数、零还是正数,标志寄存器都会将其保存,并负责存放溢出(运算结果超出寄存器长度范围)和奇偶校验的结果。
程序的比较指令就是在CPU内部做减法运算
任何操作都要先取指令
控制器控制运算器中指令执行的先后顺序,取指令–>分析指令–>执行指令
MQ乘商寄存器
PC程序计数器(存储程序首地址,为下次取地址做准备)
IR指令寄存器(存放当前要执行的指令)
分析操作码—>控制单元—>控制相应部件
不同的计算机有不同的指令,一台计算机所能执行的全部指令称为该计算机的指令系统。指令系统也就是计算机软硬件之间交互的接口。
特征 | CISC | RISC |
---|---|---|
中断 | 一条指令结束后响应 | 一条指令执行到适当地方可以响应 |
应用范围 | 通用机 | 专用机 |
指令的有序集合。
程序 = 指令 + 数据
例如C语言 printf("Hello World!");
, printf
是指令, Hello World!
是数据。
程序的执行流程分为顺序执行、条件分支、循环三种,由程序计数器来决定程序流程,控制器会根据程序计数器的数值通过寄存器从内存中读取数据和指令。
计算机在执行程序时出现异常情况或特殊请求停止程序的运行,转而对这些异常情况或特殊请求进行处理,处理完毕后再返回中断处执行原程序。
CPU由控制器和运算器组成,后期随着集成电路的发展原本在CPU外部的部件也集成到CPU内部,如浮点运算器,Cache,因此现代CPU可理解为由控制器、运算器、高速缓冲存储器三部分组成。
整个计算机系统的指挥中枢,按照时序通过对指令流和数据流的有序执行来控制程序的实现过程。
机器语言
由二进制0、1代码组成,机器语言是计算机CPU唯一识别的语言。只有机器语言编写的程序能被计算机直接执行,汇编语言以及高级语言必须经过解释或编译才能执行,一条机器语言的执行也是相当复杂的。
汇编语言
为了便于编写和阅读机器指令程序,每条指令采用助记符来编写,例如ADD,AAA,DEC,MOV等,称为汇编语言指令。
CPU一次存取加工和传递的数据称为字,这一次能处理数据的二进制位数也就称为字长(与CPU中的寄存器位数有关),字长越长,速度越快,精度越高。
计算机存储的基本单位是字节B,一个字节由八位二进制位b组成。1B=8b,1KB=1024B,1MB=1024KB
速度单位无法评价不同指令集的处理器性能,假如要执行的指令数目更多,但每条指令执行的速度更快,则MIPS是性能无关的。
除此之外,还应该考虑系统兼容性,系统可靠性(MTBF),系统可维护性(MTTR)等。
连接计算机各个部件的信息传输线,是各个部件共享信息的传输介质
串行的接收方数据一位一位的接收,单条数据线进行传输
并行总线在机器内部,传输距离近,传输距离长时线和线之间会有干扰信号会发生变形,串行总线传输距离远
并行须每条线路数据都到位才能进行下一步,若有一个线路信号慢,其它线路都要等待
复用是为了减少芯片的管脚数,缩小体积(潮汐车道)
带宽=频率x数据线数量÷8
按照一定标准生产的部件,方便集成各种模块。