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. js 中继承的几种方式

    继承的方式一共有三种: 一.原型继承 通过prototype   来实现继承. function Person(name,age) { this.name=name; this.age=age; } ...

  2. sql server中like无法匹配下划线问题解决方案

    在sql server的like中下划线类似于通配符%,所以无法使用like '%_%'来匹配下划线,可以通过以下两种办法实现匹配下划线 1.使用转义字符escape like '%\_%' esca ...

  3. Lesson one of python

    Test1:Use the powershell to output the contents print "Hello World!" print "Hello Aga ...

  4. 【USACO 2857】 Steady Cow Assignment

    [题目链接] 点击打开链接 [算法] 二分答案,check的时候跑最大流,即可 [代码] #include<bits/stdc++.h> using namespace std; #def ...

  5. 【旧文章搬运】分析了一下360安全卫士的HOOK(二)——架构与实现

    原文发表于百度空间及看雪论坛,2009-10-14 看雪论坛地址:https://bbs.pediy.com/thread-99460.htm 刚发这篇文章的时候,因为内容涉及360的核心产品,文章被 ...

  6. 常用的Ant风格书写

    原文地址 Ant风格,为请求路径的一种匹配方式 通配符 说明 ? 匹配任意一个字符 * 匹配任意字符(包括0个) **  匹配任意层路径(包括0个) 支持Ant风格 1.spring资源加载 clas ...

  7. Windows可以ping通百度,但是用浏览器打不开网页

    开始——>运行——>输入cmd回车——>输入: netsh winsock reset  命令(重置winsock文件)——>重启系统. 重启完系统,即可解决:如不能,请再查找 ...

  8. 任务26:dotnet watch run 和attach到进程调试

    任务26:dotnet watch run 和attach到进程调试 dotnet watch run 的一种调试方法 打开VSCode,先关闭当前的文件夹 Ctrl+~快捷键 打开窗体. ls应该是 ...

  9. 斯坦福CS231n—深度学习与计算机视觉----学习笔记 课时6

    课时6 线性分类器损失函数与最优化(上) 多类SVM损失:这是一个两分类支持向量机的泛化 SVM损失计算了所有不正确的例子,将所有不正确的类别的评分,与正确类别的评分之差加1,将得到的数值与0作比较, ...

  10. C++开发工程师面试题库 50~100道

    51. New delete 与malloc free 的联系与区别?答案:都是在堆(heap)上进行动态的内存操作.用malloc函数需要指定内存分配的字节数并且不能初始化对象,new 会自动调用对 ...