day1 计算机硬件组成与工作原理
1、python是一门编程语言,什么是编程语言?
编程语言其实就是一门语言,不过这门语言是用来人与计算机沟通
人为什么要跟计算机沟通?
为了奴役计算机
银行行长------人的语言-------员工
接收用户输入的账号
接收用户输入的密码
判断输入的账号等于正确的账号,并且输入的密码等于正确的密码
告诉用户登录成功
否则:
告诉用户账号或密码错误
程序员--------编程语言-------计算机
用编程语言翻译上述逻辑
2、什么是编程?
编程是吧做事的步骤/业务逻辑给翻译下来
注意:
先想好业务逻辑
再翻译/编程
3、什么是程序?
代码写到文件中,放有代码的文件就是程序,或者叫软件
4、计算机硬件
原则:所有的计算机硬件都是在模仿人的某一功能或器官
cpu:负责数学运算与逻辑运算,执行指令==============人脑
内存:负责临时记忆数据==============================人脑的记忆功能
优点:存取IO速度都快
缺点:断电数据丢失
硬盘:负责永久记忆数据==============================笔记本
优点:永远保存数据,断电数据不丢失
缺点:存取IO速度都慢
输入设备:键盘、鼠标
输出设备:显示器、打印机
程序的运行和三大核心硬件的关系:
程序最先放在硬盘中
程序的运行是先把程序的代码从硬盘读入内存,然后cpu从内存读取指令然后运行
5、IO问题和程序优化的思路
1、读操作
我们要做的是优化数据读取,减少IO读取次数,可以事先加载到内存
能从内存读就不要从硬盘读
如果原始的数据是存放于硬盘中的,并且该数据经常被用到,那我们需要把硬盘中的这
块数据事先读到内存中(缓存)
2、写操作
在内存中攒一大波,一次性写入
cpu出厂会集成了一些指令集。从内存中获取指令->解码->执行指令
内存中存取的是高低电频,方便表达所以称内存中存放二进制
8bit = 1Byte
1024B = 1KB
1024KB = 1MB
1024KB =1GB
1024GB = 1TB
1024TB = 1PB
6、x86-64是什么
x86指的是cpu的型号,指x86架构的cpu,存放复杂指令集
64指的是,cpu一次取64位数据,可以向下兼容
7、cpu的两种工作状态(同时只能存在一种状态)
内核态:指放开了控制硬件的指令集,可以控制计算机硬件
用户态:公开运算器的指令集,可以进行运算