Linux学习日记第一篇(计算机概论)

Linux学习日记第一篇——计算机概论

一、什么是计算机

计算机,是用以接受用户输入指令与数据,在经过中央处理器的数据与逻辑单元运算处理后,能产生或存储成有用的信息的机器。例如,我们日常生活当中所使用的ATM提款机、笔记本电脑等等,都属于计算机。

二、个人计算机架构与接口设备

1. 计算机硬件的组成

  • 输入单元: 如键盘、鼠标、触摸屏等
  • 输出单元: 如屏幕、打印机等
  • 控制单元:位于CPU内部,用以协调各组件与单元之间的工作
  • 算术逻辑单元: 位于CPU内部,用以程序运算与逻辑判断
  • 内存: CPU与外界数据连接的桥梁,CPU要处理的数据要从内存中读出,处理完的数据会存入到内存中

值得关注的是,在随后的发展当中,为了满足不同情况的需求,计算机又进行了外部存储的扩展,成为了今天我们所看到的硬盘、U盘、光盘等,它们统称为外部存储设备

2.计算机的架构

一般消费者常常使用的计算机通常指的是x86的个人计算机架构,主要有两大开发商,Intel和AMD,他们的CPU架构不兼容,设计理念也有所区别。因为目前x86的CPU主要厂商是Intel,所主要阐述Intel的主板架构。

Intel 主板架构

2.1 南北桥
在整个主板上,最重要的是芯片组,而芯片组通过两个桥接器来控制各个组件的通信,称为南桥和北桥。
  • 南桥:负责连接速度较慢的周边接口,如硬盘、USB等
  • 北桥:负责连接速度较快的CPU、内存与显卡等部件
目前,北桥所支持的频率可以达到333/400/533/800/1066/1333/1600MHz,能够应用于不同的情况。北桥所支持的频率称为前端总线速度(Front Side Bus, FSB),每次传送的位数则是总线宽度,常见的有32位/64位。每秒钟传送的最大数据量用总线频宽来衡量,总线频宽 = “FSB × 总线宽度”。

CPU每次能够处理的数据量称为字组大小(Word Size),字组大小依据CPU的设计而有32位与64位,如果是32位,我们就称该计算机是32位的!!

2.2 中央处理器CPU
如果将人和计算机进行一个类比,会发现有很多相似之处,这是人类根据现有事物为基础,进行理论设计的证明。例如,计算机中的中央处理器(Central Processing Unit, CPU),类似于人类的大脑,能够集中处理计算机获取到的外界信息。
CPU本身,是一个具有特定功能的芯片,里面含有微指令集,包含控制单元、算术逻辑单元,能够完成管理与运算的工作。其中,算术逻辑单元主要负责程序运算与逻辑判断,控制单元则主要协调各组件与各单元间的工作。
CPU的分类
  • 精简指令集(Reduced Instruction Set Computer, RISC)

这种指令集较为精简,指令长度较短,完成的操作简单,执行的效果良好,但要完成复杂的事情,需要由多个指令来完成

  • 复杂指令集(Complex InstructionSet Computer, CISC)

不同于RISC,CISC的微指令集能够执行一些较低阶的硬件操作,指令数目较多并且复杂,指令长度不同,完成指令相应操作的时间较长

** RISC和CISC常见类型和应用 **

类别 常见类型 应用
RISC Sun公司的SPARC系列、IBM公司的Power Architecture(包括Power PC系列)系列和ARM系列 SPARC架构的计算机常用于学术领域的大型工作站、银行金融体系的服务器中; 基于Power PC架构的Cell处理器应用到了Sony公司生产的Play Station 3(PS3)上; 基于ARM结构的CPU用在了如手机、导航、网络设备等生活中的各个领域中(目前使用最为广泛的CPU就是ARM)
CISC AMD、Intel、VIA生产的X86架构CPU 个人计算机(Person Computer, PC)
CPU连接的其他设备
将CPU比作大脑是贴切的,但要完成计算机相应的任务,还需要其他的组件。除了前面提到的输入单元、输出单元、内存之外,还需要连接一些外围的设备,称为接口设备。
主要的接口设备有:
  • 存储设备:硬盘、光盘、U盘等
  • 显示设备:与显示屏的精度、色彩与分辨率直接相关
  • 网络设备:连接外围网络
