BÀI GIẢNG VỀ PHẦN MỀM CỦA HỆ THỐNG MÁY TÍNH ppt

12 554 0
BÀI GIẢNG VỀ PHẦN MỀM CỦA HỆ THỐNG MÁY TÍNH ppt

Đang tải... (xem toàn văn)

Tài liệu hạn chế xem trước, để xem đầy đủ mời bạn chọn Tải xuống

Thông tin tài liệu

bi giảng về phần mềm hệ thống của máy tính 1- Tài liệu tham khảo Perter Norton. Nguyễn Khải 2 - Technicad reference. 3 - Các mạch vi xử lý. Chơng 1 giải phẫu pc Máy gồm : Mạch vi xử lý (Microprocessor , MP) Bộ nhớ (Memory). Mạch tạo xung nhịp (Impulse Generator) Mạch điều khiển ngoại vi (Periferal Control) nằm ở bảng mạch hệ thống (Main Board) 1 - Mạch xử lý trung tâm CPU (Central Processing Unit) : Mạch xử lí trung tâm là mạch điều khiển chính các hoạt động vào ra thông tin của máy tính. Các mạch vi xử lý 16 bit của Intel (Mỹ) 8086 8088 80286 Năm sản xuất 6/1978 1979 2/1992 Tần số nhịp đồng hồ (MHz) 10 10 20 Tốc độ xử lý (Triệu lệnh/s, MiPS) 0,33 0,33 1,2 Số Transistor 29.000 20.000 134.000 Bus dữ liệu (Data Bus) (Bits) 16 8 16 Bus địa chỉ (Address Bus) (Bits) 20 20 24 Mức địa chỉ hoá (MBytes) 1 1 16 Số chân 40 40 68 Cache không không có Chế độ bộ nhớ ảo không không có Bộ quản lý bộ nhớ trong không không không Bộ đồng xử lý toán học (Cooprated MP) MP 8087 MP 8087 MP 80287 Các mạch Vi xử lý 32 bit của Intel Bộ Vi xử lý 80386DX 80386SX 80486DX 80486SX 486DX2 Pentium Năm sx 10/1985 6/1988 4/1989 4/1991 3/1992 5/1993 Tần số nhịp 40 33 50 25 66 100 Tốc độ xử lý (MiPS) 6 2,5 20 16,5 52 112 Số Transistor 275.000 275.000 1,2 triệu 1,18 triệu 1,2 triệu 3,1 triệu Cache ngoài ngoài trong 8K trong 8K trong 8K trong 16K Bus dữ liệu (bits) 32 16 32 32 32 64 Bus địa chỉ (bits) 32 24 32 32 32 32 Mức địa chỉ hoá 4GB 16MB 4GB 4GB 4GB 4GB Số chân 132 100 168 168 168 273 Bộ nhớ ảo có có có có có có Bộ quản lý bộ nhớ trong có có có có có có Mạch đồng xử lý toán 80387DX 80387SX trong 80487SX tron g trong Mạch xử lí trung tâm quản lí thông tin thông qua các địa chỉ đợc xử lí thông qua bộ địa chỉ hoá. Khi thực hiện một lệnh CPU lấy lệnh từ bộ nhớ, đọc các tham số đi kèm sau lệnh, giải mã lệnh, thực hiện lệnh và ghi kết quả . Mạch MP-8088, MP-8086 là mạch vi xử lí trung tâm thế hệ 3 đóng trong vỏ dài 40 chân, dùng 14 thanh ghi 8 bít dữ liệu, xử lí 16 bít. Tần số hoạt động thấp 5-8Mhz, có khả năng địa chỉ hoá khoảng 1Mbyte 1 MP-80286 thế hệ 4 đóng trong vỏ vuông 68 chân, dùng loại thanh ghi 16 bít, tần số hoạt động là 10Mhz, có khả năng địa chỉ hoá khoảng 16Mbyte. Mạch vi xử lí MP-80286 gồm 4 đơn vị sau : - Đơn vị điều khiển Bus (BU) sinh ra các tín hiệu địa chỉ, tín hiệu số liệu, tín hiệu điều khiển. Các tín hiệu này sẽ thâm nhập vào bộ nhớ và các cổng vào ra. Trong đơn vị này có một bộ nhớ đệm 6byte cho phép nhận lệnh song song trong các quá trình khác nhau. - Đơn vị lệnh (IU) nhận lệnh từ bộ nhớ đệm để đa vào bộ giải mã lệnh, tín hiệu giải mã của lệnh đợc đa tới bộ nhớ tạm (hàng đợi lệnh) để chờ đa vào đơn vị thực hiện . - Đơn vị thực hiện (EU) gồm có 15 thanh ghi (Register) loại 16 bit, bộ điều khiển, bộ xử lí số học và logic ALU (Arithmetical Logical Unit). Đơn vị này thực hiện lệnh theo mã máy và gửi kết quả ra bộ nhớ hoặc cổng (port) thông qua BUS - Đơn vị địa chỉ (AU) có chức năng quản lí, bảo vệ bộ nhớ và chuyển địa chỉ logic thành địa chỉ vật lí. P80386 hoặc P80486 là mạch vi xử lí thế hệ 5 đóng trong vỏ vuông 132 chân, dùng loại thanh ghi 32 bít dữ liệu, tần số hoạt động trên 20 Mhz, có khả năng địa chỉ hoá tới 4 giga Byte. MP80386 dùng Bus dữ liệu 32 bit và Bus địa chỉ 32 bit . MP-80386 gồm 6 đơn vị sau : -Đơn vị BUS -Đơn vị nhận lệnh (Prefetch Unit) -Đơn vị giải mã lệnh (Decode Unit) -Đơn vị thực hiện lệnh (Execution Unit) -Đơn vị quản lí bộ nhớ theo đoạn (Segment Unit) -Đơn vị quản lí bộ nhớ theo trang (Page Unit) Execution Unit Segment Unit Page Unit Decode Unit Prefrest Unit BUS Unit 2 Các mạch vi xử lí đều có thể bổ trợ chức năng số học nhờ mạch đồng xử lý (Cooprocesor) họ P80387 (phần mở rộng chức năng số học mở rộng cho xử lý tính toán với dấu phẩy động, nó thực hiện đợc các phép + - * / và các tính toán lợng giác) mạch P8089 (mở rộng chức năng xử lý vào ra). Các thanh ghi Dịch trái/phải ALU Các thanh ghi đoạn segment bộ chuyển đổi đoạn Segment Bộ đệm chuyển đổi Bộ chuyển hoá trang Bộ giải mã lệnh hàng đợi lệnh đã giải mã Hàng đợi lệnh Bộ nhận lệnh Bộ ghép nối BUS 2- Các thanh ghi (Register) : * MP-8088 có 14 thanh ghi + 4 thanh ghi đa năng Thanh ghi AX (tổng) loại 16 bít phân thành hai nửa gọi là thanh ghi AH và AL Thanh ghi BX (cơ sở) BH và BL Thanh ghi CX (ô đếm) CH và CL Thanh ghi DX (dữ liệu) DH và DL 4 thanh ghi này để lu các toán hạng và kết quả trung gian + 4 thanh ghi địa chỉ đoạn : Thanh ghi CS (Code Segment) để ghi địa chỉ đoạn mã lệnh gồm 16 bít (bít 15-0) Thanh ghi DS (Data Segment) để ghi địa chỉ đoạn dữ liệu Thanh ghi SS (Stack Segment) để ghi địa chỉ đoạn ngăn xếp Thanh ghi ES (Extra Segment) để ghi địa chỉ đoạn mở rộng + 4 thanh ghi offset (để ghi địa chỉ tơng đối - còn gọi là con trỏ ô trong một đoạn bộ nhớ ) Thanh ghi IP (Instruction Pointer- con trỏ lệnh) để chứa địa chỉ của ô của đoạn CS Thanh ghi SP (Stack Pointer - con trỏ STACK) để chứa địa chỉ của ô trong đoạn SS Thanh ghi BP (Base Pointer - con trỏ cở sở) để chứa địa chỉ của ô trong đoạn BS Thanh ghi SI (Source Index-chỉ số nguồn) để chứa địa chỉ của nguồn dữ liệu Thanh ghi DI (Destination Index-chỉ số đích) Để ghi địa chỉ ô đích cất dữ liệu + Thanh ghi cờ 16 bít . Có 9 bít cờ ứng với bit 4 đến bit 15 . 15 11 10 9 8 7 6 5 4 3 2 1 0 OF DF IF TF SF ZF AF PF CF CF= Carry Flag=cờ nhớ; OF=Overflow Flag=cờ tràn ô khi chia cho số 0 ; ZF=Zero Flag=cờ Zero để chỉ phép tính cho kết quả bằng 0; SF= Sign Flag= cờ dấu chỉ trạng thái dấu +/- ; PF=Parity Flag= cờ chẵn lẻ ; AF=Auxiliary Flag= cờ nhớ phụ chỉ thị số nhớ; DF=Direction Flag=cờ định hớng, tiến lùi ; IF=Interrupt Flag=cờ ngắt; TF=Trap Flag= cờ chạy từng bớc). * MP-80286 có 15 thanh ghi phân thành 4 nhóm sau : - Nhóm thanh ghi đa năng : AX , BX , CX, DX - Nhóm thanh ghi đoạn bộ nhớ : CS (Code Segment), DS (Data Segment), SS (Stack Segment), ES (Extra Segment) - Nhóm thanh ghi offset (con trỏ): IP (Instruction Pointer), BP (Base Pointer) , SP (Stack Pointer) , SI (Source Index), DI (Destination Index) - Thanh ghi cờ và thanh ghi từ trạng thái : F và MSW * MP-80386 có 32 thanh ghi loại 32 bit phân thành các nhóm chính sau : - 4 Thanh ghi đa năng ( General Purpose Register) : Các thanh ghi 32 bit có tên là EAX, EBX, ECX , EDX các thanh ghi này cũng có chức năng nh các thanh ghi đa năng của các họ vi xử lí khác . 16 bít thấp của các thanh ghi này cũng có thể thâm nhập riêng nên nó cũng có tên riêng là AX, BX, CX, DX, các thanh ghi này cũng đợc phân thành 2 nửa AH,AL 31 16 15 0 EAX AH AL EBX BH BL ECX CH CL EDX DH DL - 6 thanh ghi đoạn (Segment Register) : mỗi thanh ghi gồm 2 phần, đó là phần ghi địa chỉ đoạn của bộ nhớ (gọi là bộ chọn mảng) phần này thâm nhập đợc nên gọi là phần hở , phần thứ hai là phần ghi mô tả mảng không thâm nhập đợc nên gọi là phần kín. Khi thanh ghi chọn mảng đợc thâm nhập thì thanh ghi mô tả mảng cũng đợc tự động nạp các thông số của mảng . 31 thanh mô tả đoạn 16 15 Thanh ghi chọn đoạn 0 CS code segment DS Data Segment ES Extra Segment FS GS Global Segment SS Stack Segment - Các thanh ghi offset (con trỏ ô nhớ tơng đối trong từng đoạn) ESI SI EDI DI EBP BP ESP SP EIP IP - 1 Thanh ghi cờ : EFLAGS sử dụng từ bit 0 đến bit 17 3 4 - 3 Thanh ghi điều khiển : CR0 (Control Register) chứa MSW từ bit 0-15, 6 bít điều khiển nằm ở phần cao hơn. CR2 (Control Register 2) thanh ghi này chứa địa chỉ tuyến tính của trang bộ nhớ có lỗi. Thanh ghi CR3 (Ctrol Register 3) để ghi địa chỉ cơ sở của bảng danh mục trang bộ nhớ. Thanh ghi CR1 để dùng cho tơng lai của Intel. - 4 Thanh ghi hệ thống : GDTR (Global Descriptor Table Register) IDTR (Interrupt Descriptor Table Register) TR (Task Register) LDTR (Local Descriptor Table Register) Trong đó hai thanh ghi GDTR và IDTR chứa 32 bít cơ sở của địa chỉ tuyến tính và 16 bít giới hạn của đoạn GDT và IDT. Các đoạn GDT và IDT dùng chung cho tất cả các nhiệm vụ trong hệ thống nên nó hoàn toàn đợc xác định bởi 32 bit địa chỉ tuyến tính và 16 bít giới hạn . Hai thanh ghi LDTR và TR có 2 phần : đó là phần chọn đoạn bộ nhớ hệ thống và phần mô tả đoạn hệ thống, nó cũng có phần hở và phần kín nh các thanh ghi đoạn. - 6 thanh ghi gỡ rối kí hiệu là DR0,DR1,DR2,DR3,DR6,DR7. trong đó các thanh ghi từ DR0 - DR3 đùng để ghi 4 điểm gẫy (Break) của chơng trình đang chạy, DR6 để ghi trạng thái gỡ rối , thanh ghi DR7 để điều khiển gỡ rối. - 2 thanh ghi kiểm tra RAM (Test Ram) kí hiệu là TR6 và TR7. Trong đó TR6 để ghi từ kiểm tra (Test Word) còn TR7 để ghi trạng thái kiểm tra (Status Word) Chú thích : AX là thanh chứa và thực hiện các phép tính, chứa kết quả. BX (gốc) dùng để chỉ ra đầu của bảng chuyển đổi trong bộ nhớ, nó còn đợc dùng để lu offset. CX (đếm) dùng để đếm các quá trình xử lý lăp đi lặp lại (trong trờng hợp sử dùng với lệnh LOOP, FOR NEXT , Repeat Until , While Wend) BX (dữ liệu). Dùng để lu tạm dữ liệu 16 bít. CS Xác định đoạn mã lệnh nào đó chứa chơng trình sẽ đợc thực hiện DS xác định đoạn dữ liệu là vùng bộ nhớ chứa các dữ liệu hiện thời. SS xác định đoạn chứa ngăn xếp(STACK) để quản lý các tham số và địa chỉ hiện đợc sử dụng trong chơng trình hoạt động. ES là đoạn mở rộng lu trữ dữ liệu bổ sung cho đoạn dữ liệu và dùng cho việc truyền dữ liệu giữa các đoạn. IP thanh ghi con trỏ lệnh (iustruction pointer) định vị lệnh đang thực hiện đoạn mã lệnh. Nó cho ta địa chỉ offset tổng đoạn mã lệnh. Nó đợc dùng với thanh ghi CS để xác định chính xác lệnh tiếp theo đợc thực hiện. SP thanh ghi con trỏ ngăn xếp (Stack Pointer cho biết vị trí định ngăn xếp. BP thanh ghi gốc (con trỏ gốc) cho biết địa chỉ offset trong đoạn ngăn xếp. SI thanh ghi chỉ số nguồn (Source Index) để chỉ ra miền dữ liệu cần chuyển tới. 3 - Bộ điều khiển ngắt 8259 Ngắt là tín hiệu gửi tới CPU để yêu cầu thực hiện một chức năng xử lí nào đó. 8259 chặn tín hiệu đó lại, xác định mức độ u tiên, phát lệnh ngắt tới CPU. Khi CPU nhận đơc tín hiệu ngắt nó sẽ gọi một chơng trình tơng ứng trong ROM-BIOS (Gọi là Service của ROM-BIOS). Hoặc một chơng trình xử lí ngắt của DOS (Gọi là một Function của DOS). Mạch 8259 có thể xử lý 8 tín hiệu ngắt đồng thời. Ta có thể lập trình để quản lí các ngắt . 4 - Bộ điều khiển DMA (Direct Memory Acess) 8237a Để tránh bận CPU .một số phần của máy có thể chuyển dữ liệu đi hoặc tới bộ nhớ một cách trực tiếp không qua CPU. Bộ phận chuyển giao xử lý vào ra trực tiếp này là bộ DMA 8237a. DMA có 4 kênh riêng biệt để mang dữ liệu đến từ bộ nhớ và 344 bít bộ nhớ trong để chứa dữ liệu cần chuyển. AT nối 2 bộ điều khiển DMA để sử dụng. 5 - Bộ tạo xung nhịp 82284a : - Phát tần số cơ sở 14,3128 Mhz. Tần số làm việc = tần số cơ sở/ hằng số nào đó. Tần số làm việc của 8088 là 4,77 MHz, của 80286 là 6 Mhz, 80386 là 40MHz, 80486 có tần số làm việc là 60MHz. BUS trong và bộ thời gian 8235 dùng tần số 1,193MHz 6- Bộ ghép nối thiết bị ngoại vi lâp trình đợc 8255 8255 dùng để nối các thiết bị ngoại vi vào BUS 7- Bộ thời gian lập trình đợc 8253 8253 (trong AT dùng 8254a) là bộ thời gian và bộ đếm. Nhận tín hiệu từ 82284(A) và đợc chia tần để dùng 1,190MHz. 8253 tạo âm thanh loa, đồng hồ. 5 8 - Bộ điều khiển CRT 6845 . Điều khiển lái tia màn hình Gắn ở bảng bổ sung ADAPTER màn hình, có liên quan với thanh ghi trong CPU để điều khiển quét mành CRT 9- Bộ điều khiển PD765 (điều khiển đĩa) 10- BUS . BUS là con đờng truyền thông tín hiệu trong các phần tử của thiết bị máy tính BUS gồm 4 phần :- đờng nguồn - đờng tín hiệu điều khiển - đờng dữ liệu - đờng địa chỉ. + BUS địa chỉ : 20 đờng cho phép 2^20 địa chỉ hoá AT dùng tới 24 đờng cho phép 2^24 địa chỉ trên 16 triệu địa chỉ +BUS dữ liệu: 8086 dùng 16 đờng 8088 BUS 8 đờng (8bit) 80286 16 đờng hoặc 8 đờng(có bộ phận chuyển đổi) 80386 32 đờng (D0-D31) Mạch 74LS373 chuyển địa chỉ từ BUS cục bộ sang BUS hệ thống . Mạch 74LS245 để chuyển dữ liệu từ BUS cục bộ sang BUS hệ thống . Mạch 82288 để biến các tín hiệu điều khiển từ BUS cục bộ thành tín hiệu điều khiển của BUS hệ thống. 11- Bộ nhớ: + Bộ nhớ gồm nhiều khối,mỗi khối 64K + Mỗi ô nhớ có 8 bít (1byte), Một từ 16 bít, Một từ kép 32 bit. Một từ đợc nạp vào bộ nhớ theo nguyên tắc byte thấp nạp vào ô có địa chỉ thấp, byte cao nạp vào ô địa chỉ cao nh vậy khi hiển thị lên màn hình ta thấy các từ bị xếp ngợc : Byte thấp đứng trớc Byte cao đứng sau. Vơi từ kép thì từ thấp hiển thị trớc, từ cao hiện sau . Ví dụ : ta có một từ 2 byte sau 12 34 thì 34 là byte thấp đợc hiển thị trớc, 12 là byte cao đợc hiển thị sau nên ta thấy 34 12 . Ta có 2 từ sau : 12 34 : 56 78 đợc xếp lần lợt từ ô nhớ thấp lên đến ô nhớ cao, nhng khi hiển thị lên màn hình ta sẽ thấy nh sau 78 56 : 34 12 + Địa chỉ của một từ đơn hay từ kép là địa chỉ của byte thấp nhất trong từ đó vì BUS địa chỉ gồm 20 đờng nên địa chỉ của mỗi ô đợc đánh giá bằng 20 bít nhị phân = 5 số hệ 16 nên khoảng địa chỉ hoá tối đa từ 00000FFFFF (từ 01048576 ở hệ 10). ở thế hệ vi mạch mới cáp địa chỉ lên đến 32 đờng nên khả năng địa chỉ hoá rất cao có thể lên tới vài trục MegaByte. + Bộ nhớ đợc phân vùng theo đoạn (segment) hoặc theo từng trang 4k (page) Phân vùng bộ nhớ theo đoạn nh sau : F0000 ROM thờng trực (ROM_BIOS, ROM basic, chơng trình chẩn đoán) E0000 vùng ROM cartridge D0000 vùngROM cartridge C0000 vùng mở rộng BIOS(đĩa XT) B0000 RAM màn hình thông thờng (PC,XT,AT) B0000 địa chỉ đầu RAM màn hình đơn sắc(dùng 4K ở địa chỉ đầu) B8000 địa chỉ RAM màn hình mầu đồ thị(dùng 16K ở địa chỉ đầu) A0000 RAM màn hình mở rộng 90000 640K 80000 572K 70000 572K 60000 448K 50000 384K 40000 320K 30000 265K 20000 192K 10000 RAM 128K tối đa cho PCjr 00000 RAM 64K dành cho phần mềm hệ thống + MP-80386 có 3 loại địa chỉ : Địa chỉ Logic (ảo), địa chỉ tuyến tính, địa chỉ vật lí. Địa chỉ logic gồm 2 phần đoạn: offset. Trong đó địa chỉ đoạn đợc chỉ ra trong các thanh ghi đoạn, địa chỉ offset đợc chỉ ra trong các thanh ghi con trỏ (pointer). Địa chỉ offset gồm 3 phần: địa chỉ cơ sở, chỉ số và dịch chuyển ( Base, Index, Displacement). Địa chỉ tuyến tính là địa chỉ đợc định theo ô nhớ đầu tiên của bộ nhớ đuợc tính nh sau: lấy địa chỉ đoạn dịch sang trái 4 bít rồi cộng với offset. Địa chỉ vật lí là địa chỉ xuất hiện thật ở chân của MP-80386. Nguyễn Khải Chơng 2 Hoạt động vào ra của máy tính 1 - CPU Giao tiếp thế nào : CPU Giao tiếp với các phần tử khác của hệ thống máy bằng 3 cách: - Trao đổi trực tiếp (hoặc gián tiếp) với bộ nhớ - Qua các cổng. Tín hiệu vào ra các thiết bị đều qua cổng của nó. Mỗi cổng có một địa chỉ xác định . - Qua các ngắt. a - Trao đổi bộ nhớ trực tiếp và gián tiếp : CPU điều khiển sự truy nhập gián tiếp vào bộ nhớ thông qua các thanh ghi có trong CPU. Chẳng hạn tín hiệu từ bàn phím các thanh ghi trong 80386 bộ nhớ. - Sự truy nhập gián tiếp vào bộ nhớ đều thông qua khâu trung gian là CPU để xử lý - Sự truy nhập trực tiếp vào bộ nhớ là quá trình thông tin đi từ nguồn phát thông tin thẳng đến bộ nhớ thông qua khối DMA mà không cần đến CPU Vào trực tiếp ( CPU ) Bộ nhớ Vào gián tiếp ( DMA) Bộ nhớ b- Cách định địa chỉ: Địa chỉ bộ nhớ gồm 2 phần : - Địa chỉ đoạn (địa chỉ đầu của mỗi đoạn 64K) - Địa chỉ offset (địa chỉ tơng đối của ô nhớ trong mỗi đoạn ) - Địa chỉ đoạn gồm 16 bít - Địa chỉ tơng đối (offset) cũng gồm 16 bít Kết hợp 2 địa chỉ đoạn và offset tạo thành địa chỉ phân đoạn (gọi là một véc tơ ) vì BUS chỉ gồm 20 bít nên địa chỉ phân đoạn cũng cần địa chỉ hoá 20 bít, bằng cách: Dịch trái địa chỉ đoạn sang trái 4 bít + điạ chỉ offset 16 bít = địa chỉ phân đoạn 20 bít. 20 bít nhị phân địa chỉ phân đoạn đợc phân thành 5 nhóm, mỗi nhóm 4 bít để làm thành 5 số địa chỉ hệ 16 Thí dụ : Địa chỉ đoạn : 1011 1010 0110 0111 B A 6 7 Địa chỉ offset :1100 0100 0100 0110 C 4 4 6 Địa chỉ phân đoạn hệ 16 sẽ là BA670 + C446 = D3BB6 + Để mô tả một địa chỉ phân đoạn ta có thể dùng cách mô tả gộp dới dạng tổng của phân dịch trái 4 bít của địa chỉ đoạn + địa chỉ offset (nh thí dụ trên là D3BB6 hoặc mô tả tách rời thành 2 phần cách nhau có dạng : ĐIA CHI ĐOAN:offset nh thí dụ trên ta viết là BA67:C446 6 7 d- Ngăn xếp (STACK) Ngăn xếp là một vùng bộ nhớ để nhớ và quản lý tiến trình công việc. Ghi lại địa chỉ nơi chơng trình con đợc gọi và những tham số truyền cho nó. Ngăn xếp hoạt động theo nguyên tắc (LIFO) (Vào cuối ra đầu- last In Pirst Out.) e- Các luật sử dụng thanh ghi. Các thanh ghi chung AX,BX,CX,DX đợc dùng thoải mái + AX thờng dùng để chứa kết quả. + CS không đợc sửa trực tiếp nhng có thể thay đổi gián tiếp bằng cách gọi chơng trình con gần hoặc ax. DS có thể thay đổi đợc nhng sau đó thờng đợc trả lại giá trị cũ + SS giá trị ban đầu của SS cần phải lu lại trớc khi thực hiện thay đổi với thanh ghi + ES có thể thay đổi đợc theo ý muốn. + IP không thể thay đổi trực tiếp + SP không thể thay đổi đợc. + BP thờng đợc thay đổi để truy nhập tới các tham số và thờng đợc phục hồi lại + SI, DI có thể tự do theo dõi khi cần. f- Các cổng I/o + Cổng là cửa mà qua đó thông tin truyền đến hoặc truyền đi ( bàn phím, màn hình n chuột, đều gửi thông tin ra vào cổng. Mỗi linh kiện đều có thể sử dụng vào địa chỉ cổng cho các mục đích khác nhau. + Địa chỉ cổng 16 bít. CPU gửi dữ liệu hoặc thông tin tới từng cổng bằng cách chỉ ra số thứ tự của cổng, còn cổng trả lời bằng cách gửi lên BUS một tín hiệu trạng thái. Sự trao đổi CPU và cổng thực hiện cụ thể nh sau : Đầu tiên CPU gửi một tín hiệu lên BUS điều khiển để lu ý tất cả các thiết bị vào ra rằng trên BUS địa chỉ của một cổng nào đó sau đó CPU gửi tín hiệu địa chỉ cổng lên BUS địa chỉ cuối cùng thì thiết bị cổng truyền lên BUS điều khiển một tín hiệu trạng thái sẵn sàng hay không sẵn sàng. Địa chỉ cổng là số thứ tự cổng, đó là một số chỉ tới một vị trí nhớ trong thiết bị vào ra chứ không phải ở trong bộ nhớ. Địa chỉ các cổng nh sau: AT Bộ điều khiển DMA (8237A-5) 000-01F Bộ điều khiển ngắt (8259A) 020-03F Bộ thời gian (8253-5;8254.2 ở AT) 040-05F PPI(8255A5-8255-5 ở PCjr) Bàn phím (8012) 060-06F Thanh ghi hay DMA (74LS612) 080-09F Bộ điều khiển ngắt (8259A) 070-07F Bộ tạo âm (SN76496N) oc-0c7 0A0-0BF Bộ điều khiển DMA2 (8237A-5) Xoá đặt lại bộ xử lý toán OCO-ODF Xoá đặt lại bộ xử lý toán OFO-OF1 Joystik 200-207 200-20F Bộ mở rộng 201-217 Máy in song song (thứ 2) 278-27F Cổng nối tiếp (thứ 2) 2F8-2FF 3F8-3FF 3F8-3FR Cổng nối tiếp (thứ hai) 2F8-2FF 2F8-2FF Card mẫu 300-30F 300-34F Đĩa cứng. 320-32F 1FO-1F8 Máy in song song (thứ nhất) 378-37F 378-37R SDLC(thứ 2 chỉ trên AT) 380-38F 380-38R Liên lạc bisynchronous(thứ nhất) 3AO-3AF Bộ ghép nối màn hình đen trắng máy in 3BO-3BF 3BO-3BF Bộ ghép nối màn hình đồ thị 3DO-3DF 300-3DF Bộ điều khiển đĩa mềm OFO-OFF 3FO-3F7 2FO-3F7 g- CPU sử dụng ngắt nh thế nào. + Các thiết bị hoạt động theo một chơng trình nào đó đều hoạt động ở chế độ ngắt. + Quá trình nh sau: Thiết bị cứng hay chơng trình gửi một tín hiệu gọi là ngắt tới bộ vi xử lý nhận đợc tín hiệu ngắt nó sẽ dừng tất cả các công việc khác và kích hoạt chơng trình con nằm trong bộ nhớ gọi là chơng trình xử lý ngắt (mỗi chơng trình xử lý ngắt tơng ứng 1 số hiệu ngắt cụ thể sau khi chơng trình xử lý ngắt đã hoạt động máy tính sẽ tiếp tục thực hiện từ chỗ nó dừng. + Có 3 lớp ngắt chính sau : Ngắt cứng tạo ra bởi các mạch của máy tính khi đáp lại một sự kiện nào đấy (chẳng hạn khi một phím trên bàn phím đợc nhấn) các ngắt này do mạch điều khiển quản lý (8259) - Ngắt tạo bởi CPU xảy ra trong quá trình thực hiện chơng trình máy coi là một sản phẩm đặc biệt của chơng trình chẳng hạn chạy chơng trình khi chia cho số 0) - Ngắt do chơng trình (ngắt mềm) xảy ra khi gọi chạy chơng trình con ngắt này có thể lập trình đợc. + Ngoài 3 lớp ngắt chính trên còn có một loại ngắt đặc biệt là ngắt không chắn (NMI) nó dừng để đòi hỏi sự chú ý tức thời của CPU khi có sự mất điện hoặc hỏng bộ nhớ. + Quá trình kích hoạt các ngắt nh sau : Khi chơng trình gửi số hiệu ngắt tới CPU bộ sử lý ngắt 8259 phân tích số hiệu ngắt nhận đợc rồi nó chỉ tới một bảng đơc nhớ ở vùng địa chỉ thấp của bộ nhớ. Bảng này gọi là bảng vectơ ngắt trong đó mỗi ô của bảng này chứa địa chỉ phân đoạn của chơng trình xử lý ngắt cụ thể ứng với một số hiệu ngắt. Nhờ có địa chỉ này (vec tơ ngắt) máy sẽ nhẩy tới vùng nhớ có chơng trình xử lý ngắt cụ thể và kích hoạt trạng thái ngắt. + Đồng thời với quá trình ngắt thì giá trị của các thanh ghi CS và thanh ghi con trỏ lệch (IP) đợc cất vào ngăn xếp (STACK). Nhờ đó mà máy có thể làm việc khi ngắt xảy ra. Đồng thời giá trị của thanh ghi cờ cũng cất vào ngăn xếp và thanh ghi cờ bị xoá đi để ngăn các ngắt khác tạm thời. Chơng 3 PHầN MềM ROM ROM là bộ nhớ gồm nhiều chơng trình cài đặt sẵn chỉ đọc ra mà không thay đổi đợc. Phần mềm của ROM gồm các chức năng sau : 4 thành phần của ROM. A ROM khởi động. B. ROM-BIOS C. Tệp các chơng trình giữ máy, thực hiện hỗ trợ. D. ROM-BASIC. A- ROM khởi động: Là phần mềm chứa các chơng trình khởi động máy gồm các việc sau : - Kiểm tra độ tin cậy của cả hệ thống, khẳng định mọi công việc đều sẵn sàng kiểm tra điện nguồn, kiểm tra bộ nhớ, kiểm tra ổ đĩa - Chơng trình tạo bảng véc tơ ngắt ở vùng địa chỉ thấp của RAM. - Chơng trình kiểm tra các thiết bị liên kết với máy tính và ghi các thông tin kiểm tra đợc vào vị trí chuổn trong RAM ở vùng địa chỉ thấp - Chơng trình kiểm tra xem có ROM mở rộng không nếu có thì chuyển điều khiển sang ROM mở rộng để thực hiện tiếp các chơng trình con có trong ROM mở rộng. 8 - Và cuối cùng là chơng trình tải BOOT_STRAP gồm việc đọc bản ghi khởi động ở trên đĩa, nếu việc đọc bản ghi khởi động thành công ( không có lỗi) thì chuyển điều khiển của máy sang cho chơng 9 trình ghi ở bản ghi khởi động đĩa (chơng trình này có nhiệm vụ tải phần còn lại của chơng trình trên đĩa). Nếu quá trình tải của BOOT_STRAP không thành công thì ROM trả lời BOOT-FAILURE. B- ROM-BIOS. Phần mềm điều khiển quá trình máy hoạt động gồm các chơng trình điều khiển máy ngoại vi ROM_BIOS gồm nhiều chơng chình phục vụ (Service) các chơng trình phục vụ BIOS này đợc gọi ra bằng các vec tơ ngắt khác nhau. Thí dụ : a- Các chơng trình phục vụ màn hình đợc gọi ra bằng vec tơ 16 10 gồm tổng số Service0Service15 (với AT có thêm 4 Service con nữa). b - Các chơng trình phục vụ bàn phím đợc gọi ra bằng các véc tơ ngắt (16Hex) gồm có 3 service : service 0, service 1, service 2 c- Các chơng trình phục vụ cổng đợc gọi ra bằng ngắt (14H) gồm có 4 service dành cho quá trình truyền thông tin ra cổng. d- Các chơng trình phục vụ máy in gọi bằng véc tơ ngắt (17h) gồm có 3 service (service 0, service 1, service 2). e- Các chơng trình phục vụ đĩa của ROM_BIOS gọi qua ngắt (13H) gồm 24 Service f- Các chơng trình phục vụ của ROM_BIOS thực chất là chơng trình xử lý ngắt, mỗi chơng trình này đợc gán một số hiệu ngắt, các số hiệu ngắt này ứng với một ô chứa véc tơ ngắt nằm ở vùng địa chỉ thấp của RAM. Vec tơ ngắt chính là địa chỉ phân đoạn để định vị chơng trình xử lý ngắt. Khi một số hiệu ngắt đợc gọi ra thì địa chỉ phân đoạn của vec tơ ngắt đợc tải vào thanh ghi CS (đoạn mã lệnh ) và thanh ghi IP (con trỏ lệnh). Các véc tơ ngắt nằm ở vùng địa chỉ thấp nhất của bộ nhớ RAM đầu tiên là ngắt số 0 và tiếp tục là ngắt số 1 Mỗi véc tơ ngắt dài 2 từ (4byte). Vị trí của véc tơ ngắt trong vùng bộ nhớ thấp đợc xác định bằng cách lấy số hiệu ngắt *4 . Ví dụ : Ngắt số 5 có địa chỉ offset trong đoạn số 0000 là 5*4=20. Nếu dùng DEBUG để kiểm tra ngắt này thì phải chuyển sang hệ 16. Thí dụ ngắt số 5 ở vùng 5*4=20 10 =14 16 . Vậy nếu dùng DEBUG với lệnh D 0000:0014 L4 ta thấy ở địa chỉ đó chứa 4 byte sau 54 FF 00 F0. Do sự sắp xếp từ ngợc nên Bốn bai này phải đợc hiểu nh sau: 2 bai đầu làm thành một từ hiểu đúng là FF 54 đó là địa chỉ offset. 2 bai sau làm thành một từ đúng là F0 00 đó là địa chỉ đoạn. Vậy địa chỉ F000:FF54 là địa chỉ của chơng trình xử lý ngắt số 5 ở trong ROM . Chú ý sự xắp xếp từ ngợc : Từ đứng trớc 2 byte đầu chỉ địa chỉ offset 2 byte sau chỉ địa chỉ đoạn * ROM-BIOS gồm tất cả 12 ngắt chia thành 5 nhóm ; - Nhóm 1 gồm 6 ngắt phục vụ các ngoại vi - Nhóm 2 gồm 2 ngắt phục vụ các thiết bị hệ thống. - Nhóm 3 gồm 1 ngắt phục vụ điều khiển đồng hồ hệ thống (ngày tháng) - Nhóm 4 gồm 1 ngắt phục vụ in trang màn hình. - Nhóm 5 gồm 3 ngắt chuyển máy tính sang trạng thái khác. * Cách gọi phục vụ của các ngắt nh sau: - Trớc tiên nạp số hiệu phục vụ vào thanh ghi AH. - Sau đó gọi véc tơ ngắt . Thí dụ: Muốn gọi chơng trình phục vụ số 1 về màn hình trong ngắt 16 10 =10 16 ta làm nh sau : - Nạp số 1 vào thanh ghi AH bằng lệnh hợp ngữ MOV AH,1 - Gọi véc tơ ngắt số 10h bằng lệnh hợp ngữ INT 10 I - Các Chơng trình xử lí ngắt của ROM-BIOS : 1 - Ngắt 00 : Ngắt tạo bởi CPU khi tràn ô khi thực hiện phép chia (DIV) cho 0 2 - Ngắt 01 : Đặt trạng thái chạy từng bớc (khi cờ TF=1) 3 - Ngắt 02 : Ngắt không chắn đợc (ngắt không bị cấm bởi lệnh xoá ngắt CLI) 4 - Ngắt 03 : Đặt và xử lí điểm dừng của chơng trình 5 - Ngắt 04 : Đợc tạo ra khi kết quả của phép tính số học bị tràn . 6 - Ngắt 05 : Gọi chơng trình in trang màn hình . 7 - Ngắt 08 : Ngắt phát sinh từ phần cứng , tạo bởi nhịp kích của đồng hồ trong máy ngắt này thờng đợc sử dụng trong các chơng trình thờng trú chạy định kì. 8 - ngắt 09 : Ngắt phát sinh từ phần cứng để xử lí bàn phím mỗi khi có một phím đợc đè hoặc nhả. 9 - Ngắt 13 (0Dh) : Tạo khi bộ CRT quét ngợc mành màn hình . 10 10- Ngắt 14 (0Dh) : Ngắt phát sinh từ phần cứng và đợc kích hoạt bởi bộ điều khiển mềm mỗi khi có một tác vụ về đĩa mềm. 11- Ngắt 15 (0Fh) : Điều khiển máy in 12- Ngắt 16 (10h) : Gọi các dịch vụ màn hình của ROM-BIOS Các chơng trình phục vụ màn hình của ROM_BIOS đều đợc gọi qua ngắt 16 10 (10h). Gồm 28 phục vụ theo các bảng phục vụ phân bố sau: Số hiệu Service Chức năng Số hiệu Service Chức năng Od Đặt kiểu màn hình 13 Đọc một điểm (pexel) 1d Đặt kích thớc con trỏ 14 Ghi ký tự nh điện báo 2d Đặt vị trí con trỏ 15 Lấy kiểu màn hình hiện thời 3 Dọc vi trí con trỏ 16 Ghép bảng mầu 4 Đoc vị trí bút sáng 17 Ghép bộ tạo ký tự 5 Đặt trạng thái hoạt động 18 Chọn lối ra dự bị. 6 Cuốn của sổ lên 19 Ghi chuỗi ký tự 7 Cuốn cửa sổ xuống 20 (Có thể đổi địa chỉ cho PC) 8 Đọc ký tự và thuộc tính 21 (Có thể đổi địa chỉ cho PC) 9 Ghi ký tự thuộc tính 26 (Đọc ghi mã hiển thị tổ hợp) 10 Ghi 1 ký tự 27 Lấy thông tin trạng thái 11 Đặt bảng 4 mầu 28 Cất ghi lại trạng thái 12 Ghi 1 điểm (pixel) 13- Ngắt 17 (11h) : Gọi các dịch vụ liệt kê thiết bị 14- Ngắt 18 (12h) : Gọi các dịch vụ tính kích thớc bộ nhớ 15- Ngắt 19 (13h) : Goi các dịch vụ ổ đĩa của ROM-BIOS (đĩa mềm và đĩa cứng). * Các chơng trình phục vụ đĩa mềm chuẩn của ROM-BIOS đều đợc gọi qua ngắt 19d (13Hex) có 6 service. Các service này đợc chọn qua thanh ghi AH nh sau: - Nạp vào thanh ghi AH số hiệu của Service : MOV AH, số hiệu của service - Gọi Ngắt 13h bằng lệnh Hợp ngữ : INT 13h Số hiệu Service Chức năng 0 Khởi động hệ thống đĩa 1 Đọc trạng thái đĩa 2 Đọc sector 3 Ghi sector lên đĩa 4 Kiểm tra sector 5 Khởi tạo rãnh đĩa mềm * Các sevice đĩa cứng. 6 Khởi tạo rãnh đĩa cứng PC/XT 7 Khởi tạo rãnh đĩa cứng PC/XT 8 Đọc tham số ở ổ đĩa hiện hành 9 Khởi tạo bảng tham số đĩa cứng 10 và 11 Đọc và ghi dài 12 Tìm đến xem lại 13 Khởi động đĩa cứng 16 Kiểm tra lại sự sẵn sàng của ổ đĩa cứng 17 Đặt chuẩn lại từng ổ đĩa cứng. 20 Chuẩn đoán bộ điều khiển 21 Đọc kiểu đĩa 22 Thay đổi trạng thái đĩa 23 Đặt kiểu đĩa mềm 24 Đặt kiểu đĩa để khởi tạo 25 Thu đầu dọc. 26 Khởi tạo đĩa cứng gắn với bộ phối ghép ESDI [...]... trễ của sự gõ phím Service 05h 10h 11h 12h Chức năng Đặt 1 kí tự vào bộ đệm bàn phím Đợi để đọc bàn phím mở rộng 101/ 102 phím Kiểm tra kí tự gõ từ bàn phím mở rộng vào bộ đệm bàn phím ch a Đọc trạng thái phím Shift,Ctrl,Alt, Scroll lock, NumLock, CapsLock, Insert của bàn phím mở rộng 19- Ngắt 23 (17h) : Gọi các dịch vụ Quản lí I/O máy in Service 00 01 02 Chức năng Gửi một byte ra máy in Khởi động máy. .. mã điều khiển 08h, 0Ch ra cổng máy in Đọc trạng thái máy in 17- Ngắt 24 (18h) : Khởi động ROM-BASIC có sẵn trong máy 18 -Ngắt 25 (19h) : Gọi ch ơng trình khởi động máy (tải BOOT-STRAP) 19- Ngắt 26 (18h) : Gọi các dịch vụ quản lí thời gian : Service Chức năng 00 Đọc số đếm nhịp hiện thời 01 Đặt số đếm nhịp 02 Đọc giờ hiện tại 03 Đặt giờ cho đồng hồ 04 Đọc ngày tháng thực của đồng hồ 05 Đặt lại ngày tháng...16 - Ngắt 20 (14h): Gọi các dịch vụ quản lí sự nhập xuất cổng chuẩn RS-232 của RomBios Service 00 01 Chức năng Khởi tạo cổng truyền thông Gửi một kí tự ra cổng Service 02 03 Chức năng Nhận một kí tự từ cổng Lấy tình trạng cổng truyền thông 17- Ngắt 21 (15h) : Gọi các dịch vụ mở rộng chức năng của máy AT Service 00 01 02 03 80h 81h 82h 83h Chức năng Bật motơ Cassette Tắt motor Cassette... cassette Ghi Cassette Mở thiết bị Đóng thiết bị Kết thúc ch ơng trình Đợi biến cố từ thiết bị Service 84h 85h 86h 87h 88h 89h 90h 91h Chức năng Điều khiển Joystick Đọc Phím SysReq ấn nhả Đợi vòng lặp của ngắt Di chuyển khối vùng nhớ mở rộng Lấy kích th ớc vùng nhớ mở rộng Vào mode bảo vệ (Vùng nhớ ảo) Đợi khi thiết bị bận Báo thiết bị hết bận, giải phóng ngắt 18- Ngắt 22 (16h) : Gọi các dịch vụ Quản . bi giảng về phần mềm hệ thống của máy tính 1- Tài liệu tham khảo Perter Norton. Nguyễn Khải 2 - Technicad reference. 3 - Các mạch vi xử lý. Chơng 1 giải phẫu pc Máy. bít giới hạn . Hai thanh ghi LDTR và TR có 2 phần : đó là phần chọn đoạn bộ nhớ hệ thống và phần mô tả đoạn hệ thống, nó cũng có phần hở và phần kín nh các thanh ghi đoạn. - 6 thanh ghi. ở chân của MP-80386. Nguyễn Khải Chơng 2 Hoạt động vào ra của máy tính 1 - CPU Giao tiếp thế nào : CPU Giao tiếp với các phần tử khác của hệ thống máy bằng

Ngày đăng: 07/08/2014, 05:20

Từ khóa liên quan

Tài liệu cùng người dùng

  • Đang cập nhật ...

Tài liệu liên quan