1,cmos简介。
cmos是主板上一块可读写的RAM芯片。用途:主要用来保存当前系统的硬件配置和操作人员对某些参数的设定。cmos芯片是由一块纽扣电池供电。因此在关机状态内部信息也不会丢失。
----------------------------------------------------------------------------------------------
2,cmos所在的端口。
cmos芯片是挂在cpu的io空间上的.(x86体系是独立编址的)。cmos拥有两个端口号分别是70h和71h
----------------------------------------------------------------------------------------------
3,cmos中的数据地址对照表。(供编程时查)
----------------------------------------------------------------------------------------------
4,对cmos编程实例(linux下读取cmos中的硬件时间,也可以在DOS下写汇编实现)
运行结果如下:
思考:为什么此时cmos中的时间分钟秒钟和系统时间相同,而唯独小时相差8个小时呢?
这问题涉及到UTC和时区的问题了。北京时间=UTC+8
----------------------------------------------------------------------------------------------
5,bios简介
bios又称为基本输入输出系统。是主板上的一个ROM芯片。主要保存着基本输入输出程序,系统
信息设置,开机上电自检程序和系统启动自举程序等。
----------------------------------------------------------------------------------------------
6,bios和cmos的区别与联系?
我用个比喻吧,bios相当于“代码段”,cmos相当于“数据段”。
6.1,bios是只读,cmos既可以读也可以写。(区别)
6.2, BIOS中的系统设置程序是完成CMOS参数设置的手段;
CMOSRAM既是BIOS设定系统参数的存放场所。(联系)
----------------------------------------------------------------------------------------------
7,bios程序实现的基本功能。
一是BIOS中断服务程序,即微机系统中软件与硬件之间的一个可编程接口,主要用于 程序软件功能
与微机硬件之间实现衔接。操作系统对软盘、硬盘、光驱、键盘、显示器等外围设备的管理,都是直接建立
在BIOS系统中断服务程序的基础上,操 作人员也可以通过访问INT5、INT13等中断点而直接调用BIOS中断
服务程序。
二是BIOS系统设置程序,前面谈到微机部件配置记录是放在一块可读 写的CMOSRAM芯片中的,
主要保存着系统基本情况、CPU特性、软硬盘驱动器、显示器、键盘等部件的信息。在BIOSROM芯片中装
有“系统设置程 序”,主要用来设置CMOSRAM中的各项参数。这个程序在开机时按下某个特定键即可进入
设置状态,并提供了良好的界面供操作人员使用。事实上,这个设置 CMOS参数的过程,习惯上也称为“
BIOS设置”。
第三是POST上电自检程序,微机按通电源后,系统首先由 POST(PowerOnSelfTest,上电自检)程序
来对内部各个设备进行检查。通常完整的POST自检将包括对CPU、640K基本内存、1M以 上的扩展内存、
ROM、主板、CMOS存贮器、串并口、显示卡、软硬盘子系统及键盘进行测试,一旦在自检中发现问题,系
统将给出提示信息或鸣笛警告。
第四 为BIOS系统启动自举程序,系统在完成POST自检后,ROMBIOS就首先按照系统CMOS设置中
保存的启动顺序搜寻软硬盘驱动器及CD—ROM、网 络服务器等有效地启动驱动器,读入操作系统引导记录,
然后将系统控制权交给引导记录,并由引导记录来完成系统的顺利启动。
----------------------------------------------------------------------------------------------
8,思考问题。
8.1,bios是挂在cpu的哪个空间上?而cmos又是挂在cpu的哪个空间上?
8.2,cmos上应该会保存哪些基本信息?
8.3,为什么把BIOS称作基本输入输出系统?
cmos是主板上一块可读写的RAM芯片。用途:主要用来保存当前系统的硬件配置和操作人员对某些参数的设定。cmos芯片是由一块纽扣电池供电。因此在关机状态内部信息也不会丢失。
----------------------------------------------------------------------------------------------
2,cmos所在的端口。
cmos芯片是挂在cpu的io空间上的.(x86体系是独立编址的)。cmos拥有两个端口号分别是70h和71h
端口号 | 权限 |
长度 | 作用 |
70h | 不可读可写 |
8bit | 用它来设置cmos中的数据地址 |
71h | 可读可写 | 8bit | 用它来设置70h端口地址中的值 |
3,cmos中的数据地址对照表。(供编程时查)
地址 |
数据 | 备注 |
00H |
Time - Seconds |
硬件时间的秒 |
01H |
Alarm - Seconds |
|
02H |
Time - Minutes |
硬件时间的分 |
03H |
Alarm - Minutes |
|
04H | Time - Hours |
硬件时间的时 |
05H |
Alarm - Hours |
|
06H |
Date - Day of the week |
|
07H |
Date - Day |
|
08H |
Date - Month |
|
09H |
Date - Year 29h |
|
0AH |
Status Register A |
|
0BH | Status Register B |
|
0CH | Status Register C |
|
0DH | Status Register D |
|
0EH | Diagnostic Status |
|
0FH | Shutdown Status |
|
10H | A: |
|
11H | Reserved |
|
12H | 0 |
|
13H | Reserved |
|
14H | Equipment Installed |
|
15H | Base Memory (high byte) |
|
16H | Base memory (low byte) |
|
17H | Extended Memory (high byte) |
|
18H | Extended Memory (low byte) |
|
19H | 0 (C:) Hard Disk Type |
|
1AH | 1 (D:) Hard Disk Type |
|
1BH | Reserved |
|
1CH | Supervisor Password |
|
1DH | Supervisor Password |
|
1EH ~ 2DH |
Reserved |
|
2EH | CMOS Checksum (high byte) |
|
2FH | CMOS Checksum (low byte) |
|
30H | Extended Memory (high byte) |
|
31H | Extended Memory (low byte) |
|
32H | Date - Century |
|
33H | Power On Status |
|
34H~3FH | Reserved |
|
40H~5FH | Extended CMOS |
|
60H | User Password |
|
61H | User Password |
|
62H~7FH | Extended CMOS |
|
4,对cmos编程实例(linux下读取cmos中的硬件时间,也可以在DOS下写汇编实现)
- #include <stdio.h>
- #include <sys/io.h>
-
- unsigned char cmos_read(unsigned char addr)
- {
- unsigned char tmp = 0;
- iopl(3);
- outb(addr,0x70);
- tmp = inb(0x71);
- iopl(0);
- return tmp;
- }
-
-
- int main(void)
- {
- printf("seconds = %x\n",cmos_read(0));
- printf("minute = %x\n",cmos_read(2));
- printf("hour = %x\n",cmos_read(4));
- system("date");
- return 0;
- }
思考:为什么此时cmos中的时间分钟秒钟和系统时间相同,而唯独小时相差8个小时呢?
这问题涉及到UTC和时区的问题了。北京时间=UTC+8
----------------------------------------------------------------------------------------------
5,bios简介
bios又称为基本输入输出系统。是主板上的一个ROM芯片。主要保存着基本输入输出程序,系统
信息设置,开机上电自检程序和系统启动自举程序等。
----------------------------------------------------------------------------------------------
6,bios和cmos的区别与联系?
我用个比喻吧,bios相当于“代码段”,cmos相当于“数据段”。
6.1,bios是只读,cmos既可以读也可以写。(区别)
6.2, BIOS中的系统设置程序是完成CMOS参数设置的手段;
CMOSRAM既是BIOS设定系统参数的存放场所。(联系)
----------------------------------------------------------------------------------------------
7,bios程序实现的基本功能。
一是BIOS中断服务程序,即微机系统中软件与硬件之间的一个可编程接口,主要用于 程序软件功能
与微机硬件之间实现衔接。操作系统对软盘、硬盘、光驱、键盘、显示器等外围设备的管理,都是直接建立
在BIOS系统中断服务程序的基础上,操 作人员也可以通过访问INT5、INT13等中断点而直接调用BIOS中断
服务程序。
二是BIOS系统设置程序,前面谈到微机部件配置记录是放在一块可读 写的CMOSRAM芯片中的,
主要保存着系统基本情况、CPU特性、软硬盘驱动器、显示器、键盘等部件的信息。在BIOSROM芯片中装
有“系统设置程 序”,主要用来设置CMOSRAM中的各项参数。这个程序在开机时按下某个特定键即可进入
设置状态,并提供了良好的界面供操作人员使用。事实上,这个设置 CMOS参数的过程,习惯上也称为“
BIOS设置”。
第三是POST上电自检程序,微机按通电源后,系统首先由 POST(PowerOnSelfTest,上电自检)程序
来对内部各个设备进行检查。通常完整的POST自检将包括对CPU、640K基本内存、1M以 上的扩展内存、
ROM、主板、CMOS存贮器、串并口、显示卡、软硬盘子系统及键盘进行测试,一旦在自检中发现问题,系
统将给出提示信息或鸣笛警告。
第四 为BIOS系统启动自举程序,系统在完成POST自检后,ROMBIOS就首先按照系统CMOS设置中
保存的启动顺序搜寻软硬盘驱动器及CD—ROM、网 络服务器等有效地启动驱动器,读入操作系统引导记录,
然后将系统控制权交给引导记录,并由引导记录来完成系统的顺利启动。
----------------------------------------------------------------------------------------------
8,思考问题。
8.1,bios是挂在cpu的哪个空间上?而cmos又是挂在cpu的哪个空间上?
8.2,cmos上应该会保存哪些基本信息?
8.3,为什么把BIOS称作基本输入输出系统?
----------------------------------------------------------------------------------------------
BIOS中断大全