HarmonyOS开发者限时福利来啦!最高10w+现金激励等你拿~ 了解详情
写点什么

计算机底层知识第一课,你搞懂了吗? | 极客时间

  • 2019-04-23
  • 本文字数:2416 字

    阅读完需:约 8 分钟

计算机底层知识第一课,你搞懂了吗? | 极客时间

对于程序员来说,计算机组成原理相关知识重要吗?


不知道大家有没有发现各个大学计算机系的培养计划,它们都有差不多十来门核心课程。其中,“计算机组成原理”却是入门和底层知识的第一课。


为什么这样说?想象一下,一名赛车手不知道赛车的内部构成和工作原理,你觉得他能驾驭赛车,在专业赛事中夺冠吗?


同样的道理,要成为一名优秀的软件工程师,写得一手好程序,就要了解计算机是怎么工作的,深入计算机组成原理。


我们直接用肉眼来看,计算机是由 CPU、内存、显示器这些设备组成的硬件,而大部分人工作后从事的是软件开发,显然,在硬件和软件之间需要一座桥梁,而“计算机组成原理”就扮演了这样一个角色,它既隔离了软件和硬件,也提供了让软件无需关心硬件,就能直接操作硬件的接口。


简单地说,你只需要对硬件有原理性的理解,就可以信赖硬件的可靠性,安安心心用高级语言来写程序。无论是写操作系统、编译器这样的硬核代码,还是写 Web 应用、手机 App 这样的应用层代码,你都可以做到心里有底。



如上图,学习组成原理之后,向下,你可以学习数字电路相关的课程,向上,你可以学习编译原理、操作系统这些核心课程。它会让你真正对计算机的知识有一个全局的了解。


当然,这门课还可以直接解决你在并发编程、性能优化中经常遇到的一些困惑,比如 CPU Cache 的原理是什么,CPU 和 I/O 之间是如何通信的,虚拟内存是要解决什么问题。


如果你看过倚天屠龙记,会发现张无忌几个时辰,就把别人几十年没有练成的乾坤大挪移学会了,最根本的原因,是他有“九阳神功”练就的内功底子!


同样的,深入学习这门“底层知识”,就是在练扎马步、核心肌肉力量,提升你自己的“根骨”和“资质”,从而拔高你发展的上限。


在很早之前,极客时间的编辑找到我,想让我开一个**计算机组成原理的课程,在考研统考的 4 门核心基础课程中,极客时间已经出了数据结构与算法、操作系统,计算机网络相关的 3 门很受欢迎的计算机基础课程,这是第 4 门也是非常重要的第一课,**等你做了多年开发以后,会发现,原来这么多年就是围绕这 4 门课程打转。


我身边想打好这门“硬核内功”的工程师很多,大都是买了资料,前面 100 页已经发黄了,后面 500 页从来没有打开过;不少非科班出身的程序员,直接说“这些书根本看不懂”,典型的“买书如山倒,读书如抽丝”。


总结大家的学习体验就是:很底层,很重要,但是太抽象,概念多,难理解,不好学以致用。


基于此,我和极客时间共同打磨了《深入浅出计算机组成原理》专栏,不同于学校的课程和市面上的其他资料,在这个专栏构思之初,我就给自己定了一个交付目标:


我会结合自己多年硬件研究和软件开发经验,通过日常工作实际场景+硬件发展历史+软件开发案例,深入浅出的为你讲解计算机组成原理的核心知识,教你真正看懂、学会、记住,从源头理解软、硬件的共同之处,洞悉性能问题的本质,学以致用。

我是谁?

我是徐文浩,一个目前正在创业的工程师。如果从 7 岁第一次在少年宫写程序开始算起,到今天,我的码龄快有 30 年了。2005 年上海交通大学计算机系毕业后,在 Trilogy Software 写过各种大型企业软件;曾任 MediaV 技术总监,从零开始搭建支撑每天百亿流量的广告算法系统,提升了十倍以上的广告收入和 ROI;2016 年底进军人工智能领域。我创办的 BotHub.AI,是唯一进入 F8 大会开发者代表的中国公司。


为了方便大家的学习,我特地整理了一份学习脑图,希望你对将要学习的内容有个总纲的了解,做到心中有数。


你能获得什么?

1.学以致用的计算机底层知识


在专栏中,我将以日常开发中的真实案例,让你理解计算机的各个组件是怎么运作的,遇到问题的根源是什么,从知识→应用→知识,形成闭环,学以致用。


比如说,CPU 里面的冒险和分支预测的策略,就好像在接力赛跑里面后面几棒的选手早点起跑,如果交接棒没有问题,自然占了便宜,但是如果没能交接上,就会吃个大亏。


2.30+计算机组成原理核心要点


知识点琐碎难记?没关系,我会把整个的计算机组成原理通过指令、计算、CPU、存储系统和 I/O 串起来,以一个程序的执行过程进行逐层分解,从历史视角讲清楚“是什么”,结合案例讲清楚”怎么做“,带你搞懂计算机组成原理中最核心、最重要的内容。


3.洞悉性能问题的本质


学习计算机组成原理,其实就是理解计算机是怎么运作的,以及为什么这么运作。在此基础上,我们才能又快又准地优化性能,提升效率。而我们想要解决性能问题,其实就是在此基础上,去关注时钟周期时间、每条指令的平均时钟周期数 CPI、指令数。


4.组成原理在工业界的实际应用


