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 计算机硬件基础的更多相关文章

  1. day01计算机硬件基础

    1.cpu\内存\硬盘 2.存储器 操作系统 是什么 为什么 如何用 1.什么是编程语言: 语言是一个事物与另一个事物沟通的表达方式 编程语言即程序员与计算机沟通的介质 计算机是程序员的奴隶 2.什么 ...

  2. python计算机硬件基础以及变量常量常量池,解释器编译器比较,python的两种运行方式

    1.什么是编程语言 语言是一个事物与另外一个事物沟通的介质 编程语言是程序员与计算机沟通的介质 2.什么是编程 编程就是程序按照某种编程语言的语法规范将自己想要让计算机做的事情表达出来 表达的结果就是 ...

  3. day01<计算机基础知识&Java语言基础>

    计算机基础知识(计算机概述) 计算机基础知识(软件开发和计算机语言概述) 计算机基础知识(人机交互) 计算机基础知识(键盘功能键和快捷键) 计算机基础知识(如何打开DOS控制台) 计算机基础知识(常见 ...

  4. python之路:Day01 --- Python基础1

    本节内容 1.Python介绍 2.发展史 3.变量 4.用户输入 5.表达式 if...else语句 6.表达式 for 循环 7.表达式 while 循环 8.模块初识 9.数据类型初识 10.数 ...

  5. day01 Java基础

    1.Win7中,在某目录下:shift+右键->在当前目录打开命令行窗口. Windows中打开画图工具的命令是:mspaint. 2.Windows DOS下“rd *”是删除目录的命令:“r ...

  6. Day01 - Python 基础介绍

    1 Python 简介 1.1 Python 的由来 Python的创始人:吉多·范罗苏姆(Guido van Rossum) 1989年,吉多·范罗苏姆为了在阿姆斯特丹打发圣诞节假期时间,开发的一个 ...

  7. day01计算机基础

    今日内容 1.计算机初步认识 1.计算机认识 1. 计算机基础 1.1硬件:cpu/内存/硬盘/主板/网卡 1.2操作系统 linux:免费开源 windows mac 1.3解释器/编译器 补充:编 ...

  8. python之路 ---计算机硬件基础

    计算机(computer)俗称电脑,是现代一种用于高速计算的电子计算机器,可以进行数值计算,又可以进行逻辑计算,还具有存储记忆功能.是能够按照程序运行,自动.高速处理海量数据的现代化智能电子设备.一个 ...

  9. Oracle Day01 数据库基础

    1.数据库 它是一种软件产品,是用于存放数据.管理数据的存储仓库,是有效组织在一起的数据集合. 2.数据库和数据库对象的概念 数据库:指的是物理磁盘上的文件 数据库对象:存在于内存中用于跟数据库文件进 ...

随机推荐

  1. Go——godoc命令简介

    前言 godoc的一些简记 命令 godoc的列表 | godoc的chm下载 查看godoc的所有命令 `$ godoc -h` usage: godoc -http=localhost:6060 ...

  2. html5--6-40 CSS边框

    html5--6-40 CSS边框 实例 div动态阴影 学习要点 掌握CSS边框属性的使用 元素的边框就是围绕元素内容和内边距的一条或多条线. 元素的边框属性: border 简写属性,用于把针对四 ...

  3. UVA-11462 (计数排序)

    题意: 2e6个数,按从小到大的顺序输出; 思路: 计数排序; AC代码: #include <bits/stdc++.h> /* #include <vector> #inc ...

  4. c#操作rabbitmq

    今天将会介绍如果使用rabbitmq进行简单的消息入队,出队操作,因为本文演示的环境要用到上文中配置的环境,所以要运行本文sample,请先按上一篇中完成相应环境配置.         首先,我们下载 ...

  5. 一些好用的Linux命令组合

    1.删除0字节文件 代码如下: find -type f -size 0 -exec rm -rf {} \; 2.查看进程按内存从大到小排列 代码如下: ps -e -o "%C : %p ...

  6. python学习笔记6-输入输出与文件读取写入

    (1)打印到屏幕:print (2)读取键盘输入:input/raw_input #键盘输入 str = raw_input("Please enter:"); print (&q ...

  7. 黑马传智JavaEE57期 2019最新基础+就业+在职加薪_汇总

    黑马传智JavaEE57期 2019最新基础+就业+在职加薪 阶段1 语言基础+高级· 1-1-Java基础语法 第14节 数组 111

  8. ORACLE知识点整理之一

    1. 安装客户端 去官方网站下载 此处略 2. 客户端登陆身份 Oracle有三种身份登录方式:Normal.sysdba.sysoper. normal身份:普通用户身份,默认选项(默认可以不写), ...

  9. hdoj1166【线段树】

    单点更新+区间求和 不多说,直接上渣code--- #include<cstdio> #include<iostream> #include<string.h> # ...

  10. thinkphp5升级版开源框架tpframe v2.1发布

    免费开源框架tpframe是一款以thinkphp5为驱动,在此基础上进行进一步的完善与改进的框架,保持了ThinkPHP5原有的所有特性,优化核心,减少依赖,为个人或企业建站提供高效.快速解决的方案 ...