BÀI tập lớn KIẾN TRÚC máy TÍNH NÂNG CAO

17 537 0
BÀI tập lớn KIẾN TRÚC máy TÍNH NÂNG CAO

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

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

Thông tin tài liệu

BÀI TẬP LỚN KIẾN TRÚC MÁY TÍNH NÂNG CAO Đề số 9: High-Bandwidth Address Translation for Multiple-Issue Processors (của Todd M Austin & Gurindar S Sohi) Học viên thực hiện: Phạm Hoàng Dũng Mã số học viên: 09070427 Giáo viên hướng dẫn: TS Đinh Đức Anh Vũ Tóm lược: Phiên dịch địa (address translation) cấu tối quan trọng hệ thống máy tính ngày Quá trình cung cấp cho hệ điều hành cấu ánh xạ bảo vệ cần thiết để quản lý nhiều không gian địa lớn riêng tư nhớ vật lý có kích thước giới hạn Trong thực tế, hầu hết vi xử lý thực cấu phiên dịch địa độ trễ thấp đệm dịch nhìn thêm (translation lookaside buffer _ TLB) TLB thứ cache, thường loại kết hợp cao (highly-associative), chứa mục liệu (entry) bảng trang nhớ ảo mô tả địa vật lý trang nhớ ảo quyền truy cập tình trạng tham chiếu (tức reference bit dirty bit) Địa trang ảo truy cập nhớ dùng để xác định mục TLB; địa trang ảo có TLB (tức gặp TLB hit), TLB nhanh chóng hồi đáp kết phiên dịch Nếu gặp tham chiếu trúng TLB (TLB miss), xử lý miss phần cứng phần mềm gọi đến để duyệt qua bảng trang nhớ ảo nhằm xác định kết phiên dịch để nạp vào TLB Mục tiêu việc thiết kế TLB giữ cho độ trễ phiên dịch địa cách xa đường tới hạn truy cập nhớ Trong khứ, người ta đạt mục tiêu cách tạo TLB độ trễ thấp (low-latency TLB) Công việc tương đối dễ thực hiện, hầu hết kiểu TLB đơn cổng nhỏ, chứa liệu 32 mục Để cố gắng làm tăng hiệu hệ thống, kiểu thiết kế vi xử lý đời liên tục khai thác mức độ song song mức-lệnh (instruction-level parallelism _ ILP) cao hơn, khiến yêu cầu thông lượng (bandwidth) cấu dịch địa (address translation mechanism) tăng lên Bản chất khối lượng công việc thay đổi, có khuynh hướng sử dụng mã lệnh có tập liệu lớn tính lân cận (locality) thấp, làm cho tỷ lệ tham chiếu trúng TLB (TLB hit rate) thấp (Ví dụ môi trường cho phép đa nhiệm, lập trình đa luồng ứng dụng đa phương tiện) Hầu hết kiểu vi xử lý đáp ứng yêu cầu TLB đa-cổng (multi-ported) Tuy giải pháp có tỷ lệ tham chiếu trúng tốt cổng, số cổng tăng lên độ trễ diện tích tăng nhanh Khi yêu cầu thông lượng tiếp tục gia tăng, kiểu đa-cổng nhanh chóng ảnh hưởng xấu đến độ trễ truy cập nhớ Do đó, cần phải có cấu phiên dịch địa mới, tốt Các tác giả báo đề xuất bốn cấu phiên dịch địa thông lượng cao (high-bandwidth), có đặc tính độ trễ diện tích tốt so với kiểu TLB đa cổng đơn giản nói Họ mở rộng kỹ thuật thiết kế nhớ thông lượng cao truyền thống dành cho phiên dịch địa chỉ, xây dựng kiểu TLB đan xen (interleaved) đa mức (multi-level) Ngoài ra, họ giới thiệu hai kiểu mới, sáng chế đặc biệt cho phiên dịch địa thông lượng cao, kiểu TLB có cổng ăn theo (piggyback port) có cấu phiên dịch trước (pretranslation) Mục tiêu kiểu cấu phiên dịch phiên dịch truy cập nhớ liệu vào cache lập tag vật lý (physically tagged) Còn phiên dịch lấy lệnh (instruction fetch translation) vấn đề dễ dàng nhiều, cấu lấy lệnh thường bị hạn chế tất lệnh lấy chu kỳ phải trang nhớ ảo, cần nhiều phiên dịch chu kỳ Nó giải dễ dàng kiểu TLB lệnh đơn cổng micro-TLB nhỏ, thực TLB thống dành cho liệu lệnh Các tác giả đánh giá kiểu thiết kế cách thực thử nghiệm bao quát dựa mô Họ thay đổi thông số hệ thống, chẳng hạn kiểu xử lý, kích thước trang, số lượng ghi kiến trúc (architected register), để xem xét ảnh hưởng thay đổi phẩm chất tương đối kiểu thiết kế Ảnh hưởng phiên dịch địa lên hiệu hệ thống Trước hết, tác giả xây dựng mô hình để đo hiệu phiên dịch địa cách định tính, dùng thứ khung sườn chung cho cấu phiên dịch địa Họ xây dựng cấu phiên dịch địa dựa theo khung sườn để dễ dàng thấy tính ảnh hưởng đến hiệu phiên dịch địa chỉ, thấy hiệu phiên dịch địa ảnh hưởng hiệu hệ thống Hình minh họa khung sườn dành cho cấu phiên dịch địa họ Ở cấp cao nhất, lõi xử lý (processor core) thi hành chương trình tỷ lệ fMEM toàn lệnh thao tác truy cập nhớ Mỗi chu kỳ, lõi xử lý tạo đến M yêu cầu dịch địa Một tỷ lệ fshielded yêu cầu phục vụ cấu che chắn (shielding mechanism) Cơ cấu che chắn thiết bị dịch có độ trễ thấp thông lượng cao, thỏa mãn yêu cầu phiên dịch mà không: 1) ảnh hưởng đến độ trễ việc truy cập nhớ, 2) gửi chuyển tiếp yêu cầu đến cấu TLB (base TLB mechanism) Vì thế, cấu che chắn đóng vai trò chắn (shield) cho cấu TLB nền, lọc phần fshielded tất yêu cầu phiên dịch Cơ cấu che chắn hiệu làm giảm đáng kể yêu cầu thông lượng cấu TLB Có thể sử dụng ba cấu che chắn sau đây: TLB mức (L1 TLB), cổng ăn theo (piggyback port), phiên dịch trước (pretranslation) Những yêu cầu phiên dịch không xử lý cấu che chắn chuyển đến cấu TLB (base TLB), vốn phục vụ đến N yêu cầu chu kỳ phiên dịch Cơ cấu TLB hoạt động giống hệt TLB truyền thống, cung cấp khả truy cập nhanh đến mục bảng trang cách dùng cấu trúc cache độ trễ thấp Tuy nhiên, cách tổ chức dùng báo phi truyền thống, thí dụ theo kiểu đan xen (interleaved), nhằm mục đích tăng thêm thông lượng Nếu có cổng TLB rảnh việc phiên dịch tiến hành Nếu cổng rảnh, yêu cầu xếp hàng có cổng rảnh, việc phiên dịch tiến hành Cơ cấu xếp hàng sử dụng tùy theo mô hình xử lý, ví dụ xử lý phát lệnh không thứ tự (out-of-order issue processor) xếp hàng yêu cầu phiên dịch đệm xếp lại nhớ (memory re-order buffer), xử lý phát lệnh thứ tự (in-order issue processor) xếp hàng yêu cầu cách trì hoãn ống lệnh Các yêu cầu xếp hàng để đợi cổng thời gian trễ trung bình tstalled Độ lớn tstalled định thông lượng cấu phiên dịch địa _ với thông lượng không giới hạn tstalled không, với thông lượng giới hạn lớn không fMEM fTOL fshielded fstalled dịch địa Hình 1: Mô hình khung cấu phiên tTLBhit, MTLB, TTLBmiss Hình 1: Mô hình khung cấu phiên dịch địa Thông lượng ảnh hưởng thời gian trễ xếp hàng xử lý điều phức tạp, tùy thuộc vào tần suất độ phân tán yêu cầu thiết bị phiên dịch Các tác giả đo đạc ảnh hưởng thông qua kiểu mô định thời mô tả chi tiết mục Sau yêu cầu phiên dịch cấu TLB phục vụ, yêu cầu trúng (hit) TLB với tỷ lệ (1 – MTLB) phục vụ với thời gian trễ tTLBhit Lượng yêu cầu lại trật TLB với tỷ lệ MTLB phục vụ với thời gian trễ tTBLmiss Theo mô hình phiên dịch địa này, độ trễ trung bình yêu cầu phiên dịch (như nhìn thấy lõi xử lý), tAT, là: tAT = (1 - fshielded)*(tstalled + tTLBhit + MTLB * tTLBmiss) Ảnh hưởng độ trễ cấu phiên dịch địa nhìn thấy lõi xử lý giảm bớt nhờ hai yếu tố: 1) khả chịu đựng trễ xử lý, 2) ảnh hưởng tương đối độ trễ truy cập nhớ so với độ trễ khác Vì thế, ảnh hưởng lên hệ thống độ trễ phiên dịch địa chỉ, đo theo thời gian trung bình lệnh trễ phiên dịch địa chỉ, TPIAT, là: TPIAT = fMEM * (1 – fTOL) * tAT fTOL tỷ lệ độ trễ phiên dịch địa mà lõi xử lý chịu đựng Khối lượng công việc mô hình xử lý ảnh hưởng đến mức độ chịu đựng trễ lõi xử lý Nếu khối lượng công việc tỏ có đủ mức độ song song mô hình thi hành có khả chịu đựng trễ, ảnh hưởng của độ trễ phiên dịch địa hiệu tổng thể giảm thiểu Các mô hình xử lý có khả chịu đựng độ trễ cao bao gồm mô hình cho phép phát lệnh không thứ tự (out-of-order issue), truy cập nhớ không phân khối (no-blocking memory access), thi hành đoán (speculative execution) Cuối cùng, fMEM tỷ lệ động tất lệnh mà truy cập nhớ Tỷ lệ bị ảnh hưởng khối lượng công việc, số lượng ghi kiến trúc, khả sử dụng ghi cách hiệu trình biên dịch Những chương trình mà truy cập nhớ thường xuyên cần có hiệu phiên dịch địa tốt đạt hiệu hệ thống tốt Tóm lại, hiệu cấu phiên dịch địa bị ảnh hưởng: 1) khả che chắn yêu cầu truy cập tới cấu phiên dịch nền, 2) độ trễ thông lượng thiết bị phiên dịch Tuy nhiên, tác động hệ thống hiệu phiên dịch địa phụ thuộc vào việc truy cập nhớ chương trình khả chịu đựng trễ xử lý Các cấu phiên dịch địa thông lượng cao tác giả đề xuất Các cấu tác giả đề xuất rơi vào hai nhóm: 1) kiểu mà mở rộng kiểu nhớ thông lượng cao truyền thống sang lĩnh vực phiên dịch địa chỉ, 2) kiểu chế tạo đặc biệt cho phiên dịch địa thông lượng cao Trước đó, người ta tìm nhiều kỹ thuật để cung cấp khả truy cập nhớ thông lượng cao, tài liệu lẫn thực tiễn Những cách tiếp cận phổ biến cấu trúc nhớ đa cổng (multi-ported) [SF91], đan xen (interleaved) [Rau91], đa mức (multi-level) [JW94] Các tác giả mở rộng cách tiếp cận sang lĩnh vực phiên dịch địa Hình 2: Các kiểu nhớ đệm thông lượng cao truyền thống: a) đa cổng, b) đan xen, c) đa mức Các tác giả đề xuất hai kỹ thuật mới: cổng ăn theo (piggyback port) phiên dịch trước (pretranslation) Cổng ăn theo kỹ thuật để khai thác mức độ lân cận không gian cao yêu cầu phiên dịch đồng thời Cách cho phép thực truy cập đồng thời vào trang nhớ ảo để kết hợp yêu cầu chúng cổng truy cập TLB Phiên dịch trước kỹ thuật để liên kết kết phiên dịch với giá trị ghi nền, khiến sử dụng lại nhiều lần kết phiên dịch Tất cấu phiên dịch địa thông lượng cao mà tác giả đề xuất nhằm dành cho hệ thống sử dụng cache lập tag vật lý, tức hệ thống đòi hỏi phải có phiên dịch cho thao tác truy cập nhớ Các cache địa ảo không đòi hỏi phải có phiên dịch cho thao tác truy cập nhớ; việc phiên dịch địa không thực liệu lấy từ thiết bị lưu trữ vật lý, chẳng hạn truy cập cache mức hai đánh địa vật lý nhớ Như cache địa ảo loại trừ mối bận tâm thông lượng lẫn độ trễ, nhiên có hai nhược điểm đáng kể khiến không sử dụng hệ thống đời thực: 1) có địa đồng nghĩa (synonym), 2) thiếu khả hậu thuẫn bảo vệ Hơn nữa, cho dù cache địa ảo chấp nhận nữa, nhiều khả người ta sử dụng cấu trúc kiểu TLB để thực cấu bảo vệ, vốn đòi hỏi thiết bị thông lượng cao giống cấu tác giả mô tả Do đó, tác giả tập trung nghiên cứu kiểu phiên dịch địa dành cho cache lập tag vật lý 3.1 TLB đa cổng TLB đa cổng, minh họa Hình 2a, dùng cách tiếp cận cục súc thô bạo (brute force) để có thông lượng cao Mỗi cổng trang bị đường truy cập liệu riêng đến mục TLB, điều thực cách chép toàn cấu trúc TLB (tức dùng TLB đơn cổng cho cổng nó), dùng nhiều cổng cho ngăn chứa TLB Bởi mục TLB truy cập từ cổng thiết bị, nên kiểu cung cấp hit rate tốt cho cổng (MTLB thấp) Tuy nhiên, tải trọng dung kháng trở kháng đường truy cập gia tăng theo số lượng cổng thiết bị [WE88], dẫn đến độ trễ truy cập (tTLBhit) dài số lượng cổng mục TLB tăng lên Ngoài ra, kiểu chịu phí tổn diện tích lớn cần có thêm nhiều dây dẫn so sánh để thực cổng (Trong công nghệ CMOS, diện tích thiết bị đa cổng tỷ lệ thuận với bình phương số cổng [Jol91]) Tuy có nhược điểm độ trễ truy cập diện tích thực vậy, kiểu cung cấp thông lượng hit rate tốt tất kiểu, vậy, thứ chuẩn mực tiện lợi để đo hiệu kiểu khác mà tác giả đề xuất 3.2 TLB đan xen TLB đan xen, minh họa Hình 2b, sử dụng mạch nối (interconnect) để phân phối dòng địa cho nhiều dải TLB (TLB bank) TLB Mỗi dải TLB phục vụ cách độc lập yêu cầu chu kỳ phiên dịch Kiểu cung cấp khả truy cập thông lượng cao truy cập đồng thời ánh xạ đến dải khác Cách ánh xạ địa trang ảo dải TLB qui định hàm chọn dải (bank selection function) Hàm ảnh hưởng tới phân bố truy cập vào dải, thế, ảnh hưởng đến thông lượng phân phối thiết bị Trong đánh giá tác giả, họ xem xét cách chọn bit (bit selection), vốn sử dụng phần địa trang ảo để chọn lựa dải, lẫn cách gấp XOR (XOR-folding), vốn ngẫu nhiên hóa việc phân phối dải cách XOR với phần địa trang ảo Do cấu trúc nó, TLB đan xen không kết hợp đầy đủ (fully-associative), trang cụ thể nằm dải Mức độ kết hợp phải bị giới hạn mức độ kết hợp dải riêng lẻ Do đó, MTLB kiểu cao MTLB kiểu khác kích thước tổ chức có tính kết hợp hơn, điều dẫn tới độ trễ phiên dịch trung bình dài Tuy nhiên, tác hại tối thiểu TLB đan xen giữ tính kết hợp cao Kiểu nhiều khả có đặc điểm độ trễ diện tích tốt kiểu TLB đa cổng, đặc biệt TLB lớn Tuy mạch nối, thông thường full crossbar (một mạng lưới đường dẫn nối với toàn dải), làm phát sinh thêm thời gian trễ cho đường truy cập, độ trễ giảm thiểu nhờ độ trễ truy cập ngắn dải TLB đơn cổng, nhỏ (so với TLB đa cổng) Phí tổn diện tích tập trung mạch nối; full crossbar diện tích thực tỷ lệ thuận với bình phương số cổng truy cập Đối với lượng cổng nhỏ hơn, kích thước có lẽ không lớn 3.3 TLB đa mức TLB đa mức, minh họa Hình 2c, cung cấp khả phiên dịch độ trễ thấp thông lượng cao cách khai thác tính lân cận tham chiếu chương trình Khi mục cấu TLB (L2 TLB) tham chiếu, mục đặt vào TLB nhỏ cấp cao (L1 TLB) Mỗi L1 TLB đóng vai trò cấu che chắn; cung cấp hit rate tốt, che chắn cho L2 TLB khỏi tất truy cập mà hit L1 TLB, làm giảm đáng kể yêu cầu thông lượng L2 TLB Khi truy cập miss L1 TLB, phải gửi chuyển tiếp yêu cầu đến L2 TLB, nơi mà tranh giành cổng truy cập L2 TLB, độ trễ truy cập L2 TLB, độ trễ miss L2 TLB làm tăng độ trễ tổng thể truy cập Do L1 TLB nhỏ thôi, nên dùng sách thay hiệu (ví dụ thay LRU L1 TLB thay thay tùy ý _ random replacement _ L2 TLB), vốn cải thiện hit rate L1 TLB L1 TLB TLB đa cổng có vừa đủ cổng để xử lý tất yêu cầu đồng thời từ lõi xử lý Bằng cách giữ cho L1 TLB nhỏ, cung cấp khả truy cập vừa thông lượng cao vừa độ trễ thấp vào tất mục Phí tổn phải chịu thêm diện tích kiểu tập trung việc thực L1 TLB, vốn nhỏ nhiều so với L2 TLB kích thước nhỏ cổng 3.4 Các cổng ăn theo (piggyback port) Các cổng ăn theo, minh họa Hình 3a, khai thác tính lân cận không gian yêu cầu phiên dịch địa đồng thời Khi yêu cầu đồng thời đến cổng TLB, yêu cầu có địa trang ảo giống thỏa mãn thao tác truy cập TLB Để thực việc ăn theo, địa trang ảo yêu cầu phiên dịch bị ách lại so sánh với địa trang ảo của yêu cầu phiên dịch thi hành Một yêu cầu bị ách lại dùng kết phiên dịch thi hành địa trang ảo chúng trùng Đối với cổng đơn, tín hiệu phát hit từ cổng TLB AND với kết việc so sánh địa trang ảo Giả sử hai yêu cầu phiên dịch thi hành vùng bảo vệ, trường khác yêu cầu phiên dịch, tức trường thông tin bảo vệ trường tình trạng trang, gửi chuyển tiếp đến yêu cầu phiên dịch có địa trang ảo trùng khớp Hình 3: Các kiểu chế tạo riêng cho phiên dịch địa thông lượng cao: a) cổng ăn theo, b) phiên dịch trước Các cổng ăn theo có tác hại tối thiểu độ trễ phiên dịch Sau yêu cầu phiên dịch gửi đến TLB, tất yêu cầu khác so sánh địa ảo song song (cùng lúc) với việc truy cập TLB yêu cầu Kết là, tác hại độ trễ phiên dịch giới hạn mức độ trễ việc AND với tín hiệu TLB hit mà Phí tổn cho diện tích nhỏ, giới hạn mức diện tích so sánh cổng AND tín hiệu hit cổng ăn theo mà 3.5 Phiên dịch trước (pretranslation) Phiên dịch trước cấu che chắn mà cho phép yêu cầu phiên dịch sử dụng cho nhiều truy cập nhớ Hình minh họa lý thuyết tảng cho cách tiếp cận Các thao tác load store truy cập nhớ thông qua trỏ ghi: truy cập global thông qua trỏ global [CCH+87], truy cập stack thông qua trỏ stack, tất tham chiếu khác thông qua trỏ ghi phổ dụng Các trỏ tạo biến tham chiếu, địa đọc lấy, nhớ động cấp phát Trong chu kỳ sống trỏ, giải tham chiếu (dereference) thao tác load store, tác động vào (manipulate) phép toán số học số nguyên Trải qua suốt chu kỳ sống trỏ đó, giải tham chiếu tác động nhiều lần Trong cấu phiên dịch địa dựa TLB truyền thống, yêu cầu phiên dịch địa đưa tới TLB lần trỏ giải tham chiếu, yêu cầu sau nhiều yêu cầu phiên dịch Với giải pháp phiên dịch trước, tác giả liên kết kết phiên dịch với giá trị ghi vào lần giải tham chiếu giá trị đó, tức vào thao tác load store sử dụng ghi giá trị ghi Vào lần tham chiếu sau này, thao tác load store dùng kết phiên dịch trước liên kết với giá trị ghi địa trang ảo truy cập nhớ trùng khớp với địa trang ảo kết phiên dịch liên kết Khi trỏ tác động phép toán số học, kết phiên dịch liên kết truyền đến giá trị ghi đích Cơ chế dịch trước cung cấp thông lượng cao chừng trỏ ghi sử dụng lại thường xuyên trỏ tới trang nhớ ảo Vì vậy, yêu cầu phiên dịch từ cấu TLB sử dụng nhiều lần Hình 4: Vòng đời trỏ (thanh ghi) Hình a) cho thấy đoạn mã lệnh C trỏ p dần bước qua array Hình b) minh họa thao tác mà xảy suốt thời gian sống trỏ p Trong Hình 3b, kiểu phiên dịch trước tác giả tích hợp vào ống lệnh vi xử lý Các kết phiên dịch trước truy cập song song với truy cập vào tập ghi giai đoạn giải mã lệnh, khiến cho kết phiên dịch trước có sẵn trước bắt đầu thi hành lệnh Nếu lệnh thi hành thao tác số học, kết phiên dịch trước liên kết vào giá trị ghi kết Đối với thao tác load store, kết phiên dịch trước, có, dùng để lược bỏ truy cập TLB địa trang ảo trùng khớp Nếu địa trang ảo không trùng khớp, yêu cầu phiên dịch gửi chuyển tiếp đến cấu phiên dịch Kết việc phiên dịch liên kết vào giá trị ghi Có hai điều cần cân nhắc ảnh hưởng đến kiểu cấu dùng để liên kết kết phiên dịch trước với giá trị ghi Thứ nhất, giá trị trỏ tham chiếu nhiều trang Một chế thích hợp để liên kết nhiều kết phiên dịch vào ghi làm cải thiện hiệu năng, chẳng hạn vài bit từ độ lệch kết hợp với mã nhận diện ghi để tạo thành mã nhận diện kết phiên dịch trước Thứ hai, vào thời điểm bất kỳ, số ghi chứa giá trị trỏ thôi, thus, không cần phải cấp phát dung lượng nhớ cho ghi Chỉ cần dùng cache nhỏ (mà tác giả gọi cache phiên dịch trước _ pretranslation cache) đủ để chứa kết phiên dịch trước Nếu cache giữ cho nhỏ thôi, tạo điều kiện để truy cập thông lượng cao độ trễ thấp vào kết phiên dịch trước Mọi thay đổi trạng thái nhớ ảo, chẳng hạn cách ánh xạ địa chỉ, kích thước trang, quyền truy cập, phải phản ánh cache phiên dịch trước này, không không phát truy cập không Nếu thay đổi trạng thái nhớ ảo không thường xuyên, việc xóa (flush) cache phiên dịch trước có thay đổi xảy xong Cơ cấu phiên dịch trước xem mở rộng cache địa rẽ nhánh (branch address cache _ BAC) Chiueh Katz [CK92], vốn áp dụng chế để làm giảm độ trễ truy cập cache lập mục vật lý Kiểu phiên dịch trước tác giả mở rộng kỹ thuật BAC để cung cấp khả phiên dịch thông lượng cao Bằng cách liên kết địa trang ảo vào giá trị ghi, không cần phải truy cập cấu TLB để xác nhận tính đắn việc sử dụng địa trang vật lý liên kết Giống BAC, kiểu phiên dịch trước mà tác giả đề xuất cung cấp địa trang vật lý vào cuối giai đoạn giải mã lệnh Vì vậy, dùng để truy cập cache lập mục vật lý mà không làm tăng độ trễ phiên dịch địa Kiểu phiên dịch trước mà tác giả đề xuất đưa hai sửa đổi vào cấu BAC nguyên thủy Thứ nhất, kiểu phiên dịch trước họ theo dõi lệnh mà tạo giá trị trỏ, truyền kết dịch trước toán hạng đến ghi kết Biện pháp tối ưu hóa cần thiết để có hiệu tốt mã lệnh tối ưu hóa mà thao tác chép ghi thường xảy ra, ví dụ lập lịch biểu cho lệnh trải vòng lặp (loop unrolling) Thứ hai, họ sử dụng cache nhỏ để lưu trữ kết phiên dịch trước thay dùng BAC lớn Bởi vào thời điểm bất kỳ, phần tất ghi chứa giá trị trỏ thôi, nên cache phiên dịch trước nhỏ nhắn họ cung cấp hit rate tốt Đánh giá thực nghiệm Các tác giả đánh giá phẩm chất tương đối kiểu phiên dịch địa thông lượng cao cách mở rộng mô hình mô định thời chi tiết để hậu thuẫn cấu phiên dịch đề xuất cách xem xét hiệu chương trình chạy mô hình mô mở rộng Họ thay đổi kích thước trang, kiểu phát lệnh xử lý, số ghi kiến trúc để xem ảnh hưởng mà thông số hệ thống có cấu phiên dịch Tất kết trình bày mục giá trị trung bình đo theo thời gian chạy tất trình đo kiểm (benchmark) 4.1 Phương pháp đánh giá Mô hình mô (baseline simulator) tác giả thi hành lệnh cấp người dùng, thực mô định thời chi tiết vi xử lý superscalar 8đường cấp nhớ cache liệu lệnh Mô hình mô hậu thuẫn hai mô hình thi hành phát lệnh thứ tự không thứ tự Việc mô điều khiển thông qua thi hành, kể việc thi hành lộ trình đoán (speculative path) phát page fault, TLB miss, tiên đoán sai Mô hình phát lệnh thứ tự không cung cấp chế đổi tên (renaming) trì hoãn (stall) có rủi ro liệu (data hazard) xảy ghi Mô hình không thứ tự sử dụng nhớ đệm thứ tự lại (re-order) 64 mục vốn thực ghi đổi tên trữ kết lệnh thi hành xong chờ lệnh khác thi hành (để lại thứ tự) Các thao tác load store đặt vào hàng đợi load/store 32 mục Các thao tác store thi hành tất toán hạng sẵn sàng; giá trị chúng, đoán, đặt vào hàng đợi load/store Các thao tác load thi hành tất địa store trước tính xong; giá trị chúng đến từ thao tác store trùng khớp trước hàng đợi store từ cache liệu Các thao tác load đoán làm phát sinh cache miss địa chúng hit TLB Nếu thao tác load sau bị bác đi, cache miss hoàn tất Tuy nhiên, TLB miss đoán không phép Tức là, truy cập cache đoán bị miss TLB, việc phát lệnh bị đình lại lệnh mà phát TLB miss bị bác commit Mỗi chu kỳ, nhớ đệm re-order commit đến kết có thứ tự vào ghi kiến trúc Khi thao tác store commit, giá trị store ghi vào cache liệu Cache liệu mô hình hóa cache không chia khối (non-blocking) kiểu two-way set-associative bốn cổng dung lượng 32k Các tác giả thực số thay đổi cho mô hình mô để hậu thuẫn cấu phiên dịch địa thông lượng cao Các kiểu mà họ khảo sát, với tên gợi nhớ chúng, liệt kê Bảng Bảng 1: Các kiểu phiên dịch địa phân tích Tên gợi nhớ Mô tả T4 TLB 4-cổng, 128 mục, fully-associative, thay tùy ý T2 TLB 2-cổng, 128 mục, fully-associative, thay tùy ý T1 TLB 1-cổng, 128 mục, fully-associative, thay tùy ý I8 TLB 8-way chọn bit đan xen, 128 mục (mỗi dải 16 mục fully-associative), thay tùy ý dải I4 TLB 4-way chọn bit đan xen, 128 mục (mỗi dải 32 mục fully-associative), thay tùy ý dải X4 TLB 4-way chọn-XOR đan xen, 128 mục (mỗi dãy 32 mục fully-associative), thay tùy ý dải M16 L1 TLB 4-cổng 16-mục thay kiểu LRU, L2 TLB 128-mục, fullyassociative, thay tùy ý M8 L1 TLB 4-cổng 8-mục thay kiểu LRU, L2 TLB 128-mục, fullyassociative, thay tùy ý M4 L1 TLB 4-cổng 4-mục thay kiểu LRU, L2 TLB 128-mục, fullyassociative, thay tùy ý P8 Cache phiên dịch trước 4-cổng 8-mục thay kiểu LRU, L2 TLB 128-mục, fully-associative, thay tùy ý PB2 TLB 2-cổng với cổng piggyback, 128 mục, fully-associative, thay tùy ý PB1 TLB 1-cổng với cổng piggyback, 128 mục, fully-associative, thay tùy ý I4/PB TLB 4-way chọn bit đan xen với dải piggyback, 128 mục (32 mục/dải), thay tùy ý dải 4.2 Các chương trình phân tích Khi chọn lựa tiêu chuẩn để đánh giá, tác giả tìm kiếm chương trình có hiệu hệ thống nhớ hay thay đổi, tức chương trình có liệu lớn nhỏ có tính lân cận tham chiếu cao thấp Các chương trình Compress, Doduc, Espresso, Tomcatv, Xlisp lấy từ phần mềm đo kiểm SPEC’92 Ghostscript chương trình xem postscript, chuyển trang có văn hình ảnh đồ họa thành file đồ họa theo dạng thức PPM MPEG_play giải mã video MPEG hiển thị file video nén 79 khung hình Perl trình thông dịch ngôn ngữ kịch chạy chương trình kiểm thử TFFT thực phép biến đổi Fourier (FFT) thực phức tập liệu sinh ngẫu nhiên Ghostscript TFFT có tập liệu lớn nhất, khoảng 10 40 Mbytes Compress, MPEG play, TFFT có tính lân cận nhỏ dòng tham chiếu chúng; cache liệu nhỏ TLB có hiệu hoạt động ba chương trình 4.3 Hiệu hoạt động mô hình Hình cho thấy hiệu hoạt động tất kiểu chạy mô hình xử lý chuẩn, xử lý nổ 8-way phát lệnh không thứ tự có 32 ghi trang nhớ ảo kích thước 4k Giá trị IPC trung bình cho kiểu đánh giá theo thời gian chạy (được đo thời gian chạy T4 chu kỳ) Các giá trị IPC chuẩn hóa theo IPC kiểu TLB bốn cổng (T4) Kiểu T4 cung cấp phương thức đo kiểm thuận tiện phục vụ đến bốn yêu cầu phiên dịch chu kỳ, không làm phát sinh độ trễ thông lượng phiên dịch không đủ (Mô hình mô có cache liệu bốn cổng, việc truy cập cache thông suốt) Bởi mô định thời đến số chu kỳ thôi, nên ảnh hưởng chu kỳ xung nhịp mà kiểu có khả mở rộng (như T4) đưa vào bỏ qua Trên chung này, hiệu tương đối kiểu cấu phiên dịch cụ thể biểu thị cải thiện thời gian chu kỳ cần thiết để làm cho kiểu đáng để thực Hình 5: Hiệu tương đối mô hình mô Tất kết giá trị IPC trung bình đo theo thời gian chạy chuẩn hóa theo hiệu kiểu T4 Nhóm bên trái Hình kết đo đạc hiệu ứng với kiểu đa cổng, tức T4, T2, T1, với 4, 2, cổng Các kết cho thấy hệ thống mô nhạy cảm thông lượng phiên dịch địa Bởi kiểu TLB bốn cổng (T4) cung cấp tất thông lượng phiên dịch mà xử lý cần, nên hiệu tốt Với kiểu mà thông lượng phiên dịch nửa, tức TLB hai cổng (T2), IPC trung bình giảm 6% Với kiểu TLB đơn cổng (T1) hiệu giảm hẳn xuống 76% hiệu kiểu TLB bốn cổng (T4) Nhóm thứ hai Hình kiểu đa mức (tức M16, M8, M4) phiên dịch trước (P8) Hiệu TLB đa mức tốt Một L1 TLB với bốn mục so với L2 TLB đơn cổng chịu mức suy giảm IPC trung bình 4% Hình cho thấy kiểu TLB đa mức có hiệu tốt đến Hình cho thấy tỷ lệ trật (miss rate) trung bình đo theo thời gian chạy (được ghi nhãn RTW Avg) cho TLB fully-associative từ đến 128 mục Các TLB 4, 8, 16 mục sử dụng kiểu thay LRU (như thực cho L1 TLB 4, 8, 16 mục), TLB 32, 64, 128 mục sử dụng kiểu thay tùy ý (như thực cho cấu TLB 128 mục) Một L1 TLB bốn mục với kiểu thay LRU che chắn tất trừ 13.8% yêu cầu phiên dịch đến với L2 TLB Tác dụng việc che chắn làm giảm đáng kể yêu cầu thông lượng L2 TLB Những tham chiếu ỏi đến L2 TLB có độ trễ dài chút, mà chịu đựng cách hiệu xử lý phát lệnh không thứ tự Một chương trình, đáng ý Compress, MPEG play, TFFT, có hiệu thấp kiểu TLB đa mức Các chương trình có độ lân cận thấp dòng tham chiếu liệu, thấy tỷ lệ TLB miss lớn chúng Hình Hình 6: Các TLB miss rate Tất giá trị trình bày biểu thị tỷ lệ phần trăm tất tham chiếu trật (miss) TLB fully-associative Đường ghi nhãn RTW Avg miss rate trung bình đo theo thời gian chạy tất chương trình đo kiểm Tuy kiểu phiên dịch trước (P8) có hiệu tốt, tức mức suy giảm IPC trung bình 3%, song hiệu tổng thể tệ L1 TLB có kích thước Nhưng vài trường hợp cụ thế, chẳng hạn Compress GCC, kiểu phiên dịch trước có hiệu tốt L1 TLB có kích thước Những lợi ích khác cache phiên dịch trước, chẳng hạn việc đưa địa trang vật lý vào sớm khiến người ta muốn sử dụng kiểu nhiều Các kiểu TLB đan xen hiệu tốt kiểu đa mức, cung cấp thông lượng trung bình thấp so với TLB hai cổng (T2) Hiệu thấp xung đột dải (bank conflict) vốn làm trễ yêu cầu phiên dịch Việc gia tăng số dải (I8) sử dụng hàm chọn dải gấp XOR (X4) mang lại lợi ích nhỏ thôi, khiến ta kết luận nhiều truy cập đồng thời vào trang, gia tăng mức độ đan xen thay đổi hàm chọn dải loại trừ xung đột Các kiểu TLB có cổng ăn theo, tức PB2 PB1, có hiệu tốt so với kiểu đan xen Việc ăn theo TLB đơn cổng (PB1) làm IPC trung bình thấp 6% so với kiểu TLB bốn cổng (T4) Rõ ràng có nhiều truy cập đồng thời vào trang ảo Tuy nhiên, tất truy cập lúc tham chiếu đến trang ta thấy hiệu cải thiện kiểu TLB hai cổng có ăn theo (PB2) Kiểu thực hai phiên dịch độc lập chu kỳ, tất yêu cầu khác dùng kết hai phiên dịch Kiểu TLB hai cổng có ăn theo (PB2) có hiệu gần tốt kiểu TLB bốn cổng (T4) Kiểu I4/PB TLB đan xen có cổng ăn theo dải Kiểu kết hợp lợi ích bổ sung cho giải pháp đan xen ăn theo Đối với dòng địa có tính lân cận không gian nhỏ yêu cầu phiên dịch đưa đến dải khác phục vụ song song Đối với dòng địa có tính lân cận không gian tốt yêu cầu đến trang đưa đến dải chia sẻ kết phiên dịch cách dùng cổng ăn theo Kiểu có lẽ làm tăng độ trễ phiên dịch mức nhỏ nhất, cộng cổng ăn theo cộng cổng AND với tín hiệu phát hit (Việc so sánh địa trang ảo để xác định việc phiên dịch có xảy ăn theo song song với việc truy cập dải hay không) Như minh họa Hình 5, kiểu có hiệu tốt, làm giảm 1% IPC trung bình mà 4.4 Ảnh hưởng mô hình phát lệnh thứ tự Hình cho thấy hiệu kiểu TLB điều kiện giống Hình ngoại trừ việc xử lý bị ràng buộc phải dùng mô hình phát lệnh thứ tự Sự sửa đổi có hai ảnh hưởng trái ngược kết Thứ nhất, IPC trung bình xử lý phát lệnh thứ tự thấp đáng kể so với IPC trung bình xử lý phát lệnh không thứ tự, tức 1.156 so với 2.094 Hệ là, yêu cầu thông lượng cấu phiên dịch địa giảm thiểu Thứ hai, mô hình xử lý phát lệnh thứ tự chịu độ trễ hữu hiệu xử lý phát lệnh không thứ tự Vì vậy, nhạy cảm nhiều độ trễ phiên dịch địa không đủ thông lượng gây Hình trình bày kết thử nghiệm chạy xử lý phát lệnh 8-way Các kiểu TLB đa cổng, tức T4, T2, T1, cho thấy có giảm yêu cầu thông lượng phiên dịch địa Với TLB đơn cổng (T1), hiệu giảm đến 6% thấp so với hiệu TLB bốn cổng (T4) Các kiểu đa mức có hiệu tốt, hiệu L1 TLB mục (M4) bị ảnh hưởng mô hình phát lệnh thứ tự nhiều so với kiểu TLB (M8) 16 (M16) mục Kết nhiều khả khả chịu đựng độ trễ thấp mô hình phát lệnh thứ tự, vốn chịu đựng nhiều chu kỳ trễ mắc phải 13.8% tổng số truy cập nhớ phải phục vụ L2 TLB Mô hình phát lệnh không thứ tự chịu đựng độ trễ tốt nhiều so với mô hình thứ tự, dẫn đến hiệu tổng thể tốt Các kiểu đan xen có hiệu tốt nhiều mô hình phát lệnh thứ tự Yêu cầu thông lượng giảm kiểu đan xen làm giảm số lượng xung đột dải Các kiểu có cổng ăn theo có hiệu tốt hơn, kiểu PB2 I4/PB cho thấy suy giảm IPC trung bình Hình 7: Hiệu tương mô hình phát lệnh thứ tự 4.5 Ảnh hưởng kích thước trang gia tăng Một khuynh hướng gần thiết kế TLB gia tăng kích thước trang Kích thước trang gia tăng có số ảnh hưởng hiệu kiểu TLB Với số mục TLB có nhiều nhớ ánh xạ hơn, điều làm giảm số TLB miss cho TLB lẫn L1 TLB Kích thước trang gia tăng làm tăng tuổi thọ kết dịch trước, cho phép trỏ qua nhiều mục trước rời khỏi trang Các trang lớn ảnh hưởng đến việc chọn dải kiểu TLB đan xen, bit địa trước dùng để chọn dải trở thành phần độ lệch trang trang lớn Việc thay đổi hàm chọn ảnh hưởng đến việc phân phối truy cập vào dải TLB Hình 8: Hiệu tương trang kích thước 8k Hình cho thấy hiệu cấu phiên dịch chạy xử lý phát lệnh không thứ tự 8-way, khác trang có kích thước 8k thay 4k Hiệu kiểu TLB đa cổng không thay đổi tỷ lệ TLB miss không thay đổi Tỷ lệ miss với TLB 128 mục TLB có trang 4k vốn thấp Các kiểu TLB đa mức phiên dịch trước hưởng lợi từ kích thước trang lớn Các L1 TLB ánh xạ nhiều nhớ hơn, vậy, có tỷ lệ hit tốt hơn, cache phiên dịch trước hưởng lợi từ tuổi thọ phiên dịch trước dài Các kiểu TLB đan xen có hiệu xấp xỉ với trang 4k, có số dao động lớn trong hiệu chương trình thay đổi hàm họn bit Đúng mong đợi, kích thước trang lớn cải thiện hiệu kiểu có cổng ăn theo, tức PB2, PB1 I4/PB, kích thước trang lớn cung cấp nhiều hội cho yêu cầu phiên dịch ăn theo 4.6 Ảnh hưởng việc có ghi Một số kiến trúc sử dụng rộng rãi có ghi kiến trúc thôi, chẳng hạn kiến trúc x86 System/370 Để đánh giá tính hiệu cấu phiên dịch thông lượng cao kiến trúc này, tác giả đo hiệu chương trình đo kiểm biên dịch lại để dùng ghi số nguyên ghi dấu chấm động (một phần tư số lượng ghi bình thường) Ảnh hưởng việc có ghi số lượng thao tác load store tăng lên Hầu hết tham chiếu gửi đến chồng liệu trữ tạm (stack) khu vực global không gian địa nhớ liệu với mức độ lân cận không gian thời gian cao Kết thử nghiệm trình bày Hình Tất chạy mô thực xử lý phát lệnh không thứ tự với trang 4k Hình 9: Hiệu tương đối có ghi hơh (8 int /8 fp) Mặc dù có nhiều truy cập nhớ hơn, kiểu TLB đa mức có hiệu tốt Tuy nhiên kiểu TLB phiên dịch trước (P8) giảm hiệu với ghi tuổi thọ giá trị ghi trỏ bị rút ngắn nhiều phát sinh nhiều thao tác đổ liệu vào chứa tạm stack Khi trỏ đổ vào stack kết phiên dịch trước bị đi, phải gửi yêu cầu phiên dịch khác đến TLB đơn cổng nạp lại Hiệu kiểu TLB đan xen bị ảnh hưởng đáng kể, rớt xuống gần 10% tổng thể So sánh hiệu kiểu đa mức so với kiểu đan xen, ta kết luận việc có thêm nhiều tham chiếu khiến tính tính lân cận tăng lên Tuy nhiên, hiệu thấp kiểu TLB đơn cổng có ăn theo (PB1) chứng tỏ tham chiếu lân cận vào trang nhớ ảo Kiểu TLB đan xen ăn theo (I4/PB) có hiệu tệ chút, khiến ta kết luận truy cập phát sinh thêm tính lân cận không gian rải rác trang, điều vốn xảy cho khung stack lớn nhiều truy cập phát sinh thêm gửi đến khu vực liệu global lớn Kết luận Bốn cấu thay cho phiên dịch địa thông lượng cao trình bày báo này: TLB đan xen, TLB đa mức, cổng ăn theo, phiên dịch trước Các cấu phiên dịch có đặc điểm độ trễ diện tích tốt TLB đa cổng đơn giản, cung cấp cho nhà thiết kế hệ thống chọn lựa thiết kế tốt khuynh hướng kiến trúc tải trọng công việc khiến ngày khó trông cậy TLB đa cổng đơn giản cung cấp hiệu tốt Các tác giả thực đánh giá bao quát số kiểu thiết kế sử dụng cấu thông lượng cao Họ xem xét hiệu chúng theo nhiêu bối cảnh: với xử lý phát lệnh không thứ tự thứ tự, với trang kích thước lớn nhỏ, kiến trúc có nhiều ghi Nói chung, tác giả tìm vài kiểu cấu phiên dịch địa có hiệu ngang với TLB bốn cổng Các kiểu TLB đa mức có hiệu tốt ngoại trừ chương trình có tính lân cận tham chiếu Các kiểu đan xen có cổng ăn theo bổ sung cho nhau; TLB đan xen có ăn theo dải có hiệu tốt tất chương trình Riêng kiểu đan xen có hiệu nhiều truy cập đồng thời vào dải, mà hậu thuẫn cổng ăn theo phải thực dải Riêng kiểu cổng ăn theo có hiệu thấp so với TLB đơn cổng nhiều truy cập xảy đồng thời trang khác Một TLB hai cổng có ăn theo thay thích đáng cho TLB bốn cổng Kiểu phiên dịch trước có hiệu tốt, hiệu tệ so với kiểu TLB đa mức kích thước Những lợi điểm khác kiểu có lẽ thúc đẩy người ta sử dụng Các kết phiên dịch trước có sẵn từ sớm ống lệnh, tạo thuận tiện cho việc sử dụng cache lập mục vật lý mức cao Ngoài ra, việc liên kết thông tin địa với ghi vật lý trước thu nhận kết chúng có lợi ích khác nữa, ví dụ phân loại hoạt động vận hành máy truy cập thi hành, sử dụng thông tin địa để lảm rõ nghĩa tham chiếu vào nhớ Với mô hình phát lệnh thứ tự, yêu cầu thông lượng cấu phiên dịch giảm bớt, phải có thông lượng cao để cung cấp hiệu hệ thống tốt khả chịu đựng độ trễ thấp xử lý phát lệnh thứ tự Thông lượng giảm bớt động lức mạnh hơn, dẫn tới hiệu tổng thể tốt cho tất kiểu cấu phiên dịch Với trang cache có kích thước lớn (tức 8k thay 4k), kiểu đa mức, phiên dịch trước, có cổng ăn theo có hiệu tốt Các trang lớn cho phép L1 TLB ánh xạ nhiều không gian địa làm lợi cho việc phiên dịch trước trỏ xa cache trước kết phiên dịch trước không giá trị sử dụng Với ghi (tức ghi số nguyên ghi dấu chấm động thay 32 ghi số nguyên 32 ghi dấu chấm động), yêu cầu thông lượng cấu phiên dịch tăng mạnh Hầu tất kiểu đa mức phải chịu hiệu tồi Mức độ lân cận cao tham chiếu phát sinh thêm cho phép L1 TLB nhỏ phục vụ hầu hết thao tác load Kiểu phiên dịch trước có hiệu thấp với kiến trúc ghi tuổi thọ trỏ ghi ngắn Rõ ràng là, có nhiều giải pháp thay hiệu cho giải pháp thô bạo đa cổng hóa TLB Các kiểu trình bày báo cung cấp cho nhà thiết kế kiến trúc máy tính nhiều chọn lựa kiểu TLB đa cổng trở nên không thực tế Danh mục tài liệu tham khảo [CCH+87] F Chow, S Correll, M Himelstein, E Killian, and L Weber How many addressing modes are enough Proc of the 2nd International Symposium on Architectural Support for Programming Languages and Operating Systems, pages 117–121, October 1987 [CK92] T Chiueh and R H Katz Eliminating the address translation bottleneck for physical address cache Proc of the 5th International Symposium on Architectural Support for Programming Languages and Operating Systems, 27(9):137–148, October 1992 [Jol91] R Jolly A 9-ns 1.4 gigabyte/s, 17-ported CMOS register file IEEE J of SolidState Circuits, 25:1407–1412, October 1991 [JW94] N P Jouppi and S J.E.Wilton Tradeoffs in two-level on-chip caching Proc of the 21st Annual International Symposium on Computer Architecture, 22(2):34–45, April 1994 [Rau91] B R Rau Pseudo-randomly interleaved memory Proc of the 18th Annual International Symposium on Computer Architecture, 19(3):74–83, May 1991 [SF91] G S Sohi and M Franklin High-bandwidth data memory systems for superscalar processors Proc of the 4th International Conference on Architectural Support for Programming Languages and Operating Systems, pages 53–62, April 1991 [WE88] N.Weste and K Eshraghian Principles of CMOS VLSI Design: A Systems Perspective Addison–Wesley Publishing, 1988 [...]... và I4/PB, bởi vì kích thước trang lớn hơn cung cấp nhiều cơ hội hơn cho các yêu cầu phiên dịch ăn theo 4.6 Ảnh hưởng của việc có ít thanh ghi hơn Một số kiến trúc được sử dụng rộng rãi hiện nay có ít thanh ghi kiến trúc thôi, chẳng hạn như các kiến trúc x86 hoặc System/370 Để đánh giá tính hiệu quả của các cơ cấu phiên dịch thông lượng cao của mình đối với các kiến trúc này, các tác giả đã đo hiệu năng... độ lân cận cao trong các tham chiếu phát sinh thêm cho phép một L1 TLB nhỏ phục vụ hầu hết các thao tác load Kiểu phiên dịch trước có hiệu năng thấp với kiến trúc ít thanh ghi do tuổi thọ con trỏ thanh ghi ngắn hơn Rõ ràng là, có nhiều giải pháp thay thế hiệu quả cho giải pháp thô bạo là đa cổng hóa TLB Các kiểu được trình bày trong bài báo này sẽ cung cấp cho các nhà thiết kế kiến trúc máy tính nhiều... thêm có thể tính lân cận về không gian rải rác trên một trang, điều vốn có thể xảy ra cho những khung stack rất lớn hoặc khi nhiều truy cập phát sinh thêm được gửi đến một khu vực dữ liệu global lớn 5 Kết luận Bốn cơ cấu thay thế cho phiên dịch địa chỉ thông lượng cao đã được trình bày trong bài báo này: TLB đan xen, TLB đa mức, cổng ăn theo, và phiên dịch trước Các cơ cấu phiên dịch này đều có những... khuynh hướng về kiến trúc và tải trọng công việc khiến ngày càng khó trông cậy rằng một TLB đa cổng đơn giản cung cấp được hiệu năng tốt Các tác giả đã thực hiện những đánh giá bao quát về một số kiểu thiết kế sử dụng các cơ cấu thông lượng cao cơ bản này Họ đã xem xét hiệu năng của chúng theo nhiêu bối cảnh: với các bộ xử lý phát lệnh không đúng thứ tự và đúng thứ tự, với các trang kích thước lớn và nhỏ,... ngữ kịch bản chạy trong bộ chương trình kiểm thử của nó TFFT thực hiện những phép biến đổi Fourier (FFT) thực và phức trên một tập dữ liệu được sinh ngẫu nhiên Ghostscript và TFFT có những tập dữ liệu lớn nhất, lần lượt khoảng 10 và 40 Mbytes Compress, MPEG play, và TFFT có tính lân cận khá nhỏ trong các dòng tham chiếu của chúng; các cache dữ liệu nhỏ và các TLB có hiệu năng hoạt động rất kém đối với... luận rằng việc có thêm nhiều tham chiếu khiến tính tính lân cận tăng lên Tuy nhiên, hiệu năng thấp của các kiểu TLB đơn cổng có ăn theo (PB1) chứng tỏ là các tham chiếu lân cận đó không phải luôn vào cùng một trang bộ nhớ ảo Kiểu TLB đan xen và ăn theo (I4/PB) có hiệu năng tệ hơn một chút, khiến ta có thể kết luận rằng các truy cập phát sinh thêm có thể tính lân cận về không gian rải rác trên một trang,... phát lệnh không đúng thứ tự và đúng thứ tự, với các trang kích thước lớn và nhỏ, và trên các kiến trúc có nhiều và ít thanh ghi Nói chung, các tác giả đã tìm ra vài kiểu cơ cấu phiên dịch địa chỉ có hiệu năng ngang với một TLB bốn cổng Các kiểu TLB đa mức có hiệu năng tốt ngoại trừ đối với những chương trình có tính lân cận tham chiếu kém Các kiểu đan xen và có cổng ăn theo bổ sung cho nhau; một TLB đan... thông lượng cao để cung cấp hiệu năng hệ thống tốt do bởi khả năng chịu đựng độ trễ thấp của bộ xử lý phát lệnh đúng thứ tự Thông lượng được giảm bớt có vẻ là động lức mạnh hơn, dẫn tới hiệu năng tổng thể tốt hơn cho tất cả các kiểu cơ cấu phiên dịch đó Với các trang cache có kích thước lớn hơn (tức 8k thay vì 4k), các kiểu đa mức, phiên dịch trước, và có cổng ăn theo có hiệu năng tốt Các trang lớn hơn... trang lớn hơn Các L1 TLB có thể ánh xạ được nhiều bộ nhớ hơn, và vì vậy, có tỷ lệ hit tốt hơn, trong khi cache phiên dịch trước thì hưởng lợi từ các tuổi thọ phiên dịch trước dài hơn Các kiểu TLB đan xen có hiệu năng hầu như xấp xỉ như với các trang 4k, mặc dù có một số sự dao động lớn trong trong hiệu năng của từng chương trình do những thay đổi trong hàm họn bit Đúng như mong đợi, kích thước trang lớn. .. trước có sẵn từ sớm trong ống lệnh, tạo thuận tiện cho việc sử dụng các cache được lập chỉ mục vật lý ở mức cao hơn Ngoài ra, việc liên kết thông tin địa chỉ với các thanh ghi vật lý trước khi thu nhận kết quả của chúng có thể có những lợi ích khác nữa, ví dụ như phân loại các hoạt động vận hành máy nào là truy cập và thi hành, hoặc sử dụng thông tin địa chỉ để lảm rõ nghĩa những tham chiếu vào bộ nhớ ... hưởng việc có ghi Một số kiến trúc sử dụng rộng rãi có ghi kiến trúc thôi, chẳng hạn kiến trúc x86 System/370 Để đánh giá tính hiệu cấu phiên dịch thông lượng cao kiến trúc này, tác giả đo hiệu... thực phép biến đổi Fourier (FFT) thực phức tập liệu sinh ngẫu nhiên Ghostscript TFFT có tập liệu lớn nhất, khoảng 10 40 Mbytes Compress, MPEG play, TFFT có tính lân cận nhỏ dòng tham chiếu chúng;... thêm tính lân cận không gian rải rác trang, điều vốn xảy cho khung stack lớn nhiều truy cập phát sinh thêm gửi đến khu vực liệu global lớn Kết luận Bốn cấu thay cho phiên dịch địa thông lượng cao

Ngày đăng: 24/12/2016, 21:11

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

Tài liệu liên quan