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 1BÀ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 3Tí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 6toá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 8hữ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 9Nhậ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 10trong 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