计算机是怎么构成的

简介: 计算机是怎么构成的

2023-11-15 计算机是如何工作的

软件开发,需要有什么样的知识和技能

-->软件开发就是个广义的概念,不是说带有图形化界面的叫软件

一个软件的难易程度,也是和图形化界面没关系

内功 + 外功

Spring里面涉及到的 网络/协议/反射/设计模式/多线程......

计算机是怎么构成的

CPU基本情况

x86结构     intel amd    家用pc,服务器

ARM结构    苹果,高通...

不同的cpu,支持的指令集是不同的

指令集 -->机器语言

不同的cpu,架构不同,指令集不同--->机器语言,汇编语言不同

学校学的汇编语言是8086的cpu展开的,8086是intel在上个世纪搞得非常经典的cpu

80286  ->80386  -> 80486  把这个系列称之为x86

学校学的汇编基于8086是16位的cpu,现在都是64位的cpu

16位和64位和寻址相关

看是多少位的机器 16--2 32--4 64--8

之前学的可以切换是因为windows的64位版本可以兼容32位的程序

vs也提供了一个兼容的情况

64位的cpu可以生成32位的程序

cpu的基本工作原理就在数电,模电....

即使不理解具体过程,但是要知道cpu以及其他的重要的设备都是由门电路构成的~~

门电路->晶体管->基本单位足够小 nm级别

越小,集成程度越高,算力也就越高

cpu上的基本单元能无限小嘛?

当东西足够小的时候,就进入量子力学了,原有的一套就行不通了

如果把cpu搞大,加工时候的良品率就降低了

既然不能小,能不能多搞点数量?? ---->多核cpu

cpu核心最重要

让一个cpu上能不能有多个核心呢?

intel搞出来了多核cpu,每个核心都相当于完整的cpu,把这些cpu核心都搞到一起

但是也需要软件的配合

软件上就引入了并发编程(为了能够充分利用多核cpu的资源)

能不能让一个cpu核心当成两个来用???

超线程技术

比如cpu有四个核心,但是在超线程的加持下就一个顶俩,相当于一共有八个

4核 (物理核心) ---->8核(逻辑核心)

同架构下基准频率越高越好

软件一般是跟着硬件走的,扬长避短

Ghz就只 1024*1024*1024hz

1秒进行多少次时钟周期,可以近似看做执行多少条指令

cpu的睿频技术 --- cpu的频率动态发生变化,取决于当前的任务多不多

衡量cpu的单核性能,要看基础频率也要看最大睿频

除此之外还有其他的衡量指标(有大佬已经把cpu的水平排出座次,直接参考)

指令~~

简单模拟一下

RAM就是内存,cpu能直接存的数据比较少,计算器是为了支持cpu完成一些计算,保存中间结果的

虽然可以不用理解cpu具体的构造,但是需要理解cpu是怎么执行具体的代码的

这一段指令就是内存中的一段数据

写好的代码想运行,都得编译后把指令加载到内存中才能让cpu执行的

a寄存器就存了14地址里面的内容

默认cpu指令是顺序执行的,但是也可能出现一些跳转的指令..

当前的计算机在cpu执行指令的时候,要经历内存读取数据这样的操作的

这个设定就是冯诺依曼体系结构的精髓

最初是将执行和存储分开了,解耦合,降低硬件设计的成本

随着时间的发展,内存逐渐跟不上cpu的节奏了

之前的缓存是在南北桥上的,现在缓存已经集成到cpu上了

通过流水线,缓存的机制能缓解cpu和内存之间的速度

现在关键的契机:量子计算机可能打破这种结构

算力大幅度提高

结论:

1.cpu要执行的指令是在内存中的(冯诺依曼体系:执行和存储解耦合)

2.cpu要想执行指令就得先取指令,解析指令,才能执行指令

3.取指令是要从内存中读取指令到cpu的寄存器

   取指令其实是非常耗时间的(相对cpu执行计算)

因此cpu会通过缓存,流水线来优化效率

4.cpu要解析指令的时候,需要使用指令表,不同架构的cpu支持的指令表不同

指令表已经写死到cpu中了

5.指令在执行过程中,是带有一些操作数,操作数的含义有所不同

6.cpu重要的参数,主频可以近似理解为cpu再一秒钟执行的指令个数

A寄存器的编号是00

B寄存器的编号是01

操作系统是一个软件~~

由代码构成的一个程序,操作系统的主要职责有两个方面

1.管理硬件设备

2.给其他软件提供一个稳定的运行环境  ------->两个词形容:抽象,封装

电脑有很多硬件,不同厂商或者不同型号的硬件都不一样

这个时候就需要操作系统站出来,统一管理硬件设备,给软件提供统一的api

操作系统也提供了一些操作软件的api

相关文章
|
6月前
|
监控 安全
计算机在核能领域的应用
计算机在核能领域的应用
|
6月前
|
人工智能 安全 数据挖掘
计算机在石油化工领域的应用
计算机在石油化工领域的应用
|
6月前
|
人工智能 安全 大数据
计算机在矿产领域的应用
计算机在矿产领域的应用
|
6月前
|
存储 编解码
计算机基本组成
【1月更文挑战第5天】计算机基本组成。
110 1
|
1月前
|
存储 C语言
1.4 计算机能做什么
在学习C语言编程前,了解计算机工作原理至关重要。计算机由CPU、RAM及永久存储设备等构成,CPU从内存获取并执行指令,其工作区由寄存器组成,用于存储指令及其地址,从而高效地进行运算任务。这有助于理解C程序编写与运行的关系。
39 7
|
4月前
|
物联网 人机交互 语音技术
计算机中输入输出设备
【7月更文挑战第28天】
98 1
|
5月前
|
网络协议 安全 数据安全/隐私保护
计算机与通信工程的联系
计算机与通信工程的联系
43 0
|
存储 前端开发 安全
2019.11.10计算机的拆装机总结
2019.11.10计算机的拆装机总结
108 0
|
6月前
|
人工智能 监控 算法
计算机在公共卫生领域的应用
计算机在公共卫生领域的应用
|
6月前
|
Windows
关于计算机考级的那点事
在这里,我想用最简洁最人话的方式分享一些计算机等级考试的内容。他的全名叫做‘全国计算机的等级考试’,英文名叫NCRE,一般都是给非计算机专业的同学一次拿证的机会。