1. Trang chủ
  2. » Giáo Dục - Đào Tạo

Bài tập lớn kiến trúc máy tính nâng cao

10 370 0

Đ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 10
Dung lượng 132 KB

Các công cụ chuyển đổi và chỉnh sửa cho tài liệu này

Nội dung

Có 3 khía cạnh của việc tính toán cần được quan tâm: i Giải thuật mô tả sự tính toán, ii phần cứng thực hiện sự tính toán, và iii chương trình dịch chuyển đổi mô tả ở ngôn ngữ cấp cao sa

Trang 1

BÀI TẬP LỚN KIẾN TRÚC MÁY TÍNH NÂNG CAO

Đề số 27: Dịch và nhận xét bài báo “Computing With Billion

Transistor Chips” của tác giả Guri Sohi.

HVTH: Lê Anh Huy

MSHV: 00707169

GVHD: TS Đinh Đức Anh Vũ

Nội dung báo cáo

- Bản dịch vắn tắt (trang 2-7)

Trang 2

- Nhận xét của người dịch (trang 8-9)

Trang 3

Tính toán với các chip chứa hàng tỉ bóng bán dẫn

Guri Sohi Khoa Khoa học Máy tính, Đại học Wisconsin

1210 W Dayton Street Madison, WI 53706

1 Vấn đề tính toán

Mục đích của việc phát triển các hệ thống máy tính mạnh hơn là để đáp ứng yêu cầu của các ứng dụng đòi hỏi nhiều sức mạnh tính toán Vấn đề được đặt ra là làm sao tận dụng được các công nghệ hiện có để cung cấp được sức mạnh tính toán như được yêu cầu

Có 3 khía cạnh của việc tính toán cần được quan tâm: (i) Giải thuật mô tả sự tính toán, (ii) phần cứng thực hiện sự tính toán, và (iii) chương trình dịch chuyển đổi mô tả ở ngôn ngữ cấp cao sang các dạng thức mà phần cứng có thể hiểu được Các khía cạnh này

có quan hệ với nhau một cách phức tạp và không thể được xem xét một cách cô lập

Chương trình, trong đó các thành phần quan trọng là giải thuật và cấu trúc dữ liệu, là một sự biểu diễn tĩnh các thao tác cần tiến hành ở ngôn ngữ cấp cao Chúng ta hiểu ngầm

là sẽ có một bộ tuần tự tiến hành tuần tự hóa chương trình tĩnh này thành chuỗi các thao tác động để thực thi Một chương trình giả định rằng chỉ có một bộ tuần tự là một chương trình tuần tự; một chương trình phát biểu tường minh rằng sẽ có nhiều bộ tuần tự được sử dụng

là một chương trình song song

Trong quá trình thực thi chương trình, một số thao tác sẽ cần các giá trị được tạo ra bởi các thao tác khác Giá trị này sẽ được ghi và đọc tại các vị trí lưu trữ được thống nhất giữa các thao tác Quá trình này gọi là quá trình giao tiếp giữa các thao tác

Các máy tính mạnh hơn có khả năng tiến hành việc tuần tự hóa, thực hiện thao tác và giao tiếp giữa các thao tác mạnh hơn Tiến hành các công việc nói trên một cách song song

là một cách tận dụng sức mạnh của hệ thống Trong quá trình chuyển đổi một chương trình tuần tự ở ngôn ngữ cấp cao thành dạng thức mà phần cứng có thể hiểu được, chương trình dịch sẽ cố gắng phân tích chương trình xem nó có thể được song song hóa một cách tự

Trang 4

động hay không Quá trình song song hóa một cách tự động này có lẽ là khía cạnh phức tạp nhất của quá trình dịch chương trình

Trong kỷ nguyên máy RISC ở thập niên 1980, phần cứng còn khan hiếm, các chip chỉ có khoảng 100 ngàn đến 1 triệu bóng bán dẫn và các chương trình được tuần tự hóa với

tỉ lệ một lệnh trong nhiều chu kỳ máy Cơ chế ống lệnh đã giúp cải thiện tỉ lệ tuần tự lên một lệnh mỗi chu kỳ Tập lệnh được biến đổi để thuận tiện cho cơ chế ống lệnh và được thiết kế sao cho điều khiển cấp phần cứng là tối thiểu Việc tối ưu hóa hiệu quả thực thi của chương trình được giao cho chương trình dịch

