【计算机组成原理】计算机软硬件组成


先上张图,对计算机的软硬件组成有个大体的认识,接下来就是掰开揉碎这张大图ψ(`∇´)ψ,本文绝大多数图片均为手绘
在这里插入图片描述

分层结构

在这里插入图片描述
其中操作系统的重要性不言而喻,也就是虚拟机M2。对于大工作量的处理,电脑会经常死机,这是因为有些语言程序已经被系统保存,在执行新的工作的时候会重新调用这些语言程序,由于程序相同,原本储存在系统中的程序会被新程序覆盖,而这样的操作,数量级一上来计算机死机就是避免不了的了,M2的作用就是代替开发者协调与管理底层的调用,预防死机的状况。

软件系统

  1. 计算机软件分类
    系统软件:管理整个计算机系统,使系统资源得到合理运用。主要有OS,DBMS等。比较大众的是巨硬windows、MacOS、Android,还有开发者专用的Linux。
    应用软件:通过系统软件提供的接口,完成用户指定的任务。常用的有QQ,Alipay,WeChat……
  2. 计算机工作过程
    1)将数据与程序装入主存
    2)将 源程序 转换为 可执行文件
    3)从 可执行文件 的首地址开始逐条执行指令

源程序 转换为 可执行文件****:
在这里插入图片描述

  • 执行指令过程就请各位跳到控制器的介绍部分进行详细了解

在这里插入图片描述

硬件系统

在这里插入图片描述
此主机非彼,我们常用的台式电脑主机经过长期的发展,组成以及性能上已经非常成熟(风扇,水冷,硬盘……),而上图中说到的主机是在概念上对其进行的定义,下图是对主机的一个拆分概念图:
在这里插入图片描述

跨过早期的 冯机 设计,来到最新的现代计算机结构理念,但是思想不变。
以下都是用白话解说,要背准确概念切勿模仿

I/O设备

在这里插入图片描述

  1. 输入设备:将程序和数据输入计算机。也就是能把我们平时能够操作的信号转换成电信号传给计算机,常见的有:鼠标、键盘、触摸屏……
  2. 输出设备:将计算机的计算结果以规定的形式输出。
    其中类似于多功能打印机的设备既能输入也能输出。

辅存的话就是能辅助主存存储数据的设备,常见的有:U盘机械/固态硬盘以及近几年的高内存移动硬盘etc.

控制器

作为整个硬件系统的主脑,能够基于每个部件的实际需求来下达相关指令,信息的传播与接收都是双向的。
在这里插入图片描述
在这里插入图片描述

上图谈到了很多次指令一词,顾名思义就是计算机下达的命令,由操作码和地址码两部分拼接组成在这里插入图片描述
操作码:决定操作的序列
地址码:表示操作数在存储器中的位置

在这里插入图片描述

指令执行过程:
1)取指令:PC→MAR→M→MDR→IR
程序中第一条指令的地址位于PC中,从PC取出第一条指令到IR,将PC的内容送到MARMAR中的内容直接送地址线,同时控制器将读信号读/写信号线,主存根据地址线上的地址读信号,从指定存储单元读出指令,送到数据线上,MDR数据线接收指令信息,并传送到IR
2)分析指令:OP(IR)→CU
指令译码并送出控制信号控制器根据IR指令操作码,生成相应的控制信号,送到不同的执行部件,这里IR取数指令,因此读控制信号被送到总线的控制线上。
3)执行指令:Ad(IR)→MAR→M→MDR→ACC
取数操作。将IR指令的地址码送到MARMAR中的内容送地址线,同时控制器将读信号读/写信号线,从主存指定存储单元读出操作数,并通过数据线送至MDR,再传送到ACC

注:
每次取指令结束,需要为取下一条指令做准备,形成下一条指令地址:(PC)+1→PC

(PC),(MDR)…… 括号表示括号中位置存放的内容(括号最好不要省略)
OP(IP) (IP)表示从指令寄存器中取数送到CU,OP表示取指令的前边操作码部分
Ad(IP) (IP)表示从指令寄存器中取数送到MAR用以取操作数,Ad表示取指令的后边地址码部分

指令其本质上是一串01代码(二进制码),和数据以同等地位储存在存储器中,一般情况下是按照顺序存放并顺序执行,但在特殊条件下可根据设定改变执行顺序,并按照地址寻访,
在这里插入图片描述
其中由控制器发出的控制信号可以:

  1. 控制修改PC以得到下一条指令的地址;
  2. 控制ALU执行运算的方式;
  3. 控制主存进行读操作 或是 写操作。

存储器

近现代整个硬件系统的中心,通过控制器给予的指令,进行批量存储和释放程序和数据,可存储包括:
①输入数据
②经过运算器运算过后的中间数据
③最终运算结果数据

存储器分为两部分:主存辅存。其中主存就是我们常说的内存,CPU能直接访问;辅存,顾名思义是用来协助主存存储额外程序和数据的,也可以被看作是I/O设备,只有将辅存的内容调入主存才能够被CPU访问,不能被直接访问。

主存:时序控制程序
按存储单元的地址进行存取(按地址存取方式),其中存储体存放二进制信息是按内容访问的。
在这里插入图片描述
MAR
用于寻址,其位数=存储单元个数,与PC长度相等。

eg:MAR是10位,则有210=1024个存储单元,记1K

MDR
位数与存储字长相等,一般是字节二次幂的整数倍。
存储体的基本结构
由众多存储单元组成,每个存储单元包括若干存储元件,每个元件存储一个二进制码(0,1)。依次类推一个存储单元就是一串二进制码,这串二进制码称为存储字,位数称为存储字长(1B或是字节的偶数倍)
在这里插入图片描述
译码器
这里推荐视频讲解
在这里插入图片描述

在概念上MAR,MDR是主存的一部分,但是在实际安装中MAR,MDR,Cache(高速缓存)被安装与CPU中,与主存三线连接:
在这里插入图片描述
其中CPU与主存之间有一条总线相连,总线中有地址控制数据3组信号线。MAR中的地址信息会直接送到地址线上,用于指向读/写操作的主存存储单元;控制线中有读/写信号线,指出数据是从CPU写入主存还是从主存写入CPU。如果是读操作,将MDR中的数据直接送到数据线上;如果是写操作,将数据线上的数据收到MDR中。

运算器

通过控制器传入的运算方法,对存储器传来的数据进行算数运算逻辑运算
在这里插入图片描述

猜你喜欢

转载自blog.csdn.net/qq_43511405/article/details/107523574