计算机基础


计算机系统
硬件
主机核心设备:中央处理器CPU(运算器ALU、控制器CU);存储器:ROM、RAM
主机其他设备:存储(硬盘、软盘、光盘、usb);输入输出设备(键盘、鼠标、打印机、扫描仪、显示器);其他:调制解调器、光猫
软件
系统软件:操作系统、程序语言处理系统、数据库、驱动程序
应用软件:通用软件(办公软件例如:OFFICE);专用软件(适用各个工作环境的软件)


计算机发展史
40-50年代    第一代计算机   电子管时代 ENIAC

50-60年代   第二代计算机    晶体管时代

60-70年代   第三代计算机    集成电路时代

70- 现在    第四代计算机    大规模集成电路时代


冯诺依曼计算机体系

运算器、控制器、存储器、输入设备、输出设备


摩尔定律

当价格不变时,集成电路上可容纳的数目,每隔18-24个月变会增加一倍,性能也提升一倍  


计算机分类

按照应用分类:专用计算机,通用计算机

按照规模分类:巨型机、大型机、小型机、微型机、工作站、服务器

服务器分类:塔式、机架式(目前比较常见,厚度通常为1U 2U 3U 4U 5U 7U 1U=1.75英寸=44.45毫米通 常用5厘米来表示 )、刀片式               


CPU:中央处理单元:运算器+控制器
代表厂商:Intel(Xeon:至强;Itanium:安腾 )、AMD (Althlon MP) IBM(Power)
参数

主频:cpu的时钟频率
外频:系统总线的工作频率(可超频)
倍频:cpu外频与主频相差的倍数(固定)
主频=外频*倍频
高速缓存

一级缓存L1              

二级缓存L2
三级缓存L3  

一级缓存都内置在CPU内部并与CPU同速运行,可以有效的提高CPU的运行效率。一级缓存越大,CPU的运行效率越高,但受到CPU内部结构的限制,一级缓存的容量都很小。所谓二级缓存,它是为了协调一级缓存和内存之间的速度。cpu调用缓存首先是一级缓存,不够当处理器的速度逐渐提升了,导致一级缓存就供应不了需求 了,这样就提升到二级缓存了。二级缓存它是比一级缓存的速度相对来说会慢,但是它比一级缓存的空间容量要大。主要就是做一级缓存和内存之间数据临时交换的 地方用。三级缓存的话也是一样的。是为读取二级缓存后未命中的数据设计的—种缓存,在拥有三级缓存的CPU中,只有约5%的数据需要从内存中调用,这大大提高了CPU的效率。



二级缓存和三级缓存有哪些区别

服务器CPU
非X86服务器:价格贵,封闭体系,稳定性好,用于银行

X86服务器 :便宜,兼容性好,稳定性差,安全性低,用于PC


程序:指令+数据 也可以是算法+数据结构

CPU再设计之初就存在了计算器例如“+ - * /”这些构成了指令集,除了这些指令外,还有一种叫做特权指令,有清空其他指令权限的指令。CPU运算时需要从存储器中调取数据,被调取的存储空间叫做Cell,大小是固定的8bit=1Byte


进制关系:通常厂商销售以10进制来表示空间大小,而实际计算机是通过二进制来计算空间大小,因此就造成了我没看到的存储空间要小于厂商所说的空间大小。

2^10=1024=1KiByte  
2^20=1024K=1M
2^30=1024M=1G
2^40=1024G=1T
2^50=1024T=1P
2^60=1024P=1E
2^70=1024E=1Z

2^80=1024Z=1Y

2^90=1024Y=1B

Windows 7安装4GB内存后,显示出来的只有3.2GB左右甚至更少,有800多MB的内存“无缘无故”地消失了原因是什么?
32位系统的CPU最大寻址空间是2的32次方

2^10*2^10*2^10*2^2

1024*1024*1024*4KByte

   1024*1024*4M

     1024*4G

4GB个地址码不能全部分配给安装在主板上的物理内存。因为个人电脑还有很多设备需要地址代码

主板
bios芯片
I/O控制芯片
面板控制开关接口
扩充插槽
供电插件


内存
定义:直接寻址的空间,存取速度快,断电丢失数据。
内存带宽计算公式:带宽=内存时钟频率×内存总线位数×倍增系数/8

SDR和DDR都是64bit的总线宽度,只是DDR可以在时钟信号的上升沿和下降沿都传送数据,因此计算得到的相应带宽要X2。RDR的总线带宽较窄,只有16bit,但RDR在工作时使用的是对称传输的工作模式,因此计算得到的相应带宽也要X2。

DDR2 800 400MHz带宽=400*2*64/8=6400MB/s=6.4GB/s
DDR2 667 333MHz带宽=333*2*64/8=5400MB/s=5.4GB/s

产生CPU和Memory瓶颈的原因 现今的存储器速度远远低于处理器的速度。    

内存发展过程
30pin SIMM内存1988年以前

72pin SIMM内存1988-1990
EDO  DRAM内存 1991-1994

PC66 SDRAM   1995年后
DDR
DDR2
DDR3

服务器内存保护技术
再选被用内存技术:防止内存坏掉或者故障,有预留的保存,备用的内存和原有的大小相等;
内存镜像:内存出现故障时,提供数据保护功能,数据同时写入两个镜像内存区域,当一个坏掉是,可以不影响的从另一个读取。


硬盘
结构:存储介质(盘片)、读写头(磁头)、马达
接口类型:IEEE 1349接口、IDE接口、SCSI接口、目前最主流的接口是SATA和SAS(兼容SATA)
种类:
SATA:容量一般有250g 320g 500g 750g 1t 2t,转速5400 7200 缓存8m 16m 32m
SAS:容量一般有 146g 300g 450g 600g 1t、2t,转速 10000 15000,缓存16m 32m 64m
SSD 读写速度快,性能稳定,防震,散热好
Raid卡:实现RAID建立和重建,检测和修复多为错误,错误磁盘自动检测等,把若干磁盘按照要求组成一个整体,由阵列控制管理,提高磁盘子系统的性能和可靠性

网卡
1Gb/s 千兆网卡

Infiniband 光纤网卡

存储
普通存储 :硬盘,软盘,光盘
磁盘阵列
存储技术

DAS 直接存储 相当于本机存储,成本低方便简单
NAS 网络存储 基于文件协议NFS SMB/CIFS 类似FTP服务器,集中管理,跨平台,可靠性差,适用于小型网络。
SAN 存储区域网 基于SCSI IP ATM协议等,实现复杂,成本高,性能好,稳定性好



操作系统
OS的作用:硬件驱动、进程管理、内存管理、网络管理、安全管理、文件管理
类别:

服务器 linux aix windows
桌面    windows apple
移动   安卓 ios

开发接口
API 应用目录接口 定义源代码和库直接的接口---同样的源代码可以在支持这个api的任何系统中编译
ABI 应用二进制接口 应用程序与操作系统之间的底层接口---允许编译好的目标代码在使用兼容ABI的系统中无需改动就能运行
POSIX IEEE在操作系统上定义的一系列API标准

运行程序格式

windows :exe、dll,lib
linux   :ELF,so,.a

编程语言
低级语言 :机器语言(0 1);汇编语言 和机器语言一一对应,与硬件关系紧密,用于驱动开发
中级语言 :C语言 系统级应用、驱动程序
高级语言 jave c# python php 更靠近人