2 Phần cứng tính toán

Một vấn đề khi lựa chọn vi kiến trúc là các yêu cầu về kết nối: số lượng và kích thước dây dẫn cần thiết để kết nối các thành phần Vấn đề kết nối quan trọng không kém gì các tính năng luận lý vì nó ảnh hưởng đến tốc độ và giá cả Các vấn đề quan trọng khác cần được quan tâm là độ phức tạp thiết kế (kéo theo là độ phức tạp khi phê duyệt thiết kế), độ phức tạp của quá trình kiểm thử và mức tiêu thụ năng lượng

Các vấn đề nói trên dẫn đến yêu cầu vi kiến trúc nên được xây dựng từ các thành phần giống nhau, đơn giản và được chuẩn hóa Độ phức tạp của quá trình thiết kế và phê duyệt thiết kế sẽ giảm nếu số loại thành phần con giảm và các thành phần con thuộc các thế hệ khác nhau là tương tự nhau Các thành phần con tương tự nhau cũng tạo sự thuận lợi cho việc thiết kế dây dẫn

Về mặt năng lượng, việc có các chế độ tiêu thụ năng lượng khác nhau là quan trọng

Vi kiến trúc nên cho phép tắt đi một số thành phần hay tận dụng tất cả tài nguyên tùy theo cần tiết kiệm năng lượng hay cần hiệu năng cao Điều này cũng yêu cầu vi kiến trúc nên được xây dựng từ các thành phần giống nhau vì khi đó, việc tắt đi một số thành phần giống nhau chỉ làm giảm hiệu năng chứ không làm thay đổi tính năng của hệ thống

2.1. Sự tuần tự hóa

Có hai lựa chọn để cải thiện quá trình tuần tự hóa chương trình: (i) dùng bộ tuần tự mạnh hơn hay (ii) dùng nhiều bộ tuần tự Theo những hiểu biết hiện nay, với kỹ thuật dự đoán rẽ nhánh và thực thi có dự đoán thì vi kiến trúc gồm nhiều bộ tuần tự có thể rút trích được nhiều sự song song hóa hơn một bộ tuần tự lớn Vi kiến trúc nhiều bộ tuần tự có thể

Trang 5

áp dụng cho cả chương trình song song như là một vi kiến trúc nhiều bộ xử lý hay cho chương trình tuần tự như là một vi kiến trúc nhiều ống lệnh

Một dạng nâng cao của quá trình tuần tự hóa là bộ tuần tự có hiểu biết Bộ tuần tự dạng này không chỉ nắm giữ thông tin về các lệnh đã được được thực thi trước đó mà còn nắm giữ thông tin về các lệnh sắp được thực thi cũng như các lệnh phụ thuộc vào lệnh đang được thực thi Các thông tin này có thể được truyền đạt tường minh nhờ chương trình dịch hay được xác định động trong quá trình thực thi

2.2. Thực hiện thao tác và hỗ trợ phỏng đoán

Có nhiều đổi mới trong các kỹ thuật giảm độ trễ của việc thực thi các thao tác tính toán bằng cách phỏng đoán giá trị của các toán hạng đầu vào để lên lịch thực hiện tối ưu Người ta kỳ vọng rằng việc phỏng đoán sẽ thành công nhiều hơn thất bại nhờ vào tính đều đặn và theo khuôn mẫu của các chương trình

Sự hiệu quả của việc phỏng đoán gắn liền với độ phức tạp của quá trình phỏng đoán Mặc dù phần cứng sẽ đơn giản hơn nếu không hỗ trợ phỏng đoán, phần cứng hỗ trợ phỏng đoán không quá phức tạp và có khi tương tự nhau Một ví dụ minh họa là cơ chế phỏng đoán vị trí lưu trữ bằng bộ nhớ thứ cấp đã được sử dụng trong 30 năm qua

