设为首页 加入收藏

TOP

计算机基础—硬件知识(一)
2017-10-09 17:33:26 】 浏览:10053
Tags:计算机 基础 硬件知识

计算机基础—硬件知识

1.编程语言的作用

  但凡是语言都是用来沟通的介质,比如:汉语,英语等,程序员编程的本质就是让计算机去工作,而编程语言就是程序员与计算机沟通的介质。程序员要想让计算机工作,必须知道计算机能干什么,怎么干。

2.操作系统和硬件的关系:

  计算机启动到操作系统可以运行都是BIOS基本输入程序再进行引导和作用的当所有硬件都进行检测协调之后BIOS就把控制权交给了操作系统。 操作系统如果到读取一个数据就把一个指令比如回车转为数字信号交给了CPU和主板上的芯片组由它们把这些数字信号转为机器能听得懂的语言再把机器语言转变为电信号然后由CPU和芯片组把不同的电信号传输给主机所连接的各个部件协调同理再把电信号转为数字信号进入操作系统后再把它转为模拟图像就看到了最后的结果.

3.应用程序:

  指为完成某项或多项特定工作的计算机程序,它运行在用户模式,可以和用户进行交互,具有可视的用户界面。应用程序通常又被分为两部分:图形用户接口(GUI)和引擎.

4.操作系统:

  是电子计算机系统中负责支撑应用程序运行环境以及用户操作环境的系统软件,同时也是计算机系统的核心与基石。它的职责常包括对硬件的直接监管、对各种计算资源(如内存、处理器时间等)的管理、以及提供诸如作业管理之类的面向应用程序的服务等等。

5.硬件:

  从概念上讲,一台简单的个人计算机可以抽象为类似下图的模型,CPU、内存以及I/O设备都由一条系统总线(bus)连接起来并通过总线与其他设备通信

现代计算机的结构更复杂,包括多重总线,我们将在后面的小节介绍,此时暂且让我们以下图为例来介绍各个部件:

 

cpu是人的大脑,负责运算

内存是人的记忆,负责临时存储

硬盘是人的笔记本,负责永久存储

输入设备是耳朵或眼睛,负责接收外部的信息传给cpu

输出设备是你的表情,负责经过处理后输出的结果

以上所有的设备都通过总线连接,总线相当于人的神经

6.CPU:

  电脑中的核心配件。其功能主要是解释计算机指令以及处理计算机软件中的数据。电脑中所有操作都由CPU负责读取指令,对指令译码并执行指令的核心部件。

7.内存:

  内存是计算机中重要的部件之一,它是与CPU进行沟通的桥梁。计算机中所有程序的运行都是在内存中进行的,因此内存的性能对计算机的影响非常大。内存(Memory)也被称为内存储器,其作用是用于暂时存放CPU中的运算数据,以及与硬盘等外部存储器交换的数据。只要计算机在运行中,CPU就会把需要运算的数据调到内存中进行运算,当运算完成后CPU再将结果传送出来,内存的运行也决定了计算机的稳定运行。 内存是由内存芯片、电路板、金手指等部分组成的。

8.磁盘:

  存储信息不受断电的影响,存取速度相对于内存慢得多,磁盘又分为两类,一类是硬盘,一类是软盘;硬盘的容量比较大,也就是说它能记录的信息比较多,而且一般都装在机箱里面。软盘的容量就相对比较小了,一般放在机箱外面。

9.寄存器:

a.除了用来保存变量和临时结果的通用寄存器外

b.多数计算机还有一些对程序员课件的专门寄存器,其中之一便是程序计数器,它保存了将要取出的下一条指令的内存地址。在指令取出后,程序计算器就被更新以便执行后期的指令

c.另外一个寄存器便是堆栈指针,它指向内存中当前栈的顶端。该栈包含已经进入但是还没有退出的每个过程中的一个框架。在一个过程的堆栈框架中保存了有关的输入参数、局部变量以及那些没有保存在寄存器中的临时变量

