计算机概论

鸟哥的lunix私房菜_零章

本章旨在介绍计算机基本硬件知识。

1. 计算机基本知识

1.1 计算机基本结构

计算机五大单元

计算机由五大基本单元组成:

输入单元、 输出单元、CPU 内部的控制单元、算数逻辑单元与主存储器五大部分。

CPU 读取主存储器中的数据处理,处理完的数据再写回主存储器中,接着传输到输出单元。为什么我们都会说,要加快系统效能,通常将内存容量加大就可以获得相当好的成效?因为所有的数据都要经过主存储器的传输, 所以内存的容量如果太小,数据快取就不足~影响效能相当大啊!尤其针对 Linux 作为服务器的环境下!这点要特别记忆喔!

1.2 cpu架构

CPU 为一个具有特定功能的芯片,里头含有微指令集。如果你想要让主机进行什么特异的功能,就得要参考这颗 CPU 是否有相关内建的微指令集才可以。

cpu架构分类:

  1. 精简指令集(RISC) :微指令集较为精简,每个指令的运行时间都很短,完成的动作也很单纯,指令
    的执行效能较佳。
  2. 复杂指令集(CISC) :CISC 在微指令集的每个小指令可以执行一些较低阶的硬件操作,指令数目多而且
    复杂, 每条指令的长度并不相同。因为指令执行较为复杂所以每条指令花费的时间较长, 但每条个
    别指令可以处理的工作较为丰富。常见的 CISC 微指令集 CPU 主要有 AMD、Intel、VIA 等的 x86 架
    构的 CPU。

Tips:“所谓的位指的是 CPU 一次数据读取的最大量!64 位 CPU 代表 CPU 一次可以读写 64bits
这么多的数据,32 位 CPU 则是 CPU 一次只能读取 32 位的意思。 因为 CPU 读取数据量有限制,因此能够从内存
中读写的数据也就有所限制。所以,一般 32 位的 CPU 所能读写的最大数据量,大概就是 4GB 左右。”

以上引用自“鸟哥的Lunix私房菜”的解释,觉得有些不好理解,查阅相关资料,在此做一个分析:

       从cpu和内存的交互开始,要存取数据或指令就要知道数据或指令存放的位置,地址寄存器存储的就是CPU当前要存取的数据或指令的地址,该地址是由地址总线传输到地址寄存器上的,因此地址总线的位宽决定了CPU的寻址范围能力。内存是由很多个内存单元组成的,每个内存单元占8个bit位(1字节),也就是说内存中有多少个内存单元就意味着可以存储多少个字节,假如地址总线为32位,即地址寄存器每次能存取的值范围也即寻址范围为2的32次方 = 4294967296bit = 4G左右。

      由地址寄存器指出要存取数据或指令的位置后,接下来就是到该地址把数据或指令找到,并用数据总线传输给CPU。因此数据总线取出的指令或者数据位数需要和CPU同一时间内可以处理的二进制数的位数保持一致,由此看出和32cpu/64位cpu直接挂钩的是数据总线的宽度。

对于一些服务器来讲4G的内存的远远不够的了。我们需要更加大的内存寻址空间的话就需要对CPU进升级。64位CPU的内存寻址空间是2的64次方。但是现在的AMD和Inter的64位CPU并不是真正意义上的64CPU,只是进行了部分64位的改进,比如64位的内存寻址等。 目前很多软件都是老的32位指令的软件,运行的是32位指令集,要是真的全部都是64位的了,那么现在市场上的软件将全部被淘汰不能使用了。64位的操作系统针对64位CPU设计的,增加了一些64位的指令,但还是和32兼容的。对于我们普通用户来讲64位系统意义不大。

1.3 其他设备

主机机壳内的设备大多是透过主板 (main board) 连接在一块,主板上面有个连结沟通所有设备的芯片组,这个芯片组可以将所有单元的设备链接起来, 好让 CPU 可以对这些设备下达命令。