Trong kỷ nguyên chip hàng tỉ bóng bán dẫn, tôi tin rằng phỏng đoán sẽ được sử dụng sâu rộng bất cứ khi nào có một giới hạn về hiệu năng xuất hiện Hầu như mọi bộ xử lý hiện đại đều áp dụng phỏng đoán điều khiển để khắc phục phụ thuộc điều khiển Những cách tiếp cận gần đây đề nghị áp dụng phỏng đoán phụ thuộc dữ liệu để khắc phục phụ thuộc dữ liệu mơ hồ và phỏng đoán giá trị để khắc phục phụ thuộc dữ liệu thực sự Những dạng phỏng đoán khác sẽ được phát minh ra khi có các nguyên nhân khác làm giới hạn hiệu năng xuất hiện

Một vấn đề quan trọng cần cân nhắc khi áp dụng phỏng đoán là sự tiêu thụ năng lượng Có thể tắt bớt các phần cứng hỗ trợ suy đoán để giảm việc tiêu thụ năng lượng vô ích nếu nhận thấy tỉ lệ suy đoán không chính xác là quá cao Đây là một lý do nữa cho việc cần có nhiều chế độ tiêu thụ năng lượng khác nhau

Một kỹ thuật có thể giúp giảm nhu cầu phỏng đoán là tái sử dụng câu lệnh Các nghiên cứu gần đây chỉ ra rằng một số lượng lớn các thao tác được thực thi lại với cùng các

Trang 6

toán hạng, nghĩa là có thể sử dụng lại kết quả mà không cần tính toán Việc tái sử dụng câu lệnh cần sự hỗ trợ của cả phần cứng lẫn phần mềm (chương trình dịch)

2.3. Giao tiếp giữa các thao tác và các hệ thống bộ nhớ

Hệ thống bộ nhớ đã trở thành trung tâm trong các nghiên cứu về kiến trúc máy tính

và nhiều nhà nghiên cứu cho rằng vấn đề hiệu suất thực sự là ở hệ thống bộ nhớ chứ không phải ở bộ xử lý Tuy nhiên, theo quan điểm riêng của tôi, lý lẽ này là không chặt chẽ vì các yêu cầu về tài nguyên bộ nhớ liên quan đến cách các xử lý được tiến hành, nên không thể xem xét hệ thống bộ nhớ một cách cô lập

Hệ thống bộ nhớ là một tập tài nguyên lưu trữ được xem như là đơn nhất về mặt luận

lý mặc dù về mặt vật lý có thể được hiện thực bằng nhiều tập tài nguyên lưu trữ khác nhau Với các chip hàng tỉ bóng bán dẫn, tôi kỳ vọng nhiều tài nguyên sẽ được dành cho các cấu trúc lưu trữ nhằm cải thiện độ trễ và băng thông, vốn là các chỉ số quan trọng của hệ thống

bộ nhớ

Tôi cũng kỳ vọng sẽ thấy các tài nguyên lưu trữ sẽ được lưu trữ theo kiểu “hướng giá trị”, bên cạnh cách tổ chức lưu trữ truyền thống Một khi số lượng tài nguyên lưu trữ lớn hơn không gian tên của hệ thống bộ nhớ, ta có thể nghĩ đến việc tổ chức các cấu trúc lưu trữ theo cách khác để hỗ trợ tốt hơn cho việc giao tiếp giữa các thao tác (thao tác tạo ra giá trị và thao tác sử dụng giá trị), giảm bớt việc phải truy xuất các tổ chức bộ nhớ phân cấp truyền thống

Bộ xử lý và bộ nhớ tích hợp sẽ như thế nào trong giai đoạn sắp tới? Các chip hàng tỉ bóng bán dẫn sẽ chứa một lượng lớn bộ nhớ DRAM như một hệ thống bộ nhớ ngay trong chip Khi nào thì bộ luận lý và DRAM nên thuộc cùng một khối là chưa biết được Nếu chúng thuộc cùng một khối, tôi tin rằng các thành phần lưu trữ sẽ được dùng để phát triển các dạng tổ chức lưu trữ khác lạ hơn so với các dạng truyền thống mà chúng ta đã biết hiện nay

3 Phần mềm

Một thay đổi lớn mà tôi kỳ vọng sẽ thấy trong kỷ nguyên chip hàng tỉ bóng bán dẫn

là vai trò của phần mềm, đặc biệt là chương trình dịch Các chương trình dịch hiện nay cố gắng thực hiện các dạng phân tích chương trình nhằm đưa ra các sự đảm bảo về tính đúng

