浅谈计算机组成原理

博主自己这学期开了一门“计算机组成原理”,觉得有时候有一些问题,百度上的太杂了,所以自己来写写自己的经验,如果不太好、有错误或者觉得不严谨请立即联系我,马上进行修改

计算机系统由软件和硬件构成,软件又分为系统软件和应用软件。系统软件用来管理整个计算机系统,比如操作系统、数据库管理系统;应用软件是按任务需要编制的软件,比如游戏、QQ、微信啥的。(有点像官方和非官方)

再强调两个概念计算机体系结构和计算机组成!

我觉着我刚开始学的时候有点懵逼,计算机体系结构是指:能见到的计算机系统的属性、概念性的结构和功能特性。也就是根据属性和功能不同而划分的计算机理论组成部分,及计算机基本工作原理、理论的总称 (有无乘法指令) 也就是有点偏理论的感觉

而计算机组成原理:是实现计算机体系结构所体现的属性(比如具体指令的实现),即系统结构的逻辑实现 (如何实现乘法指令) 这个就是具体的去实现它

“现代计算机之父”冯·诺依曼提出的冯·诺依曼计算机:指令和数据在同等存储地位。提出“存储程序”概念,以运算器为中心,按顺序访问并顺序执行指令。

他这个以运算器为中心限制了计算机的发展(提高集成度、提升计算机性能等等),所以现代计算机以存储器为中心计算机理论组成

存储器(概述,详细的后面给出,先留个印象):

主要是三大部分存储体、MAR、MDR

存储体M->存储单元->存储元件;存储单元里存放一串二进制代码,即为一个存储字;存储元件呢就是最小的,每个存一位,

MAR:存储器地址寄存器,保存地址,所以可以知道地址长度位数,则反映存储单元个数;如16位地址,则2的16次方 个存储单元(有没有不懂的,就是数学的组合,每个位置0/1两种可能,十六个位置,所以222*…*2,共16个相乘)

MDR:存储器数据寄存器,暂存要写入或取出数据,所以可以知道数据位数,则反映存储字长,且总线宽度和MDR位数相等,比如数据32位,则存储字长为32位,所以4*8b=4B

工作流程简化版的是:CPU给命令,MAR存地址,译码驱动,去存储体M中找对应的存储单元,然后判断是读取还是写入,读的话就是把存储单元里的东西,给放到MDR中,再通过数据总线传输,而写入就是数据总线把数据送到MDR中,MDR再把数据存到相应的存储单元里

所以MAR和MDR相当于接口寄存器

运算器(概述哦!)

ACC是累加器(对应于accelerate),ALU(算术逻辑单元)是进行逻辑运算的部件,X可以理解为暂时存放运算数据,MQ也是,但是存放的有点不同
运算器组成
四则运算各部件的情况

先说明一点 A+B=C ,这样的里面A是被加数,B是加数,因为是A被加上了一个数,加的是B。其他运算也是同理的。因为我自己有点懵逼所以说一下~

因为加和减运算三个数的位数是不变的(好像不太对,10-10还等于0呢,但是!这都不是重点),加减运算位数没有太大变化,所以只用到了ACC和X;而乘除,比如100*100是10000,结果位数变化很大,所以用上了MQ;而除法因为是整数除法,所以要存余数和商(所以MQ是乘除用的,M–multiplication乘法,可以这么记),MQ都是用来放结果的,比如放乘积和商,余数放在了ACC里

控制器(主要组成是CU+IR+PC):解释指令,保证指令按序执行

PC(程序计数器program count),存放当前欲执行指令的地址,具有记数功能(有点像指针,执行完一条指令之后PC+1,即指向下一条指令);IR(指令寄存器instruction register)存放当前欲执行的指令;CU(控制单元)发出各种控制信号,负责指令译码

取指令:PC中存取指令这一指令的地址→将地址传给MAR→到存储体M中找到指定地址的取数指令→MDR存该指令→送给IR存该指令→IR将指令的操作码给CU→IR将指令的地址码传给MAR→存储体中取数据→数据存到MDR中→再把数据送到ACC

取指令步骤
好啦,第一次写小文章就写到这里啦,这些都是我自己学,仅是为了与大家交流合作,如果有错误和意见,请不吝赐教。这些都是基本概念,留个印象和认知,针对的是某一些机型。有详细的补充我后面会更新哒。

本人计算机科学与技术专业,对其他计算机课目想了解的同学可以看看其他文章,只是和大家分享经验,总结一下自己的心得和认知。

文章有些资料参考于其他来源,侵删(如果对你有用的话,可以点个赞或者关注呀!)

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值