整部主机当中最重要的就是 CPU 与主存储器, 而 CPU 的数据源通通来自于主存储器,如果要由过去的经验来判断事情时, 也要将经验(硬盘)挪到目前的记忆(主存储器)当中,再交由 CPU 来判断喔!

2 计算机基本架构和相关设备

上述的图片中,主板上面设计的插槽主要有 CPU 、主存储器 (DDR4 )、显示适配器界面 (PCI)、SATA 磁盘插槽 (SATA express)等等。

2.1 CPU

多核:所谓的多核心则是在一颗 CPU 封装当中嵌入了两个以上的运算核心, 简单的说,就是一个实体的 CPU 外壳中,含有两个以上的 CPU 单元。

型号:不同的 CPU 型号大多具有不同的脚位(CPU 上面的插脚),能够搭配的主板芯片组也不同。

频率:频率就是 CPU 每秒钟可以进行的工作次数。

超线程 (Hyper-Threading, HT):在每一个 CPU 内部将重要的缓存器 (register) 分成两群, 而让程序分别使用这两群缓存器。也就是说,可以有两个程序『同时竞争 CPU 的运算单元』,而非透过操作系统的多任务切换! 这一过程就会让 CPU 好像『同时有两个核心』的模样!

2.2 内存

内存条:CPU 所使用的数据都是来自于主存储器(main memory),不论是软件程序还是数据,都必须
要读入主存储器后 CPU 才能利用。 个人计算机的主存储器主要组件为动态随机存取内存(Dynamic 
Random Access Memory, DRAM)。

多通道设计:由于所有的数据都必须要存放在主存储器,所以主存储器的数据宽度当然是越大越好。 但传统的总
线宽度一般大约仅达 64 位,为了要加大这个宽度,因此芯片组厂商就将两个主存储器汇整在一起,如
果一支内存可达 64 位,两支内存就可以达到 128 位了,这就是双通道的设计理念。

cpu的内存控制器:CPU 内的第二层高速缓存,由静态随机存取内存(Static Random Access Memory, 
SRAM)实现,DRAM 则用于主存储器(main memory)。

ROM:BIOS 原本使用的是无法改写的 ROM ,因此根本无法修正 BIOS 程序代码!为此,现在的 BIOS 通常是写入类似闪存 (flash) 或 EEPROM 中。

2.3 显示适配器(显卡) 

显示适配器又称为 VGA(Video Graphics Array),他对于图形影像的显示扮演相当关键的角色。

HDMI:相对于 D-sub 与 DVI 仅能传送影像数据,HDMI 可以同时传送影像与声音,因此被广泛的使用
于电视屏幕中!计算机屏幕目前也经常都有支持 HDMI 格式!

2.4 硬盘与储存设备 

硬盘的物理组成:是由许许多多的圆形磁盘盘、机械手臂、 磁盘读取头与主轴马达所组成的。

扇区:磁盘盘同心圆上面切出一个一个的小区块,这些小区块整合成一个圆形,让机器手臂上的读写头去存取。 这个小区块就是磁盘的最小物理储存单位,称之为扇区。

分区:原本硬盘的扇区都是设计成 512byte 的容量,但因为近期以来硬盘的容量越来越大,为了减少数据量的拆解,所以新的高容量硬盘已经有 4Kbyte 的扇区设计! 购买的时候也需要注意一下。也因为这个扇区的设计不同了,因此在磁盘的分区方面,目前有旧式的 MSDOS 兼容模式,以及较新的 GPT 模式喔! 在较新的 GPT 模式下,磁盘的分区通常使用扇区号码来设计,跟过去旧的MSDOS 是透过磁柱号码来分区的情况不同。

传输界面:为了要提升磁盘的传输速度,磁盘与主板的连接界面也经过多次的改版,因此有许多不同的界面喔!传统磁盘界面包括有 SATA(Serial Advanced Technology Attachment串行高级技术附件,一种基于行业标准的串行硬件驱动器接口), SAS(串行连接SCSI), IDE(Integrated Drive Electronics) 电子集成驱动器 与 SCSI (小型计算机系统接口Small Computer System Interface简写:SCSI)等等。 若考虑外接式磁盘,那就还包括了 USB, eSATA 等等界面。

