BIOS知识介绍

  • 格式:pps
  • 大小:488.50 KB
  • 文档页数:32

BIOS知识介绍汪波BIOS相关知识介绍BIOS简介BIOS启动过程ACPI电源管理BIOS简介BIOS架构设备侦测资源管理中断处理Inside BIOS架构设备侦测CPUMemoryBUSISA,EISA,VESA,PCI,PCMCIA,PCI Express,LPC,AGP,I2C/SMBusInput/Output DeviceKeyboard,Mouse,FDD,HDD,CD-ROM,Serial/Parrallel Ports,FIRAdapterVideo,SCSI,NetworkOthersUSB,1394,SATACPUFSBFrequencyVcore,VID[5:0]Microcode UpdateAPIC(Advance Programmable Interrupt Controller)SpeedStepMemorySDRAM,DDR,DDRIISPDMemory ParameterCAS Latency,Trcd(RAS# to CAS# Delay),tRP(RAS# Precharge),tRAS(Activate to Precharge delay)Memory InitializationJEDEC SpecificationMemoryBUSPCIPCI ExpressLPC(Low Pin Count)for Super I/O(FDC,IR,KBC,SP,PP),BIOS Firmware Memory,Embedded Controller

AGPI2C/SMBusfor Clock Generator,SPD,Thermel SensorInput/Output DeviceKeyboard,Mouse8042 ControllerFDDHDD,CD-ROMATA,ATAPI(AT Attachment with Packet Interface),Fat32/NTFS,INT 13hSerial/Parrallel Ports,FIRInput/Output DeviceAdapterVideoVGA BIOS,INT 10hVESA:Video Electronics Standards AssociationSPWG:Standard Panel Working GroupSCSINetworkMAC Address,PXE,RPLOthersUSBUHCI:Universal Host Controller Interface(USB1.1)EHCI:Enhanced Host Controller Interface(USB2.0)HID: Human Interface Devices1394GUIDSATAAHCI: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)

IOIRQPCI RoutingDMA(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()