1. Trang chủ
  2. » Công Nghệ Thông Tin

Đề cương ôn tập kĩ thuật Vi xử lí

9 706 2

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

THÔNG TIN TÀI LIỆU

Thông tin cơ bản

Định dạng
Số trang 9
Dung lượng 89,5 KB
File đính kèm oCoder.zip (236 KB)

Nội dung

Câu 1: Những đặc điểm cấu trúc của bộ VXL (Công suất, độ dài từ, khả năng đánh địa chỉ, tốc độ). Cho bộ VXL có tần số làm việc 750MHz theo kiến trúc NeuMamn, bên trong được thiết kế 4 ALU và để thực hiện một lệnh vi xử lý cần 5 vi lệnh với hệ số thời gian truy cập bộ nhớ là 100ns. Xác định tốc độ thực hiện lệnh của bộ vi xử lý. Câu 1: Những đặc điểm cấu trúc của bộ VXL: 1.1 Công suất của bộ VXL: là khả năng xử lý dữ liệu Đ.điểm: • Độ dài từ của bộ VXL(data word length), tính bằng số byte. • Dung lượng nhớ VL có thể đánh địa chỉ (addressing capacity). • Tốc độ xử lý lệnh của Bộ VXL (instruction execute speed) Công suất máy tính (tốc độ x.lý thông tin, khả năng lưu trữ thông tin, khả năng kết nối nhiều loại thiết bị ngoại vi, …) phụ thuộc vào công suất của bộ VXL trong CPU. Độ dài từ: Mỗi bộ VXL có thể xử lý dữ liệu với độ dài từ cố định. Phụ thuộc vào từng thế hệ VXL và mức độ phát triển của công nghệ VXL, độ dài từ có thế là 4 bit, 8 bit, 16 bit, 32 bit, 64 bit. Tập lệnh của bộ VXL thường có các lệnh thực hiện theo từ và theo byte. Nếu 1 từ là 2 byte thì cũng phân biệt byte cao và byte thấp. Byte thấp chiếm các bit từ 0 đến 7, Byte cao chiếm các bit từ 8 đến 15. Độ rộng từ có độ dài bao nhiêu bit thì cũng có bấy nhiêu bit đối với các thanh ghi, ALU và bus dữ liệu bên trong bộ VXL. Bus dữ liệu bên ngoài cũng thường có chừng đó độ dài nhưng cũng có thể chỉ 1 byte trong khi độ dài xử lý bên trong của bộ VXL là 6 bit. Độ dài từ càng lớn càng tạo ra nhiều khảnăng tính toán của bộ VXL, khoảng biểu diễn số rộng hơn, tốc độ tính toán nhanh hơn. Khả năng đánh địa chỉ: Các từ dữ liệu và lệnh máy cắt trong BN tại các ngăn nhớ khác nhau. Mỗi ngăn nhớ phải có địa chỉ nhận biết. Dải đánh địa chỉ càng lớn thì dung lượng BN càng nhiều. Để đánh địa chỉ, bộ VXL thường có thanh ghi địa chỉ. Độ rộng của thanh ghi địa chỉ quyết định giải địa chỉ của vùng nhớ vật lý mà bộ VXL thỏa mãn. VD: độ rộng của thanh ghi là 6 bit có thể đánh được địa chỉ khoảng nhớ vật lý là 216 = 26 . 210 = 64 KB = 65536 từ 8 bit. Với số mũ ở hệ cơ số 2 ta có thể đánh giá ngay được độ rộng của thanh ghi địa chỉ hay bus địa chỉ. VD: để đánh được địa chỉ đến 32Gb, cần phải có 35 đường dây địa chỉ (A0A34). Khả năng đánh địa chỉ càng lớn thì càng cho phép tạo ra 1 hệ thống máy tính có cấu hình mạnh với nhiều loại thiết bị ngoại vi, bộ nhớ chính có dung lượng lớn (đến vài trăm MB) và khả năng xử lý nhanh. Tốc độ thực hiện lệnh: Tốc độ thực hiện lệnh của bộ VXL có thể đo bằng tốc độ thực hiện các lệnh dấu phẩy động FLOPS hoặc tính bằng triệu lệnhgiây (MIPS). Công thức tính MIPS theo kiến trúc NeuMan là: MIPS = (fN)(M+T)= 38 4 f : tần số làm việc của Bộ VXL N: số lượng các đơn vị xử lý số học và logic (ALU) không phụ thuộc vào nhau bên trong bộ VXL M: số lượng vi lệnh trung bình của 1 lệnh trong bộ VXL T : hệ số tg truy cập BN (chu trình chờ đợi trong khi truy cập BN) Theo CT này, tốc độ thực hiện lệnh của bộ VXL có thể thay đổi nhờ 4 yếu tố. Để nâng cao tốc độ VXL kiên trúc song song , đường ống, đồng xử lý, BN dự trữ. Và bus rộng đã được áp dụng cho cac chip VXL công nghệ cao hiện nay. MIPS phụ thuộc vào tần số nhịp đồng hồ của bộ VXL. Tần số nhịp càng lớn thì tốc độ thực hiện lệnh càng cao. Các bộ VXL khi sx thường có kí hiệu chữ cái hay số cụ thể để phân biệt tần số nhịp đồng hồ. Tần số nhịp đồng hồ của bộ VXL phụ thuộc vào công nghệ chế tạo bộ VXL. Phần lớn các bộ VXL được chế tạo theo 2 công nghệ bán dẫn: NMOS và CMOS 1.2 Tốc độ thực hiện lệnh của bộ VXL: f = 750MHz N=4 M=5 T=100 MIPS=(fN)(M+T)=(7504)(5+100)=... Câu 2: Hãy nêu những đặc tính nâng cao tốc độ của bộ vi xử lý là gì? Định nghĩa kiến trúc siêu hướng. Khuôn dạng dữ liệu. Trả lời: + Xử lý song song : là 2 quá trình, tính toán cùng xảy ra đồng thời. Trong kiến trúc máy tính, sự kết hợp 2 bộ VXL trong khối xử lý trung tâm (CPU) tạo ra khả năng xử lý song song trong cùng 1 tg. Kiến trúc này có thể tạo ra tốc độ xử lý dữ liệu lên gấp đôi so với kiến trúc chỉ dùng 1 bộ VXL. Cũng có thể thực hiện song song ngay bên trong cấu trúc của bộ VXL, bằng cách thiết kế sao cho quá trình xử lý D.liệu bên trong chip VXL chia thành các phiên khác nhau và thực hiện song song nhờ sự phân chia khối logic điều khiển(CU) bên trong thành phần riêng. + Đồng xử lý : là bộ VXL riêng biệt kết nối với bộ VXL thông qua bus hệ thống. Bộ đồng xử lý chỉ thực hiện 1 số chức năng đặc biệt, ví dụ như các phép toán đòi hỏi sự chính xác sử dụng dấu phẩy động. Tốc độ xử lý của bộ đồng xử lý những phép tính này sẽ nhanh hơn rất nhiều so với bộ xử lý chính. Các bộ VXL công nghệ cao hiện nay đã cấy vào bên trong khối xử lý dấu phẩy động FPU càng làm tăng tốc độ tính toán các phép tính nhanh và chính xác hơn nhiều. + Bộ nhớ lưu trữ (cache memory): BN cache là BN có tốc độ cao, nó có thể nằm bên trong bộ VXL và kết nối trực tiếp với chip xử lý với dung lượng đủ lớn, trong khi đó BN chính kết nối với bộ VXL thông qua bus hệ thống. Sự trao đổi dữ liệu giữa BN chính và bộ VXL bị hạn chế về tốc độ, vì vậy để tăng tốc độ xử lý, phải tổ chức làm sao khi thực hiện chương trình, bộ VXL trước hết tìm kiếm lệnh ở BN dự trữ trước, nếu không có lệnh chứa trong BN dự trữ thì mới phải tìm tới BN chính. Điều này có nghĩa là nếu đa số lệnh không có trong BN dự trữ thì tốc độ xử lý chậm hơn gấp đôi so với truy cập thẳng vào BN chính. Vì vậy phải tổ chức làm sao đa số các lệnh của chương trình nằm hẳn trong BN dự trữ,. Ngày nay, dung lượng BN dự trữ bên trong các chip VXL chưa cao (32Kb :16Kb Dcache, 16Kb Icache). Với BN dự trữ bên ngoài có thể đạt tới dung lượng 24 MB. + Ký thuật đường ống : Mô phỏng dây chuyền lắp ráp máy móc, hệ thống đường dẫn, trong 1 số VXL hiện nay có chức năng thực hiện các lệnh máy liên tục thành 1 dây chuyền với 5 công đoạn : nhập D.Liệu của lệnh từ BN, giải mã lệnh, thực hiện các lệnh, ghi kết quả thực hiện lệnh vào BN. Khi lệnh thứ 1 bắt đầu bước vào thực hiện, ở giai đoạn 2 thì mã lệnh của lệnh tiếp theo được đọc từ BN ra để thực hiện bước 1 (giải mã lệnh). Cứ như vậy, các lệnh được thực hiện theo 1 dây chuyền liên tục như là dòng nước đi trong đường ống. Tốc độ xử lệnh vì thế được tăng lên rất cao. + Bus rộng : Kĩ thuật bus rộng áp dụng cho cả bên trong lẫn bên ngoài bộ VXL. Bên trong bộ VXL, thanh ghi tổng (A) có độ dài gấp đôi bus, như vậy tốc độ tính toán sẽ nhanh hơn, bởi không phải thực hiện các phép truy cập với BN để lưu trữ các kết quả trug gian của các phép tính. Kiến trúc siêu hướng : Kiến trúc của bộ VXL có các khối chức năng xử lý song song bên trong gọi là kiến trúc siêu hướng, nghĩa là cùng 1 lúc nhiều hướng xử lý khác nhau bên trong VXL. Kiến trúc siêu hướng là sự phát triển tiếp theo của kiến trúc RISC, nó không những nâng cao tốc độ xử lý mà còn nâng cao độ tin cậy của CPU, bởi vì khi có sự cố ở 1 chip VXL thì chip VXL còn lại vẫn đảm nhiệm chức năng được bình thường. Khuôn dạng d.liệu : Khuôn dạng d.liệu của các loại VXL được phân biệt theo các số có dấu, không dấu, các kí tự mã ASCII, mã BCD (hệ 2 10) không dấu và có dấu : B Byte (8 byte), H nửa từ (16 bit), W từ (32 bit), D từ kép (64 bit) (sự phân loại này cho các bộ VXL 32 bit) Bit đấu là bit cao nhất (MSB) các kí tự mã ASCII : mỗi kí tự được mã hóa bằng 8 bit. Dữ liệu ở mã BCD : dữ liệu được biểu diễn bằng các nhóm số 4 bit. Mỗi nhóm số 4 bit có giá trị không vượt quá 10 (1010). Phân biệt dữ liệu ở mã BCD đóng gói và không đóng gói. Trong BCD đóng gói, tất cả 64 bit được chia ra 8 nhóm (8 digit) và cả 8 digit được dùng để mã hóa. Hai BCD digit trong 1 byte. Trong BCD không đóng gói, chỉ dùng 4 bit thấp trong từng byte để làm digit mã BCD, 4 bit cao của từng byte không dùng tới và đều ghi giá trị 0. Các dấu phẩy động phân ra số chính xác đơn 32 bit và chính xác kép 64 bit theo chuẩn IEEE 7541985. Cũng có thể mở rộng độ chính xác đến 80 bit ở 1 số bộ VXl. Số dấu phẩy động có bit lớn nhất (MSB) dùng làm dấu, dấu = 0, đó là số dương. Dấu = 1 là dấu âm. Câu 3: Vẽ sơ đồ cấu trúc bên trong của bộ Vi xử lý 8, 16 bit. Giải thích chức năng từng bộ phận: ALU, các thanh ghi, CU. Các vi mạch hỗ trợ cho bộ vi xử lý. Trả lời: 2. Giải thích chức năng từng bộ phận (ALU, các thanh ghi, CU): a. Đơn vị số học logic (ALU) chứa khối logic thực hiện xử lý d.liệu Thực hiện các phép tính số học và logic : and, sub, mul, div, and, or, not,... Shift left, Shift right, decr, incr,... Có hai cổng vào (in) để nhận d.liệu vào ALU và cổng ra (out) để lấy kết quả xử lý d.liệu của ALU ra ngoài. các thanh ghi temp1 và temp2 làm nhiệm vụ nhận d.liệu từ các nơi khác nhau bên trong BVXL thông qua bus d.liệu bên trong và lưu trữ trung gian dữ liệu trong quá trình xử lý d.liệu trong ALU. Tương tự, cổng ra kết nối với bus d.liệu bên trong do đó kết quả phép toán có thế đc ra tới các nơi khác nhau, d.liệu thường được đưa tới nơi bộ cộng. các lệnh máy đc ALU xử lý có thể là 1 hay 2 toán hạng. Lệnh máy đc đọc từ BN vào BVXL đc giải mã nhờ bộ giải mã lệnh để tạo ra chuỗi các tín hiệu đi tới ALU đ.khiển quá trình x.lý d.liệu trong ALU. b. Các thanh ghi : đc chia thành nhóm theo mục đích s.dụng Nhóm thanh ghi dùng chung: + Thanh ghi A (bộ cộng), B, C, D, E, H, L : 8 bit + để xử lý 16 bit, có các lệnh thực hiện với các cặp thanh ghi BC, CE, HL Các thanh ghi khác : thanh ghi trạng thái (SR), con trỏ ngăn xếp (SP), thanh đếm lệnh (PC), thanh ghi lệnh (instruction register),... Thanh ghi tổng A (accumulator): tham gia phần lớn các phép tinh độ dài của thanh tổng có thể tính bằng độ dài từ hoặc gấp đôi độ dài từ của BVXL. những lệnh IO với ngoại vi là nhóm lệnh trao đổi byte d.liệu giữa thanh ghi tổng A với các thanh ghi của điều khiển ngoại vi. Lệnh nhập d.liệu IN PORT là lệnh đọc d.liệu từ cổng của ngoại vi vào thanh ghi A và OUTPORT là đọc nội dung thanh ghi A ra port ngoại vi. Thanh đếm chương trình PC (program counter) 1 chương trình đc BVXL thực hiện phải chứa trong BN chính. PC chứa đ.chỉ của lệnh trong BN và chỉ ra cho BVXL biết lệnh tiếp theo nằm ở ngăn nhớ nào để lấy ra thực hiện. trong các BVXL công nghệ cao có cơ chế quản lý BN ảo. Cơ chế đánh địa chỉ ảo có sự biến đổi đ.chỉ ảo thành đ.chỉ VL nội dung của đ.chỉ lệnh sẽ phức tạp. Thanh ghi trạng thái SR (status register) dùng để ghi kết quả của các lệnh k.tra, s.sánh và 1 số lệnh tính toán với các thanh ghi thanh ghi trạng thái còn đgl thanh ghi cờ, sdụng các bit cờ có thể thực hiện rẽ nhánh chương trình = các lệnh nháy và rẽ nhánh có đ.kiện Con trỏ ngăn xếp SP (stack pointer) Ngăn xếp là BN có cơ chế truy cập theo kiểu LIFO, luôn đc truy cập ở đỉnh TOP. Nó làm nhiệm vụ lưu trữ những thông tin phải dùng đi dùng lại nhiều lần. Các lệnh tác động đến ngăn xếp: call, ret, int, ... Các lệnh chuyên dùng để cất giữ n.dung và phục hồi các thanh ghi của ngăn xếp là push và pop, các lệnh này làm thay đổi đỉnh của ngăn xếp. Con trỏ ngăn xếp SP chứa đ.chỉ của đỉnh ngăn xếp và n.dung của SP sẽ thay đổi mỗi khi thực hiện các lệnh vừa nêu trên khi khởi động hệ thống máy tính, con trỏ ngăn xếp luôn đc khởi tạo về địa chỉ đỉnh của ngăn xếp. Thanh ghi đ.chỉ BN và logic (memory address register and logic) có độ dài 16 bit, các đầu ra của nó đc điều khiển nối ra bus đc của h.thống máy tính để thực hiện chọn ngăn nhớ or để chọn cổng ngoại vi nào đó. Trong chu kì đọc lệnh, 1 lệnh máy đc đọc từ BN, lúc này ndung thanh ghi đc ngăn nhớ và n.dung của thanh đếm lệnh PC là như nhau, nghĩa là thanh ghi đ.chỉ BN trỏ tới từ lệnh đang đc đọc từ BN. Thanh ghi đchỉ BN không thể tự động tăng hay giảm ndung mà nó nhận đchỉ lệnh từ PC, từ SP và thanh ghi chỉ số. Phụ thuộc vào các loại VXL, nó có thể có đ.dài khác nhau: 16, 32, 64 bit Thanh ghi lệnh IR (instruction register) chứa lệnh đang thực hiện như là bộ đệm duy trì ndung mã lệnh và đầu ra của IR đưa tới bộ giải mã lệnh để tạo ra chuỗi các tín hiệu điều khiển thực hiện lệnh. c. Control Unit (đơn vị điều khiển) có liên hệ thông tin với t.cả các đ.vị trong BVXL bởi nó đ.khiển toàn bộ h.độg xử lý thông tin bên trong BVXL. kqua giải mã lệnh đc đưa đến khối logic điều khiển CL (control logic) tạo ra chuỗi các tín hiệu để đ.khiển quá trình ghi đọc với các thanh ghi bên trong, tính toán trong ALU từ CL, các xung tín hiệu đ.khiển đi ra bus điều khiển của h.thống tác động đến BN hoặc đơn vị IO để thực hiện trao đổi d.liệu CL nhận tín hiệu đ.khiển từ bên ngoài, như tín hiệu ngắt (INT, NMI), HOLD, RESET,... để xử lý bên trog trc khi đưa ra các tín hiệu trả lời như: chấp nhận ngắt INTA, dừng HALT,... CL quyết định thứ tự làm việc của từng đvị trong bộ VXL và sự trao đổi thông tin với thế giới bên ngoài chip VXL. CL là trung tâm đ.khiển của BVXL 3. Các vi mạch hỗ trợ cho BVXL Mỗi loại VXL có những mạch hỗ trợ phù hợp đi theo: các bộ VXL công nghệ cao hiện nay (kể từ 80386) đã có những vi mạch VLSI hỗ trợ gộp nhiều chức năng đ.khiển khác nhau đc đưa vào để có thể thành 1 CPU của 1 máy vi tính. Các máy tính thế hệ pentium 586 150 233 MHz với bảng mẹ PSI ISA có các vi mạch VLSI hỗ trợ như: 82437VX, 82438VX, ... để tạo nhịp đồng hồ, điều khiển IO... Các máy vi tính hiện nay đều có khả năng thiết lập ban đầu cho các vi mạch hỗ trợ (chipset), đó là các chế độ chipset features setup, bios features setup,... Câu 4: Vẽ sơ đồ khối đơn vị giao tiếp bus (BIU) của các bộ Vi xử lý công nghệ cao. Giải thích các chức năng từng bộ phận: BIU, PUIQ, SFU, Cache, IU, MMU. Trả lời: Câu 4: Sơ đồ khối đơn vị giao tiếp bus (BIU) của các bộ VXL công nghệ cao. Giải thích chức năng từng bộ phận: BIU, PUIQ, SFU, cache, IU, MMU. Trả lời: Chức năng của từng bộ phận: 1. BIU: 2. PUIQ (khối tiền đọc lệnh và hàng lệnh) chứa các mạch logic để đọc trc các lệnh từ Icache và đặt vào hàng xếp các lệnh theo nguyên tắc vào trc ra sau FIFO các lệnh này đc chuyển tới khối giải mã lệnh DU (decoding unit) phần lớn các họ VXL ngày nay cho phép 1 số lệnh đồng thời đc giải mã (xử lý song song ) 3. SFU (special function unit): khối chức năng đặc biệt, có thể là: khối đồ họa khối xử lý tín hiệu khối xử lý ảnh bộ XL ma trận và vector 4. Cache: là BN tốc độ nhanh nằm giữa BVXL và BN chính Sự tồn tại BN dự trữ với k.thước đủ lớn làm tăng hiệu suất của BVXL vì nó cho phép BVXL truy nhập thông tin nhanh hơn nhiều so với truy cập vào BN chính BN dự trữ kép (dual cache memory) phân ra BN dự trữ các lệnh (Icache), BN dự trữ lưu trữ d.liệu (Dcache). Cả 2 cache đều kết nối với bus bên trong. Chúng nhận thông tin từ BN chính thông qua bus D.liệu và BIU. Icache kết nối trực tiếp với PUIQ, nó chuyển 1 hay 1 số lệnh vào PUIQ trong 1 c.kì Thông qua bus D.liệu bên trong BN dự trữ D.liệu (Dcache) và bus D.liệu điều hành (ODB) giao tiếp với các đơn vị chức năng khác (IU, SFU, FPU) Trong nhiều loại VXL còn có thêm BN dự trữ thứ cấp (secondary cache memory) cache bên trong chip VXL là cache sơ cấp (primary cache) cache thứ cấp nằm bên ngoài chip và giữa cache sơ cấp và BN chính bên trong cấu trúc BN. Nó có tốc độ truy cập nhanh hơn truy cập BN chính (vì nó nằm bên ngoài BVXL nên nó có thể có dung lượng lớn hơn cache sơ cấp). dung lượng của cache thứ cấp có thể lên đến vài MB (pentium III cho phép mở rộng tới 4 MB) 5. IU (integer unit): đơn vị nguyên Có đặc tính cấu trúc phục vụ cho xử lý song song nó có các đơn vị thao tác thực hiện các phép số học nguyên cộngtrừ, nhânchia, có tập các thanh ghi 32 bit hoặc 64 bit. Các BVXL CISC thường có 8 16 thanh ghi. Các VXL RISC có tới 32 thanh ghi, đôi khi có hơn 100 thanh ghi. Dòng d.liệu đi theo 2 đường để tới các đvị thao tác các phép tính số học. Đvị giải mã phân chia lệnh DID nhận các chỉ thị đã đc giải mã của CU và gửi chúng tới các đvị x.lý các phép tính thích ứng. Các phép tính với số nguyên chuyển tới các đvị x.lý các số nguyên của IU, các phép tính dấu phẩy động chuyển tới đvị x.lý dấu phẩy động FDU, ... D.liệu từ Dcache thông qua bus dữ liệu thao tác ODB chuyển tới các đvị x.lý Đvị dịch ống cho phép thực hiện các lệnh dịch nhiều bit nhanh trong 1 c.kì đơn Câu 5: Giải thích phương pháp xử lý lệnh theo kiến trúc siêu hướng (Superscalar). Với xu hướng phát triển công nghệ RISC, CU được hoàn toán cứng hoá hay thường được lập trình. Trả lời: Giải thích phương pháp x.lý lệnh theo kiến trúc siêu hướng (superscalar). Với xu hướng phát triển công nghệ RISC, CU được hoàn toàn cứng hóa hay thường đc lập trình. Trả lời: Kiến trúc siêu hướng (superscalar) thể hiện trong đặc tính thực hiện các lệnh song song . Khốitiền đọc lệnh gửi ra i lệnh cùng 1 thời điểm tới khối giải mã. Khối điều khiển lần lượt tạo ra các chỉ thị cho 1 số ống thực hiện. Số lượng lệnh không nhất thiết phải = số ống, tuy nhiên số i lệnh = số ống sẽ là hiệu quả nhất, vì như vậy là i lệnh cùng thực hiện song song Đơn vị điều khiển CU của BVXL có thể hoàn toàn cứng hoặc đc lập trình. Trong hầu hết các BVXL, công nghệ CISC (Intel X86 và Motorola) CU thường đc lập trình. Với xu hướng phát triển công nghệ RISC, CU đc hoàn toàn cứng hóa nhằm tăng tốc độ thực hiện hâu hết các lệnh trong 1 chu kì đơn. Câu 6: Chức năng của đơn vị quản lý bộ nhớ MMU. Trả lời: MMU : có các chức năng sau : Chuyển đổi địa chỉ ảo hay địa chỉ logic thành địac hỉ vật lý. Điajc hỉ vật lý được chuyển tới cache hoặc thông qua BIU và bus địa chỉ tới BN bên ngoài bộ vxl để chọn vùng nhớ, đảm bảo cơ chế phân trang trong tổ chức BN ảo, đảm bảo cơ chế phân đoạn cho BN, bảo vệ BN cho cả 2 cơ chế phân trang và phân đoạn, quản lý bộ đệm biến đổi truy cập nhanh TLB và quản lý BN dự trữ chuyển đổi ATC (address translation cache) phục vụ quá trình chuyển đổi các trang nhớ ảo thành phân trang nhớ vật lý Đơn vị phân trang , TLB (hoặc ATC) đều có TRONG mmu của hầu hết các bộ vxl hiện đại. trong intel X86 có đơn vị phân đoạn. Trong trường hợp ko có TLB,MMU chứa phần logic giám sát truy nhập đến các bảng và thư mục tương ứng trong BNC Câu 7: Bộ nhớ Cache: Cấu trúc Cache, thuật toán thay thế (phương pháp thay thế dòng của tập trong cache). Trả lời: 1. Cấu trúc Cache Cache ghi nhớ 1 tập hợp Ai các địa chỉ của BNC và các từ dữ liệu M(Ai) tương ứng của tập hợp Ai Dữ liệu trao đổi giữa cache và BNC được nhóm theo các khối dữ liệu Các dong cất giữ trong cache ko có địa chỉ riêng mà chúng được tham chiếu tại địa chỉ của chúng lưu vào trong BNC Địa chỉ các dòng trong cache được sắp xếp địa chỉ Nội dung của mảng là bản sao của tập các khối nhớ liên tiếp nhau kèm theo địa chỉ của BNC 2. Thuật toán thay thế (phương pháp thay thế dòng của tập trong Cache) B1: CPU yêu cầu lệnhd.liệu lưu trữ trong địa chỉ “a” B2: Khi đó nội dung từ đ.chỉ “a” không có bên trong BN Cache, CPU phải mang nó về trực tiếp từ BN RAM. B3: Bộ phận đ.khiển Cache tải 1 hàng (thông thường 64 byte) bắt đầu từ đ.chỉ “a” và bên trong BN Cache. Điều đó nhiều hơn d.liệu CPU đã yêu cầu, do đó nếu chương trình tiếp tục chạy tuần tự (có nghĩa là yêu cầu đ.chỉ a + 1), lệnhd.liệu tiếp theo CPU sẽ yêu cầu đã đc tải trong BN Cache. B4: Mạch điện gọi là PreFetch tải nhiều v.trí d.liệu hơn sau dòng sau, có nghĩa là bắt đầu những nội dung tải từ địa chỉa + 64 vào BN Cache. Nếu chương trình thường chạy tuần tự thì CPU không bao h cần lấy d.liệu trực tiếp từ BN RAM về, nhũng lệnh và d.liệu CPU yêu cầu sẽ thường nằm trong BN Cache trc khi CPU hỏi tới chúng. Nếu chương trình thường chạy tuần tự thì CPU không bao giờ cần lấy dữ liệu trực tiếp từ bộ nhớ RAM về (ngoại trừ việc tải lệnh đầu tiên), những lệnh và dữ liệu CPU yêu cầu sẽ thường nằm trong bộ nhớ Cache trước khi CPU hỏi tới chúng. Tuy nhiên những chương trình lại không chạy như vậy, chúng sẽ thường nhảy từ vị trí bộ nhớ này tới vị trí bộ nhớ khác.Thách thức lớn nhất của Bộ phận điều khiển Cache chính là cố gắng phỏng đoán CPU sẽ nhảy tới địa chỉ nào, để tải nội dung của địa chỉ đó vào bên trong bộ nhớ Cache trước khi CPU yêu cầu nó để tránh trường hợp CPU phải đi tới bộ nhớ RAM của hệ thống, vì điều đó làm chậm hiệu suất làm việc của toàn bộ hệ thống. Nhiệm vụ này được gọi là Dự đoán rẽ nhánh và những CPU mới đều có đặc điểm này. Những CPU hiện đại có tỉ lệ “hit” ít nhất là 80%, có nghĩa là ít nhất 80% thời gian CPU không cần truy cập trực tiếp tới bộ nhớ RAM của hệ thống và thay thế vào truy cập tới bộ nhớ Cache . 3. Nguyên tắc hoạt động (theo vở chép) Địa chỉ vật lý A từ bộ vxl được gửi đến cache khi bắt đầu chương trình truy cập bộ nhớ thì cache so sánh phần tử của A với tất cả các địa chỉ Ai, nếu có sự trùng thì cache được chọn từ dữ liệu tương ứng với địa chỉ A, tức là M(A). Và nó kết thúc chu trình truy cập bộ nhớ bằng cách truy nhập dữ liệu từ bộ vxl tới bản sao hoặc ngược lại đọc bản sao tới bộ vxl.Nếu ko có sự trùng hợp, cache khởi tạo 1 trình tự với 1 hoặc vài chu trình để nạp bộ địa chỉ tương ứng, địa chỉ A chứa M(A) Cache chia thành 1 số tập (set) Vd: set 0>set k1 Mỗi tập có một sô dòng (line) Vd: line 0>set 0 Ko phải mảng chương trình nào cũng được cất toàn bộ vào cache mà chỉ một phần Mảng thông tin của chương trình thuộc cache gọi là hit(trúng đích) và hệ số của hit gọi là hệ số trúng đích,ký hiệu là H,còn mảng thông tin của chương trình ko thuộc cache goi la miss(trượt đích) và hệ số của miss gọi là hệ số trượt đích,ký hiệu là 1H Phương pháp thay thế dòng của tập trong cache gọi là thuật toán thay thế bao gồm 1 số phương pháp thay thế sau: + tùy ý + FIFO +ít sử dụng nhất Từ đó ta có thể tính được thời gian truy xuất trung bình của dòng dữ liệu trong bộ nhớ ta=Hta1+(1H)ta2 hay ta=ta1+(1H)tb ta1: thời gian truy xuất cache ta2 : thời gian truy xuất BNC tb=ta1ta2 : thời gian vận chuyển từ BNC đến cache Cho dòng X = 275 trong BN chính v ới số lượng các tập trong Cache là k = 128. Xác định dòng X của BN chính đc xếp v ào tập bao nhiêu của BN Cache. Dòng 275 sẽ đc xếp như sau : 275128 = 2 + 19128, nghĩa là dòng 275 của BN chính đc xếp vào tập 19 trong Cache. Câu 8: Các kiểu của bộ xử lý song song và hiệu suất của xử lý song song. Hãy so sánh cấu trúc máy tính chia sẻ bộ nhớ và phân tán bộ nhớ. Trả lời: Các kiểu của BVXL song song : • Phân loại Flynn: SISD SIMD MISM MISM • Phân loại theo cấu trúc: Truyền thông theo các biến số dùng chung Các hệ kết nối chặt chẽ hay các BVXL gọi là VXL đối xứng SMP. Hệ thống VXL chia sẻ BN: Cứ 1 VXL có 1 BN IO dùng riêng của nó Hiệu suất của XL song song : E(n) = T(1) nT(n) Trong đó: n: số processors T(n): thời gian thực hiện của n processors So sánh cấu trúc máy tính chia sẻ BN và phân tán BN : Máy tính chia sẻ Bộ nhớ Hệ thống máy tính với tổ chức, mà trong đó các đvị nhớ kết nối trên mạng N làm thành 1 BN chính tổng thể đảm bảo chia sẻ cho tất cả các đvị x.lý, gọi là máy tính có BN chia sẻ. Máy tính phân tán Bộ nhớ Hệ thống máy tính mà trong đó mỗi đ.vị x.lý kết nối với 1 đvị nhớ tạo thành 1 khối xử lý riêng (với tài nguyên riêng) và kết nối với nhau trên mạng kết nối N để trao đổi tài nguyên, thì gọi là máy tính có BN phân phối tài nguyên. Câu 10: Các kiểu của bộ xử lý song song. Các bộ xử lý có cấu trúc ống. Trả lời: a)Các kiểu bộ xử lý song song Có nhiều cách phân loại song song dựa trên cấu trúc hoặc hành vi của chúng: Đơn vị xử lý trung tâm (CPU) đọc các lệnh và các toán hạng từ bộ nhớ, thực hiện lệnh, và chuyển kết quả vào lại bộ nhớ chính (main memory). Các bước thực hiện lệnh này gộp lại thành một chu kỳ lệnh (Instruction Cycle) Các lệnh có thể hình thành một chuỗi các lệnh liên tiếp nhau đọc từ bộ nhớ vào bộ xử lý, trong khi các toán hạng cũng hợp thành một chuỗi dữ liệu theo sau đi tới và từ bộ xử lý. Nếu đặt M1 và MD là số lượng các chuỗi lệnh và các chuỗi dữ liệu tương ứng thì theo Micheal J.Flyunn, các máy tính được phân loại thành 4 nhóm dựa trên số lượng M1 và MD. Phân loại Flynn 1.Một chuỗi lệnh một chuỗi dữ liệu SISD (Single Instruction Stream Multiaple Data Stream) : M1=MD=1. Hầu hết các máy tính và máy vi tính sử dụng với một chip VXL các loại là các máy tính kiểu SISD 2. Một chuỗi lệnh nhiều chuỗi dữ liệu SIMD : M1=1,MD>1, trong các hệ thống máy tính SIMD có nhiều bộ VXL làm việc song song với nhau, thực hiện một mệnh lệnh giống nhau nhưng với những dữ liệu khác nhau. Những dạng máy tính chuyên dụng cho xử lý Vector và mảng(array) là những máy tính SIMD 3. Nhiều chuỗi lệnh một chuỗi dữ liệu MISD M1>1,MD=1. Trong các máy tính MISD có nhiều bộ xử lý làm việc song song và có nhiều bộ xử lý làm việc song song và xử lý chức năng riêng (theo những mệnh khác nhau) nhưng với dữ liệu giống nhau 4. Nhiều chuỗi lệnh nhiều chuỗi dữ liệu MIMD M1>1,MD>1. Thi hành theo các mệnh lệnh khác nhau với các dữ liệu khác nhau Phân loại theo cấu trúc Một hệ thống máy tính có thể được xem như một tập hợp n>=1 bộ xử lý hay đơn vị xử lý trung tâm(CPU): P1,P2,…,Pn và m>=0 đơn vị nhớ chia sẻ (share memory unit) hoặc module nhớ :M1,M2…Mm kết nối trong mạng N bên trong hệ thống máy tính. Máy tính chia sẻ bộ nhớ: Hệ thống máy tính với tổ chức, mà trong đó các đơn vị nhớ kết nối trên mạng thành một bộ nhớ chính tổng thể đảm bảo chia sẻ cho tất cả các đơn vị xử lý. Máy tính phân tán bộ nhớ Hệ thống máy tính mà trong đó mỗi đơn vị xử lý nối với một đơn vị nhớ tạo thành khối xử lý riêng (với tài nguyên riêng) và kết nối với nhau trên mạng kết nối N để trao đổi tài nguyên, thì gọi là máy tính có phân phối tài nguyên. Cấu trúc nối mạng N cũng được phân loại. nó có thể cõ những dạng như sau: Bus chia sẻ đơn (Single Shared Bus) Được sử dụng trong các hệ thống máy tính tuần tự cũng như máy tính song song. Nhược điểm : Khi số lượng n (các đơn vị xử lý) và m (số lượng đơn vị nhớ) tăng lên thì tốc độ của Bus đơn phải rất nhanh và àsự đụng độ cạnh tranh truy cập Bus là tăng thời gian chờ đợi được phục vụ trên Bus với các đơn vị xử lý và đơn vị nhớ. Nhiều Bus Mạng nhiều Bus khắc phục được nhược điểm của Bus đơn. Trong đó, một số đơn vị xử lý và đơn vị nhớ khác lại kết nối với mọt Bus khác, hoặc có những đơn vị xử lý và đơn vị nhớ có thể kết nối cùng một lúc với một số Bus àgiảm quá tải cho các Bus, sự đụng độ truy cập Bus giảm tối thiểu. Nhược điểm : khi có 1 sự cố nào đó xảy ra đối với một Bus nào đóàthì hiệu suất mạng giảm đi rõ rệt Các Bus giao nhau (Crossbar Bus) Mỗi đơn vị xử lý kết nối với tất cả đơn vị nhớ tương tự, mỗi đơn vị nhớ kết nối với các đơn vị xử lý. Cấu trúc này khắc phục được cấu trúc nhiều Bus. Nhược điểm : Có thể xảy ra trường hợp xấu là tất cả các đơn vị xử lý cũng truy cập vào 1 đơn vị nhớ. Kết nối hình cây Mạng kết nối hình cây còn gọi là cây nhị phân, tức là với gốc (các đơn vị xử lý mẹ) chỉ có 2 đơn vị xử lý con kết nối vào Như vậy nếu có số lượng hàng (tầng cây) là P thì sẽ có số tổng các đơn vị xử lý là n=2p1, tức là số tầng cây P xấp xỉ bằng P=logn Mạng kết nối siêu lập thể n chiều Mạng kết nối này còn gọi là kết nối n cup nhị paahn (binary ncube) vì nếu có n chiều thì có 2n đơn vị xử lý kết nối trong khối lập thể. Nếu n=3 thì có 8 đơn vị xử lý. b) Các bộ xử lý có cấu trúc ống (pipeline processor) bộ XL ống gồm có 1 chuỗi liên tiếp các mạch xử lý mà các mạch xử lý đó thường đgl phân đoạn hay tầng. Thông qua chuỗi này, dòng toán hạng đc xử lý . Mỗi phân đoạn xử lý từng phần của các toán hạng và các kết quả cuối cùng chỉ nhận đc khi toàn bộ chuỗi các toán hạng đã đi qua hết các phân đoạn của ống. Mỗi phân đoạn x.lý từng phần các toán hạng và k.quả cuối cùng chỉ nhận đc khi toàn bộ chuỗi các toán hạng đã đi qua hết các phân đoạn của ống. Thanh ghi ra, (R) Cấu trúc của BVXL ống: Phân đoạn m, (Sm) Phân đoạn 2, (S2) Phân đoạn 1, (S1) Các thanh ghi Ri là những bộ đệm nhận d.liệu Di – 1 (là các kết quả tính đc trong c.kì xung nhịp đồng hồ trc của các đvị tính Ci – 1) từ phân đoạn Si – 1, ngoại trù các thanh ghi Ri nhận d.liệu bên ngoài ống. Một đường ống lệnh đơn giản có thể đc tổ chức gồm 2 phân đoạn: phân đoạn đọc lệnh (S1) và phân đoạn thực hiện lệnh (S2) Một đường ống lệnh cơ bản có thể hình thành nhờ phân theo chu kì lệnh: đọc lệnh(S1), giải mã lệnh(S2), đọc các toán hạng(S3), thực hiện lệnh (S4), cất giữ kết quả (S5) Đến bộ nhớ Câu 11: Hệ thống đa xử lý. Tổ chức hệ điều hành trong hệ thống đa xử lý. Các kiến trúc AMP (Asymmetric MultiProcessing), SMP (Symmetric MultiProcessing). Hệ thống đa xử lý: M