理解了计算机各个组件的运作之后,最后我将手把手带你实操。利用存储器层次结构设计大型 DMP 系统,并通过 Disruptor,跟你一起感受 CPU 的风驰电掣,让你真正学有所用。


总之,学好这门“硬核内功”,会让你在整个软件开发领域中,看到更加广阔的天地,它还会为你带来更多的职业发展机会,比如像我自己的团队里,有个小伙伴开始是做算法应用开发的,因为有扎实的计算机基础知识,后来就转去开发 TVM 这样的深度学习编译器了,是不是很厉害?

现在订阅有什么福利?

1、限时优惠 ¥68~~(原价 ¥99)~~,2 杯咖啡的价格,助你打好这门“硬核内功”;分享海报,邀请好友订阅即可获得¥24 的返现,多邀多得,上不封顶,APP 内立即提现。


2、订阅专栏后,在留言区里聊聊「你对计算机组成原理是如何认识的?在工作中有什么应用?」,点赞第 1 名,可获得极客时间 99 元任意课程,活动截止 4 月 25 日 24:00。


3、今日订阅,还可加入「计算机组成原理学习小组」,仅限前 500 人,还可免费领取 2019 极客时间 50G 程序员进阶资料包,在「极客时间」服务号后台对话框,回复【计算机】领取!


专栏详细目录


“练拳不练功,到老一场空”。越早弄清楚计算机的底层原理,在你的知识体系中“储蓄”起这些知识,也就意味着你有越长的时间来收获学习知识的“利息”。长久的”复利效应“,会让你的未来走的更远更轻松。


文章出自极客时间《深入浅出计算机组成原理》专栏


2019-04-23 15:2218711

评论

发布
暂无评论
发现更多内容

神马操作!Kafka 竟然宣布弃用 Java 8

收到请回复

Java kafka 后端 java8

自定义View:如何绘制一个饼图

Changing Lin

10月月更

互动视频和5G的相互成就

脑极体

升级了 Windows 11 正式版,有坑吗?

王磊

4年CRUD小职员,五面阿里艰苦经历(定薪45K),回馈一波心得体会

收到请回复

Java 程序员 面试 后端 面经

这么卷吗?大三学生喜获阿里提前批

Java 程序员 架构 后端

飞桨与海光人工智能加速卡DCU系列完成互证,助力国产AI加速 卡人工智能应用创新

百度大脑

人工智能 深度学习 飞桨

字节总监毕生心血总结:收获,不止SQL优化抓住SQL的本质

Java 程序员 架构 面试 计算机

真香!兜兜转转还是得看你“阿里面试参考指南”

Java 程序员 架构 面试 后端

总结出这份学习笔记,帮助朋友成功跳槽!六年阿里工作,苦熬到 P7经验分享!

Java 程序员 架构 后端 工程师

横空出世!IDEA画图神器来了,比Visio快10倍

收到请回复

Java IDEA idea插件

一女程序员因薪酬问题离职,rm -f * 删库,瘫痪6个小时,被判9个月

收到请回复

Java 程序员 面试 面经

通关宝典!Java 面试核心知识让你面试过,过,过!

Java 程序员 面试 后端 构架

刚上岸字节年薪60W的Java架构师,耗时半年总结的24W字面试手册

Java 程序员 架构 面试 后端

2021金九银十Java面试经历:腾讯5面(已拿offer)

Java 编程 程序员 架构 面试

被疫情“带飞”的家庭健身市场,是时候卷起来了

脑极体

Java高级、架构师必备!Lucene+ElasticStack入门至项目实战!

Java 架构 面试 程序人生 编程语言

内卷破坏者!“阿里爸爸”全新出品SpringBoot高级笔记(全彩版)

Java 编程 架构 IT 计算机

谁说GitHub才能出经典?出自牛客网的Java程序员逆袭手册才是YYDS

Java 程序员 架构 面试 计算机

区块链通证经济的意义

CECBC

Leetcode题目解析:274. H 指数

程序员架构进阶

面试 算法 LeetCode 10月月更

想不到吧!这本字节算法大佬562页《算法中文手册》,在Gihub上排名第一!

Java 架构 面试 程序人生 编程语言

凌晨加班回家路上捡到阿里技术人限产的MySQL高级笔记及面试宝典,从此我的人生像开挂一样!

Java 架构 面试 程序人生 编程语言

面试多次被拒,“两个月”61天,我收到了蚂蚁金服P7级的offer

Java spring 程序员 架构 编程语言

无敌!学透美团老哥的这套微服务进阶学习手册拿个P7还是so easy!

Java 架构 面试 程序人生 编程语言

TypeScript 中的 Index Signatures

Regan Yue

typescript ReganYue 10月月更

没想到!阿里技术大佬独家收藏的pring全家桶小册,竟被我意外发现!

Java 架构 面试 程序人生 编程语言

怒肝 Linux 学习路线,这回不难

程序员鱼皮

Linux 编程 后端 开发 java

ToB产品如何自传播(上)

石云升

产品经理 产品设计 产品思维 10月月更

发布两小时,霸榜GitHub!Spring Boot实战文档

Java 编程 程序员 后端 计算机

双非本科猛斩6个offer,秘籍公开!

Java 程序员 架构 面试 后端

计算机底层知识第一课,你搞懂了吗? | 极客时间_语言 & 开发_徐文浩_InfoQ精选文章