1,cmos简介。
   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 = ;

.    iopl();

.    outb(addr,0x70);

.    tmp = inb(0x71);

.    iopl();

.    return tmp;

.}

.

.

.int main(void)

.{

.    printf("seconds = %x\n",cmos_read());

.    printf("minute = %x\n",cmos_read());

.    printf("hour = %x\n",cmos_read());

.    system("date");

.    return ;

.}

思考:为什么此时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、网 络服务器等有效地启动驱动器,读入操作系统引导记录,
然后将系统控制权交给引导记录,并由引导记录来完成系统的顺利启动。

CMOS and BIOS的更多相关文章

  1. 存储器系列,L1缓存,L2缓存,内存(RAM),EEPROM和闪存,CMOS与BIOS电池

    因为各级存储硬件的参数和性能不同所以在计算机硬件当中分为以下几种: 由此可见顶级空间小但处理速度最快,下层容量大但处理速度时间较长. 存储器系统采用分层结构,顶层的存储器速度较高,容量较小,与底层的存 ...

  2. CMOS、BIOS

    CMOS主要的功能为记录主板上面的主要参数,包括系统时间.CPU电压与频率.各项设备的I/O地址与IRQ等,由于这些数据的记录要花费电力,因此主板上面才有电池. BIOS为写入到主板上某一块闪存或EE ...

  3. CMOS与BIOS

    BIOS与CMOS的区别 : 1. 所谓BIOS,实际上就是微机的基本输入输出系统(Basic Input-Output System),其内容集成在微机主板上的一个ROM芯片上,主要保存着有关微机系 ...

  4. CMOS和BIOS

      CMOS是一类特殊的RAM(断电时将丢失其存储内容) BIOS是软件,是程序! CMOS是芯片,是硬件! 实际上我们是通过BIOS这个程序,去设置COMS的参数的.. COMS是一块芯片,继承在主 ...

  5. BIOS与CMOS有什么区别

    本文介绍BIOS与CMOS区别,BIOS是什么?BIOS全称Basic Input/Output System,所以BIOS本身个是系统简称,所以我们常说的BIOS芯片确切的讲是写有BIOS系统的芯片 ...

  6. BIOS详解:什么是BIOS ?BIOS的作用?CMOS及其与BIOS的关系?

    1.什么是BIOS ? BIOS是英文Basic Input Output System的缩略语,直译过来后中文名称就是基本输入输出系统.它的全称应该是ROM-BIOS,意思是只读存储器基本输入输出系 ...

  7. BIOS设置教程

    BIOS设置图解教程之AMI篇 BIOS设置图解教程之AMI篇(目前主板上常见的BIOS主要为AMI与AWARD两个系列,如何辨别BIOS品牌系列请移步,本文详细讲解AMI系列的BIOS设置图解教程, ...

  8. Linux 下不经过BIOS重启(i386)

    前段时间有个项目,要求在Linux下不经过BIOS重启,i386平台. 一.可行性分析 众所周知,BIOS中包含了CPU及其他各种设备的初始化代码,Linux系统运行之后是否能够将各种用到的设备返回到 ...

  9. Windows忘记BIOS密码/操作系统密码处理办法汇总

    一.说明 关于电脑,在大学之前是知之甚少的.举几个例子,一是刚上大学时我还是分不清主机和显示器哪个才是电脑:二是应该是大一上学期陪窒友Z到电科买电脑,我问导购员XP和Win7什么关系----我一直怀疑 ...

随机推荐

  1. HTML: margin詳解

    margin:10px; 設置塊元素的上,右,下,左方向的值同爲10px margin:10px 30px; 設置塊元素的上和下爲10px,左和右爲30px; margin:10px 20px 30p ...

  2. Jquery小例子:全选按钮、加事件、挂事件;parent()语法;slideToggle()语法;animate()语法;元素的淡入淡出效果:fadeIn() 、fadeOut()、fadeToggle() 、fadeTo();function(e):e包括事件源和时间数据;append() 方法

    function(e): 事件包括事件源和事件数据,事件源是指是谁触发的这个事件,谁就是事件源(div,按钮,span都可以是事件源),时间数据是指比如点击鼠标的事件中,事件数据就是指点击鼠标的左建或 ...

  3. 地图API使用文档-以腾讯地图为例

    目录 腾讯地图API 2 1.API概览... 2 1.1 WebService API(官网注明是beta版本,可能不稳定,慎用):... 2 1.2 URL API:... 2 1.3 静态图AP ...

  4. Redis-统计活跃用户

    Bitmap(即Bitset)Bitmap是一串连续的2进制数字(0或1),每一位所在的位置为偏移(offset),在bitmap上可执行AND,OR,XOR以及其它位操作. package test ...

  5. WordPress显示备案号

    备案时,需要显示备案号,而wordpress默认模板本身不带这个信息,为了更快速应付备案,解决方案如下: 根据wp-config.php的提示 .......... /** * zh_CN本地化设置: ...

  6. IIS出现HTTP500.24错误

    IIS配置完成后,新建网站,访问时出现如下错误: 解决方法:设置应用池为经典模式(classic)如下: 设置完成后重新打开网站即可.

  7. A+Bproblem

    package A+Bproblem; /* * A+B Problem 时间限制:3000 ms  |  内存限制:65535 KB 难度:0 描述 此题为练手用题,请大家计算一下a+b的值 输入 ...

  8. ajax处理回调函数,用ajax向后台发送数据

    这是我的后台返回给前台的数据: 处理后台返回的数据有一下两种方式: function sethouse_housing_pattern(housing_pattern){ var str=[]; va ...

  9. linux i2c tools

    最近要操作eeprom,所以了解一下i2c-tool的使用方法,记录于此. 参考链接: http://www.myir-tech.com/bbs/thread-7567-1-1.html http:/ ...

  10. LeetCode Find Minimum in Rotated Sorted Array

    原题链接在这里:https://leetcode.com/problems/find-minimum-in-rotated-sorted-array/ Method 1 就是找到第一个违反升序的值,就 ...