计算机组成原理——计算机系统概述

计算机组成原理——计算机系统概述

电脑还在用70年前的设计,可它为啥没被淘汰?,我们每天敲代码却从不碰电路,这中间到底隔了多少层?,你写的程序,最后是怎么变成灯泡亮一下的?

我最近在学计算机组成原理,不是为了考试,是想搞明白一件事:我敲的代码,最后怎么让屏幕亮起来的。老师说这是“计算机系统概述”,听着像教科书目录,但真看进去才发现,它其实讲的是所有数字世界的地基。

冯·诺依曼这个人,1945年写了一篇报告,就定了调子:程序和数据都放内存里,CPU一条条取出来干。现在芯片几千万个晶体管,可最核心那一套——取指令、解码、执行、写回——还是他画的框。不是没人想改,是改不动。就像盖楼,地基打好了,上面再加十层玻璃幕墙,底下的钢筋水泥还是那套。

CPU里所谓“运算器”和“控制器”,早就焊死在一块硅片上了。你买个i5,它里面ALU和CU根本分不开计算机工作原理采用那个科学家的设计思想,就像鸡蛋清和蛋黄搅匀了。但它们干的事没变:一个算加减乘除,一个盯着程序计数器,指挥谁先读、谁后写、哪条指令跳到哪去。

计算机工作原理采用那个科学家的设计思想

计算机工作原理采用那个科学家的设计思想

内存这块最憋屈。CPU跑得飞快,一纳秒干一件事,可等个数据从内存来,得花上百纳秒。这中间的慢,叫“冯·诺依曼瓶颈”。后来人想招:加缓存,一级二级三级,像在CPU门口摆了三个小柜台,常用的东西先放这儿。再后来搞出GPU,干脆让一堆小核自己管自己内存,不跟CPU抢路了。

我们平时写的程序,离硬件远得很。C语言编译出来,先变汇编,再变机器码,链接时还要填地址、接函数。你main函数开头那句,背后可能调了几十个系统调用,操作系统悄悄帮你开了内存页、设了寄存器、发了IO请求。第一次执行时缺页,CPU突然停住,跳进内核去磁盘搬数据——这整个过程你完全不知道,只看到屏幕打出“Hello World”。

有人问:为什么不用更“先进”的架构?比如哈佛结构,指令和数据各走各的路。它其实在单片机、路由器芯片里早用了,但通用电脑没换,因为软件生态太重。、Linux、所有APP,全按冯·诺依曼写的,换架构就得重写一切。不是技术不行,是换不起。

计算机工作原理采用那个科学家的设计思想

性能指标也挺实在。CPU频率现在都叫GHz了,可光看数字没用。你开个浏览器,CPI可能飙到20以上,因为要处理网页、JS、GPU交互;而算一个矩阵,CPI可能压到1以下。MIPS这种老指标计算机组成原理——计算机系统概述,现在连厂商都不提了——它骗不了人计算机工作原理采用那个科学家的设计思想,干不同活,速度差十倍。

存储器也是。你说买个1TB硬盘,数字很亮,但你真往里拷电影,要看是SATA还是NVMe。前者每秒读500MB,后者能到7GB。这不是容量问题,是通路太窄——就像高速收费站只开一个窗口,车再多也堵着。

计算机工作原理采用那个科学家的设计思想

I/O更隐蔽。你点一下鼠标,信号从USB口进来计算机组成原理——计算机系统概述,经过南桥、中断控制器、驱动程序,最后通知你的程序“左键按下了”。中间任何一个环节卡一下,你就觉得“电脑顿了”。可没人怪鼠标,都骂电脑卡。

计算机工作原理采用那个科学家的设计思想

学完这些,我反而不觉得计算机多神秘了。它就是一堆约定好的电路,加上一层层补丁式的设计。程序员写高级语言,是站在一堆人肩膀上;而那些人,又站在更早的一堆人肩膀上。每一层都在偷懒:用汇编省去记二进制,用C省去管寄存器,用省去管内存——可底层那根线,始终连着电流和开关。

昨天我写了个小程序,让它算1到100万的和。运行完,风扇转了两秒。我知道,那两秒里,CPU取了上百万条指令,内存搬了上千万字节,硬盘没动,但缓存被刷了三次。它没思考计算机工作原理采用那个科学家的设计思想,没意识,只是按最老的规则,一遍遍重复那五个动作。

它就这样跑着。

计算机工作原理采用那个科学家的设计思想

公告:
1. 本站所有资源来源于用户上传和网络,如有侵权请联系站长!
2. 分享目的仅供大家学习和交流,您必须在下载后24小时内删除!
3. 不得使用于非法商业用途,不得违反国家法律。否则后果自负!
4. 本站提供的源码、模板、插件等等其他资源,都不包含技术服务请大家谅解!
5. 如有链接无法下载、失效或广告,请联系站长处理!
6. 本站不售卖代码,资源标价只是站长收集整理的辛苦费!如果您喜欢该程序,请支持正版软件,购买注册,得到更好的正版服务。
7. 站长QQ号码 2205675299

资源库 - 资源分享下载网 » 计算机组成原理——计算机系统概述

常见问题FAQ

关于资源售价和售后服务的说明?
本站所有资源的标价均为本站收集资源的辛苦费,不代表资源本身的价值。软件是高智慧高价值的商品,不可能是白菜价。本站资源标价只是赞助费用,收取的赞助费仅用来维持本站的日常运营!毕竟收集整理资料需要投入云计算资源和站长大量的精力。
代码有没有售后服务和技术支持?
由于代码的运行具有不可预见性,本站不保证代码完整可运行,不提供技术支持和售后服务。 本站原创代码都是站长自己开发的,可以有偿提供技术支持服务。 网站里标明【亲测】的代码都是站长亲测过的,其他的代码由于精力有限,没有一一测试,不能保证代码就一定能够使用,更没有技术支持服务,下载前请自行斟酌。
有没有搭建服务?
由于搭建服务比较费时费力,所以本站除了原创代码外均不提供搭建服务。本站分享代码纯属兴趣爱好,不以盈利为目的,请勿咨询有没有搭建服务,谢谢理解。
链接地址失效了怎么办?
请带上资源链接地址联系客服,工作时间内我们看到后将第一时间回复。
关于解压密码
本站资源一般都没有加密,如果发现需要解压密码的,那么就输入 hao.35dc.com 试试。

发表评论

资源库,由老程序员细心甄别、精心筛选,只为提供优质的源码资源

关于我们 联系我们