Trang 1

Câu 1: Những đặc điểm cấu trúc của bộ VXL (Công suất, độ dài từ, khả năng đánh địa chỉ, tốc độ) Cho

bộ VXL có tần số làm việc 750MHz theo kiến trúc NeuMamn, bên trong được thiết kế 4 ALU và để thực hiện một lệnh vi xử lý cần 5 vi lệnh với hệ số thời gian truy cập bộ nhớ là 100ns Xác định tốc độ thực hiện lệnh của bộ vi xử lý.

Câu 1: Những đặc điểm cấu trúc của bộ VXL:

1.1

* Công suất của bộ VXL: là khả năng xử lý dữ liệu

Đ.điểm:

• Độ dài từ của bộ VXL(data word length), tính bằng số byte

• Dung lượng nhớ VL có thể đánh địa chỉ (addressing capacity)

• Tốc độ xử lý lệnh của Bộ VXL (instruction execute speed)

* Công suất máy tính (tốc độ x.lý thông tin, khả năng lưu trữ thông tin, khả năng kết nối nhiều

loại thiết bị ngoại vi, …) phụ thuộc vào công suất của bộ VXL trong CPU

* Độ dài từ:

Mỗi bộ VXL có thể xử lý dữ liệu với độ dài từ cố định Phụ thuộc vào từng thế hệ VXL và mức độ phát triển của công nghệ VXL, độ dài từ có thế là 4 bit, 8 bit, 16 bit, 32 bit, 64 bit Tập lệnh của bộ VXL thường có các lệnh thực hiện theo từ và theo byte Nếu 1 từ là 2 byte thì cũng phân biệt byte cao và byte thấp Byte thấp chiếm các bit từ 0 đến 7, Byte cao chiếm các bit từ 8 đến 15 Độ rộng từ có độ dài bao nhiêu bit thì cũng có bấy nhiêu bit đối với các thanh ghi, ALU và bus dữ liệu bên trong bộ VXL Bus dữ liệu bên ngoài cũng thường có chừng đó

