CMOS and BIOS
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的更多相关文章
- 存储器系列,L1缓存,L2缓存,内存(RAM),EEPROM和闪存,CMOS与BIOS电池
因为各级存储硬件的参数和性能不同所以在计算机硬件当中分为以下几种: 由此可见顶级空间小但处理速度最快,下层容量大但处理速度时间较长. 存储器系统采用分层结构,顶层的存储器速度较高,容量较小,与底层的存 ...
- CMOS、BIOS
CMOS主要的功能为记录主板上面的主要参数,包括系统时间.CPU电压与频率.各项设备的I/O地址与IRQ等,由于这些数据的记录要花费电力,因此主板上面才有电池. BIOS为写入到主板上某一块闪存或EE ...
- CMOS与BIOS
BIOS与CMOS的区别 : 1. 所谓BIOS,实际上就是微机的基本输入输出系统(Basic Input-Output System),其内容集成在微机主板上的一个ROM芯片上,主要保存着有关微机系 ...
- CMOS和BIOS
CMOS是一类特殊的RAM(断电时将丢失其存储内容) BIOS是软件,是程序! CMOS是芯片,是硬件! 实际上我们是通过BIOS这个程序,去设置COMS的参数的.. COMS是一块芯片,继承在主 ...
- BIOS与CMOS有什么区别
本文介绍BIOS与CMOS区别,BIOS是什么?BIOS全称Basic Input/Output System,所以BIOS本身个是系统简称,所以我们常说的BIOS芯片确切的讲是写有BIOS系统的芯片 ...
- BIOS详解:什么是BIOS ?BIOS的作用?CMOS及其与BIOS的关系?
1.什么是BIOS ? BIOS是英文Basic Input Output System的缩略语,直译过来后中文名称就是基本输入输出系统.它的全称应该是ROM-BIOS,意思是只读存储器基本输入输出系 ...
- BIOS设置教程
BIOS设置图解教程之AMI篇 BIOS设置图解教程之AMI篇(目前主板上常见的BIOS主要为AMI与AWARD两个系列,如何辨别BIOS品牌系列请移步,本文详细讲解AMI系列的BIOS设置图解教程, ...
- Linux 下不经过BIOS重启(i386)
前段时间有个项目,要求在Linux下不经过BIOS重启,i386平台. 一.可行性分析 众所周知,BIOS中包含了CPU及其他各种设备的初始化代码,Linux系统运行之后是否能够将各种用到的设备返回到 ...
- Windows忘记BIOS密码/操作系统密码处理办法汇总
一.说明 关于电脑,在大学之前是知之甚少的.举几个例子,一是刚上大学时我还是分不清主机和显示器哪个才是电脑:二是应该是大一上学期陪窒友Z到电科买电脑,我问导购员XP和Win7什么关系----我一直怀疑 ...
随机推荐
- STM32全球唯一ID读取方法
产品唯一的身份标识非常适合:● 用来作为序列号(例如USB字符序列号或者其他的终端应用)● 用来作为密码,在编写闪存时,将此唯一标识与软件加解密算法结合使用,提高代码在闪存存储器内的安全性.● 用来激 ...
- windows系统中ubuntu虚拟机安装及web项目到服务上(三)
项目在ubuntu虚拟机下的部署 一:将war从本地通过Xftp 4 传到虚拟机tomcat目录下的webapps目录下 2:修改tomcat下的server.xml <Host name=& ...
- Lazarus中Base64的操作
在字符串处理中,我们经常需要对文件编码然后再进行传输,通常会使用base64编码,在FreePascal中默认集成了这个单元,我们来介绍如何使用: 首先需要在引用单元的时候使用: use base64 ...
- ios 消息传递机制
引用文章 一.KVO 1.当对象中的某个属性值发生了改变,可以对这些值的观察者做出通知. 2.接受者(会接收到值发生改变的消息) 必须知道发送者(值将发生改变的那个对象). 3.接收者同样还需要知道发 ...
- Java实验报告五:Java网络编程及安全
Java实验报告五:Java网络编程及安全 ...
- BulletedList使用及详解
BulletedList是一个让你轻松在页面上显示项目符号和编号格式(Bulledted List)的控件.对于ASP.NET 1.x里要动态显示Bulledted List时,要么自己利用HTML的 ...
- php日期时间函数 整理
设定系统默认时区 date_default_timezone_get() $tz='America/Los_Angeles'; 返回系统默认时区 date_default_timezone_set($ ...
- node.js express的安装过程
1.配置nodejs的环境变量之后执行 npm install -g express 命令: 2.如果版本为4.x需要再次执行 npm install -g express-generato ...
- 设计模式:适配器模式(Adapter)
定 义:将一个类的接口转换成客户希望的另外一个接口.Adapter模式使得原本由于接口不兼容而不能一起工作的那些类可以一起工作. 有些国家用110V电压,而我们国家用的是220V,但是我们的电器,比 ...
- jquery.autocomplete.js 插件的自定义搜索规则
这二天开始用jquery.autocomplete这个自动完成插件.功能基本比较强大,但自己在实际需求中发现还是有一处不足!问题是这样:当我定义了一个本地数据JS文件时,格式为JSON式的数组.如下: ...