计算机是如何工作的3

本文解释了CPU如何通过冯诺依曼体系结构执行指令,涉及指令获取、解析、操作数处理以及优化技术如缓存。同时,详细介绍了操作系统作为硬件抽象层的角色,如何统一管理硬件和提供API,使程序员免于关注硬件差异,只需面向操作系统编程。
摘要由CSDN通过智能技术生成

ADD       B          A

把这两个寄存器里面的内容,进行相加,结果保存到第二个操作数的寄存器中

STORE  A  内存地址

把A寄存器中的值,写入13这个地址上

一,CPU 是如何计算3+14的

1.cpu要执行的指令,是在内存中的  (冯诺伊曼体系结构,基本设定,让执行单元和存储单元解耦合)

2,cpu想要执行指令,就需要先取指令,再解析指令,然后才能执行指令

3,取指令需要从内存中读取到cpu的寄存器中(这里没有体现出存储指令的寄存器,就只体现出AB用来计算数据的存储器)取指令的操作,其实是非常耗时的(读取内存操作相对于cpu执行计算,要开销大很多)

因此cpu中通过缓存,流水线等技术,来优化这里的效率

4.cpu解析指令的时候,需要用到“指令表”,不同架构的cpu支持的指令表不同(X86和arm等都是不同的)

5,指令在执行过程中,肯能会带有一些操作数,不同的指令,操作数的个数含义有所不同

6,cpu重要的参数,主频。主频表示的含义,近似看成是一秒钟之内,cpu能执行的指令个数

早期的代码都不是写,是抠开关

二,操作系统

操作系统是一个软件(由代码构成程序)

1.1操作系统主要职责,有两方面

      1.管理各种硬件设备

       2,给其他软件提供稳定的运行环境

1.2 抽象,封装

1.Windows  2.Linux   3.Max  4.IOS  5.Android

1.3一个电脑,有很多的硬件 

显示器,鼠标,键盘,音箱,摄像头,麦克风,内存,硬盘,显卡,电源,风扇

市面上,每一种硬件,都有很多的厂商在生产,不同厂商产生在生产

不同厂商生产的硬件就会存在差异。

即使是同一个厂商,不同型号的硬件,也会有差异

1.4假设我们需要写一个程序,响应各种鼠标的各种操作,市面上的不同鼠标,种类繁多,这个时候咋办,总不能 根据不同的鼠标,写不同的代码吧???

此时,就需要操作系统就站出来,统一管理各种不同的硬件设备,给软件提供统一的api

此时,程序员写代码的时候,就可以不必关注软件硬件的细节差别了,只需要调用操作系统的api即可,再有操作系统来去控制不同的硬件进行工作

因此,程序员写的代码,不需要面向硬件,只需要面向操作系统

操作系统也提供了一些管理软件资源的api(多线程编程,网络编程)

jvm又是对系统的抽象封装,就只需要使用JVM提供的api就可以起到控制各种不同的系统,完成编程效果了

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值