độ dài nhưng cũng có thể chỉ 1 byte trong khi độ dài xử lý bên trong của bộ VXL là 6 bit Độ dài từ càng lớn càng tạo ra nhiều khảnăng tính toán của bộ VXL, khoảng biểu diễn số rộng hơn, tốc độ tính toán nhanh hơn

* Khả năng đánh địa chỉ:

Các từ dữ liệu và lệnh máy cắt trong BN tại các ngăn nhớ khác nhau Mỗi ngăn nhớ phải có địa chỉ nhận biết Dải đánh địa chỉ càng lớn thì dung lượng BN càng nhiều Để đánh địa chỉ, bộ VXL thường có thanh ghi địa chỉ

Độ rộng của thanh ghi địa chỉ quyết định giải địa chỉ của vùng nhớ vật lý mà bộ VXL thỏa mãn VD: độ rộng của thanh ghi là 6 bit có thể đánh được địa chỉ khoảng nhớ vật lý là 216 = 26 210 = 64 KB = 65536 từ 8 bit Với số

mũ ở hệ cơ số 2 ta có thể đánh giá ngay được độ rộng của thanh ghi địa chỉ hay bus địa chỉ VD: để đánh được địa chỉ đến 32Gb, cần phải có 35 đường dây địa chỉ (A0-A34) Khả năng