Trang 7

đắn của chương trình, ví dụ đảm bảo hai thao tác bộ nhớ là độc lập Nếu phần cứng có thể

dự đoán và tự điều chỉnh, những sự đảm bảo như thế là không cần thiết nữa Thay vì vậy, chương trình dịch có thể phân tích chương trình để gợi ý cho phần cứng những phần có thể thực hiện song song Đặc biệt, nếu phần cứng có thể dự đoán sự phụ thuộc dữ liệu, chương trình dịch càng đơn giản

Tôi kỳ vọng sẽ có sự thay đổi từ các ý niệm về các phần cứng đơn giản (cần được chương trình dịch đảm bảo về tính đúng đắn của chương trình) của kỷ nguyên RISC sang phần cứng thông minh chỉ cần sự hỗ trợ mở rộng của các chương trình dịch, nghĩa là phần cứng thông minh hơn và chương trình dịch đơn giản hơn Những chức năng mở rộng mà chương trình dịch sẽ hỗ trợ phần cứng có thể là các phương thức cải thiện việc dự đoán rẽ nhánh và dự đoán giá trị trong thời gian chạy

4 Giải thuật

Tôi tin rằng các chip chứa hàng tỉ bóng bán dẫn sẽ khiến chúng ta phải xem lại các giải thuật và cấu trúc dữ liệu Hiện nay, các giải thuật được chia thành hai nhóm: (i) các giải thuật tuần tự và (ii) các giải thuật song song quy mô lớn (dành cho các hệ thống máy tính song song quy mô lớn)

Những giải thuật song song tìm cách giảm thời gian thực thi bằng cách rút ngắn đường tới hạn (critical path) của quá trình tính toán mặc dù tổng số thao tác tính toán nhiều hơn phiên bản tuần tự Đối với các giải thuật tuần tự, để giảm thời gian thực thi thì phải tối thiểu hóa số thao tác cần thực hiện vì việc thu giảm đường tới hạn không có ý nghĩa khi mà tại một thời điểm chỉ có một thao tác được thực thi

Những chip chứa hàng tỉ bóng bán dẫn có thể được xem như là các hệ thống “song song quy mô nhỏ” Do đó, đường tới hạn của các cửa sổ lệnh lẫn số thao tác tính toán đều quan trọng Ngoài ra, kích thước và tổ chức của cấu trúc dữ liệu cũng ảnh hưởng đến hiệu suất Tôi kỳ vọng sẽ có các giải thuật song song quy mô nhỏ phù hợp với các vi kiến trúc này

5 Kết luận

15 năm sắp tới sẽ là kỷ nguyên của các chip chứa hàng tỉ bóng bán dẫn Tôi kỳ vọng

sẽ có những sự đổi mới đáng kể trong các vi kiến trúc cho phép chúng ta sử dụng một cách

Trang 8

hữu ích các chip này để giải quyết các vấn đề tính toán Tôi kỳ vọng các vi kiến trúc này sẽ thay đổi vai trò của chương trình dịch từ việc đảm bảo chương trình chạy đúng sang việc cung cấp những hỗ trợ nâng cao cho phần cứng Tôi cũng kỳ vọng sẽ thấy những sự đổi mới đáng kể trong giải thuật và cấu trúc dữ liệu để phù hợp với các mô hình song song quy

mô nhỏ ngay bên trong chip

Tham khảo

[1] R Alverson, D Callahan, D Cummings, B Koblenz, A Porterfield, and B Smith, ‘‘The

Tera Computer System,’’ in Proc Int Conference on Supercomputing, Amsterdam, pp 1-6,

June 1990

[2] M S Lam and R Wilson, ‘‘Limits of Control Flow on Parallelism,’’ in Proc 19th Annual

Symposium on Computer Architecture, Queensland, Australia, pp 46-57, May 1992.

[3] M H Lipasti and J P Shen, ‘‘Exceeding the Dataflow Limit via Value Prediction,’’ Proc.

MICRO-29, December 1996.

[4] A Moshovos, S E Breach, T N Vijaykumar, and G S Sohi, ‘‘Dynamic Speculation and

Synchronization of Data Dependences,’’ Proc 24th Annual Symposium on Computer

Architecture, June 1997.