AMD与Intel的芯片组架构的区别在于,内存直接与CPU通信,不经过北桥。为了加速两者的通信,AMD将内存控制组件集成到CPU当中。这是AMD和Intel两种CPU在架构上的主要区别。

3.内存

内存,是计算机内部的存储器。CPU进行处理的信息都是来自于内存,包括软件程序和数据。目前我们使用的计算机的内存主要组件为动态随机访问内存(Dynamic Random Access Memory, DRAM),并且只有当它在通电的时候才能记录使用,断电后丢失。
  • 容量:由于所有的数据都是从内存读取到CPU内部的,因此如果内存不够大,将会导致某些大容量数据无法被完整加载。通常内存越大表示系统越快,因为系统不需要常常释放一些内存内部的数据
  • 双通道:由于所有供给CPU处理的信息都在内存中,因此内存的数据宽度越大越好。通常的做法是将两个64位的内存条汇总在一起,组成一个128位的数据宽度。另外,两个内存条的型号最好相同,这是为了同步写入/读出数据,这样才能够提升整体的频宽
  • 内存与CPU频率:理论上说,CPU频率和内存的外频应当是一致的比较好。如CPU的外频为333MHz,则应该用内存外频为333MHz的内存
其他类别的内部存储器
  • 静态随机访问内存:相比较于DRAM,静态随机访问内存(Static Random Access Memory, SRAM)最大的特点是访问速度更快。它使用晶体管数量较多,价格较高,不易做成大容量。通常应用在CPU内部的第二层缓存L2 Cache上,以加快CPU的运行性能
  • 只读存储器:ROM(Read Only Memory, ROM),作为一种非挥发性存储器,其内部存储的内容不会因为断电而丢失,它在计算机内部中有极其重要的应用。例如开机时会首先读取的程序BIOS(Basic Input Output System),它的程序就是写在ROM上。

4.显卡

显卡,又称为VGA(Video Graphics Array),应用于计算机中图形影像的显示。一般对于图形影像的显示重点在于分辨率与色彩深度,因为每个图像显示的颜色会占用内存,因此显卡上面会有一个内存的容量,这个显卡的容量会最终影像屏幕分辨率与色彩深度。

对于一些需求高质量画质游戏的用户来说,显卡是需要重点考虑的对象

5.硬盘与存储设备

除了前面提到的内部存储器外,计算机仍然需要其他的存储方式来存储一些可能不常用、但需要重新读入的信息,如小众的应用程序。值得注意的是,这种存储器属于外部存储器,CPU无法直接进行操作,只有当信息读入到内存之后,CPU才能进行处理。
常用的硬盘与存储设备有硬盘、软盘、CD、U盘等。另外,对于大型机器的局域网存储设备(SAN、NAS)等,也可以用来存储数据。不过,最主要的存储设备还是硬盘。
5.1 硬盘
硬盘由许多的盘片、机械臂、磁头和主轴马达组成。存储的数据写在具有磁性物质的盘片上,通常,为了加大容量,硬盘内部会有两个以上的盘片。在运行时,由主轴马达控制盘片转动,机械臂伸展让读取头在盘片上进行读取的操作。
5.2 传输接口
目前,硬盘与主机系统的连接主要有三种,IDE、SATA、SCSI接口。
  • IDE接口:IDE接口插槽使用的排线较宽,每条排线上面可以连接两个IDE设备,由磁盘驱动器调整跳针来判别设备的主从(Master/Slave)架构
  • SATA接口:每条SATA连接线仅能接一个SATA设备。SATA接口速度很快,并且由于其排线较为细小,有利于主机壳内部的散热与安装
  • SCSI接口:SCSI接口应用于工作站级别以上的硬盘传输,这种接口的硬盘在控制器上含有一块处理器,所以除了运转速度很快之外,消耗的CPU资源也较少

6.PCI适配卡

外设部件互联标准(Peripheral Component Interconnect, PCI),简称PCI。PCI插槽可以提供给多个用户,如果用户有额外需要的功能卡,就能够安插在这种PCI接口插槽上。不过,由于各个组件的成本一直在下降,主板上面集成了相当多的组件设备,如声卡、网卡、USB控制卡等,所以现在的主板上面所安插的PCI适配卡就少很多。
目前,由于PCI Express的快速发展,很多制造商都往PCIe接口发硬件,不过仍然有很多的硬件使用PCI接口。