đánh địa chỉ càng lớn thì càng cho phép tạo ra 1 hệ thống máy tính có cấu hình mạnh với nhiều loại thiết bị ngoại

vi, bộ nhớ chính có dung lượng lớn (đến vài trăm MB) và khả năng xử lý nhanh

* Tốc độ thực hiện lệnh:

Tốc độ thực hiện lệnh của bộ VXL có thể đo bằng tốc độ thực hiện các lệnh dấu phẩy động FLOPS hoặc tính bằng triệu lệnh/giây (MIPS) Công thức tính MIPS theo kiến trúc NeuMan là: MIPS = (f*N)/(M+T)=

38 4

f : tần số làm việc của Bộ VXL

N: số lượng các đơn vị xử lý số học và logic (ALU) không phụ thuộc vào nhau bên trong bộ VXL

M: số lượng vi lệnh trung bình của 1 lệnh trong bộ VXL

T : hệ số tg truy cập BN (chu trình chờ đợi trong khi truy cập BN)

Theo CT này, tốc độ thực hiện lệnh của bộ VXL có thể thay đổi nhờ 4 yếu tố Để nâng cao tốc độ

VXL kiên trúc song song , đường ống, đồng xử lý, BN dự trữ Và bus rộng đã được áp dụng cho

cac chip VXL công nghệ cao hiện nay MIPS phụ thuộc vào tần số nhịp đồng hồ của bộ VXL Tần số nhịp càng lớn thì tốc độ thực hiện lệnh càng cao Các bộ VXL khi s/x thường có kí hiệu chữ cái hay số cụ thể để phân biệt tần số nhịp đồng hồ Tần số nhịp đồng hồ của bộ VXL phụ thuộc vào công nghệ chế tạo bộ VXL Phần lớn các bộ VXL được chế tạo theo 2 công nghệ bán dẫn: NMOS và CMOS

