美文网首页想法
研究计算机硬件可以加深对编程和算法的理解

研究计算机硬件可以加深对编程和算法的理解

作者: 徐朝_尼克徐 | 来源:发表于2019-06-27 15:40 被阅读0次

自从我开始琢磨计算机硬件以来,我做算法题的能力也在提高。

以前对算法题有些啃不动,提不起兴趣,现在觉得算法题好象可口美味的饼干,一口吃下去,味觉很享受

究其原因,我发现对硬件的理解,提高了我对软件编程的思维深度。

例如,以前觉得,赋值语句就是赋值语句,写了千百遍了以至于麻木。但现在一写赋值语句,脑子里自动出现硬件访问内存时,时序电路,触发器,寄存器,扇入扇出等一系列硬件及其操作。

在硬件电路上,时序电路和非时序电路有严格的区分,无法混淆。

例如,一般的与或非,加减乘除乃至于复杂的数学函数运算都属于非时序电路,到了内存电路时才必须要用时序电路。时序电路通常有头疼的问题,例如时钟的同步非同步,竞争,冒险等等。

而在高级语言编程时,赋值也会带来头疼的状态管理问题,因为在不同时刻变量值有可能不同,导致应用程序的Bug需要追踪各种复杂的状态才能找到,以及多线程操作中的问题等。

对变量赋值的处理方式的不同,也是函数式编程和非函数式编程的重要区别。

赋值这件事,不是小问题。而从硬件出发,则很容易可以看到问题的本质,这与时序电路本身的特性有极强关系。

相关文章

  • 研究计算机硬件可以加深对编程和算法的理解

    自从我开始琢磨计算机硬件以来,我做算法题的能力也在提高。 以前对算法题有些啃不动,提不起兴趣,现在觉得算法题好象可...

  • 排序算法之直接插入排序(Java)

    本人对排序算法理解不深,希望通过动手写一写排序算法的实现,加深印象和理解 算法过程 把待排序数据分为2个区: 有序...

  • 那些经典算法:贪心算法

    贪心算法和分治算法、动态规划算法、回溯算法都是一种编程思想,深入理解这些编程思想,我们也可以根据实际情况设计自己的...

  • 2016.08.06

    plan 主题: 算法/axure/express 复习算法题目,顺便加深对 es6的理解与运用 axure 仿照...

  • 排序算法详解

    排序算法是算法理论的基础,可以说只有理解了排序算法,才能更加深入地理解其他更加复杂的算法。简单的排序的算法包括选择...

  • 第一章:绪论

    学习是个输入和输出的过程,希望通过blog加深对知识的理解 概念 学习算法就是机器学习算法,输入数据,产生模型的算...

  • 写作可以加深对书籍的理解

    这期听书稿训练营,我选择解读的书籍是《被忽视的孩子》。 今天早起读了一部分内容,读得不明所以,昏昏欲睡。读完后,很...

  • 左耳听风专栏 - 06 | 如何拥有技术领导力 笔记

    技术领导力 一 基础技术 良好的基础技术和底层原理可以帮助我们理解上层实现 1、编程 永远在编程,编程范式、算法和...

  • Java修炼笔记之函数式编程

    函数式编程简介 函数式编程是一种编程范式,常见的编程范式还有命令式编程和逻辑式编程,其中命令式编程是对计算机硬件的...

  • 用动画的形式呈现解LeetCode题目的思路

    项目地址 这个项目用动画展示了算法的运行原理,对于算法的学习非常有帮助,能够加深自己对算法的理解。

网友评论

    本文标题:研究计算机硬件可以加深对编程和算法的理解

    本文链接:https://www.haomeiwen.com/subject/djercctx.html