计算机组成原理(一)-基本组成

为什么要学习计算机组成原理?

所谓“练拳不练功,到老一场空”,越早的学习计算机底层只是,可以越早的享受底层知识带来的“红利”,好多我们生产工作过程中遇到的问题,如缓存的使用、线程的使用、线程池为什么不是越大越好、volatile关键字的使用原理等,都能在计算机底层知识中找到答案。而我,深受其害,所以痛定思痛,决定重学计算机底层知识!

那么我们作为软件开发人员需要学习计算机组成的哪些知识?

作为软件开发人员,可能我们不太需要去直接接触硬件,所以我们应该通过硬件运行原理能对应到我们实际开发中的问题,所以我把计算机组成原理的知识分为了解、记住、理解三层,我会对知识点进行标识,当然,了解的最好能记住,记住的最好也能理解清楚对不。

计算机总线(了解)

计算机存储器(了解)

CPU的高速缓存(理解)

计算机指令执行(理解)

计算机编码二进制及浮点数(最好记住)

计算机的IO(最好理解)

下面开始正文部分

计算机的基本组成:

计算机的范围比较大,无论是个人电脑、服务器、智能手机,还是 Raspberry Pi 这样的微型卡片机,都是计算机,而他们也都遵循着一个"计算机"的抽象概念,那就是计算机祖师爷之一的冯诺依曼的"冯诺依曼体系结构",虽然随着时代的发展,他的一些理念被淘汰,但是他的基本组成部件一直沿用至今。

 

 

 

冯诺依曼认为,一个完整的,可编程的存储计算机,首先要有一个包含算术逻辑单元(Arithmetic Logic Unit,ALU)和处理器寄存器(Processor Register)的处理器单元(Processing Unit),用来完成各种算术和逻辑运算。

然后是一个包含指令寄存器(Instruction Reigster)和程序计数器(Program Counter)的控制器单元(Control Unit/CU),用来控制程序的流程,通常就是不同条件下的分支和跳转。

其次是用来存储数据和指令的存储设备-内存,最好有一个分担内存压力的更大容量的外部存储器。

最后为了保证人们的正常使用,还应该包含输入设备,输出设备和对应的输出输出机制以达到人机交互的目的。

所以计算机有五大组成部分组成,分别是:运算器、控制器、存储器、输入设备和输出设备。如果说计算机最重要的组件,是承担了运算器和控制器作用的 CPU,那内存就是我们第二重要的组件了。内存是五大组成部分里面的存储器,我们的指令和数据,都需要先加载到内存里面,才会被 CPU 拿去执行。

运算器(ALU):负责进行算数,逻辑运算的处理单元。内里包含多个寄存器,负责具体指令的执行及结果的存储,线程切换时现场保护。

控制器(CU):主要用于协调和控制计算机运行。包含程序计数器(PC寄存器),时序发生器(具体的指令脉冲),指令译码器(对指令进行翻译),指令寄存器(存储指令)等多个组件,主要用于接收指令,分析指令,偶尔执行指令,大多数会将指令交给运算器执行。

存储器:存储设备,用于存储指令及数据,分为内存储器和外存储器,所有的程序包括操作系统都是需要加载到内存才能使用。

输入输出设备:用于数据输出输出,人机交互,暂时不做详解。

 

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值