01|CISC & RISC:从何而来,何至于此
LMOS
你好,我是 LMOS。
这个专栏我会带你学习计算机基础。什么是基础?
基础就是根,从哪里来,到哪里去。而学习计算机基础,首先就要把握它的历史,这样才能了解计算机是怎么一步步发展到今天这个样子的,再根据今天的状况推导出未来的发展方向。
正所谓读历史方知进退,明兴衰。人类比其它动物高级的原因,就是人类能使用和发现工具。从石器时代到青铜器时代,再到铁器时代,都是工具种类和材料的发展,推动了文明升级。
让我们先从最古老的算盘开始聊起,接着了解一下机械计算机、图灵机和电子计算机。最后我会带你一起看看芯片的发展,尤其是它的两种设计结构——CISC 与 RISC。
从算盘到机械计算机
算盘就是一种辅助计算的工具,由中国古代劳动人民发明,迄今已有两千多年的历史,一直沿用至今。我准备了算盘的平面草图,你可以感受一下:
上图中周围一圈蓝色的是框架,一串一串的是算椽和算珠,一根算椽上有七颗算珠,可以上下拨动,从右至左有个、十、百……亿等计数位。有了算盘,计算的准确性和速度得到提高,我们从中可以感受到先辈的智慧。
与其说算盘是计算机,还不如说它是个数据寄存器。“程序”的执行需要人工实现,按口诀拨动算珠。过了两千多年,人们开始思考,能不能有一种机器,不需要人实时操作就能自动完成一些计算呢?
公开
同步至部落
取消
完成
0/2000
荧光笔
直线
曲线
笔记
复制
AI
- 深入了解
- 翻译
- 解释
- 总结
CISC与RISC:计算机指令集的演进 计算机发展历程中,CISC与RISC代表了两种不同的设计结构。文章回顾了计算机的历史发展,从算盘到电子计算机,展现了CISC与RISC的发展脉络。CISC的典型代表是x86体系架构,包含大量复杂指令集,减少了程序员的开发难度。然而,随着软硬件技术的进步,CISC的局限性逐渐显现,导致了RISC的出现。RISC设计方案非常简约,通常有20多条指令的简化指令集,使得CPU指令预取、分支预测、指令流水线等部件的效能大大发挥。RISC的代表产品是ARM和RISC-V。文章指出,RISC与CISC早已没有明显界限,开始互相融合。未来的CPU可能是多种不同指令集的整合,一个CPU指令能执行多类型的指令,分别完成不同的功能。
仅可试看部分内容,如需阅读全部内容,请付费购买文章所属专栏
《计算机基础实战课》,新⼈⾸单¥68
《计算机基础实战课》,新⼈⾸单¥68
立即购买
© 版权归极客邦科技所有,未经许可不得传播售卖。 页面已增加防盗追踪,如有侵权极客邦将依法追究其法律责任。
登录 后留言
全部留言(37)
- 最新
- 精选
- lisimmy置顶小两口包饺子:夫擀饺子皮,妻包饺子 RISC-夫妻用的时间一致,完美流水线作业,并行(回答文中的问题) CISC-夫擀饺子皮,1分钟一个,妻包饺子,10s一个,就算流水线,虽能并行,也有时间的浪费 因此流水线,会有加速比、效率等概念!
作者回复: 对 真棒
2022-08-21归属地:湖北311 - neohope置顶意犹未尽的话,可以延申阅读: 1、从MCU到SOC 2、从冯诺依曼结构到存算一体 3、Chiplet如何支撑后摩尔时代 4、碳基芯片 5、量子计算
作者回复: 哈哈 老铁可以写加餐
2022-07-28归属地:陕西38 - pedro谈到指令并行,就不得不谈CPU里面最核心的流水线了。 现代处理器都是流水线结构,由多个流水级组成,多个流水线同时干活,比如5级流水线由取指,译码,执行,访存和写回组成。 那么,理想情况下在同一个时钟周期内将会有5条处于不同流水阶段的指令,这就是指令并行。 而这样的CPU就能同时执行多条指令。
作者回复: 666666 大p神
2022-07-20331 - 西门吹牛指令流水线作业:取指令,指令译码,指令执行等都是独立的组合逻辑电路,每个阶段电路在完成对应任务之后,也不需要等待整个指令执行完成,而是可以直接执行下一条指令的对应阶段。就和工厂流水线一个道理。指令并行其实指的是,多个指令的不同阶段,可以在流水线上,并行的执行。 CPU 指令乱序执行:在执行过程中,还会有指令重排序,有依赖的指令不会重排,但是不依赖的会重排,比如后面的指令不依赖前面的指令,那就不用等待前面的指令执行,它完全可以先执行,充分利用流水线上的空闲位置。
作者回复: 嗯嗯 你很牛
2022-07-219 - 仰望星空为什么RISC的CPU能同时执行多条指令?其实就是CPU中的流水线在发挥作用,CPU执行指令的四个步骤:取指、译指、执行和回写,在执行A指令时也可以同时执行B指令
作者回复: 是的 同学太牛了
2022-07-217 - 江同学CPU执行指令使用了流水线技术。以三级流水线为例。一个指令可拆分成“取指令 - 指令译码 - 执行指令”三个部分,因为三个部分资源依赖不一样,例如取指令依赖一个译码器把数据从内存取出写入寄存器,指令译码依赖另一个译码器,而执行依赖完成计算工作的ALU,那么第一个指令在译码阶段,第二个指令可以执行取指令了。所以在一定的拆分数量限制下,如果指令拆分得更多,增加更多的流水线,那么就可以同时执行更多的指令了。就好像我们做需求一样,产品经理除了需求后,开发进入开发阶段,产品经理可以继续准备新的需求。
作者回复: 是的 你理解透彻
2022-07-216 - 贾献华hart 硬 件 线 程 (hardware thread)
作者回复: 是的 这是RISCV对CPU执行核心的定义
2022-07-205 - 飞鹤Plus老师讲的真好。请问老师最后“计算机历史大事记”的图是用什么软件画的,感觉很简洁。
作者回复: drawio
2022-07-204 - 小杰说一下我的理解,不知道是不是对的哈。RISC用的是精简指令,那cpu在执行是所需要的时间更少,一般来说,为了加快执行的速度,会采用多个指令流水线。所以我自己理解的CISC,也能同时执行多条指令,只是相对来说RISC会多一点。
作者回复: 是的
2022-08-09归属地:湖北3 - 惜心(伟祺)电阻、电容、晶体管,感觉是从器的层面做总结,不能很好的把握计算机的本质状态控制 用电阻、电容、电感,感觉会更好传递计算机理论层分层思想,这三个东西实现了、状态变化、状态存储、控制跳转,才有了后面的更复杂的各种计算、应用 Risc和cisc的差异,感觉是对控制元素的抽象、模块化认识的问题 Cisc感觉有点异性封装,强调更强的包容性 risc抽象更本质,把控制抽象成几个严格的模块,模块之间外在的格式形式也是固定的 所以导致它更容易模块化和乐高化的扩展出更多高层应用
作者回复: 对,见解很深
2022-07-29归属地:湖北3
收起评论