发信人: wenbobo() 
整理人: wenbobo(2003-01-09 10:08:30), 站内信件
 | 
 
 
下面是摘自于HELPPC2.1中的有关机器启动过程的信息
 wenbobo翻译<[email protected]>
 
 POST - Cold Boot / Power On Self Test Activities
 POST - 冷启动、开机自检
  - power supply starts Clock Generator (8284) with Power
    通电后8284时序发生器开始工作
    Good signal on BUS
    总线产生正常信号
  - CPU reset line is pulsed resetting CPU
    CPU的复位引脚被触发,CPU复位
  - DS, ES, and SS are cleared to zero
    DS,ES,SS初始值为0(CPU处于实模式下)
 
 Cold and Warm Boot both execute the following sequence
 冷启动和热启动都会执行一下序列
  - CS:IP are set to FFFF:0000 (address of ROM POST code)
    CS:IP初始值为FFFF:0000(该地址为BIOS的ROM POST代码)
  - jump to CS:IP  (execute POST, Power On Self test)
    CPU工作,开始取第一条指令(执行POST,开机自检)
  - interrupts are disabled
    关中断
  - CPU flags are set, read/write/read test of CPU registers
    设置CPU标志位,用读、写、读来测试CPU寄存器
  - checksum test of ROM BIOS
    检测ROM BIOS的校验和
  - Initialize DMA (verify/init 8237 timer, begin DMA RAM refresh)
    初始化DMA(校验、初始化 8237时钟控制器,开始DMA 内存刷新)
  - save reset flag then read/write test the first 32K of memory
    保存复位标志,然后对内存的前32K字节进行读写测试
  - Initialize the Programmable Interrupt Controller (8259)
    and set 8 major BIOS ~interrupt~ vectors (interrupts 10h-17h)
    初始化8259可编程中断控制器,设置好8个主要的BIOS中断向量(INT 10h-17H)
  - determine and set configuration information
    检测并设置好CMOS配置信息
  - initialize/test CRT controller & test video memory (unless 1234h
    found in reset word)
    初始化/测试CRT控制器,测试显存(除非在复位字的位置找到1234h)
  - test ~8259~ Programmable Interrupt Controller
    测试8259可编程中断控制器
  - test Programmable Interrupt Timer (~8253~)
    测试8253可编程时钟中断控制器
  - reset/enable keyboard, verify scan code (AAh), clear keyboard,
    check for stuck keys, setup interrupt vector lookup table
    复位、激活键盘,校验扫描码,清除键盘缓冲区,检查是否有卡住的键,设置中断查找表
  - hardware interrupt vectors are set
    设置硬件中断向量
  - test for expansion box, test additional RAM
    测试扩展设备,测试扩充内存
  - read/write memory above 32K (unless 1234h found in reset word)
    读写测试32K字节以上的内存(除非在复位字的位置找到1234h)
  - addresses C800:0 through F400:0 are scanned in 2Kb blocks in
    search of valid ROM. If found, a far call to byte 3 of the ROM
    is executed.
    以2K字节大小的块为单位,从c800:0到f400:0扫描,查找有效映射的ROM。找到后,对ROM的第3个字节进行远程调用。
  - test ROM cassette BASIC (checksum test)
    检测ROM BASIC(校验和测试,现在的BIOS已取消ROM BASIC了……)
  - test for installed diskette drives & ~FDC~ recalibration & seek
    检测安装了的硬盘驱动器、软盘控制器。
  - test printer and RS-232 ports.  store printer port addresses
    at 400h and RS-232 port addresses at 408h.  store printer
    time-out values at 478h and Serial time-out values at 47Ch.
    检测打印机口和RS-232串口。把打印口地址保存在内存的400h,串口地址保存在408h。打印机超时值保存在478h,串口超时值保存在47Ch。
  - NMI interrupts are enabled
    激活NMI中断
  - perform ~INT 19~ (bootstrap loader), pass control to boot record
    or cassette BASIC if no bootable disk found
    执行INT 19h(引导装载程序),把控制权转交给引导程序
  - ~WARM BOOT~ procedure is now executed
    现在热启动已经执行完毕了
 
  ---- 掬水月在手
 弄花香满身 | 
 
 
 |