SSD固态硬盘:典型的SSD是基于NAND技术的闪存,是一种非易失性存储器。非挥发性意味着什么?其答案是如果停止运行硬盘,其存储的内容不会丢失。这当然是任何类型的永久记忆的基本特征。

HHD机械硬盘:械硬硬盘是磁盘,透过机器手臂去读写数据,磁盘盘要转动才能够让机器手臂读写。

区别:两者最大区别是固态硬盘由多个闪存颗粒和主控芯片组成,没有运动结构设计,而机械硬盘采用的是碟盘和读写磁头组成。

2.5主板 

设备 I/O 地址与 IRQ 中断信道:主板通过设备 I/O 地址确认装置,依靠IRQ 中断(Interrupt)信道告知 CPU 该装置的工作情况。

CMOS 与 BIOS:CMOS 主要的功能为记录主板上面的重要参数, 包括系统时间、CPU 电压与频率、各项设备的 I/O 地址与 IRQ 等,由于这些数据的记录要花费电力,因此主板上面才有电池。 BIOS 为写入到主板上某一块 flash 或EEPROM 的程序,他可以在开机的时候执行,以加载 CMOS 当中的参数, 并尝试呼叫储存装置中的开机程序,进一步进入操作系统当中。BIOS 程序也可以修改 CMOS 中的数据,每种主板呼叫 BIOS设定程序的按键都不同,一般桌面计算机常见的是使用[del]按键进入 BIOS 设定画面。

3. 软件程序运作 

3.1 操作系统

操作系统核心(Kernel)

操作系统(Operating System, OS)其实也是一组程序, 这组程序的重点在于管理计算机的所有活动以
及驱动系统中的所有硬件。

核心功能:

1 系统呼叫接口(System call interface)
刚刚谈过了,这是为了方便程序开发者可以轻易的透过与核心的沟通,将硬件的资源进一步的利用, 于是
需要有这个简易的接口来方便程序开发者。
2 程序管理(Process control)
总有听过所谓的『多任务环境』吧?一部计算机可能同时间有很多的工作跑到 CPU 等待运算处理, 核心
这个时候必须要能够控制这些工作,让 CPU 的资源作有效的分配才行!另外, 良好的 CPU 排程机制(就是
CPU 先运作那个工作的排列顺序)将会有效的加快整体系统效能呢!
3 内存管理(Memory management)
控制整个系统的内存管理,这个内存控制是非常重要的,因为系统所有的程序代码与数据都必须要先存放
在内存当中。 通常核心会提供虚拟内存的功能,当内存不足时可以提供内存置换(swap)的功能哩。
4 文件系统管理(Filesystem management)
文件系统的管理,例如数据的输入输出(I/O)等等的工作啦!还有不同文件格式的支持啦等等, 如果你的核
心不认识某个文件系统,那么您将无法使用该文件格式的文件啰!例如:Windows 98 就不认识 NTFS 文件
格式的硬盘
5 装置的驱动(Device drivers)
就如同上面提到的,硬件的管理是核心的主要工作之一,当然啰,装置的驱动程序就是核心需要做的事情
啦! 好在目前都有所谓的『可加载模块』功能,可以将驱动程序编辑成模块,就不需要重新的编译核心啦!

3.2 驱动

 硬件在持续更新! 包括主板、显示适配器、硬盘等等。那么比较晚推出的较新的硬件,例如显示适配器,我们的操作系统
如何驱动这块新的显示适配器?为了克服这个问题,操作系统通常会提供一个开发接口给硬件开发商,让他们可以根据这个接口设计可以驱动他们硬件的『驱动程序』,如此一来,只要使用者安装驱动程序后,自然就可以在他们的操作系统上面驱动这块显示适配器了。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值