计算机组成原理(一)计算机总体结构

做程序员怎么能不了解计算机是怎么运作的呢?对吧,这里我开辟一个专栏将我了解的计算机知识梳理并输出一下,希望能对看到这篇文章的你有所帮助。

本章主要介绍一个计算机的基本组成结构,希望读完这篇文章后能让你对计算机有一个宏观的认识。

冯诺依曼体系结构

当下我们常用的计算机,是由一堆硬件组合而成的一个体系结构,这个结构被成为冯·诺依曼结构

冯·诺依曼体系规定了计算机有五个部分组成:运算器、控制器、存储器、输入设备、输出设备。

其中运算器和控制器如今已经被集成在CPU中,存储器涉及我们常用的内存条,硬盘,输入设备最常见的就是鼠标、键盘,输出设备如显示器,扬声器等。这其中能保证计算机正常运作的基础部件就是CPU和存储,比如我们码农常说的服务器,就是一个单纯的主机,没有直连的输入输出设备,基本靠我们远程ssh通过网络来进行连接操作。

可编程计算机

冯·诺依曼体系结构也叫存储程序计算机,它有两个基本概念,一:可编程计算机,二:存储计算机。

可编程计算机是什么?我们对比一下不可编程计算器就明了了。我们知道计算机是由一堆门电路通过线路板连线组装好后,来完成一个特定的计算程序。比如说我们算账时常用的计算器,只能做设置好的加减乘除等操作,其他额外的事情就不支持了,你让他执行一个冒泡排序的算法肯定是不得行的,对吧。而我们现在的个人电脑或者服务器,可以执行我们各式各样的定制化程序而不用修改电路,这就是可编程计算机。

存储计算机又是什么?所谓存储计算机,就是说程序存储在内存中,计算机可以通过与内存交互执行程序编排好的指令集合。我们做程序开发应该非常了解,一个进程启动起来后,会占用一部分内存空间,也就是说将程序放到了内存中。当然进程未启动前程序是躺在硬盘中的,但是CPU只会跟内存直接交互,所以这里的“存储”指的是内存。

 有“存储”计算机,那自然也有非存储计算机,例如Plugboard,就是一个插线板式的计算机,通过在板子上不同的接口处插入线路来实现不同的功能,这样的话,每改变一次计算机的功能就需要重新插板子,重新“编程”。

运算器

程序员都了解,一个指定的程序和数据必定输出一个固定的结果,而根据程序和数据来计算结果的部件在计算机里就叫做运算器。运算器中包含算数逻辑单元(Arithmetic Logic Unit,ALU)和寄存器。ALU的主要功能就是在控制信号的作用下,完成加、减、乘、除等算数运算及与、或、非、异或等逻辑运算以及移位、补位等运算。寄存器可以用来暂存指令、数据或地址。ALU和寄存器协作完成一个运算过程。

控制器

控制器主要用来管控程序的执行顺序,由指令寄存器和程序计数器构成基本单元,程序计数器存放当前执行指令的地址,指令寄存器存放当前正在执行的指令。指令通过译码后可以控制运算器、存储器、IO设备的工作以及后续指令的获取。

运算器和控制器共同组成了CPU。

存储器

存储器存储指令和数据,主要指内存,我们将内存叫做主存储器。CPU的速度往往比内存要快得多,于是CPU将当前频繁访问的数据,放到了自己的高速缓存中。内存的数据是运行时生效的,计算机一断电就完全消失了,所以数据需要持久化保存的话,就得需要外部存储,通常指硬盘。

CPU高速缓存+内存+硬盘 构成了现代计算机的存储结构。

输入/输出设备

输入输出设备即IO设备,辅助计算机与外界进行信息交换。传统的IO设备有键盘、鼠标、打印机和显示器等;新型的IO设备能进行语音、图像、影视的输入、输出和手写体文字输入,并支持计算机之间通过网络进行通信。

二进制指令

计算机只认识机器码,程序员通过高级语言(java,python,golang…)编写的各种程序都需要翻译成机器码才能被计算机执行。机器码是二进制代码,即只有0和1两种码,二进制码可以方便实现各种门电路,运算也很高效。

总结

以上就是计算机的一个整体的宏观架构了,计算机的每一个部分都可以被划分到【运算器、控制器、存储器、输入设备、输出设备】这五项之一中。一个进程运行起来后会被加载到内存中,形成一个指令和数据的集合,控制器会按照逻辑顺序不断地从内存中拿取指令与数据并交给运算器去执行,运算器执行完后控制器可能将结果刷回内存或者放入磁盘等,这样一套协作流程就是计算机运行的一个基本流程。接下来的文章我将带您深入探究下CPU和存储、IO等部件的内部实现逻辑。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值