1.2 Tốc độ thực hiện lệnh của bộ VXL:

f = 750MHz

N=4

M=5

T=100

MIPS=(f*N)/(M+T)=(750*4)/(5+100)=

Trang 2

Câu 2: Hãy nêu những đặc tính nâng cao tốc độ của bộ vi xử lý là gì? Định nghĩa kiến trúc siêu hướng Khuôn dạng dữ liệu.

Trả lời:

+ Xử lý song song : là 2 quá trình, tính toán cùng xảy ra đồng thời Trong kiến trúc máy tính, sự kết hợp 2 bộ VXL trong khối xử lý trung tâm (CPU) tạo ra khả năng xử lý song song trong cùng 1 tg

Kiến trúc này có thể tạo ra tốc độ xử lý dữ liệu lên gấp đôi so với kiến trúc chỉ dùng 1 bộ VXL

Cũng có thể thực hiện song song ngay bên trong cấu trúc của bộ VXL, bằng cách thiết kế sao cho quá trình xử lý D.liệu bên trong chip VXL chia thành các phiên khác nhau và thực hiện song song nhờ sự phân chia khối logic điều khiển(CU) bên trong thành phần riêng

+ Đồng xử lý : là bộ VXL riêng biệt kết nối với bộ VXL thông qua bus hệ thống Bộ đồng xử lý chỉ thực hiện 1

số chức năng đặc biệt, ví dụ như các phép toán đòi hỏi sự chính xác sử dụng dấu phẩy động Tốc độ xử lý của bộ đồng xử lý những phép tính này sẽ nhanh hơn rất nhiều so với bộ xử lý chính Các bộ VXL công nghệ cao hiện nay đã cấy vào bên trong khối xử lý dấu phẩy động

FPU càng làm tăng tốc độ tính toán các phép tính nhanh và chính xác hơn nhiều

+ Bộ nhớ lưu trữ (cache memory): BN cache là BN có tốc độ cao, nó có thể nằm ngay bên trong bộ VXL với dung lượng hạn chế hoặc nằm kế ngay bên cạnh bộ VXL và kết nối trực tiếp với chip xử lý với dung lượng đủ lớn, trong khi đó BN chính kết nối với bộ VXL thông qua bus hệ thống Sự trao đổi dữ liệu giữa BN chính và bộ VXL bị hạn chế về tốc độ, vì vậy để tăng tốc độ xử lý,

phải tổ chức làm sao khi thực hiện chương trình, bộ VXL trước hết tìm kiếm lệnh ở BN dự trữ trước, nếu không

có lệnh chứa trong BN dự trữ thì mới phải tìm tới BN chính Điều này có nghĩa là nếu đa số lệnh không có trong

BN dự trữ thì tốc độ xử lý chậm hơn gấp đôi so với truy cập thẳng vào BN chính Vì vậy phải tổ chức làm sao đa

số các lệnh của chương trình nằm hẳn trong

BN dự trữ, ví dụ các lệnh có tần suất xuất hiện trong chương trình cao thì có thể cất trong BN dự trữ Dung lượng BN dự trữ phải đủ lớn để đảm bảo lưu trữ những chương trình ứng dụng lớn

Ngày nay, dung lượng BN dự trữ bên trong các chip VXL chưa cao (32Kb :16Kb Dcache, 16Kb Icache) Với BN

dự trữ bên ngoài có thể đạt tới dung lượng 2-4 MB

+ Ký thuật đường ống : Mô phỏng dây chuyền lắp ráp máy móc, hệ thống đường dẫn, trong 1 số VXL hiện nay

có chức năng thực hiện các lệnh máy liên tục thành 1 dây chuyền với 5 công đoạn : nhập D.Liệu của lệnh từ BN, giải mã lệnh, thực hiện các lệnh, ghi kết quả thực hiện lệnh vào BN Khi lệnh thứ 1 bắt đầu bước vào thực hiện, ở giai đoạn 2 thì mã lệnh của lệnh tiếp theo được đọc từ BN ra để thực hiện bước 1 (giải mã lệnh) Cứ như vậy, các lệnh được thực hiện theo 1 dây chuyền liên tục như là dòng nước đi trong đường ống Tốc độ xử lệnh vì thế được tăng lên rất cao

+ Bus rộng : Kĩ thuật bus rộng áp dụng cho cả bên trong lẫn bên ngoài bộ VXL Bên trong bộ VXL,

thanh ghi tổng (A) có độ dài gấp đôi bus, như vậy tốc độ tính toán sẽ nhanh hơn, bởi không phải

thực hiện các phép truy cập với BN để lưu trữ các kết quả trug gian của các phép tính

* Kiến trúc siêu hướng : Kiến trúc của bộ VXL có các khối chức năng xử lý song song bên trong gọi là kiến trúc siêu hướng, nghĩa là cùng 1 lúc nhiều hướng xử lý khác nhau bên trong VXL Kiến trúc siêu hướng là sự phát triển tiếp theo của kiến trúc RISC, nó không những nâng cao tốc độ xử lý mà còn nâng cao độ tin cậy của CPU, bởi vì khi có sự cố ở 1 chip VXL thì chip VXL còn lại vẫn đảm nhiệm chức năng được bình thường

* Khuôn dạng d.liệu :

Khuôn dạng d.liệu của các loại VXL được phân biệt theo các số có dấu, không dấu, các kí tự mã ASCII, mã BCD (hệ 2 - 10) - không dấu và có dấu :

B - Byte (8 byte), H - nửa từ (16 bit), W từ (32 bit), D - từ kép (64 bit) (sự phân loại này cho các bộ VXL 32 bit) Bit đấu là bit cao nhất (MSB)

- các kí tự mã ASCII : mỗi kí tự được mã hóa bằng 8 bit

- Dữ liệu ở mã BCD : dữ liệu được biểu diễn bằng các nhóm số 4 bit Mỗi nhóm số 4 bit có giá trị không vượt quá 10 (1010) Phân biệt dữ liệu ở mã BCD đóng gói và không đóng gói Trong BCD đóng gói, tất cả 64 bit được chia ra 8 nhóm (8 digit) và cả 8 digit được dùng để mã hóa Hai BCD digit trong 1 byte Trong BCD không đóng gói, chỉ dùng 4 bit thấp trong từng byte để làm digit mã BCD, 4 bit cao của từng byte không dùng tới và đều ghi giá trị 0 Các dấu phẩy động phân ra số chính xác đơn 32 bit và chính xác kép 64 bit theo chuẩn IEEE

Trang 3

754-1985 Cũng có thể mở rộng độ chính xác đến 80 bit ở 1 số bộ VXl Số dấu phẩy động có bit lớn nhất (MSB) dùng làm dấu, dấu = 0, đó là số dương Dấu = 1 là dấu âm

Câu 3: Vẽ sơ đồ cấu trúc bên trong của bộ Vi xử lý 8, 16 bit Giải thích chức năng từng bộ phận: ALU, các thanh ghi, CU Các vi mạch hỗ trợ cho bộ vi xử lý.

