Day01 计算机硬件基础
1.什么是编程语言?
编程语言是程序员与计算机沟通的介质。
2.什么是编程?
程序员利用某种编程语言的语法格式将自己脑子中想要让计算机做的事写到文件中。
所以说,变成的结果就是文件,文件的内容就是一堆程序。
3.为什么要编程?
让计算机代替人类去工作,从而解放人力。
4.计算机硬件基础:
cpu x86-64
什么是x86: x86是电脑型号,是指该计算机是x86架构。现在公司电脑基本都是x86.
64是什么 : 是指64位操作系统。cpu一次处理数据的能力是64位。
cpu具有向下兼容性,即64位的cpu可以兼容32位的操作系统。32位的cpu不能兼容64位的操作系统,会丢失一半的数据。
存储器:
内存:内存条:
优点:读取速度快。
缺点:内存较小,且容易丢失,临时保存数据。
外存:磁盘:
优点:内存大,数据不容易丢失,可以永久保存数据。
缺点:读取速度慢。
5.对于磁盘来说,寻找到数据的总时间 = 平均寻道时间(5ms) + 平均延迟时间(7200转 4ms,(1/7200/60)*1*10^3,大概是8ms,一半就是4ms)
计算机硬件详解
计算机硬件分为五大部分:控制器,运算器,存储器,输入设备,输出设备。(取指-翻译-执行)
控制器:通过地址访问存储器,获取存储器内的指令,根据译码器分析后产生的相应操作控制信号作用于其他部件,使其他部件再控制器控制下有条不紊的工作。
运算器:实现算术运算和逻辑运算的部件。
存储器:包括内存和外存。基本功能是按照指定的地址写入或者读取信息。
输入设备:向计算机中输入信息的设备。常见的有键盘,鼠标,触摸屏等。外存储器也是一种输入设备。
输出设备:向外输出数据的设备。显示器,打印机等。外存储器也是一种输出设备。
6.控制器 + 运算器 = CPU(中央处理器(Central Processing Unit))
控制器主要协调各组件各单元工作,运算器主要负责逻辑判断和算术运算。所以CPU主要是管理和运算。
CPU读取的数据都是从主存储器(即内存)来的。
CPU往往被制成一块具有特定功能的芯片,里面有编写好的微指令集,称为微处理器。
我们使用的软件都要经过cpu内部的微指令集才能执行。下面是两种不同的微指令集:
①·精简指令集(RISC) 微指令集较为精简,每个指令运行时间短,执行效率高。但是复杂的事情需要多个指令来执行
②·复杂指令集(CISC) 指令较多且长度不同,都能执行一些较为低阶的操作。但是复杂事情,指令所用时间很长,每条个别指令处理的工作较为丰富。
常见的CISC微指令集CPU有AMD,Intel等的x86架构的cpu。
7.寄存器
因为cpu访问内存得到指令的时间比cpu执行指令要慢很多,所以cpu内部通常都有一些存储临时变量和数据的寄存器。
寄存器的分类: 1.除了用来保存变量和临时结果的通用寄存器外 2.多数计算机还有一些对程序员课件的专门寄存器,其中之一便是程序计数器,它保存了将要取出的下一条指令的内存地址。
在指令取出后,程序计算器就被更新以便执行后期的指令 3.另外一个寄存器便是堆栈指针,它指向内存中当前栈的顶端。该栈包含已经进入但是还没有退出的每个过程中的一个框架。
在一个过程的堆栈框架中保存了有关的输入参数、局部变量以及那些没有保存在寄存器中的临时变量 4.最后 一个非常重要的寄存器就是程序状态字寄存器(Program Status Word,PSW),这个寄存器包含了条码位(由比较指令设置)
CPU优先级、模式(用户态或内核态),以及各种其他控制位。用户通常读入整个PSW,但是只对其中少量的字段写入。
在系统调用和I/O中,PSW非常非常非常非常非常非常重要 寄存器的维护: 操作系统必须知晓所有的寄存器。在时间多路复用的CPU中,操作系统会经常中止正在运行的某个程序并启动(或再次启动)另一个程序。
每次停止一个运行着的程序时,操作系统必须保存所有的寄存器,这样在稍后该程序被再次运行时,可以把这些寄存器重新装入。
8.处理器的演变
最原始的处理器是取指,解码,执行一起进行的,也就是其中有一个在进行,另外两个就要等待,效率很低。
后来进化发展成执行n的同时可以对n+1指令进行解码,对n+2进行取指
9.存储器系统
存储器一般速度高的内存容量会比较小,内存大的运行速度相对较慢。
10.寄存器称为CPU中的一级缓存(L1缓存),用于临时存放已经解码且需要多次使用的数据或指令。
高速缓存(L2缓存) 11.主存通常称为随机访问存储RAM,就是我们常说的内存。内存是易失性存储,断电数据全部丢失。
ROM(只读内存 Read Only Memory)非易失型随机访问存储。在出厂前就被编程完毕,不可再修改。只能用来读取,不能输入。
ROM速度快且便宜。用于启动计算机的引导加载模块就存放在ROM中。
CMOS存储器:易失性的。用来保持当前时间和日期。他能够保持时间是因为连通这一块小电池,保持CMOS处于通电状态。
CMOS还可以保存配置的参数,比如哪一个是启动磁盘。
之所以用CMOS是因为CMOS耗电很慢,一块电池能用好几年,如果电池耗尽,则数据丢失。 12.磁盘
磁道:每个磁头可以读取一段换新区域。
柱面:相同半径的磁道上下盘形成的柱体的柱面。和水桶的桶壁类似。简单地理解,柱面就是磁道。
扇区:从圆心散发出去两条射线,和 磁道交接形成的扇形区域。扇区典型存储的值是512字节。 平均寻道时间:两个柱面之间的距离可以看成磁针在磁道上移动的轨迹长度。 13.总线
北桥:PCI桥 连接高速设备
南桥:ISA桥 连接慢速设备14.启动计算机
在计算机的主板上有一个基本的输入输出程序(Basic Input Output system)
BIOS就相当于一个小的操作系统,它有底层的I/O软件,包括读键盘,写屏幕,进行磁盘I/O,该程序存放于一非易失性闪存RAM中。
启动流程
1.计算机加电
2.BIOS开始运行,检测硬件:cpu、内存、硬盘等
3.BIOS读取CMOS存储器中的参数,选择启动设备
4.从启动设备上读取第一个扇区的内容(MBR主引导记录512字节,前446为引导信息,后64为分区信息,最后两个为标志位)
5.根据分区信息读入bootloader启动装载模块,启动操作系统
6.然后操作系统询问BIOS,以获得配置信息。对于每种设备,系统会检查其设备驱动程序是否存在,如果没有,系统则会要求用户按照设备驱动程序。一旦有了全部的设备驱动程序,操作系统就将它们调入内核。然后初始有关的表格(如进程表),穿件需要的进程,并在每个终端上启动登录程序或GUI
Day01 计算机硬件基础的更多相关文章
- day01计算机硬件基础
1.cpu\内存\硬盘 2.存储器 操作系统 是什么 为什么 如何用 1.什么是编程语言: 语言是一个事物与另一个事物沟通的表达方式 编程语言即程序员与计算机沟通的介质 计算机是程序员的奴隶 2.什么 ...
- python计算机硬件基础以及变量常量常量池,解释器编译器比较,python的两种运行方式
1.什么是编程语言 语言是一个事物与另外一个事物沟通的介质 编程语言是程序员与计算机沟通的介质 2.什么是编程 编程就是程序按照某种编程语言的语法规范将自己想要让计算机做的事情表达出来 表达的结果就是 ...
- day01<计算机基础知识&Java语言基础>
计算机基础知识(计算机概述) 计算机基础知识(软件开发和计算机语言概述) 计算机基础知识(人机交互) 计算机基础知识(键盘功能键和快捷键) 计算机基础知识(如何打开DOS控制台) 计算机基础知识(常见 ...
- python之路:Day01 --- Python基础1
本节内容 1.Python介绍 2.发展史 3.变量 4.用户输入 5.表达式 if...else语句 6.表达式 for 循环 7.表达式 while 循环 8.模块初识 9.数据类型初识 10.数 ...
- day01 Java基础
1.Win7中,在某目录下:shift+右键->在当前目录打开命令行窗口. Windows中打开画图工具的命令是:mspaint. 2.Windows DOS下“rd *”是删除目录的命令:“r ...
- Day01 - Python 基础介绍
1 Python 简介 1.1 Python 的由来 Python的创始人:吉多·范罗苏姆(Guido van Rossum) 1989年,吉多·范罗苏姆为了在阿姆斯特丹打发圣诞节假期时间,开发的一个 ...
- day01计算机基础
今日内容 1.计算机初步认识 1.计算机认识 1. 计算机基础 1.1硬件:cpu/内存/硬盘/主板/网卡 1.2操作系统 linux:免费开源 windows mac 1.3解释器/编译器 补充:编 ...
- python之路 ---计算机硬件基础
计算机(computer)俗称电脑,是现代一种用于高速计算的电子计算机器,可以进行数值计算,又可以进行逻辑计算,还具有存储记忆功能.是能够按照程序运行,自动.高速处理海量数据的现代化智能电子设备.一个 ...
- Oracle Day01 数据库基础
1.数据库 它是一种软件产品,是用于存放数据.管理数据的存储仓库,是有效组织在一起的数据集合. 2.数据库和数据库对象的概念 数据库:指的是物理磁盘上的文件 数据库对象:存在于内存中用于跟数据库文件进 ...
随机推荐
- 如何用redis做到限制,一个手机号,1分钟内最多发一条,一天内最多10条
需要两个缓存 key名称 phone-busy,缓存1分钟 key名称 phone-send-count,缓存1天,每成功发送一条+1 发送的时候流程如下: 判断phone-busy是否存在,存在直接 ...
- Unable to resolve target android-5解决方案
1:问题:android导入项目的时候出现此错误 2:原因: 3:解决: 修改工程目录下的default.properties文件里的内容target=android-5 这个5修改成你的api版本就 ...
- 用jetty起maven工程debug报source not found
之前基本都是tomcat启maven本工程 惯性的处理方式是 直接点击lookup source 直接先删除default工程 然后选择导入java project 找到源码所在的工程 但是一般情况下 ...
- git format-patch 用法
git format-patch HEAD^ # git format-patch -s 1bbe3c8c197a35f79bfddaba099270a2e54ea9c7 please replace ...
- windows下关闭指定端口服务,解决tomcat端口占用问题
http://blog.aizhet.com/Server/640.html 在windows下做java EE的开发时:搭建 Eclipse+tomcat的java web开发环境:在应用之中经常遇 ...
- python startswith和endswith
startswith判断文本是否以某个或某几个字符开始; endswith判断文本是否以某个或某几个字符结束; text = 'Happy National Day!' print text.star ...
- Elasticsearch 安装配置 外网访问 及 后台启动
本文转自http://www.jianshu.com/p/658961f707d8 作者:咪博士 感谢咪博士分享 Elasticsearch的安装总体来说还是相当简单的,当然中间也会有些小坑.不过大家 ...
- ThreadPoolExecutor之二:jdk实现的线程池介绍
一 简介 线程的使用在java中占有极其重要的地位,在jdk1.4极其之前的jdk版本中,关于线程池的使用是极其简陋的.在jdk1.5之后这一情况有了很大的改观.Jdk1.5之后加入了java.uti ...
- py-day8-socket网络编程
本节内容 Socket介绍 Socket参数介绍 基本Socket实例 Socket实现多连接处理 通过Socket实现简单SSH 通过Socket实现文件传送 作业:开发一个支持多用户在线的FTP程 ...
- 3、HTML的body内标签1
一.特殊符号的表示 #代指空格 < #代指,< > #代指,> ...... #这玩意有很多,记也记不完,用的时候查一下即可: 二.p和br标签 <p>< ...