电脑硬件写入程序

电脑硬件写入程序,第1张

是的,刚做出的硬件不能工作。必须要有软件的支持才可以。

软件是一种程序,它是支持电脑正常工作的必需品。而硬件指的是主机、显示屏、打印机、扫描机、摄像头、耳机等等。

这个需要高等数学,通过函数的排列去写入程序,即是2进制的数学基本理念。程序写入后就可以正常工作了。没写程序的只是一个成品电路板。

代码保存在硬盘中

python语言程序代码保存在硬盘中_计算机基础2

臻和牛的店长大人

原创

关注

0点赞·549人阅读

python是编程语言

语言

一种事物与另外一种事物沟通的介质

所以说编程语言是程序员与计算机沟通的介质

什么是编程:

就是程序员用计算机所能理解的表达方式(编程语言)把自己的思维逻辑写下来,编程的结果就是一堆文件

什么要编程?

或者说为什么要和计算机沟通,让计算机按照人的逻辑执行程序,取代并解放人力

完整的计算机系统

3层结构

应用程序 (不能直接 *** 作硬件,如果要 *** 作硬件,需要向 *** 作系统层发出请求)

*** 作系统 (往上服务于应用软件,往下控制硬件)

计算机硬件

五大组成

控制器:统筹规划硬件与软件的运行,调控计算机各组成部分协调合作

运算器:可以完成数据的 算数运算 与 逻辑运算,得到想要的结果

存储器:需要再次使用的数据可以通过存储器进行 临时 或 永久存储

- 内存: 基于电工作,通电能存数据,断电数据消失

- 外存: 外部存储(硬盘),永久保存数据

输入input设备:将外界的信息,通过输入设备,提供给计算机

输出output设备:从计算机内部提前想要的数据

数据的处理流程

数据先通过输入设备到内存,然后CPU从内存里取出数据在进行处理,最后处理完的数据给到内存,内存给到输出设备显示

计算机三大核心

cpu: 中央 控制器 + 运算器

内存:临时存储数据,断电后消失

硬盘:永久存储数据,断电后还拥有

CPU

控制器+运算器=CPU

功能: 控制+运算

工作方式: 取值--->分析--->执行

软件的执行都是由CPU执行,所有的软件最终都要转换成CPU的指令集去执行

如果一个软件和CPU所支持的指令集不匹配,则这个软件不能再CPU上运行

32位,64位: CPU从内存中一次能读写多大的数据(32个比特位还是64个比特位)

计算机基于通电工作

所有的运作方式都是二进制运算,程序存到硬盘上最后到计算机的各个组件都是二进制编码

程序就是一些代码, 安装程序就是拷贝代码到硬盘

比如是由python语言编写的,python程序内部会规定一些标准,比如说需要再屏幕中输出10这个数字,程序内部就要规定输出到屏幕上是10的这段程序如何转换成二进制编码让计算机识别

cpu具有向下兼容性: 64位能兼容32位

64位CPU一次性从内存取值64个比特位,而32位的软件只需要CPU取值32个比特位就行,所以64位的CPU能够兼容32位的软件

32位CPU一次性从内存取值32个比特位,二64位的软件则需要CPU取值64位,性能达不到,所以32位架构的CPU是不能兼容64位的软件

进制

'''

二进制:1010 1111 0001 01111011

八进制:12 17 1 173

十六进制:a f 1 7b

十进制: 10

十二进制

七进制

六十进制

八进制1位------>二进制3位

十六进制1位------>二进制4位

三十二进制------->二进制5位

六十四进制------->二进制6位

根据:

二进制111=7 为八进制最后一位

二进制1111=15 为十六进制最后一位

为什么要有八进制和十六进制?

八进制是32位 *** 作系统的算法规则,32位 *** 作系统下,CPU能调用内存4个字节的数据

十六进制是64位系统的算法规则,64位 *** 作系统下,CPU能调用内存16字节的数据

一般来说,内存会从硬盘拉去尽可能多的数据,为了让CPU及时处理

'''

一个二进制位成为一个bit:111

十进制:

逢10进1, 个位数进1位,如果个位数进位到十,则往十位数上进一位

二进制:

逢2进1,个位数进1位,如果个位数进位到2,则往十位数上进一位

8bit=1Bytes

1024Bytes=1KB

1024KB=1MB

1024MB=1GB

1024GB=1TB

1024TB=1PB

#硬盘厂商计算容量以1000为单位

1GB=1000100010008

进制间的换算

'''

1 16进制换算成2进制

16进制一位相当于2进制4位,所以只需要把16进制的每一位所对应的数字是几用二进制表示出来,然后再进行拼接

- For example

16进制f21转换成二进制

f---->在16进制中表示15----->二进制中表示为 1111

2---->在16进制中表示2------>二进制中表示为 0010

1---->在16进制中表示1------>二进制中表示为 0001

所以最后f21 转换成二进制就是 1111 0010 0001

'''

内存分布图

'''

'''

栈区:应用程序或者用户可以直接 *** 作并通过堆区得到栈区内的信息

堆区:数据存放的地方,和堆区之间存在对应关系

堆区和栈区之间存在指针一一对应,另外,C语言可以不经过栈区直接调用堆区的 *** 作

'''

'''

磁盘

计算机存储架构图

寄存器:

用与CPU相同材质制造, 容量小于1KB,速度和CPU是一样的

高速缓存:

为了减少CPU和内存之间的速度差,第一是CPU马上要用到的数据存到寄存器里,还有一种经常会访问到的数据,数据量比较大,这种存到寄存器中不合理,存到内存速度太慢,这种数据存到高速缓存中

