大家好,我是贺贺,一个爱唱歌但是五音不全的程序员

计算机组成原理系列

计算机的五大组成部分(计组学习一)
计算机各个部件配合完成加减乘除(计组学习二)

计算机的故事

在开始啃计算机组成原理(下文简称计组)这个大骨头之前,先和大家聊聊我对计算机的理解。我对计算机的学习是从C语言开始的,当时的感觉就是神奇,没想到我一这样,计算机就可以那样,其实内部的原理我也曾经想去了解过,说好听点就是实力不允许,不好听就是懒笨呗。正文开始,我们可能听说过,计算机只能识别01,但是我们在编程的时候或者在使用计算机的时候,也没有用01来控制计算机,但是计算机依然能按照我们的想法来执行,例如我们点击鼠标或者敲击键盘,计算机都能识别,再或者,我用代码打印Hello World,计算机也能正常输出,表面上看这是一件很神奇的事情,其实背后隐藏着很大的秘密。

早期的程序员真的是通过01来进行编程的,那个时候的程序员真的是不少费劲,而这种通过01来进行编程的语言有个可爱的名字,叫做机器语言,反正我是看不懂。随着时代的发展,人们为了降低编程的难度,在机器语言的基础上,把各个01的指令用英文代替,例如ADD、SUB等人们容易记忆的形式给出,其实这些英文的背后还是01代码,当我们用这种ADD指令进行编程的时候,计算机会把这些指令翻译成01代码,至于怎么翻译的,可以理解为有一个表,ADD就对应000011,其他的依次对应,而这种用字母来代替01的语言也有个好听的名字,叫做汇编语言。但是由于程序员还是需要记住很多与01对应的英文,整体来看编程的难度还是比较大的,于是后面又有人发明了高级语言,例如我们熟悉的C语言Java语言或者JavaScript。这些语言呢可以通过编译或者解释的方式把高级语言转化成汇编语言,然后再转化成01,或者是直接转化成01。C和Java属于编译型的语言,一次编译之后,后面计算机就可以直接认识,不用二次编译,除非你有改动例如C语言和Java。解释型的语言是,用一句翻译一句,再次使用需要二次翻译例如JavaScript。

计算机的核心部件

计算机由哪几个核心部件组成呢
我觉得是:键盘、鼠标、主机、显示器四大核心部件
专家说:不对,是五大核心部件:
我说,那另一个是什么呢:
专家说,另一个是音响
我说:你不会在开玩笑吧
专家说:是你先开玩笑的

计算机的五大核心部件分别是控制器、运算器、存储器、输入设备和输出设备组成。

输入输出设备

输入设备例如我们的键盘、鼠标,输出设备例如显示器、打印机。

控制器

控制器可以说是计算机的核心部件。控制器里面有一个控制单元,专家们习惯称它为CU(Control Unit),CU是控制器的核心,换句话说就是,CU是计算机的核心的核心。(贺贺有话说,制作CU的时候一般有两种指令集,一个是CISC另一个是RISC,可能大家没怎么听过,但是,由这两种指令集产生的架构你们应该知道,x86架构和ARM架构,如果还没听过,那么Intel应该知道吧,我们熟悉的i5、i7就是x86架构的,另外苹果的M1芯片是ARM架构的,之前苹果电脑用的大部分是intel的芯片,现在他们自己搞了,从理论上说,性能和续航都是明显提高的)。扯远了,控制器里还有两个重要的东西,分别是程序计数器PC(Program Counter)和指令寄存器IR(Instruction Register),其中,程序计数器用来控制下一条要执行的指令,而指令寄存器用来存储当前要执行的指令,套娃开始,指令寄存器又可以分为两个部分,分别是控制码和地址码。

运算器

运算器的重要性仅次于控制器,如果控制器是总指挥,那么运算器就是总实施。故名思意运算器是负责完成各种运算的。其中运算器里面有一个最重要的东西就是算术逻辑单元ALU(Arithmetic Logical Unit),主要负责运算的,另外还有三个(可能更对)寄存器,复杂ALU完成运算,分别是累加寄存器或者叫累加器ACC(Accumulator)、乘商寄存器MQ(Multiplier Quotient Register)和一个操作数寄存器或者叫通用寄存器X。这几个寄存器主要用来存放运算过程中的数字的,例如被加数、加数、和。(说明:他们之间是有数据流通的,这里没有画出箭头,只是画出了各个单元)

存储器

存储器分为主存储器和辅存储器,在我们买电脑的时候,可能有这么两个参数8GB+256GB,其中这个8GB就是主存储器的容量,而这个256GB就是辅存储器的容量(补充:辅存储器通常分为固态硬盘和机械硬盘,不过现在大部分都是固态硬盘了)而主存储器里有一个核心的组成部分,就是存储体M(Memory),另外有两个寄存器分别是地址寄存器MAR(Memory Address Register)和数据寄存器MDR(Memory Data Register),当我们要去存储体取数据的时候,我们需要提供该数据的地址,通过该地址去存储体里取,取出来之后放到数据寄存器中,以供后续使用。

参考文献

  • [1]计算机组成原理 唐朔飞
  • [1]计算机组成原理 王道论坛

