Thiết kế và lập trình hệ thống - Kiến trúc hệ thống vi xử lý
Systems Design and Programming Arch. of the 80x86 CMPE 3101 (Jan. 30th, 2002)UMBCU M B CUNIVERSITY OF MARYLAND BALTIMORE COUNTY1 9 6 6Basic ArchitectureBasic componentsMemoryMicroprocessorI/O SystemDRAMSRAMCacheROMFlashEEPROM8086throughPentium IVPrinterSerialFloppyHard DriveMouseCDROMPlotterKeyboardMonitorTapeScannerDVDMemoryBusPCIBusEISABusISAVESA Systems Design and Programming Arch. of the 80x86 CMPE 3102 (Jan. 30th, 2002)UMBCU M B CUNIVERSITY OF MARYLAND BALTIMORE COUNTY1 9 6 6Basic ArchitectureBus Architecture:The Pentium bus architecture is not this simple.We will elaborate on this later.MicroprocessorPrinterKeyboardDRAMROMAddress busData busMWTCMRDCIOWCIORC Systems Design and Programming Arch. of the 80x86 CMPE 3103 (Jan. 30th, 2002)UMBCU M B CUNIVERSITY OF MARYLAND BALTIMORE COUNTY1 9 6 6Basic Bus ArchitectureBus Architecture: Three buses:• Address:If I/O, a value between 0000H and FFFFH is issued.If memory, it depends on the architecture:20-bits (8086/8088)24-bits (80286/80386SX)25-bits (80386SL/SLC/EX)32-bits (80386DX/80486/Pentium)36-bits (Pentium Pro/II/III)• Data:8-bits (8088)16-bits (8086/80286/80386SX/SL/SLC/EX)32-bits (80386DX/80486/Pentium)64-bits (Pentium/Pro/II/III)• Control:Most systems have at least 4 control bus connections (active low).MRDC (Memory ReaD Control), MWRC, IORC (I/O Read Control),IOWC. Systems Design and Programming Arch. of the 80x86 CMPE 3104 (Jan. 30th, 2002)UMBCU M B CUNIVERSITY OF MARYLAND BALTIMORE COUNTY1 9 6 6Basic Bus ArchitectureBus Standards:ISA (Industry Standard Architecture): 8 MHz8-bit (8086/8088)16-bit (80286-Pentium)EISA: 8 MHz32-bit (older 386 and 486 machines).PCI (Peripheral Component Interconnect): 33 MHz32-bit or 64-bit (Pentiums)VESA (Video Electronic Standards Association): Runs at processor speed.32-bit or 64-bit (Pentiums)Only disk and video. Competes with the PCI but is not popular. Systems Design and Programming Arch. of the 80x86 CMPE 3105 (Jan. 30th, 2002)UMBCU M B CUNIVERSITY OF MARYLAND BALTIMORE COUNTY1 9 6 6Basic Bus ArchitectureBus Standards:USB (Universal Serial Bus): 10 Mbps (extensions to 100Mbps)Newest systems.Serial connection to microprocessor.For keyboards, the mouse, modems and sound cards. To reduce system cost through fewer wires.AGP (Advanced Graphics Port): 66MHzNewest systems.Fast parallel connection: Across 64-bits for 533MB/sec.For video cards. To accommodate the new DVD (Digital Versatile Disk) players. Systems Design and Programming Arch. of the 80x86 CMPE 3106 (Jan. 30th, 2002)UMBCU M B CUNIVERSITY OF MARYLAND BALTIMORE COUNTY1 9 6 6Basic Memory ArchitectureBank layoutFFFFFFFFFE0000100000000021 MB8 bitsD7-D08088FFFFFFFFFFFD0000030000010000058 MB8 bitsD15-D88086 (1MB only)FFFFFEFFFFFC0000020000000000048 MB8 bitsD7-D080286, 80386SX80386SL/SLC(32MB)High bankLow bankOdd bytesEven bytes Systems Design and Programming Arch. of the 80x86 CMPE 3107 (Jan. 30th, 2002)UMBCU M B CUNIVERSITY OF MARYLAND BALTIMORE COUNTY1 9 6 6Basic Memory ArchitectureBank layoutFFFFFFFFFFFFFFFB00000007000000030000000B1 GB8 bitsD31-D2480386DX, 80486FFFFFFFEFFFFFFFA00000006000000020000000A1 GB8 bitsD23-D16FFFFFFFDFFFFFFF90000000500000001000000091 GB8 bitsD15-D8FFFFFFFCFFFFFFF80000000400000000000000081 GB8 bitsD7-D0Bank 0Bank 1Bank 2Bank 3 Systems Design and Programming Arch. of the 80x86 CMPE 3108 (Jan. 30th, 2002)UMBCU M B CUNIVERSITY OF MARYLAND BALTIMORE COUNTY1 9 6 6Basic Memory ArchitectureBank layoutFFFFFFFFFFFFFFF70000000F00000007000000178 bitsD63-D56Pentium/Pro/II/III512 MBBank 7FFFFFFFEFFFFFFF60000000E00000006000000168 bitsD55-D48512 MBBank 6FFFFFFFDFFFFFFF50000000D00000005000000158 bitsD47-D40512 MBBank 5FFFFFFFCFFFFFFF40000000C00000004000000148 bitsD39-D32512 MBBank 4FFFFFFFBFFFFFFF30000000B00000003000000138 bitsD31-D24512 MBBank 3FFFFFFFAFFFFFFF20000000A00000002000000128 bitsD23-D16512 MBBank 2FFFFFFF9FFFFFFF10000000900000001000000118 bitsD15-D8512 MBBank 1FFFFFFF8FFFFFFF00000000800000000000000108 bitsD7-D0512 MBBank 0 Systems Design and Programming Arch. of the 80x86 CMPE 3109 (Jan. 30th, 2002)UMBCU M B CUNIVERSITY OF MARYLAND BALTIMORE COUNTY1 9 6 6Basic I/O ArchitecturePICDRAM (Main Memory)Interrupt VectorsOther OS codeISR NICISR soundI/O SpaceINTRMemBus0000FFFFI/OBus0 1 2 . 7NICPortsProcessesSound cardIRQsActiveMicroprocessorPorts Systems Design and Programming Arch. of the 80x86 CMPE 31010 (Jan. 30th, 2002)UMBCU M B CUNIVERSITY OF MARYLAND BALTIMORE COUNTY1 9 6 6Interrupt Vectors (DOS PC)00000HInterrupt Vectors32 long words00080HAvailable Int. vectors00400H224 long words00500H64 long wordsBIOS Data areaBIOS Program AreaRead-Only Memory0-34-78-B10-13C-F14-1718-1B1D-1F20-2324-2728-2B2C-2F30-3334-3738-3B3C-3F40-4344-4748-4B4C-4F50-5354-5758-5B5C-5F60-6364-6768-6B6C-6F70-7374-7778-7B7C-7FDivide by zeroSingle StepNon-maskableBreakpointOverflowPrint ScreenReservedReservedTime of DayKeyboardReservedCommunicationsCommunicationsDiskDiskettePrinterVideoEquipment CheckMemoryDiskette/DiskCommunicationsCassetteKeyboardPrinterResident BASICBootstrapTime of DayKeyboard BreakTimer TickVideo InitializationDiskette ParametersVideo Graphic Chars0H1H2H3H4H5H6H7H8H9HAHBHCHDHEHFH10H11H12H13H14H15H16H17H18H19H1AH1BH1CH1DH1EH1FHHardware InterruptsAsynchronousSoftware InterruptsSynchronous(DOS int #s 20H-3FH)Address Interrupt #MicroprocessorInterrupts8259APts toData(18.2/sec)(CPU)(CPU)(CPU)(CPU)(8087)DRAM (Main Memory)FFFFFH [...]... 03F8 03F0 03D0 0378 0320 I/O Expansion Area FFFF UMBC 11 (Jan 30th, 2002) Special instructions (IN/OUT) are used to communicate to the I/O devices 64K 8-bit I/O devices I/O Device Space I/O Space It is important to notice that these I/O addresses are NOT memory-mapped addresses on the 80x86 machines Systems Design and Programming Arch of the 80x86 MO UN TI RE COUNT Y . AreaRead-Only Memory 0-3 4-7 8-B1 0-1 3C-F1 4-1 71 8-1 B1D-1F2 0-2 32 4-2 72 8-2 B2C-2F3 0-3 33 4-3 73 8-3 B3C-3F4 0-4 34 4-4 74 8-4 B4C-4F5 0-5 35 4-5 75 8-5 B5C-5F6 0-6 36 4-6 76 8-6 B6C-6F7 0-7 37 4-7 77 8-7 B7C-7FDivide. architecture:20-bits (8086/8088)24-bits (80286/80386SX)25-bits (80386SL/SLC/EX)32-bits (80386DX/80486/Pentium)36-bits (Pentium Pro/II/III)• Data:8-bits (8088)16-bits