Trả lời:

2 Giải thích chức năng từng bộ phận (ALU, các thanh ghi, CU):

a Đơn vị số học - logic (ALU)

- chứa khối logic thực hiện xử lý d.liệu

- Thực hiện các phép tính số học và logic : and, sub, mul, div, and, or, not, Shift left, Shift right, decr, incr,

- Có hai cổng vào (in) để nhận d.liệu vào ALU và cổng ra (out) để lấy kết quả xử lý d.liệu của ALU ra ngoài

- các thanh ghi temp1 và temp2 làm nhiệm vụ nhận d.liệu từ các nơi khác nhau bên trong BVXL thông qua bus d.liệu bên trong và lưu trữ trung gian dữ liệu trong quá trình xử lý d.liệu trong ALU Tương tự, cổng ra kết nối với bus d.liệu bên trong do đó kết quả phép toán có thế đc ra tới các nơi khác nhau, d.liệu thường được đưa tới nơi bộ cộng

- các lệnh máy đc ALU xử lý có thể là 1 hay 2 toán hạng

- Lệnh máy đc đọc từ BN vào BVXL đc giải mã nhờ bộ giải mã lệnh để tạo ra chuỗi các tín hiệu đi tới ALU đ.khiển quá trình x.lý d.liệu trong ALU

b Các thanh ghi : đc chia thành nhóm theo mục đích s.dụng

- Nhóm thanh ghi dùng chung:

+ Thanh ghi A (bộ cộng), B, C, D, E, H, L : 8 bit

+ để xử lý 16 bit, có các lệnh thực hiện với các cặp thanh ghi BC, CE, HL

- Các thanh ghi khác : thanh ghi trạng thái (SR), con trỏ ngăn xếp (SP), thanh đếm lệnh (PC), thanh ghi lệnh (instruction register),

* Thanh ghi tổng A (accumulator):

- tham gia phần lớn các phép tinh

- độ dài của thanh tổng có thể tính bằng độ dài từ hoặc gấp đôi độ dài từ của BVXL

- những lệnh I/O với ngoại vi là nhóm lệnh trao đổi byte d.liệu giữa thanh ghi tổng A với các thanh ghi của điều khiển ngoại vi

- Lệnh nhập d.liệu IN PORT là lệnh đọc d.liệu từ cổng của ngoại vi vào thanh ghi A và OUTPORT là đọc nội dung thanh ghi A ra port ngoại vi

* Thanh đếm chương trình PC (program counter)

- 1 chương trình đc BVXL thực hiện phải chứa trong BN chính PC chứa đ.chỉ của lệnh trong BN và chỉ ra cho BVXL biết lệnh tiếp theo nằm ở ngăn nhớ nào để lấy ra thực hiện

- trong các BVXL công nghệ cao có cơ chế quản lý BN ảo Cơ chế đánh địa chỉ ảo có sự biến đổi đ.chỉ ảo thành đ.chỉ VL nội dung của đ.chỉ lệnh sẽ phức tạp

* Thanh ghi trạng thái SR (status register)

- dùng để ghi kết quả của các lệnh k.tra, s.sánh và 1 số lệnh tính toán với các thanh ghi

- thanh ghi trạng thái còn đgl thanh ghi cờ, s/dụng các bit cờ có thể thực hiện rẽ nhánh chương trình = các lệnh nháy và rẽ nhánh có đ.kiện

* Con trỏ ngăn xếp SP (stack pointer)

- Ngăn xếp là BN có cơ chế truy cập theo kiểu LIFO, luôn đc truy cập ở đỉnh TOP Nó làm nhiệm vụ lưu trữ những thông tin phải dùng đi dùng lại nhiều lần

- Các lệnh tác động đến ngăn xếp: call, ret, int,

- Các lệnh chuyên dùng để cất giữ n.dung và phục hồi các thanh ghi của ngăn xếp là push và pop, các lệnh này làm thay đổi đỉnh của ngăn xếp

- Con trỏ ngăn xếp SP chứa đ.chỉ của đỉnh ngăn xếp và n.dung của SP sẽ thay đổi mỗi khi thực hiện các lệnh vừa nêu trên

- khi khởi động hệ thống máy tính, con trỏ ngăn xếp luôn đc khởi tạo về địa chỉ đỉnh của ngăn xếp

* Thanh ghi đ.chỉ BN và logic (memory address register and logic)

Trang 4

- có độ dài 16 bit, các đầu ra của nó đc điều khiển nối ra bus đ/c của h.thống máy tính để thực hiện chọn ngăn nhớ or để chọn cổng ngoại vi nào đó

- Trong chu kì đọc lệnh, 1 lệnh máy đc đọc từ BN, lúc này ndung thanh ghi đ/c ngăn nhớ và n.dung của thanh đếm lệnh PC là như nhau, nghĩa là thanh ghi đ.chỉ BN trỏ tới từ lệnh đang đc đọc từ BN

- Thanh ghi đchỉ BN không thể tự động tăng hay giảm ndung mà nó nhận đchỉ lệnh từ PC, từ SP và thanh ghi chỉ số

- Phụ thuộc vào các loại VXL, nó có thể có đ.dài khác nhau: 16, 32, 64 bit

* Thanh ghi lệnh IR (instruction register)

- chứa lệnh đang thực hiện

- như là bộ đệm duy trì ndung mã lệnh và đầu ra của IR đưa tới bộ giải mã lệnh để tạo ra chuỗi các tín hiệu điều khiển thực hiện lệnh

c Control Unit (đơn vị điều khiển)

- có liên hệ thông tin với t.cả các đ.vị trong BVXL bởi nó đ.khiển toàn bộ h.độg xử lý thông tin bên trong BVXL

- kqua giải mã lệnh đc đưa đến khối logic điều khiển CL (control logic) tạo ra chuỗi các tín hiệu để đ.khiển quá trình ghi đọc với các thanh ghi bên trong, tính toán trong ALU

- từ CL, các xung tín hiệu đ.khiển đi ra bus điều khiển của h.thống tác động đến BN hoặc đơn vị I/O để thực hiện trao đổi d.liệu

- CL nhận tín hiệu đ.khiển từ bên ngoài, như tín hiệu ngắt (INT, NMI), HOLD, RESET, để xử lý bên trog trc khi đưa ra các tín hiệu trả lời như: chấp nhận ngắt INTA, dừng HALT,

- CL quyết định thứ tự làm việc của từng đvị trong bộ VXL và sự trao đổi thông tin với thế giới bên ngoài chip VXL

- CL là trung tâm đ.khiển của BVXL

3 Các vi mạch hỗ trợ cho BVXL

Mỗi loại VXL có những mạch hỗ trợ phù hợp đi theo:

- các bộ VXL công nghệ cao hiện nay (kể từ 80386) đã có những vi mạch VLSI hỗ trợ gộp nhiều chức năng đ.khiển khác nhau đc đưa vào để có thể thành 1 CPU của 1 máy vi tính

- Các máy tính thế hệ pentium 586/ 150 - 233 MHz với bảng mẹ PSI/ ISA có các vi mạch VLSI hỗ trợ như: 82437VX, 82438VX, để tạo nhịp đồng hồ, điều khiển I/O

- Các máy vi tính hiện nay đều có khả năng thiết lập ban đầu cho các vi mạch hỗ trợ (chipset), đó là các chế độ chipset features setup, bios features setup,

Câu 4: Vẽ sơ đồ khối đơn vị giao tiếp bus (BIU) của các bộ Vi xử lý công nghệ cao Giải thích các chức năng từng bộ phận: BIU, PUIQ, SFU, Cache, IU, MMU.

Trả lời:

Câu 4: Sơ đồ khối đơn vị giao tiếp bus (BIU) của các bộ VXL công nghệ cao Giải thích chức năng từng bộ phận: BIU, PUIQ, SFU, cache, IU, MMU

Trả lời:

* Chức năng của từng bộ phận:

1 BIU:

2 PUIQ (khối tiền đọc lệnh và hàng lệnh)

- chứa các mạch logic để đọc trc các lệnh từ Icache và đặt vào hàng xếp các lệnh theo nguyên tắc vào trc ra sau FIFO

- các lệnh này đc chuyển tới khối giải mã lệnh DU (decoding unit)

- phần lớn các họ VXL ngày nay cho phép 1 số lệnh đồng thời đc giải mã (xử lý song song )

3 SFU (special function unit): khối chức năng đặc biệt, có thể là:

- khối đồ họa

- khối xử lý tín hiệu

- khối xử lý ảnh

- bộ XL ma trận và vector

4 Cache: là BN tốc độ nhanh nằm giữa BVXL và BN chính

Trang 5

- Sự tồn tại BN dự trữ với k.thước đủ lớn làm tăng hiệu suất của BVXL vì nó cho phép BVXL truy nhập thông tin nhanh hơn nhiều so với truy cập vào BN chính

- BN dự trữ kép (dual cache memory) phân ra BN dự trữ các lệnh (Icache), BN dự trữ lưu trữ d.liệu (Dcache) Cả

2 cache đều kết nối với bus bên trong Chúng nhận thông tin từ BN chính thông qua bus D.liệu và BIU

- Icache kết nối trực tiếp với PUIQ, nó chuyển 1 hay 1 số lệnh vào PUIQ trong 1 c.kì

- Thông qua bus D.liệu bên trong BN dự trữ D.liệu (Dcache) và bus D.liệu điều hành (ODB) giao tiếp với các đơn vị chức năng khác (IU, SFU, FPU)

* Trong nhiều loại VXL còn có thêm BN dự trữ thứ cấp (secondary cache memory)

- cache bên trong chip VXL là cache sơ cấp (primary cache)

- cache thứ cấp nằm bên ngoài chip và giữa cache sơ cấp và BN chính bên trong cấu trúc BN Nó có tốc độ truy cập nhanh hơn truy cập BN chính (vì nó nằm bên ngoài BVXL nên nó có thể có dung lượng lớn hơn cache sơ cấp)

- dung lượng của cache thứ cấp có thể lên đến vài MB (pentium III cho phép mở rộng tới 4 MB)

5 IU (integer unit): đơn vị nguyên

- Có đặc tính cấu trúc phục vụ cho xử lý song song nó có các đơn vị thao tác thực hiện các phép số học nguyên cộng/trừ, nhân/chia, có tập các thanh ghi 32 bit hoặc 64 bit

- Các BVXL CISC thường có 8 16 thanh ghi

