Cấu trúc máy tính - Chương 3: Hệ thống máy tính

3.1. Cấu trúc v{ hoạt động cơ bản của m|y tính

3.2. Bộ xử lý trung t}m

3.3. Bộ nhớ m|y tính

3.4. Hệ thống v{o ra

pdf256 trang | Chia sẻ: Mr Hưng | Lượt xem: 1064 | Lượt tải: 0download
Bạn đang xem trước 20 trang nội dung tài liệu Cấu trúc máy tính - Chương 3: Hệ thống máy tính, để xem tài liệu hoàn chỉnh bạn click vào nút DOWNLOAD ở trên
5. RAID  Redundant Array of Independent Disks  L{ tập hợp c|c ổ đĩa cứng vật lý m{ hệ điều h{nh coi như l{ một ổ đĩa logic duy nhất  Khi ghi lên hệ thống RAID, c|c tệp dữ liệu được ph}n mảnh v{ lưu trữ ph}n t|n trên c|c ổ cứng vật lý  Có khả năng tạo ra v{ lưu trữ thông tin dư thừa để đảm bảo khôi phục lại thông tin trong trường hợp ổ đĩa bị hỏng  Có 7 loại phổ biến: RAID 0  6 183 3.3. Bộ nhớ máy tính 3.3.1. Tổng quan hệ thống nhớ 3.3.2. Bộ nhớ b|n dẫn 3.3.3. Bộ nhớ chính 3.3.4. Bộ nhớ cache 3.3.5. Bộ nhớ ngo{i 3.3.6. Bộ nhớ ảo 3.3.7. Bộ nhớ trên m|y tính c| nh}n 184 3.3.6. Bộ nhớ ảo  Kh|i niệm bộ nhớ ảo: l{ bộ nhớ bao gồm bộ nhớ chính v{ bộ nhớ ngo{i m{ được CPU coi như l{ một bộ nhớ duy nhất.  C|c kỹ thuật thực hiện bộ nhớ ảo:  Kỹ thuật ph}n trang: Chia không gian địa chỉ bộ nhớ th{nh c|c trang nhớ có kích thước bằng nhau v{ nằm liền kề nhau Thông dụng: kích thước trang = 4KBytes  Kỹ thuật ph}n đoạn: Chia không gian nhớ th{nh c|c đoạn nhớ có kích thước thay đổi, c|c đoạn nhớ có thể gối lên nhau. 185 3.3. Bộ nhớ máy tính 3.3.1. Tổng quan hệ thống nhớ 3.3.2. Bộ nhớ b|n dẫn 3.3.3. Bộ nhớ chính 3.3.4. Bộ nhớ cache 3.3.5. Bộ nhớ ngo{i 3.3.6. Bộ nhớ ảo 3.3.7. Bộ nhớ trên m|y tính c| nh}n 186 3.3.7. Bộ nhớ trên máy tính cá nhân 1. Bộ nhớ Cache 2. RAM 3. ROM BIOS 4. CMOS RAM 5. Video RAM 6. C|c loại bộ nhớ ngo{i 187 1. Bộ nhớ Cache  Thường được chia th{nh nhiều mức:  Cache L1:  Cache lệnh  Cache dữ liệu  Cache L2: 128, 256, 512 KB, 1 MB  Được tích hợp trên c|c chip vi xử lý 188 2. RAM  Sử dụng DRAM, thường được coi l{ bộ nhớ chính.  C|c loại bộ nhớ RAM:  FPM (Fast Page Mode) DRAM  EDO (Extended Data Out) DRAM  SDRAM (Synchronous DRAM)  DDR SDRAM (Double Data Rate SDRAM)  RDRAM (Rambus DRAM)  C|c loại module nhớ RAM:  Máy tính Desktop:  SIMM (Single Inline Memory Module)  DIMM (Dual Inline Memory Module)  RIMM (Rambus Inline Memory Module)  Máy tính Laptop:  SODIMM (Small Outline Dual Inline Memory Module)  MicroDIMM (Micro Dual Inline Memory Module) 189 a. Các loại bộ nhớ RAM  FPM DRAM (Fast Page Mode DRAM)  Khi truy cập bộ nhớ: địa chỉ h{ng không đổi, chỉ thay đổi địa chỉ cột.  Chế độ truy cập burst mode (từ 486) cho phép sau khi thiết lập c|c địa chỉ h{ng, cột cho 1 lần truy cập, CPU có thể truy cập thêm 3 địa chỉ tiếp m{ không có trạng th|i chờ.  Chế độ burst mode của DRAM chuẩn được mô tả dưới dạng c|c thông số x-y-y-y.  VD: FPM DRAM 60ns có thông số định thời của chế độ burst mode là 5-3-3-3. Với bus hệ thống 66MHz thì mất 5x15=75ns cho lần truy cập đầu v{ 3x15=45ns cho mỗi lần trong số 3 lần truy cập tiếp theo (nhanh hơn 5-5-5-5). 190 Các loại bộ nhớ RAM (tiếp)  EDO DRAM (Extended Data Out DRAM)  Sử dụng chủ yếu từ 1995 – 1997.  L{ dạng cải tiến của FPM DRAM: c|c bộ điều khiển dữ liệu ra không bị tắt khi bộ điều khiển bộ nhớ xóa địa chỉ cột cho chu kỳ tiếp theo => cho phép chu kỳ tiếp theo gối lên chu kỳ trước (tiết kiệm khoảng 10ns cho 1 chu kỳ).  Gi| th{nh ngang với FPM nhưng hiệu năng cao hơn.  VD: burst mode của EDO l{ 5-2-2-2 (cần 11 chu kỳ cho 4 lần truyền) so với 5-3-3-3 của FPM (truyền 4 lần trong 14 chu kỳ). 191 Các loại bộ nhớ RAM (tiếp)  SDRAM (Synchronous DRAM):  Sử dụng từ 1997, chủ yếu cho c|c m|y tính PII, PIII.  Chạy đồng bộ với bus bộ nhớ (66, 100, 133 MHz).  Thời gian x|c định địa chỉ vẫn như cũ nhưng tổng thời gian nhanh hơn so với FPM v{ EDO DRAM.  VD: SDRAM : 5-1-1-1 (cần 8 chu kỳ cho 4 lần truyền), nhanh hơn 11 v{ 14 chu kỳ của EDO v{ FPM. 192 Các loại bộ nhớ RAM (tiếp)  DDR SDRAM (Double Data Rate SDRAM):  Xuất hiện từ năm 2000.  L{ dạng cải tiến của SDRAM, cho phép truyền dữ liệu 2 lần ở cả sườn dương v{ sườn }m của 1 chu kỳ.  DDR2 SDRAM:  Xuất hiện từ năm 2004.  L{ dạng cải tiến của DDR SDRAM: sử dụng cặp d}y tín hiệu vi sai cho phép truyền nhanh v{ ít nhiễu hơn.  Sử dụng điện |p thấp hơn DDR SDRAM (1.8V so với 2.5V). 193 Các loại module nhớ DDR SDRAM 194 Các loại module nhớ DDR2 SDRAM 195 Các loại bộ nhớ RAM (tiếp)  RDRAM (Rambus DRAM):  L{ loại RAM tốc độ cao, được sản xuất theo công nghệ của hãng Rambus.  Xuất hiện chủ yếu từ 1999 đến 2002 (sau 2001 Intel không còn hỗ trợ công nghệ n{y). 196 Các loại module nhớ RDRAM 197 b. Các loại module nhớ RAM  C|c module RAM thế hệ cũ:  DIP (Dual Inline Package)  SIPP (Single Inline Pin Package)  Máy tính Desktop:  SIMM (Single Inline Memory Module)  DIMM (Dual Inline Memory Module)  RIMM (Rambus Inline Memory Module)  Máy tính Laptop:  SODIMM (Small Outline Dual Inline Memory Module)  MicroDIMM (Micro Dual Inline Memory Module) 198 DIP và SIPP  Thường l{ dạng đóng gói của c|c module nhớ FPM DRAM.  Dùng trong c|c m|y tính tương đương với hệ 80286 trở về trước. 199 SIMM  Module nhớ đơn h{ng ch}n, gồm 2 loại chính:  SIMM 32 ch}n (8 bit dữ liệu + 1 bit parity) : FPM DRAM  SIMM 72 ch}n (32 bit dữ liệu + 4 bit parity tùy chọn) : EDO DRAM 200 DIMM  Module nhớ hai h{ng ch}n, gồm 3 loại chính:  DIMM 168 chân: SDRAM  DIMM 184 chân: DDR SDRAM  DIMM 240 chân: DDR2 SDRAM  Độ rộng đường dữ liệu: 64 bit (non-ECC/parity) hoặc 72 bit (parity/ECC). 201 Minh họa các module nhớ DIMM RIMM 202 SODIMM  Thường dùng trong c|c m|y laptop, notebook, printer, router, ...  Gồm 4 loại chính:  SODIMM 72 ch}n, 32 bit dữ liệu, FPM/EDO  SODIMM 144 ch}n, 64 bit dữ liệu, FPM/EDO  SODIMM 144 ch}n, 64 bit dữ liệu, SDRAM  SODIMM 200 ch}n, 64 bit dữ liệu, DDR/DDR2 SDRAM 203 MicroDIMM  Thường dùng trong c|c m|y notebook cỡ nhỏ, PDA, palmtop, ...  Gồm 2 loại chính:  MicroDIMM 144 ch}n, 64 bit dữ liệu, SDRAM  MicroDIMM 172 ch}n, 64 bit dữ liệu, DDR SDRAM 204 3. ROM BIOS  BIOS: Basic Input Output System. Chứa c|c chương trình:  Chương trình POST (Power On Self Test): tự kiểm tra khi bật nguồn. Mọi lỗi thông b|o ở đ}y đều l{ lỗi về phần cứng.  Chương trình CMOS Setup:  Cho phép người sử dụng có thể thiết lập c|c thông số cấu hình v{ thời gian của hệ thống.  C|c thông tin sau khi thiết lập sẽ được cất v{o bộ nhớ CMOS RAM.  Chương trình Bootstrap Loader: tìm v{ nạp Boot Record của đĩa khởi động v{o một địa chỉ x|c định ở trong RAM v{ trao quyền điều khiển cho đoạn m~ đó.  C|c chương trình điều khiển v{o-ra cơ bản: tập hợp c|c chương trình con phục vụ v{o-ra. 205 4. CMOS RAM  L{ một vùng nhớ có dung lượng nhỏ, được chế tạo bằng công nghệ CMOS, có một nguồn pin nuôi riêng, dùng để chứa c|c thông tin cấu hình v{ thời gian của hệ thống. 206 5. Video RAM  Vùng nhớ có tốc độ nhanh, dung lượng lớn, dùng để quản lý c|c thông tin hiển thị trên m{n hình. 207 6. Các loại bộ nhớ ngoài  Đĩa mềm  Ổ đĩa cứng  C|c loại đĩa quang  Flash disk 208 3.4. Hệ thống vào ra 3.4.1. Tổng quan về hệ thống v{o-ra 3.4.2. C|c phương ph|p điều khiển v{o-ra 3.4.3. Nối ghép với thiết bị ngoại vi 3.4.4. C|c cổng v{o-ra thông dụng trên PC 209 3.4.1. Tổng quan về hệ thống vào-ra 1. Giới thiệu chung 2. C|c thiết bị ngoại vi 3. Module nối ghép v{o-ra 4. C|c phương ph|p địa chỉ hóa cổng v{o-ra 210 1. Giới thiệu chung  Chức năng: trao đổi thông tin giữa m|y tính v{ hệ thống bên ngo{i.  C|c thao t|c cơ bản:  V{o dữ liệu (Input)  Ra dữ liệu (Output)  C|c th{nh phần chính:  C|c thiết bị ngoại vi  C|c module nối ghép v{o-ra 211 2. Các thiết bị ngoại vi  Chức năng: Chuyển đổi thông tin từ một dạng vật lý n{o đó về dạng dữ liệu phù hợp với m|y tính hoặc ngược lại.  Ph}n loại:  C|c thiết bị thu nhận dữ liệu: như b{n phím, chuột, m|y quét ảnh, ..  C|c thiết bị hiển thị dữ liệu: m{n hình, m|y in, ...  C|c thiết bị lưu trữ: ổ đĩa mềm, ổ đĩa cứng, ổ đĩa quang CD, DVD, ...  C|c thiết bị truyền thông: modem, card mạng, ... 212 Cấu trúc chung của TBNV Bộ đệm dữ liệu Bộ chuyển đổi tín hiệu Khối logic điều khiển Dữ liệu từ/đến module vào-ra Tín hiệu điều khiển Tín hiệu trạng thái Dữ liệu từ/đến bên ngoài 213 Các thành phần chính của TBNV  Bộ chuyển đổi tín hiệu: chuyển đổi dữ liệu giữa bên ngoài và bên trong máy tính.  Bộ đệm dữ liệu: đệm dữ liệu khi truyền giữa module vào-ra v{ thiết bị ngoại vi.  Khối logic điều khiển: điều khiển hoạt động của thiết bị ngoại vi đ|p ứng theo yêu cầu từ module v{o-ra. 214 3. Module vào-ra  Đặc điểm của v{o-ra:  C|c thiết bị ngoại vi rất đa dạng, kh|c nhau về:  Nguyên tắc hoạt động  Tốc độ  Khuôn dạng dữ liệu  Tất cả c|c thiết bị ngoại vi đều chậm hơn CPU v{ RAM → Cần có c|c module v{o-ra để nối ghép c|c thiết bị ngoại vi với CPU v{ bộ nhớ chính. 215 Chức năng của module vào-ra  Chức năng:  Điều khiển v{ định thời  Trao đổi thông tin với CPU  Trao đổi thông tin với thiết bị ngoại vi  Đệm giữa bên trong m|y tính với thiết bị ngoại vi  Ph|t hiện lỗi của thiết bị ngoại vi 216 Cấu trúc chung của module vào- ra Thanh ghi đệm dữ liệu Cổng nối ghép vào-ra Khối logic điều khiển Các đường dữ liệu Các đường địa chỉ Cổng nối ghép vào-ra Thanh ghi trạng thái / điều khiển Các đường điều khiển Bus dữ liệu bên trong Dữ liệu Điều khiển Trạng thái Dữ liệu Điều khiển Trạng thái 217 Các thành phần của module vào-ra  Thanh ghi đệm dữ liệu: đệm dữ liệu trong qu| trình trao đổi.  C|c cổng v{o-ra (I/O Port): kết nối với thiết bị ngoại vi, mỗi cổng có một địa chỉ x|c định.  Khối logic điều khiển: điều khiển module v{o-ra.  Thanh ghi trạng th|i / điều khiển: lưu giữ thông tin trạng th|i / điều khiển cho c|c cổng v{o-ra. 218 4. Địa chỉ hóa cổng vào-ra  C|c thiết bị ngoại vi được nối ghép v{ trao đổi dữ liệu thông qua c|c cổng v{o-ra.  Mỗi cổng v{o-ra phải có 1 địa chỉ x|c định → cần phải có c|c phương ph|p địa chỉ hóa cho cổng v{o-ra. 219 a. KGĐC bộ nhớ và KGĐC vào-ra  Mọi CPU đều có khả năng quản lý được một không gian địa chỉ bộ nhớ x|c định.  KGĐC bộ nhớ = 2N byte (N l{ số bit địa chỉ m{ CPU có khả năng ph|t ra)  Một số CPU có khả năng quản lý thêm 1 không gian địa chỉ v{o ra riêng biệt với không gian địa chỉ bộ nhớ.  KGĐC v{o-ra = 2N1 byte  (N1 : số bit địa chỉ dùng để quản lý không gian địa chỉ v{o-ra, 2N1 << 2N)  Trong trường hợp CPU quản lý được cả 2 KGĐC thì:  CPU phải có tín hiệu để ph}n biệt không gian địa chỉ bộ nhớ v{ không gian địa chỉ v{o-ra.  CPU phải có c|c lệnh v{o-ra chuyên dụng. 220 Ví dụ  BXL 68030 của Motorola chỉ quản lý 1 KGĐC bộ nhớ là 232 byte.  BXL Pentium của Intel có khả năng quản lý 2 KGĐC:  KGĐC bộ nhớ = 232 byte = 4GB  KGĐC v{o-ra = 216 byte = 64KB  Pentium có:  Tín hiệu điều khiển ph}n biệt truy nhập không gian địa chỉ: IO/M  Có 2 lệnh v{o-ra chuyên dụng: IN v{ OUT 221 b. Các pp địa chỉ hóa cổng vào-ra  V{o ra riêng biệt (Isolated I/O):  Cổng v{o-ra được địa chỉ hóa theo không gian địa chỉ v{o-ra riêng biệt.  Để trao đổi dữ liệu với cổng, trong chương trình sử dụng c|c lệnh v{o-ra chuyên dụng.  V{o ra theo bản đồ bộ nhớ (Memory-mapped IO):  Cổng v{o-ra được địa chỉ hóa theo không gian địa chỉ bộ nhớ.  Để trao đổi dữ liệu với cổng, trong chương trình sử dụng c|c lệnh trao đổi dữ liệu với bộ nhớ. 222 3.4. Hệ thống vào ra 3.4.1. Tổng quan về hệ thống v{o-ra 3.4.2. C|c phương ph|p điều khiển v{o-ra 3.4.3. Nối ghép với thiết bị ngoại vi 3.4.4. C|c cổng v{o-ra thông dụng trên PC 223 3.4.2. Các pp điều khiển vào-ra 1. Vào-ra bằng chương trình 2. Vào-ra điều khiển bằng ngắt 3. Truy cập trực tiếp bộ nhớ - DMA 224 1. Vào-ra bằng chương trình  Nguyên tắc chung:  Trong chương trình người lập trình chủ động viết c|c lệnh vào-ra.  Khi thực hiện c|c lệnh v{o-ra đó, CPU trực tiếp điều khiển việc trao đổi dữ liệu với cổng v{o-ra. 225 Lưu đồ thực hiện Đọc trạng thái của module vào-ra Module vào-ra sẵn sàng? Trao đổi dữ liệu với module vào-ra Đúng Sai 226 Hoạt động  CPU yêu cầu thao t|c v{o-ra.  Module vào-ra thực hiện thao t|c.  Module vào-ra thiết lập c|c bit trạng th|i.  CPU kiểm tra c|c bit trạng th|i:  Nếu chưa sẵn s{ng thì quay lại tiếp tục kiểm tra.  Nếu đ~ sẵn s{ng thì chuyển sang trao đổi dữ liệu với module vào-ra. 227 Đặc điểm  Vào-ra do ý muốn của người lập trình  CPU trực tiếp điều khiển v{o-ra  CPU phải đợi module v{o-ra sẵn s{ng → tiêu tốn thời gian của CPU 228 2. Vào-ra điều khiển bằng ngắt  Nguyên tắc chung:  CPU không phải đợi trạng th|i sẵn s{ng của module v{o-ra.  CPU đang thực hiện một chương trình n{o đó, nếu module vào-ra sẵn s{ng thì nó ph|t tín hiệu yêu cầu ngắt gửi đến CPU.  Nếu yêu cầu ngắt được chấp nhận thì CPU thực hiện chương trình con v{o-ra tương ứng để trao đổi dữ liệu.  Kết thúc chương trình con đó, CPU quay trở lại tiếp tục thực hiện chương trình đang bị ngắt. 229 Hoạt động  Hoạt động v{o dữ liệu – nhìn từ phía module v{o-ra:  Module vào-ra nhận tín hiệu điều khiển đọc từ CPU.  Module vào-ra nhận dữ liệu từ thiết bị ngoại vi, trong khi đó CPU l{m việc kh|c.  Khi đ~ có dữ liệu, module v{o-ra ph|t tín hiệu ngắt CPU.  CPU yêu cầu dữ liệu.  Module vào-ra chuyển dữ liệu đến CPU. 230 Hoạt động (tiếp)  Hoạt động v{o dữ liệu – nhìn từ phía CPU:  CPU ph|t tín hiệu điều khiển đọc.  CPU l{m việc kh|c.  Cuối mỗi chu trình lệnh, CPU kiểm tra tín hiệu ngắt.  Nếu bị ngắt, CPU:  Cất ngữ cảnh hiện tại của chương trình.  Thực hiện chương trình con phục vụ ngắt để v{o dữ liệu.  Sau khi ho{n th{nh chương trình con đó, CPU khôi phục ngữ cảnh v{ trở về tiếp tục thực hiện chương trình đang tạm dừng. 231 Các vấn đề nảy sinh khi thiết kế  L{m thế n{o để x|c định được module v{o-ra nào ph|t tín hiệu yêu cầu ngắt.  Khi có nhiều yêu cầu ngắt cùng gửi đến, CPU sẽ xử lý như thế n{o. 232 Các phương pháp nối ghép ngắt  Sử dụng nhiều đường yêu cầu ngắt  Kiểm tra vòng bằng phần mềm (Software Poll)  Kiểm tra vòng bằng phần cứng (Daisy Chain of Hardware Poll)  Sử dụng bộ điều khiển ngắt (PIC) 233 Sử dụng nhiều đường yêu cầu ngắt  Mỗi module v{o-ra được nối với 1 đường yêu cầu ngắt  CPU phải có nhiều đường tín hiệu yêu cầu ngắt  Hạn chế số lượng module v{o-ra  C|c đường yêu cầu ngắt được quy định mức ưu tiên Module vào-ra Thanh ghi yêu cầu ngắt Module vào-ra Module vào-ra Module vào-ra CPU INTR 0 INTR 1 INTR 2 INTR 3 234 Kiểm tra vòng bằng phần mềm  CPU thực hiện phần mềm hỏi lần lượt từng module v{o-ra  Tốc độ chậm  Thứ tự c|c module v{o-ra được hỏi vòng chính l{ thứ tự ưu tiên Module vào-ra Cờ yêu cầu ngắt Module vào-ra Module vào-ra Module vào-ra CPU INTR 235 Kiểm tra vòng bằng phần cứng Module vào-ra Cờ yêu cầu ngắt Module vào-ra Module vào-ra Module vào-ra CPU INTR INTA Bus dữ liệu 236 Kiểm tra vòng bằng phần cứng (tiếp)  CPU ph|t tín hiệu chấp nhận ngắt (INTA) đến module vào-ra đầu tiên.  Nếu module v{o-ra đó không g}y ra ngắt thì nó gửi tín hiệu đến module kế tiếp cho đến khi x|c định được module g}y ngắt.  Module vào-ra g}y ngắt sẽ đặt vector ngắt lên bus dữ liệu.  CPU sử dụng vector ngắt để x|c định nơi chứa chương trình con phục vụ ngắt.  Thứ tự c|c module v{o-ra kết nối trong chuỗi x|c định thứ tự ưu tiên. 237 Bộ điều khiển ngắt lập trình được  PIC: Programmable Interrupt Controller.  PIC có nhiều đường yêu cầu ngắt có quy định mức ưu tiên.  PIC chọn một yêu cầu ngắt không bị cấm có mức ưu tiên cao nhất gửi đến CPU. PIC Module vào-ra Module vào-ra Module vào-ra Module vào-ra INTR 0 INTR 1 INTR 2 INTR 3 CPU INTA INTR Bus dữ liệu 238 Tổ chức ngắt của 80x86 IP của INT 0 CS của INT 0 IP của INT 1 CS của INT 1 IP của INT 0 CS của INT 0 IP của INT 1 CS của INT 1 IP của INT 0 CS của INT 0 IP của INT 1 CS của INT 1 IP của INT 0 CS của INT 0 IP của INT 1 CS của INT 1 Vector 0 : Chia cho 0 Vector 1 : Chạy từng lệnh Vector 2 : Ngắt không che được (NMI) Vector 3 : Điểm dừng Vector 4 : Tràn số học Vector 5 Vector 31 Vector 32 Vector 254 Vector 255 Được định nghĩa trước hoặc dành riêng Dành cho người lập trình 00000 00002 00004 00006 00008 0000A 0000C 0000E 00010 00012 00014 00016 003F8 003FA 003FC 003FE Địa chỉ Bộ nhớ . . .  Tổ chức kiểu vector ngắt.  Mỗi ngắt được đặc trưng bằng số hiệu ngắt N (00 ÷ FF).  Bảng vector ngắt: 256 x 4 = 1024 byte 00000 ÷ 003FF  ọi CTC phục vụ ngắt bằng lệnh: INT N 239 Đặc điểm của vào-ra bằng ngắt  Có sự kết hợp giữa phần cứng v{ phần mềm:  Phần cứng: g}y ngắt CPU.  Phần mềm: trao đổi dữ liệu.  CPU trực tiếp điều khiển v{o-ra.  CPU không phải đợi module v{o-ra → hiệu suất sử dụng CPU tốt hơn. 240 3. Truy cập trực tiếp bộ nhớ  DMA (Direct Memory Access)  C|c phương ph|p v{o-ra bằng chương trình v{ v{o-ra điều khiển bằng ngắt do CPU trực tiếp điều khiển:  Chiếm thời gian của CPU  Tốc độ trao đổi dữ liệu bị hạn chế vì phải chuyển qua CPU  Để khắc phục → dùng DMA:  Thêm module phần cứng l{ DMAC (Direct Memory Access Controller)  DMAC điều khiển trao đổi dữ liệu giữa module v{o-ra với bộ nhớ chính. 241 Cấu trúc của DMAC Thanh ghi địa chỉ Thanh ghi dữ liệu Bộ đếm Logic điều khiển Các đường địa chỉ Các đường dữ liệu Yêu cầu bus Chuyển nhượng bus Ngắt Đọc Ghi Ch p nhận DMA Điều khiển đọc Điều khiển ghi Yêu cầu DMA 242 Các thành phần của DMAC  Thanh ghi dữ liệu: chứa dữ liệu cần trao đổi  Thanh ghi địa chỉ: chứa địa chỉ ngăn nhớ dữ liệu  Bộ đếm dữ liệu: chứa số từ dữ liệu cần trao đổi  Logic điều khiển: điều khiển hoạt động của DMAC 243 Hoạt động của DMAC  CPU gửi cho DMAC c|c thông tin:  Chiều trao đổi dữ liệu: v{o hay ra dữ liệu  Địa chỉ thiết bị v{o-ra (cổng v{o-ra tương ứng)  Địa chỉ đầu của mảng nhớ dữ liệu → nạp v{o thanh ghi địa chỉ  Số từ dữ liệu cần truyền → nạp v{o bộ đếm dữ liệu  CPU l{m việc kh|c  DMAC điều khiển trao đổi dữ liệu  Sau khi truyền được 1 từ dữ liệu:  Nội dung thanh ghi địa chỉ tăng  Nội dung bộ đếm dữ liệu giảm  Khi bộ đếm dữ liệu = 0, DMAC gửi yêu cầu ngắt đến CPU để b|o hiệu đ~ kết thúc DMA 244 Các kiểu DMA  DMA truyền theo khối (Block Transfer DMA): CPU trao quyền sử dụng bus cho DMAC trong một khoảng thời gian đủ lớn để DMAC thực hiện trao đổi xong cả khối dữ liệu.  DMA xen kẽ chu kỳ m|y với CPU (Cycle Stealing DMA): DMAC v{ CPU thay nhau sử dụng bus trong từng chu kỳ m|y.  DMA trong suốt (Transparent DMA): Trong qu| trình hoạt động, không phải chu kỳ n{o CPU cũng sử dụng bus hệ thống, DMAC sẽ ph|t hiện xem những chu kỳ CPU không dùng bus để chiếm dụng bus trong chu kỳ đó v{ điều khiển trao đổi 1 từ dữ liệu → không l{m ảnh hưởng đến CPU. 245 Các cấu hình thiết kế DMA  Cấu hình 1:  Mỗi lần truyền, DMAC sử dụng bus 2 lần:  Giữa DMAC với module v{o-ra  Giữa DMAC với bộ nhớ CPU DMAC IO Module IO Module Memory. System bus 246 Các cấu hình thiết kế DMA (tiếp)  Cấu hình 2:  DMAC điều khiển một hoặc một v{i module v{o-ra  Mỗi lần truyền, DMAC sử dụng bus 1 lần:  Giữa DMAC với bộ nhớ CPU DMAC IO Module IO Module Memory System bus DMAC IO Module 247 Các cấu hình thiết kế DMA (tiếp)  Cấu hình 3:  Bus vào-ra t|ch rời hỗ trợ tất cả c|c thiết bị cho phép DMA  Mỗi lần truyền, DMAC sử dụng bus 1 lần:  Giữa DMAC với bộ nhớ IO Module IO Module IO Module. I/O bus CPU DMAC Memory System bus 248 Đặc điểm của DMA  CPU không tham gia v{o qu| trình trao đổi dữ liệu  DMAC điều khiển trao đổi dữ liệu giữa bộ nhớ chính với module v{o-ra ho{n to{n bằng phần cứng → tốc độ nhanh.  Thích hợp với c|c yêu cầu trao đổi dữ liệu kích thước lớn. 249 3.4. Hệ thống vào ra 3.4.1. Tổng quan về hệ thống v{o-ra 3.4.2. C|c phương ph|p điều khiển v{o-ra 3.4.3. Nối ghép với thiết bị ngoại vi 3.4.4. C|c cổng v{o-ra thông dụng trên PC 250 3.4.3. Nối ghép với thiết bị ngoại vi 1. C|c kiểu nối ghép 2. C|c cấu hình nối ghép 251 1. Các kiểu nối ghép  Nối ghép song song:  Truyền nhiều bit song song  Tốc độ nhanh  Cần nhiều đường truyền Cổng vào-ra song song TBNV .. . .. . Bus hệ thống 252 Các kiểu nối ghép (tiếp)  Nối ghép nối tiếp:  Truyền lần lượt từng bit  Cần có bộ truyển đổi qua lại giữa dữ liệu song song v{ nối tiếp  Tốc độ chậm hơn  Cần ít đường d}y → truyền được xa hơn Cổng vào-ra nối tiếp TBNV .. . Bus hệ thống 253 2. Các cấu hình nối ghép  Cấu hình điểm tới điểm (Point to Point): thông qua một cổng vào-ra cho phép nối ghép với một thiết bị ngoại vi.  Nối ghép b{n phím  Nối ghép chuột  Nối ghép ổ đĩa mềm  ...  Cấu hình điểm tới đa điểm (Point to Multipoint): thông qua một cổng v{o-ra cho phép nối ghép với nhiều thiết bị ngoại vi.  Chuẩn nối ghép SCSI: cho phép nối ghép tới 7 hoặc 15 thiết bị  Cổng USB: nối ghép tới 127 thiết bị  Cổng IEEE 1394: nối ghép tới 63 thiết bị 254 3.4. Hệ thống vào ra 3.4.1. Tổng quan về hệ thống v{o-ra 3.4.2. C|c phương ph|p điều khiển v{o-ra 3.4.3. Nối ghép với thiết bị ngoại vi 3.4.4. C|c cổng v{o-ra thông dụng trên PC 255 3.4.4. Các cổng vào-ra thông dụng  C|c cổng PS/2: nối ghép b{n phím v{ chuột  C|c cổng nối ghép m{n hình  Cổng LPT (Line Printer): thường nối ghép với m|y in, l{ cổng song song (Parallel Port)  Cổng COM (Communication): thường nối ghép với MODEM, l{ cổng nối tiếp (Serial Port)  Cổng USB (Universal Serial Bus): cổng nối tiếp đa năng  256 Các cổng vào-ra thông dụng (tiếp)

Các file đính kèm theo tài liệu này:

  • pdfchuong3_hethongmaytinh_5021.pdf
Tài liệu liên quan