计算机编程背景

简介: 随着时间与需求的变化,因德军engima(英格玛)机器加密,然图灵研究了engima底层,用机器破译机器加密,推动了后来的,诺曼底登陆(攻守易势)

💖 欢迎来阅读子豪的博客(JavaEE篇 🤴)


👉 有宝贵的意见或建议可以在留言区留言


💻 欢迎 素质三连 点赞 关注 收藏


🧑‍🚀码云仓库:补集王子的代码仓库


472f1124c9b74654820a5f037782772c.gif


不要偷走我小火车哦~ ~ ~


🎥计算机发展史


第一代计算机 特征是采用电子管作为主要元器件


第二代计算机 特征是采用晶体管作为主要器件


第三代计算机 特征是半导体中小规模集成电路


第四代计算机 特征是大规模和超大规模集成电路


7c75a123473541599f7681a750556196.png


我们现在一般的电脑,称之为"微机" “通用计算机”



🎤专用计算机


最早是用在军事用途上,计算导弹轨迹的


最开始人们计算弹道轨迹是手动计算的,为了解决这一难题


历史上第一个计算机"埃尼阿克"应运而生,它是专用计算机,不是通用计算机,运行速度CPU主频 5000hz,重大几十吨,占地位置好几个房间,计算速度远远超过人工速度(打算盘)


87e3f526aa004f7e8984601e00d780bc.png


🔊通用计算机


随着时间与需求的变化,因德军engima(英格玛)机器加密,然图灵研究了engima底层,用机器破译机器加密,推动了后来的,诺曼底登陆(攻守易势)


72f90e9b35dc4bd3be1e248e929c9c98.png


图灵提出了"通用计算机"这个愿景,最终由冯诺依曼设计实现


🥇冯·诺依曼体系结构


计算机的祖师爷 – 冯·诺依曼"现代计算机之父"最早在普林斯顿提出的通用计算机该有的基本体系结构,冯·诺依曼提出了计算机制造的三个基本原则,即采用二进制逻辑、程序存储执行以及计算机由五个部分组成(运算器、控制器、存储器、输入设备、输出设备)


736313cb21824a269179b10f87afed18.png

72693c30fd174bb1ad0269488d2d9965.png


🎇 CPU(中央处理器)


CPU是计算机系统最核心的部分,进行算术运算和逻辑判断,是人类目前科技的"巅峰之作"


现在市面上最多的就是5nm的,为啥目前做不出更小的?因为小于5nm经典物理学就失效了,需要量子物理来接管,人才不够,需要我们去补充!!!(兄弟们加油!)


CPU最主要的指标叫做"主频"如2.5Ghz,描述了CPU运算速度


指令(Instruction) 首先,我们先介绍下我们需要到的指令(instruction)。 所谓指令,即指导 CPU

进行工作的命令,主要有操作码 + 被操作数组成。 其中操作码用来表示要做什么动作,被操作数是本条指令要操作的数据,可能是内存地址,也可能是寄

存器编号等。 指令本身也是一个数字,用二进制形式保存在内存的某个区域中。


1.CPU 中的 PC 寄存器,是决定 CPU 要执行哪条指令的关键;

2.指令是由 动作 + 操作对象组成

3.CPU 眼中只有指令,没有其他的概念


🪓GPU


我们平时所说的显卡GPU定位于CPU类似,GPU专用计算机芯片(图形相关的运算,人工智能,挖坑等,计算难度不难只是量大,用CPU的话就大材小用了),CPU叫通用计算机芯片


🔪 逻辑门


门电路,与或非门


借助于二极管等设备特殊物理特性


ead86ef054584680a045474c0572c578.png


简单的逻辑门可由晶体管组成。这些晶体管的组合可以使代表两种信号的高低电平在通过它们之后产生高电平或者低电平的信号。高、低电平可以分别代表逻辑上的“真”与“假”或二进制当中的1和0,从而实现逻辑运算。


通过这些门电路,衍生出了异或门,半加器(两个bit位相加)/全加器(三个bit位相加),加法器,可以针对二进制的数组相加,可以多位相加,可以算加法也可以算减法(补码)


🎆输入输出


计算机与人交互的设备


如键盘鼠标麦克风摄像头,显示器音响等


ec25adfcb4f3456586f446b31a318fea.png


还有的设备既可以输入也可以输出,触摸屏,网卡


💎编程语言


程序员与计算机直接的沟通桥梁


与自然语言有区别,必须要"严谨,无歧义"


现存的计算机语言可以大体分为三类"机器语言" “汇编语言” “高级语言”


⚾机器语言


二进制,0/1构成的指令,CPU就处理这个,CPU厂商在设计的时候会设计好二进制"指令集",相当于为CPU提供API,但是人类不太好理解机器语言


🥎汇编语言


通过一些简单的单词来作为"助记符"来代替二进制的指令,与机器语言一一对应


不同的CPU有不同的指令架构,导致了汇编语言不一样


