Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

《鸟哥的Linux私房菜(基础篇)》第0章 计算机概论 #15

Open
qunzi0214 opened this issue Oct 17, 2020 · 0 comments
Open
Labels
read book 读书笔记

Comments

@qunzi0214
Copy link
Owner

qunzi0214 commented Oct 17, 2020

中央处理器(Central Processing Unit, CPU)架构

精简指令集(Reduced Instruction Set Computer, RISC)

指令精简,单个指令运行时间短,复杂指令需要多个指令来完成(Oracle的SPARC、IBM的Power Architecture、ARM的 ARM CPU)。PS3是Power Architecture,而手机一般是ARM CPU

复杂指令集(Complex Instruction Set Computer, CISC)

指令数目多且复杂,可以处理的工作丰富(AMD,Intel,VIA等x86)。叫x86的原因是最早Intel研发的CPU代号8086,64位的个人电脑CPU又称为x86-64架构。位(bit)是指CPU一次可以读写的数据量

常用的计算单位

容量

1TB = 1024GB = 1024 ^ 2 MB = 1024 ^ 3 KB = 1024 ^ 4 Byte = 8 * 1024 ^ 4 bit

速度

CPU频率:1GHz = 1000 ^ 3 Hz
网络传输:20M/5M 其实是 20Mbit/s 5Mbit/s,理论上下载 2.5MB/s 上传 625KB/s

总线带宽

内存频率的限制主要来自CPU中的内存控制器,假设一个x86-64的CPU对内存的工作频率是 1600MHz,
那么理论上总线带宽 = 1600MHz * 64bit = 12.8GB/s

内存

动态随机存取内存(Dynamic Random Access Memory, DRAM)

SDRAM/DDR 型号 数据位宽(bit) 内部频率(MHz) 频率倍数 带宽
SCRAM PC133 64 133 *1 1064MB/s
DDR DDR-266 64 133 *2 2.1GB/s
DDR DDR-400 64 200 *2 3.2GB/s
DDR DDR2-800 64 200 *4 6.4GB/s
DDR DDR3-1600 64 200 *8 12.8GB/s

同理,目前已经很流行的DDR4频率为3200MHz,带宽可以达到 33.6GB/s(Double Data Rate, DDR)

静态随机存取内存(Static Random Access Memory, SRAM)

使用SRAM来做成CPU内部的二级缓存(L2 Cache),把常用的程序或数据放入缓存中,可以大大提升性能

只读存储器(Read Only Memory, ROM)

通常用来写入固件,曾经BIOS(Basic Input Output System)也是写入ROM中的。特点是没有通电时也能记录数据。

显卡

主要用来处理图像,显存容量会影响到屏幕分辨率和颜色深度。同时,有专门的图像处理芯片,用于加速3D运算需求。目前显卡的插槽基本都是PCIe(PCI-Express)

规格 1x带宽 16x带宽
PCIe 1.0 250MB/s 4GB/s
PCIe 2.0 500MB/s 8GB/s
PCIe 3.0 1GB/s 16GB/s
PCIe 4.0 2GB/s 32GB/s

硬盘

机械硬盘(Hard Disk Drive, HDD)

一般由主轴马达、机械手臂、磁片柱和磁头组成。数据存储在磁片中,读写数据需要转动磁片,因此存在读写速度存在物理限制

SATA接口

版本 带宽(Gbit/s) 速度(MB/s)
SATA 1.0 1.5 150
SATA 2.0 3 300
SATA 3.0 6 600

因为 SATA 接口传输数据时,10bit 中仅 8bit 是数据,其余 2bit 作为校验用,因此换算(B转bit)是 1:10 而不是 1:8

USB接口

和SATA接口一样,仅仅是理论值

版本 带宽(Mbit/s) 速度(MB/s)
USB 1.0 12 1.5
USB 2.0 480 60
USB 3.0 5 * 1024 500
USB 3.1 10 * 1024 1000

固态硬盘(Solid state Disk, SSD)

最大的好处是,通过闪存直接读写的特性,不需要马达,无延时速度快且省电

操作系统

早期想让电脑执行程序需要参考一堆硬件功能函数,学习机械语言,并且程序迭代困难。操作系统的出现解决了这一问题:操作系统是一组程序,重点在于管理电脑的所有活动以及驱动系统中的所有硬件。

内核(kernel)

对硬件的所有操作都由内核完成,内核程序通常在电脑启动后就常驻内存中,且在内存中的区块是受保护的

系统调用(System Call)

操作系统通常提供一套应用程序编程接口(Application Programming Interface, API),否则开发人员仅仅从参考硬件功能函数编程参考内核功能

兼容

综上所述,硬件规格 -> 系统内核 -> 操作系统 -> 系统调用 -> 应用程序,所以应用程序必须指定某一版本的操作系统

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
read book 读书笔记
Projects
None yet
Development

No branches or pull requests

1 participant