- Các VXL RISC có tới 32 thanh ghi, đôi khi có hơn 100 thanh ghi

- Dòng d.liệu đi theo 2 đường để tới các đvị thao tác các phép tính số học Đvị giải mã phân chia lệnh DID nhận các chỉ thị đã đc giải mã của CU và gửi chúng tới các đvị x.lý các phép tính thích ứng

- Các phép tính với số nguyên chuyển tới các đvị x.lý các số nguyên của IU, các phép tính dấu phẩy động chuyển tới đvị x.lý dấu phẩy động FDU,

- D.liệu từ Dcache thông qua bus dữ liệu thao tác ODB chuyển tới các đvị x.lý

- Đvị dịch ống cho phép thực hiện các lệnh dịch nhiều bit nhanh trong 1 c.kì đơn

Câu 5: Giải thích phương pháp xử lý lệnh theo kiến trúc siêu hướng (Superscalar) Với xu hướng phát triển công nghệ RISC, CU được hoàn toán cứng hoá hay thường được lập trình.

Trả lời:

Giải thích phương pháp x.lý lệnh theo kiến trúc siêu hướng (superscalar) Với xu hướng phát triển công nghệ RISC, CU được hoàn toàn cứng hóa hay thường đc lập trình

Trả lời:

Kiến trúc siêu hướng (superscalar) thể hiện trong đặc tính thực hiện các lệnh song song Khốitiền đọc lệnh gửi

ra i lệnh cùng 1 thời điểm tới khối giải mã Khối điều khiển lần lượt tạo ra các chỉ thị cho 1 số ống thực hiện Số lượng lệnh không nhất thiết phải = số ống, tuy nhiên số i lệnh = số ống sẽ là hiệu quả nhất, vì như vậy là i lệnh cùng thực hiện song song

Đơn vị điều khiển CU của BVXL có thể hoàn toàn cứng hoặc đc lập trình Trong hầu hết các BVXL, công nghệ CISC (Intel X86 và Motorola) CU thường đc lập trình Với xu hướng phát triển công nghệ RISC, CU đc hoàn toàn cứng hóa nhằm tăng tốc độ thực hiện hâu hết các lệnh trong 1 chu kì đơn

Câu 6: Chức năng của đơn vị quản lý bộ nhớ MMU.

Trả lời:

MMU : có các chức năng sau :

- Chuyển đổi địa chỉ ảo hay địa chỉ logic thành địac hỉ vật lý Điajc hỉ vật lý được chuyển tới cache hoặc thông qua BIU và bus địa chỉ tới BN bên ngoài bộ vxl để chọn vùng nhớ, đảm bảo cơ chế phân trang trong tổ chức BN

ảo, đảm bảo cơ chế phân đoạn cho BN, bảo vệ BN cho cả 2 cơ chế phân trang và phân đoạn, quản lý bộ đệm biến đổi truy cập nhanh TLB và quản lý BN dự trữ chuyển đổi ATC (address translation cache) phục vụ quá trình chuyển đổi các trang nhớ ảo thành phân trang nhớ vật lý

Trang 6

- Đơn vị phân trang , TLB (hoặc ATC) đều có TRONG mmu của hầu hết các bộ vxl hiện đại trong intel X86 có đơn vị phân đoạn Trong trường hợp ko có TLB,MMU chứa phần logic giám sát truy nhập đến các bảng và thư mục tương ứng trong BNC

Câu 7: Bộ nhớ Cache: Cấu trúc Cache, thuật toán thay thế (phương pháp thay

thế dòng của tập trong cache).

Trả lời:

1 Cấu trúc Cache

- Cache ghi nhớ 1 tập hợp Ai các địa chỉ của BNC và các từ dữ liệu M(Ai) tương ứng của tập hợp Ai

- Dữ liệu trao đổi giữa cache và BNC được nhóm theo các khối dữ liệu

- Các dong cất giữ trong cache ko có địa chỉ riêng mà chúng được tham chiếu tại địa chỉ của chúng lưu vào trong BNC

- Địa chỉ các dòng trong cache được sắp xếp địa chỉ

- Nội dung của mảng là bản sao của tập các khối nhớ liên tiếp nhau kèm theo địa chỉ của BNC

2 Thuật toán thay thế (phương pháp thay thế dòng của tập trong Cache)

B1: CPU yêu cầu lệnh/d.liệu lưu trữ trong địa chỉ “a”

B2: Khi đó nội dung từ đ.chỉ “a” không có bên trong BN Cache, CPU phải mang nó về trực tiếp từ BN RAM B3: Bộ phận đ.khiển Cache tải 1 hàng (thông thường 64 byte) bắt đầu từ đ.chỉ “a” và bên trong BN Cache Điều

đó nhiều hơn d.liệu CPU đã yêu cầu, do đó nếu chương trình tiếp tục chạy tuần tự (có nghĩa là yêu cầu đ.chỉ a + 1), lệnh/d.liệu tiếp theo CPU sẽ yêu cầu đã đc tải trong BN Cache

B4: Mạch điện gọi là PreFetch tải nhiều v.trí d.liệu hơn sau dòng sau, có nghĩa là bắt đầu những nội dung tải từ địa chỉa + 64 vào BN Cache

Nếu chương trình thường chạy tuần tự thì CPU không bao h cần lấy d.liệu trực tiếp từ BN RAM về, nhũng lệnh

và d.liệu CPU yêu cầu sẽ thường nằm trong BN Cache trc khi CPU hỏi tới chúng

Nếu chương trình thường chạy tuần tự thì CPU không bao giờ cần lấy dữ liệu trực tiếp từ bộ nhớ RAM về (ngoại trừ việc tải lệnh đầu tiên), những lệnh và dữ liệu CPU yêu cầu sẽ thường nằm trong bộ nhớ Cache trước khi CPU hỏi tới chúng Tuy nhiên những chương trình lại không chạy như vậy, chúng sẽ thường nhảy từ vị trí bộ nhớ này tới vị trí bộ nhớ khác.Thách thức lớn nhất của Bộ phận điều khiển Cache chính là cố gắng phỏng đoán CPU sẽ nhảy tới địa chỉ nào, để tải nội dung của địa chỉ đó vào bên trong bộ nhớ Cache trước khi CPU yêu cầu nó để tránh trường hợp CPU phải đi tới bộ nhớ RAM của hệ thống, vì điều đó làm chậm hiệu suất làm việc của toàn bộ

hệ thống Nhiệm vụ này được gọi là Dự đoán rẽ nhánh và những CPU mới đều có đặc điểm này Những CPU hiện đại có tỉ lệ “hit” ít nhất là 80%, có nghĩa là ít nhất 80% thời gian CPU không cần truy cập trực tiếp tới bộ nhớ RAM của hệ thống và thay thế vào truy cập tới bộ nhớ Cache

3 Nguyên tắc hoạt động (theo vở chép)

- Địa chỉ vật lý A từ bộ vxl được gửi đến cache khi bắt đầu chương trình truy cập bộ nhớ thì cache so sánh phần

tử của A với tất cả các địa chỉ Ai, nếu có sự trùng thì cache được chọn từ dữ liệu tương ứng với địa chỉ A, tức là M(A) Và nó kết thúc chu trình truy cập bộ nhớ bằng cách truy nhập dữ liệu từ bộ vxl tới bản sao hoặc ngược lại đọc bản sao tới bộ vxl.Nếu ko có sự trùng hợp, cache khởi tạo 1 trình tự với 1 hoặc vài chu trình để nạp bộ địa chỉ tương ứng, địa chỉ A chứa M(A)

- Cache chia thành 1 số tập (set)

Vd: set 0->set k-1

-Mỗi tập có một sô dòng (line)

Vd: line 0->set 0

- Ko phải mảng chương trình nào cũng được cất toàn bộ vào cache mà chỉ một phần

- Mảng thông tin của chương trình thuộc cache gọi là hit(trúng đích) và hệ số của hit gọi là hệ số trúng đích,ký hiệu là H,còn mảng thông tin của chương trình ko thuộc cache goi la miss(trượt đích) và hệ số của miss gọi là hệ

số trượt đích,ký hiệu là 1-H

- Phương pháp thay thế dòng của tập trong cache gọi là thuật toán thay thế bao gồm 1 số phương pháp thay thế sau:

+ tùy ý

Trang 7

+ FIFO

+ít sử dụng nhất

Từ đó ta có thể tính được thời gian truy xuất trung bình của dòng dữ liệu trong bộ nhớ

ta=Hta1+(1-H)ta2 hay ta=ta1+(1-H)tb

ta1: thời gian truy xuất cache

ta2 : thời gian truy xuất BNC

tb=ta1-ta2 : thời gian vận chuyển từ BNC đến cache

Cho dòng X = 275 trong BN chính v ới số lượng các tập trong Cache là k = 128 Xác định dòng X của BN chính

đc xếp v ào tập bao nhiêu của BN Cache Dòng 275 sẽ đc xếp như sau : 275/128 = 2 + 19/128, nghĩa là dòng

275 của BN chính đc xếp vào tập 19 trong Cache

Câu 8: Các kiểu của bộ xử lý song song và hiệu suất của xử lý song song Hãy so sánh cấu trúc máy tính chia sẻ bộ nhớ và phân tán bộ nhớ.

Trả lời:

* Các kiểu của BVXL song song :

• Phân loại Flynn:

- SISD

- SIMD

- MISM

- MISM

• Phân loại theo cấu trúc:

- Truyền thông theo các biến số dùng chung

Các hệ kết nối chặt chẽ hay các BVXL gọi là VXL đối xứng SMP

- Hệ thống VXL chia sẻ BN: Cứ 1 VXL có 1 BN I/O dùng riêng của nó

* Hiệu suất của XL song song :

E(n) = T(1) / n*T(n)

Trong đó:

- n: số processors

- T(n): thời gian thực hiện của n processors

* So sánh cấu trúc máy tính chia sẻ BN và phân tán BN :

Máy tính chia sẻ Bộ nhớ

- Hệ thống máy tính với tổ chức, mà trong đó các đvị nhớ kết nối trên mạng N làm thành 1 BN chính tổng thể đảm bảo chia sẻ cho tất cả các đvị x.lý, gọi là máy tính có BN chia sẻ

Máy tính phân tán Bộ nhớ

