BIOS知识介绍
- 格式:pps
- 大小:488.50 KB
- 文档页数:32
BIOS知识介绍汪波BIOS相关知识介绍BIOS简介BIOS启动过程ACPI电源管理BIOS简介BIOS架构设备侦测资源管理中断处理Inside BIOS架构设备侦测CPUMemoryBUSISA,EISA,VESA,PCI,PCMCIA,PCI Express,LPC,AGP,I2C/SMBusInput/Output DeviceKeyboard,Mouse,FDD,HDD,CD-ROM,Serial/Parrallel Ports,FIRAdapterVideo,SCSI,NetworkOthersUSB,1394,SATACPUFSBFrequencyVcore,VID[5:0]Microcode UpdateAPIC(Advance Programmable Interrupt Controller)SpeedStepMemorySDRAM,DDR,DDRIISPDMemory ParameterCAS Latency,Trcd(RAS# to CAS# Delay),tRP(RAS# Precharge),tRAS(Activate to Precharge delay)Memory InitializationJEDEC SpecificationMemoryBUSPCIPCI ExpressLPC(Low Pin Count)for Super I/O(FDC,IR,KBC,SP,PP),BIOS Firmware Memory,Embedded Controller
AGPI2C/SMBusfor Clock Generator,SPD,Thermel SensorInput/Output DeviceKeyboard,Mouse8042 ControllerFDDHDD,CD-ROMATA,ATAPI(AT Attachment with Packet Interface),Fat32/NTFS,INT 13hSerial/Parrallel Ports,FIRInput/Output DeviceAdapterVideoVGA BIOS,INT 10hVESA:Video Electronics Standards AssociationSPWG:Standard Panel Working GroupSCSINetworkMAC Address,PXE,RPLOthersUSBUHCI:Universal Host Controller Interface(USB1.1)EHCI:Enhanced Host Controller Interface(USB2.0)HID: Human Interface Devices1394GUIDSATAAHCI:Advanced Host Controller Interface资源管理MemoryShadow,MTRR:Memory Type Range RegistersPAT:Page Attribute TableUC(UnCacheable),WC(Write Combining),WT(Write-Through),WP(Write-Protect),WB(WriteBack)
IOIRQPCI RoutingDMA(Direct Memory Access)IRQ Routing中断处理Interrupt Vector Table:INT NO.System MemoryINT 0x00x0-3divide errorINT 0x10x4-7single stepINT 0x20x8-BNMIINT 0x30xC-FbreakpointINT 0x40x10-13overflowINT 0x50x14-17range exceededINT 0x60x18-1Binvalid opcodeINT 0x70x1C-1Fno MATH unit中断处理INT NO.System MemoryINT 0x80x20-23system time(IRQ0)INT 0x90x24-0x27keyboard data ready(IRQ1)INT 0xBCOM2(IRQ3)INT 0xCCOM1(IRQ4)INT 0xEdiskette controller(IRQ6)INT 0xFparallel printer(IRQ7)INT 0x10VIDEOINT 0x11equipment中断处理INT NO.System MemoryINT 0x12memory sizeINT 0x13diskINT 0x15system functionINT 0x16keyboardINT 0x17printerINT 0x18disk boot hookINT 0x19bootstrap loader…INT 0xFF0x3FC-3FFBIOS启动过程(1)jump to hjOEM_early reset()第一条指令就是jmp xxxx.上电后,CS:EIP = F000:FFFFFFF0hPower on Button Pressed
Init refresh timer (port 40h-43h)Init GPIO PinUpdate CPU Micro code
设置debug方式Enable LPTDebug ?Config SIO
YES
hjOEM_initialize_chipsetChipset初始化NO
S3 wakeupWakeup from S3Power-On or S4/S3
Wakeup
Cold BootS4, S5(2)内存初始化Memory Sizing
ERROR?快速检测640KB内存Test memory
NO
YESHang on Debug code 02H
ERROR?Beep and Hang on Debug code 0FHYES
Move boot loaderTo memory (200:0)将Boot Loader移至内存
No(3)Move uncompressed BIOS in ROMto base memory
Enable and unprotected Shadow RAMsDecompress the BIOS to Shadow RAMsMove PM and SCU modules to SMRAM
ERROR?Hang on Debug Code 07HOrPerform Crisis Recovery
Yes
Jump to F000:FFF0h BIOS引导主程序JUMP BIOS_Segment, BIOS_Reset
(CPU_RESET)
No(4)执行S3唤醒程序Wakeup from S3
恢复register的值Load XCMOS Table
在SMRAM中执行S3唤醒程序Jump to F000:E05B
Yes
Enable and Open SMRAM检查PM code是否存在于SMRAM?Search signature“bootload”in SMRAM
No
jump to cold boot
hjOEM_BIO_CPU_RESET()RESUME/S3 WAKE(5)HWIO_QUICK_PIC()hjCS_BIO_CHIP_INIT()hscOEM_PCI_EARLY_RESET_INIT()HWIO_SETUP_CTC1()HWIO_TICKLE_RAM()HWIO_RESET_INTS()HWIO_TEST_DMA_PAGE()KEYB_SELFTEST_CTLR()KEYB_RESET_KEYBOARD()POST_Check_CMOS_RAM()POST_TEST_BATT_CMOS_SUM()HWIO_TEST_DMA()HWIO_INIT_8237()RAM_QUICK_SIZE()
Boot LoaderCPU reset的可能情况S3 WakeWarm Boot执行Memory quick test执行PC基本功能测试:8254, 8259, 8237, RTC, CMOS RAM, DMA PAGE REGISTERS, KBC
关闭L2 Cache;检查是否S3唤醒hjOEM_BIO_CPU_RESET程序地址F000:FFF0hCPU_Reset()