[5] A Sodani and G S Sohi, ‘‘Dynamic Instruction Reuse,’’ Proc 24th Annual Symposium on

Computer Architecture, June 1997.

[6] G S Sohi, S E Breach, and T N Vijaykumar, ‘‘Multiscalar Processors,’’ in Proc 22th

Annual International Symposium on Computer Architecture, Santa Margherita Ligure, Italy,

June 1995.

Trang 9

Nhận xét của người dịch

Bài báo được viết vào năm 1997, khi mà số lượng bóng bán dẫn trong các chip tăng lên đến hàng tỉ Trong bài báo này, tác giả đã gọi khoảng thời gian sắp tới, đặc biệt là 15 năm sau đó, là kỷ nguyên của các chip chứa hàng tỉ bóng bán dẫn và đưa ra các dự báo về những sự thay đổi của việc tính toán trong thời gian sắp tới để tận dụng sức mạnh của các công nghệ mới này Tác giả đã phân tích khá toàn diện về các mặt của việc tính toán từ phần cứng, phần mềm, giải thuật đến cơ chế thực thi chương trình Đến thời điểm này, ta

có thể có một số nhìn nhận về các nhận xét và dự đoán của tác giả

Về mặt phần cứng, nhiều vấn đề được tác giả đề cập trong bài báo đã trở nên quen thuộc ngày hôm nay Vấn đề chuẩn hóa do tác giả đề cập đến hơn mười năm về trước đã được mọi người thừa nhận đến nay đã được thừa nhận như là xu hướng phát triển tất yếu không chỉ trong lĩnh vực phần cứng Về mặt thiết kế chip, các vấn đề mà tác giả nhấn mạnh là vấn đề kết nối và độ phức tạp (thiết kế, phê duyệt, kiểm thử) vẫn đang là thách thức đối với các hãng công nghệ

Vấn đề năng lượng mà tác giả đề cập đến đang trở thành vấn đề rất được quan tâm Đối với các hệ thống lớn, vấn đề năng lượng tiêu thụ liên quan mật thiết đến khía cạnh kinh tế (điện năng, thiết bị làm lạnh, xử lý nhiệt thải, phòng chuyên dụng ) và khía cạnh môi trường Đối với các thiết bị cá nhân, thời gian sử dụng liên tục mà không cần nạp năng lượng là một trong những tiêu chí cạnh tranh quan trọng

Về vai trò của chương trình dịch, dự báo của tác giả về việc phần cứng sẽ đảm nhiệm một phần đáng kể các công việc truyền thống của chương trình dịch vẫn chưa diễn

ra vì nhiều lý do khác nhau Mặc dù phần cứng đã mạnh hơn rất nhiều nhưng nhu cầu tính toán của các ứng dụng cũng tăng lên không ngừng Chưa kể, ý tưởng chuyển lượng lớn công việc sang cho phần cứng đảm nhiệm để tận dụng hiệu năng phần cứng có thể mâu thuẫn với nhu cầu tiết kiệm năng lượng và thân thiện với môi trường Mặc khác, chúng ta cũng ít có nhu cầu đơn giản hóa các chương trình dịch vì công đoạn dịch chương trình có thời gian tương đối rộng rãi và thường chỉ phải làm một lần

Về giải thuật và cấu trúc dữ liệu, vẫn chưa thấy có sự thay đổi gì đáng kể để tận dụng các vi kiến trúc mới như sự kỳ vọng của tác giả Các giải thuật hiện nay vẫn thuộc một

Trang 10

trong hai nhóm giải thuật là tuần tự và song song (trên các hệ thống máy tính song song) chứ chưa thấy xuất hiện dạng giải thuật song song quy mô nhỏ dành riêng cho các vi kiến trúc nói trên Việc song song hóa các ứng dụng một cách tự động vẫn thuộc về trình biên dịch hay phần cứng

Nhìn chung, có thể nói là tác giả đã phân tích khá toàn diện và có những nhận định tương đối chính xác về tác động của các công nghệ bán dẫn đến các vấn đề tính toán (phần cứng, phần mềm, giải thuật), đặc biệt là về phần cứng

Ngày đăng: 31/12/2016, 10:03

TỪ KHÓA LIÊN QUAN

🧩 Sản phẩm bạn có thể quan tâm

w