JAVA程序员需要知道的计算机底层基础01-计算机硬件组成基本概述

CPU原理

在这里插入图片描述
在这里插入图片描述

Intel cpu的制作过程
https://haokan.baidu.com/v?vid=11928468945249380709&pd=bjh&fr=bjhauthor&type=video

CPU是如何制作的(文字描述)
https://www.sohu.com/a/255397866_468626

在这里插入图片描述

晶体管是如何工作的:
https://haokan.baidu.com/v?vid=16026741635006191272&pd=bjh&fr=bjhauthor&type=video
晶体管的工作原理:
https://www.bilibili.com/video/av47388949?p=2

计算机的根本要解决的:如何表示数字?

现代计算机实际是通过电信号的0和1进行数字表示的。
如果手动计算,只需要对着CPU的各个针脚进行手动通电,通电一次,运行一次位运算。但这样就失去了计算机的意义
因此有了内存,内存就是一个存储这些电信号的地方,CPU每次通过总线(总线就是一根根连接着电信号的线)去内存中取出若干的电信号,来放入自身来进行运算。
我们常说的CPU 64位是指一次性可以读入64个电信号, 但与总线不一定匹配,总线可能一次性读出更多电信号,但CPU一次只会接受64个。

在这里插入图片描述

让计算机看懂计算,实际就是把一堆二进制的数字,表示成对着CPU的各个针脚进行手动通电,最终看哪些针脚通电,哪些针脚断电,从而对应出相应的数字。

BUG的由来

1945年,一只小飞蛾钻进了计算机电路里,导致系统无法工作,一位名叫格蕾丝·赫柏的人把飞蛾拍死在工作日志上(见图),写道:就是这个 bug(虫子),害我们今天的工作无法完成——于是,bug一词成了电脑系统程序的专业术语,形容那些系统中的缺陷或问题。

汇编语言执行过程

在这里插入图片描述
在这里插入图片描述

能不能让这串二进制看起来好记一点? 对某一串二进制赋予一个操作名字,比如叫add,mov,sub ,这也就是汇编的本质:机器语言助记符
所以我们可以说,汇编语言其实还是机器语言!
在这里插入图片描述

时钟发生器的频率单位是GHZ, 一次通断电为时钟发生器的一个时钟周期。
计算完成后,会将电信号写回内存(内存通电后有对应的位置代表0和1)或者显卡(写入缓冲区,有许多位,通过标识位来最终显示出绚丽多彩的图像,显示器通过刷新频率如60HZ,定时去缓冲区获得最新位的情况更新到屏幕)

JAVA的汇编码和CPU的汇编码的区别

java的汇编码最终需要被JVM解释成对应平台的CPU对应的汇编码。

GPU为什么比CPU做机器学习要效率高?

猜测:gpu的计算比较纯粹,进行一些计算直接输出到显示器,但cpu的计算是比较通用的计算,电路的优化是通用的优化。
当然,做机器学习有专门的AI芯片,在电路底层设计更适合做AI计算的芯片。

量子计算机

在这里插入图片描述

量子比特和比特(bit)有什么区别?
bit就是一个位上只能表示1个数,不是0就是1.
而量子比特是说,你这一位,可以同时表示0和1,甚至中间状态。

那同时表示有什么优势呢?
在这里插入图片描述

java相关硬件知识

计算机组成

在这里插入图片描述

从硬件上来说,就是有一块主板,然后将各个组件通过电路进行链接在一起。

各设备通过总线进行连接,总线有不同的出入口,通过IO Bridge分别进行连接。
IO Bridge连接到CPU的总线叫系统总线,IO Bridge连接到内存的总线叫内存总线,除此之外,IO Bridge连接到其他的地方叫IO总线,IO总线可以不断的插入各种外接设备。

在计算结构中,最重要的就是CPU,其次是内存,再来才是外接IO设备。

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值