计算机的五大组成部分(计组学习一)相关推荐

  1. 计算机各个部件配合完成加减乘除(计组学习二)

    大家好,我是贺贺. 计算机组成原理系列 计算机的五大组成部分(计组学习一) 计算机各个部件配合完成加减乘除(计组学习二) 预热一下 当我们了解了计算机的五大组成部分后,下面我来聊聊计算机的各个部件是怎 ...

  2. 计算机硬盘系统的五个基本组成部分,计算机的五大组成部分

    计算机五大组成部分 1.控制器:计算机的控制系统 2.运算器:计算机的运算系统 -逻辑运算(判断事物的对与错) -数学运算(1+1) 控制器 + 运算器 = 中央处理器(CPU) 3.存储器:计算机存 ...

  3. 【转载】计算机的五大组成部分

    计算机五大组成部分 1.控制器:计算机的控制系统 2.运算器:计算机的运算系统 -逻辑运算(判断事物的对与错) -数学运算(1+1) 控制器 + 运算器 = 中央处理器(CPU) 3.存储器:计算机存 ...

  4. 计组学习总结(被逼无奈)

    计算机组成原理: ###计算机基本概况 ##冯洛伊曼结构的特点 1.二进制表示信息 2.采用存储程序的工作方式(核心) 3.计算机硬件系统由五大部分组成 (存储器,运算器,控制器,输入设备和输出设备) ...

  5. 计组学习笔记(一):浮点数的表示和运算

    最近学习计算机组成原理,遇到许多疑难问题,接下来写一写我在学习浮点数方面知识的理解,在巩固的同时也方便日后的复习. 一.浮点数的表示 1.浮点数的表示格式 浮点数,顾名思义,就是小数点不固定的数.计算 ...

  6. 计组学习笔记之总线系统

    目录 总线的概念和结构形态 总线的基本概念 总线的分类 总线的物理实现 总线的特性 总线的性能指标 总线的连接方式 单总线结构 双总线结构 三总线结构 多总线结构 总线的内部结构 早期总线内部结构 现 ...

  7. 计组学习笔记(四):高速缓冲存储器Cache

    一.为什么要有Cache 我们知道存储器的层次结构为,CPU-->寄存器--Cache--主存--磁盘--磁带.光盘,假设没有Cache这一层,那就相当于我CPU要想找东西直接去主存找,CPU速 ...

  8. 计组学习笔记之CPU(3)——硬布线控制器和微程序控制器

    目录 控制器 控制器的结构和功能 硬布线控制器 硬布线控制器的定义 硬布线控制器结构 逻辑网络输入信号的三个来源 硬布线控制器的基本原理 微操作控制信号 微操作控制信号的产生 安排微操作时序的原则 微 ...

  9. 冯诺依曼机器人_冯·诺依曼型计算机的五大组成部分是什么?

    在DSP算法中,最大量的工作之一是与存储器交换信息,这其中包括作为输入信号的采样数据.滤波器系数和程序指令.例如,如果将保存在存储器中的2个数相乘,就需要从存储器中取3个二进制数,即2个要乘的数和1个 ...

最新文章

  1. [C#]解决生成的缩略图模糊的问题
  2. crt脚本怎么添加等待时间_抖音文案怎么写吸引人?130个抖音文案素材、案例分享!...
  3. linux/unix编程手册-61_64
  4. WebSocket基础知识笔记
  5. java中byte、short、char、boolean实际都是按照int处理的!
  6. SQL Server2008附加数据库失败
  7. 2014522920145316《信息安全系统设计基础》实验一 开发环境的熟悉
  8. BP算法:原理推导数据演示项目实战1(转)
  9. @Transactional注解的几个参数--事务传播控制--事务隔离级别--异常与回滚
  10. Android记事本定时功能,Android如何实现记事本功能
  11. 计算机毕业设计django基于python药房药品管理系统(源码+系统+mysql数据库+Lw文档)
  12. android防全家桶html5,不要再用全家桶浏览器了!五款轻量级安卓浏览器,体积小,功能强...
  13. linux下载ed2k资源,linux下迅雷替代方案-linux下载工具
  14. 2018 百度之星 初赛 第六题 HDU6349
  15. uni-app小程序分享
  16. 18.Adaptive AUTOSAR 架构-核心类型CORE
  17. C++调用python并获取其返回值
  18. android 辅助功能 长按发语音,简单模拟微信长按语音发送效果
  19. 联发科最新资料下载:MT6771 ATM’s
  20. python-pptx学习总结

热门文章

  1. HDU2111 Saving HDU 【贪心】
  2. 不能调试的问题的解决
  3. And Design:拓荒笔记——Form表单
  4. 通过Xshell来访问和连接Linux
  5. 【牛客网】——字符串的旋转
  6. Disconnected from the target VM, address:xxxx 或者 Process finished with exit code 1 终极解决办法 idea
  7. Linux服务器性能监控工具
  8. NAT技术代理服务器
  9. c语言case语句块,JavaScript使用Switch语句来选择将要执行的代码块
  10. 寻路的几种算法_Godot游戏开发实践之二:AI之寻路新方式