tristate,空格是什么?
M:标识作为内核模块编译
空格:表示该功能不编译到内核中,即新的内核将不支持该功能。
m:模块会被编译,但是不会被编译到内核中,只是生成.o文件,我们可以收集这些.o文件做到linux的文件系统中,然后用in***od实现动态加载。
模块加载的两种方式
1)、动态加载
动态加载是将驱动模块加载到内核中,而不能放入/lib/modules/下。
在2.4内核中,加载驱动命令为:in***od ,删除模块为:rmmod;
在2.6以上内核中,除了in***od和rmmod外,加载命令更有modprobe;
in***od和modprobe不同之处:
in***od 绝对路径/××.o,而modprobe ××即可,不用加.ko或.o后缀,也不用加路径;最重要的一点是:modprobe同时会加载当前模块所依赖的其他模块;
l***od查看当前加载到内核中的所有驱动模块,同时提供其他一些信息,比如其他模块是否在使用另一个模块。
2)、静态加载
linux设备一般分为:字符设备、块设备和 设备,每种设备在内核原始码目录树drivers/下都有对应的目录,其加载 类似,以下以字符设备静态加载为例,假设驱动程式原始码名为ledc.c,具体操作步骤如下:
之一步:将ledc.c源程式放入内核源码drivers/char/下;
第二步:修改drivers/char/CONFIG.in文件,具体修改如下:
按照打开文件中的格式添加即可;
在文件的适当位置(这个位置随便都能,但这个位置决定其在make menuconfig窗口中所在位置)加入以下任一段代码:
tristate ’LedDriver’ CONFIG_LEDC
if [ "$CONFIG_LEDC" = "y" ];then
bool ’ Support for led on h9200 board’ CONFIG_LEDC_CONSOLE
fi
说明:以上代码使用tristate来定义一个宏,表示此驱动能直接编译至内核(用*选择),也能编制至/lib/modules/下(用M选择),或不编译(不选)。
bool ’LedDriver’ CONFIG_LEDC
if [ "$CONFIG_LEDC" = "y" ];then
bool ’ Support for led on h9200 board’ CONFIG_LEDC_CONSOLE
fi
说明:以上代码使用bool来定义一个宏,表示此驱动只能直接编译至内核(用*选择)或不编译(不选),不能编制至/lib/modules/下(用M选择)。
第三步:修改drivers/char/Makefile文件
在适当位置加入下面一行代码:
obj-$(CONFIG_LEDC) += ledc.o
或在obj-y一行中加入ledc.o,如:
obj-y += ledc.o mem.o 后面不变;
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
经过以上的设置就能在执行make menuconfig命令,在窗口中的character devices—> 中进行选择设置,选择后重新编译就ok了。
微星785GTM?
微星785G-E45在主板上做的是个显卡超频开关。要超频CPU需要在主板BIOS里进行设置。具体的设置 :一、BIOS主菜单
1、StandardCMOSFeatures标准CMOS属性8、CellMenu核心菜单
2、AdvancedBIOSFeatures高级BIOS属性9、M-FlashU盘刷新BIOS
3、IntegratedPeripherals整合周边设备10、UserSettings用户设置项
4、PowerManagement电源管理11、LoadFail-SafeDefaults加载安全缺省值
5、H/WMonitor硬件监测12、LoadOptimizedDefaults加载优化值
6、GreenPower绿色节能13、Save&ExitSetup保存设置并退出
7、BIOSSettingPassword开机密码设置14、ExitWithoutSaving退出而不保存
进入CellMenu核心菜单设置
二、CellMenu核心菜单设置
1、CPU相关设置
CPU相关设置有9项
1-1、CPUSpecifications:这是查看CPU的规格和参数,也可以随时按F4查看。
1-2、ANDCool`n`Quiet:AMDCPU的节能技术,也叫“凉又静”。依据CPU负载改变CPU的倍频和电压。当CPU空闲时,核心电压降到更低,倍频也降到更低。如果主板有微星的APS功能,请开启这个选项。该选项的设置是Enabled和Disabled。
1-3、AdjustCPUFSBFrequency(MHz):调整CPU的前端总线频率。默认的频率是CPU的标准FSB频率,用户可以自己调整,就是超频。在这里直接键入频率数值,比如220。
1-4、AdjustCPURatio:调整CPU的倍频。AMD的CPU一般是锁定更高倍频的,只能降低倍频。有个别不锁倍频的CPU才可以调整到更高的倍频。该项的默认设置是Auto。敲回车,弹出倍频列表,用户可以从中选择希望的倍频。
1-5、AdjustCPU-NBRatio:调整CPU内北桥(内存控制器)的倍率。AMDCPU整合了内存控制器,这个选项可以调整内存控制器的倍率。调整这个倍率要与内存频率设置相互配合,一般需要多次调整,才能达到更佳效果,如果设置不正确,可能引起蓝屏死机。
1-6、ECFirmware:EC固件设置。这是AMDSB710芯片组新开的一个设置项,用于开启被AMD关闭核心(有部分是不能正常运作的)。这项的默认设置是Normal。敲回车,弹出选项菜单供用户选择。
Normal是普通模式,就是不开启关闭的核心。Special是特殊模式,开启被关闭的核心。注意这个选项要配合下面的AdvancedClockCalibration设置。
1-7、AdvancedClockCalibration:高级时钟校准。这是SB750开始有的有的功能。用于校准CPU的时钟频率,同时支持AMD的CPU超频软件AMDOverDrive。SB710继承了这项功能,还可以配合ECFirmware开启关闭的核心。默认设置是Disabled。敲回车弹出选项菜单:
Auto是自动模式。想开启关闭的核心,请设置为Auto。
AllCores是对所有核心都进行相同的高级时钟校准。选择了AllCore后,菜单会多出一个选项。
就是要求选择校准的百分比。在Value上敲回车会弹出百分比选择菜单。
PerCore可以对每个核心单独设置时钟校准百分比。选择PerCore后,菜单会多出一个选项:
也是要求选择校准的百分比。在每一个Value敲回车都会弹出百分比选择菜单。
请注意,Value的个数与CPU的核心数相匹配,比如2核的就有2个Value选项。
1-8、AutoOverClockTechnology:微星独有的一种自动超频技术,默认是Disabled,可以设置为MaxFSB。就是系统自动侦测CPU可能超频的更大FSB值。设置该项后,系统可能重复启动多次,最后找到更大FSB启动。由于FSB涉及内存的频率,可能会因为内存缘故而出现在更大FSB情况下,不能进系统,或者蓝屏死机。
1-9、MultistepOCBooster:这是微星独有的超频辅助技术,当CPU因超频较高,不能启动时,可以利用这个选项。它的作用是先以较低的频率启动进系统,然后再恢复原来频率。
该选项默认是Disabled,有Mode1和Mode2选项。Mode1是以低于原频率90%的频率启动。Mode2是以低于原频率80%的频率启动。
2、内存相关设置
内存设置有3项:
2-1、MEMORY-Z:这是查看内存的SPD参数。也可以随时按F5查看
插2条内存,弹出2条内存的SPD信息,如果插4条,就会有4条SPD信息。回车就可以查看1条内存的SPD:
2-2、AdvanceDRAMConfiguration:高级DRAM配置。就是用户自己配置内存时序参数。回车进入高级DRAM配置:
2-2-1、DRAMTimingMode:DRAM时序模式。有4项设置:Auto、DCT0、DCT1、Both。
Auto就是按内存条的SPD设置内存时序参数。DCT0是设置通道A,DCT1是设置通道B,Both是设置2个通道。默认设置是Auto。
这是DCT0的时序参数设置:
内存时序参数最主要的有4个。CL-tRCD-tRP-tRAS,这4个参数也是在内存条上常常看到的,比如8-8-8-24,就是这4个参数。
附注:内存时序参数知识
1、内存芯片内部的存储单元是矩阵排列的,所以用行(Row)地址和列(Column)地址标识一个内存单元。
2、内存寻址就是通过行地址和列地址寻找内存的一个存储单元。系统发出的地址编码需要经过地址译码器译出行地址和列地址,才可以对内存读写。
3、内存芯片是易失性存储器,必须经常对内存的每个存储单元充电,才可以保持存储的数据。读写前要先对选定的存储单元预充电(Precharge)。
4、对内存的存储单元读写前要先发出激活(Active)命令,然后才是读写命令。
5、CL就是CASLatency,CAS(列地址选通)潜伏时间,实际上也是延迟。指的是CPU发出读命令到获得内存输出数据的时间间隔。
6、tRCD是RAS-to-CASDelay,行地址选通到列地址选通的延迟。一般是指发出激活命令和读写命令之间的时间间隔。在这段时间内经过充电,数据信号足够强。
7、tRP是Row-PrechargeDelay,行预充电延迟。一般是指发出预充电命令和激活命令之间的时间间隔。在这段时间内对激活的行充电。
8、tRAS是Row-activeDelay,行激活延迟。一般是指行激活命令和发出预充电命令之间的时间间隔。
9、上述潜伏和延迟时间可以用绝对时间值ns,也可用相对时间—周期。一般多用周期表达。周期数越小,内存的速度越高。选购内存,不仅要看标注的频率,还要看标注的时序参数。内存时序参数标准由JEDEC制定。下面列出DDR3的时序参数规格,供参考。
标准的时序参数有7-7-7/8-8-8/9-9-9三种,其中7-7-7的更好。还有非标准的7-8-8/8-9-9的,这种时序参数的内存条,上标称频率就会死机蓝屏。降一级频率就没有问题。
2-2-2、DRAMDriveStrength:DRAM驱动强度。
该选项有4个参数,Auto是BIOS自动依据内存设置。其他是用户自己设置,DCT0是设置通道A,DCT1是设置通道B,Both是设置2个通道。设置为DCT0/1或Both时,会增加设置项目,下面看看用户自己手动设置的项目:
每个通道的信号驱动强度设置包括8项。
CKEDriveStrength:时钟允许(Clockenable)信号驱动强度
CS/ODTDriveStrength:片选/内建终端电阻驱动强度
Addr/CmdDriveStrength:地址/命令驱动强度
ClockDriveStrength:时钟信号驱动强度
DataDriveStrength:数据信号驱动强度
DQSDriveStrebgth:数据请求信号驱动强度
ProcOdt:CPU内建终端电阻
驱动强度的设置就是用户设置内存信号的强度,一般以默认为1,设置选项是默认的倍率:
2-2-3、DRAMAdvanceControl:DRAM高级控制。
该选项有4个参数,Auto是BIOS自动依据内存设置。其他是用户自己设置,DCT0是设置通道A,DCT1是设置通道B,Both是设置2个通道。设置为DCT0/1或Both时,会增加设置项目,下面看看用户自己手动设置的项目:
每个通道的高级控制有6项。
DRAMTermination:内存芯片的片内终端电阻。从DDR2开始内存防止信号干扰的终端电阻放在芯片内。DDR3也是这样。这项是设置终端电阻的参数,设置参数有Auto、Disabled、75ohms、150ohms、50ohms。默认是Auto。
DRAMDriveWeak:减弱DRAM驱动强度。设置参数有Auto、Normal、Reduced。Auto是让BIOS依据内存条自动设置。Normal是默认强度,Reduced是减弱驱动强度。
DRAMParityEnable:允许DRAM奇偶校验。奇偶校验是对内存读写是防止数据错误的一种 。但允许奇偶校验会影响内存读写速度。设置参数有Auto、Enabled、Disabled。默认设置是Auto。
DRAMSelfRefreshRateEnable:允许DRAM自刷新速率。DRAM刷新就是充电,通过充电保持数据信号。自刷新是关闭系统时钟CKE,DRAM采用自己的内部时钟确定刷新速率。设置参数有Auto、Enabled、Disabled。默认设置是Auto。
DRAMBurstLength32:DRAM突发模式的长度32。突发模式是系统对内存读写时一次连续读写。连续读写的长度有32字节和64字节。这项设置就是选择32字节,还是64字节。设置参数有Auto、64字节、32字节。默认是Auto。Auto就是由系统依据数据分布自动采用突发模式的长度。
BankSwizzleMode:Bank搅和模式。内存芯片内的存储单元是按矩阵排列的,每一矩阵组成一个Bank,芯片内的Bank有4Bank、8Bank等,一般中文称之为逻辑Bank。
内存芯片组成内存条后,也有Bank,一般以64位为一个Bank。通常一面内存的8颗芯片构成一个Bank。双面就是2个Bank。CPU和内存进行数据交换时以Bank为单位,一次交换64位数据,也就是通常说的“带宽”,双通道就是128位。这种Bank称之为物理Bank。CPU访问内存时先定位物理Bank,然后通过片选(信号)定位芯片内的逻辑Bank。
插在DIMM槽的内存条有1个或2个片选Bank,访问命令不管实际有几个片选Bank,都是覆盖2个。BankSwizzle模式就是通过异或(XOR)逻辑运算,判定实际的片选Bank。设置参数有Auto、Disabled、Enabled。Auto就是交给BIOS和系统处理。Disabled就是禁止Swizzle模式,Enabled就是允许。Swizzle模式可以提高CPU的性能,但是会影响显卡性能。一般还是设置Auto为好。
2-2-4、1T/2TMemoryTiming:1T/2T内存时序。这个选项也叫做“命令速度”,就是内存控制器开始发送命令到命令被送到内存芯片的延迟。1T当然比2T快。但是要依据内存条的性能。性能低的设置1T后肯定要蓝屏死机。一般保持Auto设置即可,让BIOS自己去设置。
2-2-5、DCTUngangedMode:内存通道控制模式。选择内存通道的控制模式,Ganged是一个双通道,128位带宽。Unganged是2个单通道,64位x2带宽。设置选项是Disabled(Ganged)和Enabled(Unganged)。默认是Enabled。
2-2-6、BankInterleaving:Bank交错存取。内存bank交错存取可以让系统对内存的不同bank同时存取,可以提升内存速度及稳定性。设置值有Auto和Disabled,默认值是Auto(开启交错存取)。
2-2-7、PowerDownEnabled:开启或关闭DRAMPowerDown。内存掉电设置,选项有Disabled和Enabled。默认是Disabled。
设置为Enabled后,增加PowerDownMode选项,选择Channel模式和ChipSelect模式。
2-2-8、MemClkTristateC3/ATLVID:开启或关闭内存时钟在C3/ATLVID下的3态。默认是关闭的(Disabled)。
2-3、FSB/DRAMRatio:前端总线和内存倍率设置。
默认设置是Auto,自动识别内存条的SPD,设置内存频率。回车可以手动设置。
通过设置倍率可以改变内存的频率,FSB=200,1:2就是DDR800,1:3.33就是DDR1333。1:4就是DDR1600。
如果出现蓝屏死机现象,可以先通过这项设置降低内存频率试试,是不是内存不兼容或内存品质不良。如果降低频率可以排除故障,可以降频使用,或者更换内存条。
DDR31333内存条有3种,一种是SPD只有1066,没有1333,可以通过设置倍率(1:1.333)上到1333。第二种是SPD有1333,但是1333的参数不对,1333对应的频率应该是666,这种内存的频率是601,这样的内存也需要通过设置倍率上1333。第三种是标准的1333,SPD的1333频率参数是666或667。这种内存默认就可以上1333。
DDR31600内存有3种:超频1600的(SPD只有1333),可以通过设置倍率(!:4)到1600。第2种是SPD参数有1600(800),这样的内存条可以默认上1600。第3种是1600采用X.M.P规格,使用这种1600内存,BIOS会出现X.M.P选项,把这项设置为Disabled即可上1600
3、内置显卡超频
为方便用户对内置显卡4200超频,BIOS把显卡频率设置选项移到核心菜单,叫做:
OnboardVGACoreOverClock。
OnboardVGACoreOverClock的设置项有Disabled(默认)和Enabled。
开启显卡超频,增加一项调整显卡频率值的选项:AdjustOnboardVGAFrequency。默认值是500MHz。超频时直接键入频率值,比如550MHz。
4、HT和PCI相关设置
HT(超传输)总线是AMD的开发的芯片互连总线。AMD把内存控制器移到CPU,CPU内部采用HT总线。显卡采用PCIE总线,HT和PCIE之间需要桥接。AMD的北桥就起到HT和PCIE的桥接作用。北桥和CPU之间是HT总线连接。所以BIOS有HT总线的设置和PCIE总线的设置。相关设置有4项:
4-1、HTLinkControl:HT链接控制。这个选项设置需进入二级菜单。回车进入二级菜单后,看到的是2个选项:
HTIncomingLinkWidth和HTOutgoingLinkWidth:HT上行链接宽度和下行链接宽度。HT总线采用差分信号,单向串行传输。每一路采用一对信号线,一条发送信号(下行),一条接收信号(上行)。这两个选项就是设置HT总线的位宽。3个设置项:Auto(默认)、8位、16位。Auto是让系统自动设置,8位和16位是手动设置。
2-4-2、HTLinkSpeed:HT链接速度。链接速度以倍率表示,从x1到x13。默认设置是Auto,系统自动依据CPU动态设置,FSB超频会自动提升HT链接速度。用户也可以手动设置固定的倍率。X1是200MHz,X5就是1000MHz,以此类推。
2-4-3、AdjustPCI-EFrequency:调整PCI-E频率。
系统给PCI-E的频率是100MHz,由于现在的FSB和PCI-E时钟频率是分开的,调整FSB频率不会影响PCI-E/PCI频率。超频时不必再考虑锁定PCI-E和PCI频率。BIOS也没有锁定选项。这里的PCI-E频率调整是为PCI-E超频设计的,直接键入超频频率值,超频范围是100MHz-150MHz。
2-4-4、AutoDisableDRAM/PCIFrequency:自动关闭DRAM/PCI时钟信号。
默认设置是Enabled,系统将关闭空闲的DRAM和PCI槽的时钟信号,降低干扰。
5、电压设置
785GM-E65BIOS提供了8项电压设置:
CPUVDD电压:CPUVDD电压。调整范围1.1000-1.5500V
CPU-NBVDD电压:CPU内北桥VDD电压。调整范围1.1000-1.5500
CPU电压:CPU核心电压。调整范围1.025-1.975V
CPU-NB电压:CPU内北桥电压。调整范围1.202-1.520V
DRAM电压:内存电压。调整范围1.50-2.42V
NB电压:北桥电压。调整范围1.108-1.337V
HTLink电压:HT总线链接电压。调整范围1.202-1.454V
SB电压:南桥电压。调整范围1.228-1.472V
1、上面8项电压中,前2项VDD电压是CPU内的CMOS电路的漏极电压。调整这个电压可以使超频更稳定。
2、其余5项电压是供电电压。超频时提高一点电压可以提高超频成功率。因为超频后,CPU内的CMOS开关频率加快,输出信号的电平幅度会降低,导致信号不稳定,提高一点供电电压,就会提高信号电平幅度,增强信号。
简单讲CPU内的所有晶体管都是CMOS电路,都是开关。CPU运算就是这些CMOS开关电路不停地“开”和“关”。“开”就是导通,让代表“1”的高电平信号通过。“关”就是断开,信号变成低电平,表示“0”。如果代表“1”的高电平较低,就会与低电平的“0”混淆,CPU分辨不出“1”和“0”,自然运算就出错,导致死机、蓝屏。
3、电压提升过高也不利于超频,因为电压过高,把信号电平也拉高,信号电平越高,CMOS开关的频率就无法加快。这个道理可以从CPU电压的进展历程看出来。486/586时代,CPU的核心电压和I/O电压都是3.3V。奔腾4开始,把CPU的核心电压与I/O分开,核心电压降到2V左右,现在降到1.xxV,降低信号电平就是要提高CPU的频率。CPU的频率取决于CMOS电路的开关速度,信号电平设计的越低,开关速度就越快。
4、有些DIY发现,超频频率很高时,CPU满载运作会有“掉”电压的现象。于是想办法改电路,或者再提高电压。其实,“掉”电压是正常现象。频率提高30%,CMOS电路的开关频率提高30%,开关时间缩短30%,输出的高电平信号电压肯定降低,自然也要把供电电压拉低。
5、所以,调整电压要适当,不是越高越好。上述8项电压设置,灰色的Auto表示默认电压。白色数字表示正常范围的电压。红色数字表示非正常电压,包括过高和过低的。
6、调整电压时,可以用小键盘的“+”和“-”键,也可以用PageUp和PageDown键
超频CPU可以提高性能,但带来的坏处是降低CPU的寿命。建议过保再超。
compete怎么记忆?
记忆:
com 全 + pet 寻求 -> 全都在寻求(胜利)-> compete 比赛We can't compete with them on price.
我们在价格上无法与他们竞争。
The company must reduce costs to compete effectively.
公司要有效地参与竞争必须降低成本。
Charles has never felt the need to compete with anyone.
查尔斯从未感觉到与人竞争的需要。
Amateur skaters from all over the tristate area compete.
来自各地三州区的业余滑冰者前来参加比赛。