学习汇编语言的时候要明确是针对哪个系列的 CPU


🏀高级语言


C C++ C#(C Sharp,4#) Java Python PHP


🎨操作系统


操作系统是一个软件,负责管理软件


特征是 并发、共享、虚拟、异步


对上: 管理硬件设备


对下: 给软件运行提供稳定的环境


df9e7348f0b14e23a07cdc2a6061c3b6.png


驱动,就像硬件中的适配器


操作系统是软件和硬件以及用户之间交互的媒介


最熟悉的操作系统Windows(使用门槛低更符合大众),Linux程序员必须要掌握的系统(适合开发和部署)

相关文章
|
6月前
|
机器学习/深度学习 存储 算法
程序设计:从基础到实践的艺术探索
程序设计:从基础到实践的艺术探索
40 0
|
5月前
|
程序员 C语言 Python
编码之舞:探索编程语言的艺术与实用性
【6月更文挑战第21天】在数字世界的舞台上,编程语言如同舞者的舞步,优雅而精确。本文将带领读者穿梭于代码的海洋,感受不同编程范式的独特魅力,并探讨它们如何塑造我们的技术世界。我们将从艺术的角度审视编程,揭示那些隐藏在逻辑严谨性背后的创造性火花。
|
1月前
|
算法 搜索推荐 程序员
编程之舞:从代码到艺术的转变
【9月更文挑战第35天】本文旨在探索编程不仅仅是技术操作的集合,更是一种创造性的艺术表达。我们将通过具体的编程示例和技巧,展示如何将代码转化为富有美感和效率的作品。文章将引导读者理解编程背后的哲学和美学原则,从而提升他们的编码技能和审美意识。
37 3
|
2月前
|
算法 程序员
代码之美:编程中的艺术与哲学
在数字世界的深处,编程不仅仅是一门技术,它更是一种艺术与哲学的体现。本文将带领读者领略编程背后的美学原则,探讨如何通过简洁的代码、高效的算法和模块化的设计来达到技术与艺术的和谐统一。我们将一起探索那些让代码变得优雅而强大的秘诀,并反思编程实践对个人成长的深远影响。
|
3月前
|
算法 前端开发 JavaScript
编程之舞:从代码到艺术的演变
【8月更文挑战第27天】在数字世界的舞台上,代码不仅仅是冷冰冰的指令序列,它们像音符一样组合成旋律,编织出功能与美的交响曲。本文将带您领略编程的艺术性,探索如何通过代码实现技术与美学的和谐统一。
|
4月前
|
设计模式 算法 程序员
探索代码之美:编程的艺术与实践
【7月更文挑战第31天】在数字世界的构建中,编程不仅仅是一项技术工作,它更是一种艺术。本文将带领读者深入编程的核心,从基础语法到设计模式,再到软件架构,探索如何通过代码表达创造性思维和解决实际问题。我们将一起见证编程如何从枯燥的指令序列转变为优雅的解决方案,以及这一过程如何影响我们的思考方式和解决问题的策略。
|
3月前
|
算法 程序员 开发者
代码之美:探索编程的艺术与实践
【8月更文挑战第8天】 在数字化时代,编程已成为一门不可或缺的技艺。它不仅仅是一种工具,更是一种艺术形式。通过这篇文章,我们将深入探讨编程的美学原则,以及如何将这些原则应用于实际开发中,从而提升代码的质量和可维护性。文章将结合具体案例,展示优雅代码的力量,并讨论如何培养良好的编程习惯和持续学习的重要性。
38 3
|
3月前
|
算法 程序员 开发工具
代码之舞:探索编程的艺术与实践
【8月更文挑战第7天】 在数字世界的舞台上,每一行代码都是舞者的步伐,每一个算法都是编舞的旋律。本文将带领读者穿梭于编程的世界,从初学者的踌躇满志到资深开发者的从容不迫,揭示技术成长之路上的心得体会。我们将探讨如何通过持续学习、实践和反思,不仅提升技术能力,更培养对编程艺术的感悟与欣赏。
48 3
|
3月前
|
设计模式 算法 测试技术
代码之美:编程的艺术与实践
在数字世界的构建中,编程不仅仅是一种技术活动,它更是一种艺术。通过探索编程的美学原则和实用技巧,本文旨在揭示如何将代码编写转化为一种创造性的过程,从而提升软件质量和开发者的满意度。文章将分享有效的编码习惯、设计模式的应用以及重构策略,帮助读者理解编程的艺术性,并在实践中加以应用。
53 1
|
3月前
|
算法 JavaScript 前端开发
编程之舞:从代码到艺术
【8月更文挑战第30天】在数字世界的舞台上,代码不仅仅是指令的堆砌,它更像是一种语言,一种能够创造无限可能的艺术。本文将带你走进编程的世界,探索如何将枯燥的代码转化为富有创造力的艺术作品,从而开启一段技术与艺术交织的旅程。