d.最后 一个非常重要的寄存器就是程序状态字寄存器(Program Status Word,PSW),这个寄存器包含了条码位(由比较指令设置)、CPU优先级、模式(用户态或内核态),以及各种其他控制位。用户通常读入整个PSW,但是只对其中少量的字段写入。在系统调用和I/O中,PSW非常

10.内核态与用户态及如何切换:

  用户态下工作的软件不能操作硬件,但是我们的软件比如暴风影音,一定会有操作硬件的需求,比如从磁盘上读一个电影文件,那就必须经历从用户态切换到内核态的过程,为此,用户程序必须使用系统调用(system call),系统调用陷入内核并调用操作系统,TRAP指令把用户态切换成内核态,并启用操作系统从而获得服务。请把的系统调用看成一个特别的的过程调用指令就可以了,该指令具有从用户态切换到内核态的特别能力。

11.存储器:

  计算机中第二重要的就是存储了,速度快(这样cpu的等待存储器的延迟就降低了)+容量大+价钱便宜。然后同时兼备三者是不可能的,所以有了如下的不同的处理方式

 

存储器系统采用如上图的分层结构,顶层的存储器速度较高,容量较小,与底层的存储器相比每位的成本较高,其差别往往是十亿数量级的

12.L1缓存,L2缓存:

  寄存器即L1缓存,用与cpu相同材质制造,与cpu一样快,因而cpu访问它无时延,典型容量是:在32位cpu中为32*32,在64位cpu中为64*64,在两种情况下容量均<1KB。

高速缓存即L2缓存,主要由硬件控制高速缓存的存取,内存中有高速缓存行按照0~64字节为行0,64~127为行1。。。最常用的高速缓存行放置在cpu内部或者非常接近cpu的高速缓存中。当某个程序需要读一个存储字时,高速缓存硬件检查所需要的高速缓存行是否在高速缓存中。如果是,则称为高速缓存命中,缓存满足了请求,就不需要通过总线把访问请求送往主存(内存),这毕竟是慢的。高速缓存的命中通常需要两个时钟周期。高速缓存为命中,就必须访问内存,这需要付出大量的时间代价。由于高速缓存价格昂贵,所以其大小有限,有些机器具有两级甚至三级高速缓存,每一级高速缓存比前一级慢但是容易大。

缓存在计算机科学的许多领域中起着重要的作用,并不仅仅只是RAM(随机存取存储器)的缓存行。只要存在大量的资源可以划分为小的部分,那么这些资源中的某些部分肯定会比其他部分更频发地得到使用,此时用缓存可以带来性能上的提升。一个典型的例子就是操作系统一直在使用缓存,比如,多数操作系统在内存中保留频繁使用的文件(的一部分),以避免从磁盘中重复地调用这些文件,类似的/root/a/b/c/d/e/f/a.txt的长路径名转换成该文件所在的磁盘地址的结果然后放入缓存,可以避免重复寻找地址,还有一个web页面的url地址转换为网络地址(IP)地址后,这个转换结果也可以缓存起来供将来使用。

缓存是一个好方法,在现代cpu中设计了两个缓存,再看4.1中的两种cpu设计图。第一级缓存称为L1总是在CPU中,通常用来将已经解码的指令调入cpu的执行引擎,对那些频繁使用的数据自,多少芯片还会按照第二L1缓存 。。。另外往往设计有二级缓存L2,用来存放近来经常使用的内存字。L1与L2的差别在于对cpu对L1的访问无时间延迟,而对L2的访问则有1-2个时钟周期(即1-2ns)的延迟。 

13. EEPROM ,CMOS, BIOS电池:

  (Electrically Erasable PROM,电可擦除可编程ROM)和闪存(flash memory)也是非易失性的,但是与RO

首页 上一页 1 2 下一页 尾页 1/2/2
】【打印繁体】【投稿】【收藏】 【推荐】【举报】【评论】 【关闭】 【返回顶部
上一篇pyhon中方法、属性、迭代器 下一篇Python isinstance

最新文章

热门文章

Hot 文章

Python

C 语言

C++基础

大数据基础

linux编程基础

C/C++面试题目