当我们要经常访问一个数据时,必须要先找到 *** 作系统所显示的路径,然后 *** 作系统再把这个路径转换成二进制编码给到内存,最后交给CPU处理返回给内存,内存再返回给 *** 作系统,这个过程太慢,所以将这条数据第一次转换成二进制编码后直接放到高速缓存中,当需要访问这个数据的时候,直接由高速缓存交给CPU处理, *** 作系统不需要再转换成二进制编码,减小IO访问次数

寄存器和高速缓存的作用

降低IO的等待时间,让CPU尽可能快的拿到数据

磁盘

速度比内存更慢

磁带

速度比磁盘更慢,容量更高,主要用于备份数据

RAM

内存,可读可写

ROM

速度和内存一样,只读内存,多用于存储机器出厂时候就写好的程序,比如说bios

闪存(flash memory)

可读可写,能永久存储,速度没有内存快,比磁盘快,价格也比磁盘贵

CMOS

保存系统当前的时间,以及保存配置的参数,比如,哪一个是启动磁盘

#主板电池: 机器断电后给机器供电,此时仅仅为时钟芯片供电

BIOS(Basic Input Output system)

控制计算机开机阶段的运行

机械硬盘相关

磁盘盘片:通常机械硬盘的盘片类似光盘

读写磁头:通过马达带动运转,

机械手臂: 带动磁盘盘片运转

磁道:存数据时候,磁头就会工作,磁道就是磁头接触盘片形成的圆柱形盘面

扇区:磁盘物理层面上最小的存储单位,一个扇区是512个字节

# 用扇区做磁盘的最小的存储单位,为了减小IO访问的次数,提升性能

一开始机械手臂都是在一个槽里面,只有硬盘通电了才户慢慢带动每个磁道进行运转,因为不可能一开始就转到数据所在磁道的位置,所以计算了一个平均值,叫平均寻道时间

'''

平均寻道时间:平均寻找磁道的时间,一个7200转的硬盘是5ms

平均延迟时间:在磁道上寻找需要的数据所需要的时间,取决于转速,取一个平均值,7200转的硬盘是4ms

60/7200=0008s=8ms ------>取平均值4ms

#机械硬盘要找到数据平均时间需要9ms,

#卡----->CPU不工作,CPU负载高

MIPS: million instruction per second 每秒能执行的百万条指令 一个单核CPU能达到500MIPS

'''

应用程序 *** 作硬件需要向 *** 作系统发请求, *** 作系统进行 *** 作

分区:两个柱面之间磁道的数量

总线

北桥即PCI桥:连接高速设备

南桥即ISA桥:连接慢速设备

*** 作系统

'''

*** 作系统: 可以直接往硬件上发生 *** 作指令,完成对硬件的 *** 作,同时协调运行在该 *** 作系统上的软件

-- 软件与软件间的交流

-- 软件与硬件间的交流

内存|硬盘 -- 硬件

软件:应用程序,不能直接 *** 作硬件,需要通过 *** 作系统间接的控制硬件

*** 作系统 *** 作硬盘也有一个最小的单位,叫一个磁盘块(block块),可以在bios中调整,Linux中默认最小读写大小是4KB

'''

*** 作系统封装好硬件,给上层的应用程序或者用户使用

如何安装 *** 作系统

#安装软件———> 拷贝代码到硬盘

1 开机进入bios, 配置系统启动盘,保存到CMOS芯片

2 重启,Bios识别到系统启动盘,启动盘上的启动程序读到内存,CPU开始处理这个数据,将系统盘内部程序将 *** 作系统拷贝到本地硬盘

3 重启,BIOS修改启动盘为本地硬盘,到这里,系统安装完成

#双系统概念: 把另外一种 *** 作系统的代码拷贝到硬盘上,启动时候根据用户选择来启动哪一个 *** 作系统

*** 作系统启动流程

1 加电

2 bios启动,检测硬件是否运行正常并从CMOS芯片读取启动盘信息

3 读取启动盘信息后,BIOS读取启动盘的第一个扇区(446Bytes 引导信息 64bytes 分区信息 2bytes结束标志位)

4 启动第一个扇区里的程序bootloader(存放在446bytes 的引导信息中)

5 读取 *** 作系统内核

*** 作系统分成2部分

接口程序:把硬件封装成简单的接口,给用户或者应用程序去用,对上(直接与用户或者应用程序沟通)

内核: *** 作硬件,对下(直接与底层硬件沟通)

内核态与用户态(了解)

CPU 的两种工作状态,两种指令集(控制,运算)

用户态:CPU执行用户程序/应用程序所处的状态,处于用户态不能控制硬件,只能调用CPU的运算指令集

内核态:CPU执行 *** 作系统内核所处的状态,处于内核态能够控制硬件,可以调用所有的指令集

应用程序的启动:(重点!!!)

前提:先启动 *** 作系统

1 我们双击应用程序的过程就是向 *** 作系统提交应用程序的执行文件的路径,然后 *** 作系统将路径读人内存

2 *** 作系统调用CPU需要执行应用程序

3 CPU执行应用程序

python语言程序代码保存在硬盘中

点赞文章给优秀博主打call~

乐高机器人有多便宜?这里有你想要的!

精选推荐

广告

以上就是关于电脑硬件写入程序全部的内容,包括:电脑硬件写入程序、如何把机器语言代码写入硬盘、等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!

欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/zz/10218476.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-05-06
下一篇 2023-05-06

发表评论

登录后才能评论

评论列表(0条)

保存