- Hệ thống máy tính mà trong đó mỗi đ.vị x.lý kết nối với 1 đvị nhớ tạo thành 1 khối xử lý riêng (với tài nguyên riêng) và kết nối với nhau trên mạng kết nối N để trao đổi tài nguyên, thì gọi là máy tính có BN phân phối tài nguyên

Câu 10: Các kiểu của bộ xử lý song song Các bộ xử lý có cấu trúc ống.

Trả lời:

a)Các kiểu bộ xử lý song song

Có nhiều cách phân loại song song dựa trên cấu trúc hoặc hành vi của chúng:

Đơn vị xử lý trung tâm (CPU) đọc các lệnh và các toán hạng từ bộ nhớ, thực hiện lệnh, và chuyển kết quả vào lại

bộ nhớ chính (main memory) Các bước thực hiện lệnh này gộp lại thành một chu kỳ lệnh (Instruction Cycle) Các lệnh có thể hình thành một chuỗi các lệnh liên tiếp nhau đọc từ bộ nhớ vào bộ xử lý, trong khi các toán hạng cũng hợp thành một chuỗi dữ liệu theo sau đi tới và từ bộ xử lý

Nếu đặt M1 và MD là số lượng các chuỗi lệnh và các chuỗi dữ liệu tương ứng thì theo Micheal J.Flyunn, các máy tính được phân loại thành 4 nhóm dựa trên số lượng M1 và MD

Phân loại Flynn

Trang 8

1.Một chuỗi lệnh một chuỗi dữ liệu SISD (Single Instruction Stream Multiaple Data Stream) :

M1=MD=1 Hầu hết các máy tính và máy vi tính sử dụng với một chip VXL các loại là các máy tính kiểu SISD

2 Một chuỗi lệnh nhiều chuỗi dữ liệu SIMD :

M1=1,MD>1, trong các hệ thống máy tính SIMD có nhiều bộ VXL làm việc song song với nhau, thực hiện một mệnh lệnh giống nhau nhưng với những dữ liệu khác nhau Những dạng máy tính chuyên dụng cho xử lý Vector

và mảng(array) là những máy tính SIMD

3 Nhiều chuỗi lệnh một chuỗi dữ liệu MISD

M1>1,MD=1 Trong các máy tính MISD có nhiều bộ xử lý làm việc song song và có nhiều bộ xử lý làm việc song song và xử lý chức năng riêng (theo những mệnh khác nhau) nhưng với dữ liệu giống nhau

4 Nhiều chuỗi lệnh nhiều chuỗi dữ liệu MIMD

M1>1,MD>1 Thi hành theo các mệnh lệnh khác nhau với các dữ liệu khác nhau

Phân loại theo cấu trúc

Một hệ thống máy tính có thể được xem như một tập hợp n>=1 bộ xử lý hay đơn vị xử lý trung tâm(CPU): P1,P2,…,Pn và

m>=0 đơn vị nhớ chia sẻ (share memory unit) hoặc module nhớ :M1,M2…Mm kết nối trong mạng N bên trong

hệ thống máy tính

*Máy tính chia sẻ bộ nhớ:

Hệ thống máy tính với tổ chức, mà trong đó các đơn vị nhớ kết nối trên mạng thành một bộ nhớ chính tổng thể đảm bảo chia sẻ cho tất cả các đơn vị xử lý

*Máy tính phân tán bộ nhớ

Hệ thống máy tính mà trong đó mỗi đơn vị xử lý nối với một đơn vị nhớ tạo thành khối xử lý riêng (với tài nguyên riêng) và kết nối với nhau trên mạng kết nối N để trao đổi tài nguyên, thì gọi là máy tính có phân phối tài nguyên

Cấu trúc nối mạng N cũng được phân loại nó có thể cõ những dạng như sau:

*Bus chia sẻ đơn (Single Shared Bus)

Được sử dụng trong các hệ thống máy tính tuần tự cũng như máy tính song song

Nhược điểm : Khi số lượng n (các đơn vị xử lý) và m (số lượng đơn vị nhớ) tăng lên thì tốc độ của Bus đơn phải rất nhanh và àsự đụng độ cạnh tranh truy cập Bus là tăng thời gian chờ đợi được phục vụ trên Bus với các đơn vị

xử lý và đơn vị nhớ

*Nhiều Bus

Mạng nhiều Bus khắc phục được nhược điểm của Bus đơn

Trong đó, một số đơn vị xử lý và đơn vị nhớ khác lại kết nối với mọt Bus khác, hoặc có những đơn vị xử lý và đơn vị nhớ có thể kết nối cùng một lúc với một số Bus àgiảm quá tải cho các Bus, sự đụng độ truy cập Bus giảm tối thiểu

Nhược điểm : khi có 1 sự cố nào đó xảy ra đối với một Bus nào đóàthì hiệu suất mạng giảm đi rõ rệt

*Các Bus giao nhau (Crossbar Bus)

Mỗi đơn vị xử lý kết nối với tất cả đơn vị nhớ tương tự, mỗi đơn vị nhớ kết nối với các đơn vị xử lý Cấu trúc này khắc phục được cấu trúc nhiều Bus

Nhược điểm : Có thể xảy ra trường hợp xấu là tất cả các đơn vị xử lý cũng truy cập vào 1 đơn vị nhớ

*Kết nối hình cây

Mạng kết nối hình cây còn gọi là cây nhị phân, tức là với gốc (các đơn vị xử lý mẹ) chỉ có 2 đơn vị xử lý con kết nối vào

Như vậy nếu có số lượng hàng (tầng cây) là P thì sẽ có số tổng các đơn vị xử lý là n=2p-1, tức là số tầng cây P xấp xỉ bằng P=logn

*Mạng kết nối siêu lập thể n- chiều

Mạng kết nối này còn gọi là kết nối n- cup nhị paahn (binary n-cube) vì nếu có n chiều thì có 2n đơn vị xử lý kết nối trong khối lập thể Nếu n=3 thì có 8 đơn vị xử lý

b) Các bộ xử lý có cấu trúc ống (pipeline processor)

- bộ XL ống gồm có 1 chuỗi liên tiếp các mạch xử lý mà các mạch xử lý đó thường đgl phân đoạn hay tầng Thông qua chuỗi này, dòng toán hạng đc xử lý Mỗi phân đoạn xử lý từng phần của các toán hạng và các kết quả cuối cùng chỉ nhận đc khi toàn bộ chuỗi các toán hạng đã đi qua hết các phân đoạn của ống

Trang 9

- Mỗi phân đoạn x.lý từng phần các toán hạng và k.quả cuối cùng chỉ nhận đc khi toàn bộ chuỗi các toán hạng đã

đi qua hết các phân đoạn của ống

Thanh ghi ra, (R)

Cấu trúc của BVXL ống:

Phân đoạn m, (Sm)

Phân đoạn 2, (S2)

Phân đoạn 1, (S1)

Các thanh ghi Ri là những bộ đệm nhận d.liệu Di – 1 (là các kết quả tính đc trong c.kì xung nhịp đồng hồ trc của các đvị tính Ci – 1) từ phân đoạn Si – 1, ngoại trù các thanh ghi Ri nhận d.liệu bên ngoài ống

- Một đường ống lệnh đơn giản có thể đc tổ chức gồm 2 phân đoạn: phân đoạn đọc lệnh (S1) và phân đoạn thực hiện lệnh (S2)

Một đường ống lệnh cơ bản có thể hình thành nhờ phân theo chu kì lệnh: đọc lệnh(S1), giải mã lệnh(S2), đọc các toán hạng(S3), thực hiện lệnh (S4), cất giữ kết quả (S5) Đến bộ nhớ

Câu 11: Hệ thống đa xử lý Tổ chức hệ điều hành trong hệ thống đa xử lý Các kiến trúc AMP (Asymmetric MultiProcessing), SMP (Symmetric MultiProcessing).

- Hệ thống đa xử lý:

Máy tính có nhiều bộ xử lý cùng chia xẻ hệ thống đường truyền dữ liệu, đồng hồ, bộ nhớ và các thiết

bị ngoại vi Mỗi CPU sẽ thực hiện một công việc và khi đó các công việc sẽ thực sự diễn ra đồng thời.

Hệ thống đa xử lý còn gọi là hệ thống xử lý song song (Parallel Systems)

+ Tăng thông suất : tăng số tác vụ hoàn tất trong 1 đơn vị thời gian, bằng cách tăng số lượng bộ xử lý, chúng ta hy vọng thực hiện nhiều công việc hơn với thời gian ít hơn.

+ Tiết kiệm: Nhiều CPU nhưng chung bộ nhớ và các thiết bị ngoài Ví dụ: Nếu nhiều chương trình điều hành trên cùng tập hợp dữ liệu thì lưu trữ dữ liệu đó trên một đĩa và tất cả bộ xử lý chia sẻ chúng

sẽ rẻ hơn là có nhiều máy tính với đĩa cục bộ và nhiều bản sao dữ liệu.

+ Tăng độ tin cậy: Nếu 1 CPU gặp sự cố, hệ vẫn chạy tuy có chậm hơn Ví dụ: Nếu chúng ta có 10 bộ

xử lý và có 1 bộ xử lý bị sự cố thì mỗi bộ xử lý trong 9 bộ xử lý còn lại phải chia sẻ của công việc của

bộ xử lý bị lỗi Do đó, toàn bộ hệ thống chỉ giảm 10% năng lực hơn là dừng hoạt động Các hệ thống được thiết kế như thế được gọi là hệ thống có khả năng chịu lỗi (fault tolerant)

- Tổ chức hệ điều hành trong hệ thống đa xử lý

+ AMP (Đa xử lý đối xứng): Có nhiều CPU cùng vận hành và sử dụng chung bộ nhớ, thiết bị Các CPU này ngang hàng về chức năng

+ SMP (Đa xử lý phi đối xứng): Các CPU sử dụng chung bộ nhớ, thiết bị Mỗi CPU thực hiện 1 chức năng riêng Có 1 CPU Master điều phối công việc cho các CPU Slaves còn lại.

- Các kiến trúc AMP (Asymmetric MultiProcessing), SMP (Symmetric MultiProcessing).

+ AMP: Các CPU này ngang hàng về chức năng

+ SMP: Mỗi CPU thực hiện 1 chức năng riêng Có 1 CPU Master điều phối công việc cho các CPU Slaves còn lại.

Ngày đăng: 16/12/2016, 05:05

TỪ KHÓA LIÊN QUAN

w