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

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

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

Thông tin tài liệu

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

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

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

Từ khóa liên quan

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

Tài liệu liên quan