7.主板

主板是整个主机当中相当重要的一部分,我们所谈论的所有组件都是安插在主板上面的。在主板上,负责各个组件之间通信的就是芯片组,芯片组由北桥和南桥组成。北桥负责CPU/RAM/VGA等的连接,南桥则负责PCI接口与速度较慢的I/O设备。
  • 芯片组:芯片组是依据CPU的能力进行规划的,所以在购买或升级主机的时候,需要综合考虑CPU、主板、内存与相关的接口设备。如果是集成的芯片组,只需要购买CPU、主板、内存等,不过性能上相对较弱;如果是独立型芯片组,则在更换的时候需要额外负担接口设备如声卡、显卡等的花费,但性能较强
  • 设备I/O地址和IRQ中断信道:I/O地址用于标记各个设备,被标记的设备可以通过IRQ中断信道知道目前CPU的工作状态,以方便CPU进行工作分配的任务
  • CMOS和BIOS:CMOS用以记录主板上面的重要参数如系统时间、CPU电压和频率、各项设备的I/O地址和IRQ等。BIOS为写入到主板上某一块闪存或EEPROM的程序,在开机的时候运行,它会加载CMOS中的参数,调用存储设备中的开机程序,进一步进入到操作系统中

值得关注的是,主板上面的芯片组是一块散热很多的组件,因此常常需要使用一些手段进行散热,如热传导。另外,使用CMOS进行参数的记录时,需要耗电,这也是为什么主板需要安装电池。

三、计算机的软件程序

计算机的组成由硬件和软件共同组成,两者相辅相成,不存在优先级之分。没有硬件,计算机无法搭载软件,没有软件,计算机只是一堆无用的机器。目前,计算机系统将软件程序分为两大类,系统软件和应用程序。
1.机器程序与编译程序
计算机在工作时,内部只能够辨识由0和1编写的机器程序,编写难度很大。另外,由于不同的CPU的微指令架构也不同,在一台计算机上编写的程序往往难以应用到另一台计算机上。为此,计算机科学家设计出一类符合人们思维方式的编程语言,如C、C++、Java、Fortran等。编写完成之后,通过编译器转化成为机器程序,交付给机器执行。
2.操作系统
在早期,要让计算机执行程序必须得参考一堆硬件功能函数,每次写程序时都需要重新改写,而硬件与软件的功能往往不一致,这极大的阻碍了计算机的发展。为了解决这个问题,人们将所有的硬件都驱动,只提供一个开发软件的参考接口,以此来降低开发软件的难度,这种架构就称之为操作系统。
操作系统,在本质上,也属于一组程序,它的重点在于管理计算机的所有活动以及驱动系统中的所有硬件,所有的硬件操作都是由操作系统控制的。操作系统又分为内核和系统调用两部分,分别掌管内部硬件控制和外部软件接口。
内核:
在硬件具体操作的实现上,是由操作系统的内核完成的。由于这部分内的程序至关重要,所以一般的用户是不会接触到的。内核能够实现如设备驱动、多任务管理调度等功能。
系统调用:
在操作系统上进行软件开发时,开发人员只需要遵循软件开发接口的规则,不需要关注内核参数等问题。例如我们编写C语言的程序时,只需要关注C语言的语法,系统内部接口会将C语言的相关语法转换成可以了解的任务函数,这样内核就能够顺利运行该程序。

值得关注的是,操作系统的内核层是根据硬件写成的,因此不同的操作系统不能应用在不同的硬件架构上,例如Windows 32位操作系统和64位操作系统。另外,外部应用程序的开发也是如此,例如在Windows上开发的一些程序不能够应用在Linux上。对于一个应用厂商而言,要在一台计算机中使用他们制作的硬件,必须要写一套与该操作系统配套的硬件驱动程序,利用驱动程序来驱动他们制作的硬件。

3.应用程序
应用程序是依据操作系统给出的开发接口所开发出来的软件,用户能够直接操作这些软件,实现某些用户预期的要求。例如Chrome浏览器、MarkdownPad 2编辑器、CCleaner清理器等。同样的,在不同系统下开发的应用程序可能无法兼容,例如Windows XP和Windows 7,在Windows XP上无法运行办公室软件,而Windows 7则可以。

猜你喜欢

转载自blog.csdn.net/weixin_42877471/article/details/83475928