Cấu trúc RV770 có trong những Card màn hình Radeon HD 4800

Khái niệm cơ bản Những Card màn hình dòng Radeon HD 4800 dựa trên cấu trúc GPU RV770 .

RV770 được chế tạo dựa trên công nghệ xử lí 55nm với 956 triệu Transistor so với 666 triệu Transistor được dùng trong RV670 có trong những Card màn hình Radeon HD 3800 , chưa bằng so với 1 tỉ Transistor có trong GTX200 .

Việc tăng tính năng kĩ thuật và số lượng Transistor khiến cho kích thước của RV770 ( 260 mm2 )  lớn hơn so với RV670 ( 190 mm2 ) , nhưng vẫn chưa thấm vào đâu so với GT200 của NVIDIA mà có kích thước tới 576mm2 .

Cũng như AMD RV670 , RV770 hỗ trợ đầy đủ tính năng DirectX 10.1 và sử dụng giao diện PCI Express 2.0 . Điều này khiến cho RV770 có tính năng kĩ thuật cao hơn so với GT200 chỉ hỗ trợ DirectX 10 mà thôi .

Shader Core

Lõi đồ hoạ tiên tiến của AMD , R600 và R670 cả hai đều làm việc hiệu quả dựa trên những cái gọi là Shader Core ( NVIDIA từ GT200 trở đi gọi những bộ phận này là Core ) . Điều đó cũng không có gì là ngạc nhiên khi RV770 tiếp tục kế thừa đặc điểm này và được gọi bằng cái tên Stream Processor ( SP ) có hiệu suất tính toán lên tới TeraFLOPS và thậm trí còn hơn nữa . Càng có nhiều SP thì càng tốt và nó chính là cấu trúc cơ bản của những GPU mới .

 

Bắt đầu với SP và so sánh nó với Radeon HD 2000 và HD 3000 thì thấy rằng sơ đồ khối và cấu trúc cơ bản của SP là như nhau .  Điều đó có nghĩa là NVIDIA đang sa lầy với cấu trúc vô hướng ( Scalar ) thì AMD lại một lần nữa lại đi theo con đường cấu trúc Superscalar .

Những SPU ( Stream Processor Unit ) bên trong RV770 được sắp xếp thành những cấu hình cơ bản  với 05 bộ phận ( Unit ) khác nhau . Bốn trong năm Unit có khả năng xử lí một lệnh với một chu kì xung nhịp , bao gồm cả lệnh dấu phảy động MAD ; trong khi đó Unit thứ năm có thể thực hiện tất cả và còn có khả năng thực hiện thêm những lệnh đặc biệt khác như SIN , COS , EXP … Ngoài ra còn được bổ xung Unit để thực hiện với những lệnh rẽ nhánh . Tất cả 05 bộ xử lí có tập hợp những thanh ghi GPR ( General Purpose Register ) để lưu trữ dữ liệu được yêu cầu .

Những SPU này , cũng như Core của GT200 , có thể xử lí dữ liệu có độ chính xác gấp đôi ( 64-bit ) . AMD đánh giá tất cả lõi RV770 khi làm việc có khả năng đạt được công suất tính toán tới 240 GigaFLOPS gần gấp đôi so với GeForce GTX280 .

AMD cũng cho rằng những SPU có trong RV770 tăng 40% Hiệu suất / mm2 , cũng có Hiệu suất /W tốt hơn so với RV670 nhờ có tốc độ làm việc cao hơn và tiết kiệm năng lượng hơn .  Nhờ cải tiến đáng kể về mặt cấu trúc của SPU nên Hiệu suất làm việc của RV770 cao gấp 12.5 so với RV670 trong phép toán chuyển dịch Bit trong thành ghi với số nguyên .

 

Như những cấu trúc trước kia của AMD , những tập hợp gồm 5 SPU được đặt thành những mảng SIMD ( Single Instruction , Multiple Data ) mà mối mảng có 16 Unit . Như vậy mỗi SIMD Core ( theo cách diễn đạt của AMD ) có tới 80 SP . Những Core này lại có mạch Logic điều khiển riêng và những luồng dữ liệu đã được sắp xếp sẽ được chuyển tới chúng để xử lí . Những luồng dữ liệu đã được sắp xếp kể trên lại là một bộ phận trong Bộ xử lí UTDP (Ultra Threaded Despatch Processor ) rộng hơn . Bộ xử lí UTDP lại điều khiển tất cả những luồng dữ liệu đã được sắp trên tới toàn bộ cấu trúc Shader của RV770 .

Mỗi SIMD Core được cung cấp 16KB để dùng như là dữ liệu chia xẻ dùng chung ( Local Data Share ) và có thể trao đổi thông tin với những SIMD Core khác và khi cần còn có thêm Dữ liệu chia xẻ cho toàn bộ ( Global Data Share ) với dung lượng 16KB  . Mỗi Core cũng có bộ nhớ Cache L1 riêng .  Mỗi SIMD Core lại có 04 Bộ phận xử lí kết cấu ( Texturing Unit ) riêng biệt

Trong RV700 có tới 800 SPU ( một con số quá lớn ) và được sắp xếp thành 10 SIMD Core .

Những điểm khác cần chú ý về khả năng của RV770 bao gồm cải tiến trong hiệu suất tính toán của GS (Geometry Shader) đó chính là khả năng giữ lại nhiều dữ liệu do GS xử lí ngay bên trong Chip mà không cần đưa nó lưu trữ ở bên ngoài trong DRAM . Với cấu trúc như vậy cho phép số luồng dữ liệu tính toán hình học cao gấp 4 lần ( 4x ) .

Texturing Unit

Hiệu suất của AA ( Anti – Aliasing ) được gắn liền với hiệu suất Texturing kể từ khi R600 được phát hành . Vì thế không có gì là ngạc nhiên khi AMD tập trung nâng cao hiệu suất Texturing . AMD đánh giá Hiệu suất này tăng thêm 70% / mm2 so với RV670 .

 

Như đã đề cập trên mỗi SIMD Core bên trong RV770 có Texture Unit ( TU ) riêng biệt  . Mỗi TU bao gồm 04 bộ xử lí TAU (Texture Address Unit ) , 16 TS ( Texture Sampler ) dấu phảy động 32-bit  , 04 TFU ( Texture Filter Unit ) dấu phảy động 32-bit .

Như vậy bên trong RV770 với 10 SIMD Core có nghĩa là trong cấu trúc có tất cả 10 Texture Unit với 40 TAP , 160 TS ( cho phép lấy 160 Texture trong một chu kì xung nhịp ) và 40 TFU .

So sánh với RV670 có 80 TS , 32 TAP và 16 TFU . Như vậy chúng ta sẽ hy vọng hiệu suất AF ( Antisotropic Filtering )  sẽ tốt hơn trong RV770 khi so với RV670 .

 

RV770 cũng có băng thông lớn gâp đôi để truy cập vào những Cache Texture trong cấu trúc khi so sánh với RV670 . AMD nói rằng Cache Texture ( TC – Texture Cache ) đã được thay đổi đáng kể so với thiết kế trước . Cache L2 bây giờ có vị trí cùng hàng với những kênh nhớ DRAM của Core  và điều đó đóng vai trò quan trọng trong việc tăng tốc độ truyền dữ liệu và cải thiện băng thông .

AMD nói rằng băng thông lấy dữ liệu Texture L1 đạt được 480 GB/s và băng thông giữa L1 và L2 là 384GB/s .

Tóm lại một số thay đổi quan trọng trong thiết kế mà AMD đánh giá tăng gấp 2.5 lần hiệu suất của TF với những phép tính dấu phảy động 32-bit và tăng 1.25 lần TF với những phép tính dấu phảy động 64-bit

 ROP

Những khối Pixel đã được xử lí và được lưu trữ trong bộ nhớ được sẵn sàng để thực hiện công việc tạo thành những Pixel thực hiển thị trên màn hình . Nhiệm vụ đó được điều khiển bởi một Bộ phận bên trong GPU gọi là ROP ( Raster Operation Processor ) . Tuỳ từng GPU khác nhau trong thiết kế của nó mà có số lượng ROP khác nhau . Ví dụ Mobility Radeon X1800 XT có 16 ROP tức là có 16 khối Pixel được thực hiện công việc tạo thành những Pixel để thể hiện trên màn hình .

Càng nhiều ROP thì khả năng tắc nghẽn kiểu cổ chai khi đổ các Pixel ra màn hình càng giảm . Bên cạnh đó ROP cũng có nhiệm vụ tính toán độ sâu của hình ảnh ( Buffer Z ) , nếu độ sâu càng lớn thì càng nâng cao được chất lượng hình ảnh .

 
Khi nói tới hiệu suất của AA ( Anti-Aliasing ) thì có nhiều vấn đề phải bàn và chưa bao giờ là kết thúc và theo quan điểm của AMD họ sẽ tập trung vào ROP của RV770 ( theo cách nói riêng của AMD đó là “Render Back-End “ ) .

Có rất ít sự thay đổi giữa R600 và RV770 , cấu trúc vẫn còn đặc điểm bao gôm bốn phần với 16 ROP .  Tuy nhiên AMD vẫn khăng khăng cho rằng ROP của RV770 có hiệu suất gấp hai lần so với RV670 .

RV670 có thể xử lí 8 Pixel / Xung nhịp khi dùng AA Multi-Sample ( MSAA ) 2x và 4x  thì RV770 có thể xử lí được 16 Pixel / Xung nhịp .

Trong khi RV670 chỉ có thể xử lí được 4 Pixel / Xung nhịp khi dùng 8x MSAA mà RV770 lại xử lí được 8 Pixel / Xung nhịp .

Độ sâu ( Depth ) và Tô khuôn ( Stencil ) được xử lí với sức mạnh gấp đôi với 64 Pixel / Xung nhịp trong RV770 so với 32 của RV670 .

Cuối cùng những Pixel không cần AA với 64-bit màu được xử lí 16 Pixel / Xung nhịp trong RV770 so với 8 của RV670 .

Tóm lại , RV770 hỗ trợ tất cả Mode AA hiện đã có trong hai cấu trúc trước ( R600 và RV670 ) , có nghĩa là nó hỗ trợ SMAA tới 8x cùng với những Mode CFAA ( Custom Filter AA ) .

Điều khiển bộ nhớ

Tất nhiên nối tới những ROP ( theo cách gọi AMD là Render Back-End ) của RV770 là Bộ phận điều khiển bộ nhớ của cấu trúc và tại đây lại có sự thay đổi lớn của AMD so với những thế hệ trước .

 

Ring Bus trong R600

AMD thay thế Bus nhớ có độ rộng 512-bit với Bộ phận điều khiển bộ nhớ kiểu Ring Bus trong R600 và R670 bằng những Bus thông thường có độ rộng 256-bit trong RV770 và xem như việc sử dụng Bộ phận điều khiển bộ nhớ phân chia mới .

 

Giao diện này cho thấy những Bộ phận điều khiển bộ nhớ phân bố xung quanh những sườn của Core , tại đó chúng có thể truy cập nhanh chóng tới những bộ phận cần thiết như bộ nhớ Cache L2 và ROP .

Những Bộ phận điều khiển được nối tới Hub , mà xử lí mọi chức năng mà có yêu cầu băng thông bộ nhớ nhỏ hơn như : xử lí Video và liên kết CrossFire giữa những GPU .

Việc bỏ cấu trúc Điều khiển Ring Bus trước kia cho phép thu nhỏ kích thước tấm Silicon của GPU , giảm thời gian trễ , giảm mức tiêu thụ năng lượng và nâng cao hiệu suất làm việc của băng thông .

Mỗi Bộ phận điều khiển bộ nhớ có khả năng hỗ trợ GDDR3 , GDDR4 và GDDR5 chạy được với tốc độ tới 3.6GHz và thậm trí còn cao hơn khi sử dụng những công nghệ mới nhất .

GDDR5

Bộ nhớ GDDR3 hiện nay đôi khi chúng ta trong thấy nó trong những Card màn hình , GDDR4 thực sự chưa thấy và NVIDIA lại không quan tâm tới những Chip nhớ loại này cho Card GeForce . Sự phát triển của GDDR4 chỉ mang tính chất cải tiến nâng cao chứ không phải là sự tiến triển của cấu trúc . Nó làm việc với điện áp thấp hơn và tốc độ xung nhịp cao hơn , nhưng chưa bao giờ nó lại được quan tâm trong cuộc đua tốc độ .

Vậy GDDR5 khác gì với GDDR4 , hay nó chỉ là cái tên để cho người ta làm Marketing với một số sự thay đổi nhỏ liên quan tới điện áp và tần số làm việc ?

GDDR5 đã được phát triển được bốn năm và ATI đã nghiên cứu được ba năm để những thông số kĩ thuật của nó sử dụng được với những Card màn hình Radeon HD 4870

 

Có một điểm mà chúng ta nên nhớ trong mục này đó chính là Băng thông / Chân và nếu quá khó hiểu thì chỉ cần nhớ Băng thông , băng thông và băng thông . Trong khi GDDR5 có được vô số điều cải tiến so với những bộ nhớ GDDR trước thì có một điều mà nó chiếm ưu thế hơn hẳn đó chính là sự cải thiện về băng thông .

Như chúng ta đã biết về bộ nhớ DDR khi mà tốc độ truyền dữ liệu bao giờ cũng gấp đôi so với tốc độ của xung nhịp vì dữ liệu được truyền bằng cả sườn lên và sường xuống của xung nhịp đồng hồ . Tuy nhiên với bộ nhớ GDDR5 bạn có thể tính tốc độ truyền dữ liệu bằng gấp đôi tốc độ của bộ nhớ sau đó lại gấp đôi một lần nữa đó là gấp bốn tốc độ của bộ nhớ .

Với bộ nhớ GDDR4 tốc độ truyền dữ liệu cao nhất tại mỗi chân là 4GB/s thì GDDR5 lại có thể đạt được tới 8GB/s . Nhờ vào tốc độ như vậy mà khi sử dụng bộ nhớ GDDR5 với độ rộng Bus nhớ  256-bit sẽ có băng thông tương đương với sử dụng bộ nhớ GDDR4 có Bus nhớ với độ rộng 512-bit .

Ngoài vấn đề băng thông , GDDR5 lại có vô số những cải tiến khác mà nổi bật nhất bao gồm khả năng “Training” của những thanh nhớ nó thay đổi được Timing và phụ thuộc vào lộ trình của đường truyền dữ liệu và những thiết bị mà nó được nối tới . Những thanh nhớ GDDR5 có đặc tính nhận biết lỗi , theo dõi nhiệt độ trên Chip .

Như đã đề cập trên khả năng “Training” sẽ loại bỏ được nhiều vấn đề khó khăn liên quan tới mạch in nối giữa lõi GPU và DRAM . Mỗi thanh nhớ trong quá trình khởi đọng sau đó sẽ theo dõi và thay đổi nếu thấy cần thiết , nó được thiết kế để chế ngự những lỗi trong lộ trình truyền dữ liệu giữa những thiết bị với nhau . Nói tóm lại điều này làm cho việc thiết kế mạch in sẽ làm việc với bộ nhớ GDDR5 trong những thiết bị đồ hoạ trở nên dễ dàng hơn nhiều .

Mặc dù điện áp làm việc với GDDR5 cao hơn so với GDDR4 , nhưng chúng vẫn thấp hơn khoảng 30% so với điện áp của bộ nhớ GDDR3 . Ví dụ GDDR3 có băng thông 2GB cho mỗi chân thì yêu cầu điện áp 2V nhưng với bộ nhớ GDDR5 có băng thông 4GB / Chân chỉ yêu cầu điện áp 1.5V .

Cuối cùng GDDR5 hỗ trợ những thanh nhớ tới 16 Bank DRAM , cho phép hỗ trợ dung lượng bộ nhớ nhiều gấp đôi và cũng cho phép đơn giản hoá trong việc thiết kế mạch in .

Như vậy chắc chắn GDDR5 sẽ luôn luôn là người chiến thắng là những nhà sản xuất dễ dàng bỏ quên GDDR4 .

UVD 2 ( Universal Video Decode )

AMD UVD thế hệ đầu tiên đã có nhiều ảnh hưởng tới việc sử dụng những ứng dụng Video , UVD thế hệ thứ hai có trong những Card màn hình Radeon HD 4800 cải tiến những gì đã thành công của UVD 1 .

RV770 hỗ trợ những đầu ra Video như HDMI và DisplayPort . Đầu ra âm thanh của RV770 bằng HDMI cũng được cải tiến hỗ trợ âm thanh 8 kênh ( hoặc 7.1 ) . Thiết bị âm thanh tích hợp bên trong RV770 có thể xử lí tới tốc độ 6.144 Mbps và tần số lấy mẫu đạt được 192 KHz , mỗi mẫu được mã hoá bằng 24-bit . Mọi định dạng đầu ra âm thanh hỗ trợ 7.1 , từ những định dạng cũ AC3/Dolby Digital và DTS tới những định dạng âm thanh mới nhất Dolby True-HD và DTS HD đều được dùng trong nhiều phim Blu-Ray .

 
Những tính năng chủ yếu được bổ sung vào UVD 2 của AMD để cạnh tranh lại với VP2 của NVIDIA có trong những Card màn hình G92 , GeForce 9800GTX , như : Dual-Stream ( có nghĩa là có thể xử lí hai Video HD liên tục với kiểu Picture – in - Picture trong định dạng BLu-Ray ) , hỗ trợ việc giải mã Full-Screan với những định dạng Video khác nhau ( VC-1 , H.264 và MPEG-2 ) , tăng cường độ phân giải cho DVD thành độ phân giải HD , nâng cấp độ tương phản động để nâng cao chất lượng hình ảnh .

Picture – in – Picture ( PiP ):  là một chương trình được hiển thị chế độ Full-Screen trên màn hình và một chương tình khác được hiển thị cùng một lúc ghép vào cửa sổ màn hình . Trong Tivi nó được dùng để xem một chương trình khác và chờ một chương trình khác bắt đầu , hoặc kết thúc quảng cáo .

AMD cũng sẽ nhanh chóng đẩy nhanh những ứng dụng AVT (Accelerated Video Transcoding ) mà sẽ dùng khả năng tính toán song song của RV770 để tăng tốc mã hoá hoặc đổi mã Video thành những định dạng MPEG-2 và H.264 . Nó được đánh giá nhanh hơn 19 lần so với hiệu suất khi mà xử lí bằng bộ vi xử lí Intel Core 2 Duo E8500 cho Video HD 1080p . Việc chuyển mã sẽ được thực hiện bằng những phần mềm và sẽ sơm có mặt trên thị trường như Power Director của CyberLink .

Quản lí năng lượng

Cấu trúc dòng Radeon HD 3000 có kiểu quản lí năng lượng và tác động của xung nhịp đồng hồ đầu tiên đã được kiểm chứng nhiều năm qua trong thị trường máy tính xách tay và áp dụng cho hệ thống để bàn .  Với một số cách tiết kiệm năng lượng ( nhất là ở trạng thái nghỉ ) đã được dùng trong RV670 , do đó RV770 tiếp tục kế thừa những gì đã có của GPU thế hệ trước .

RV770 dùng Bộ phân điều khiển riêng trong Chip ( On-Chip ) để theo dõi nhiệt độ và kết với với những hoạt động khác nhau của GPU và Bus PCI Express sau đó tập hợp lại những thông tin để điều chỉnh lại cho tiết kiệm năng lượng bằng cách tắt nguồn cung cấp những phần của GPU mà không sử dụng tới .

 

Bên cạnh đó AMD vẫn sử dụng phương pháp quản lí năng lượng thông thường  hỗ trợ những đặc tính cơ bản như thay đổi tốc độ của Core và bộ nhớ , thay đổi điện áp , và kết hợp với giải pháp làm mát bằng cách thay đổi tốc độ Quạt tản nhiệt một cách tối ưu dựa vào nhiệt độ và mức độ sử dụng năng lượng .

Tính toán Stream

Trong thời gian này khi những cấu trúc GPU mới được tung ra thì người ta nói nhiều về GPGPU như GT200 người ta nói tới CUDA và Tesla và RV770 cũng không nằm ngoài vấn đề đó với khái niệm mà AMD đã đưa ra đó là “Stream Computing” .

Chúng tôi đã có bài nói về CUDA của NVIDIA những cũng nói lại . Ngôn ngữ lập trình CUDA của NVIDIA tương tự như lập trình bằng ngôn ngữ C để thực hiện những ứng dụng dựa trên sức mạnh tính toán của bộ vi xử lí đồ hoạ GPU . Và ngay lập tức AMD cũng chớp ngay thời cơ về việc Apple cũng vừa mới tuyên bố dùng OpenCL cũng là ngôn ngữ lập trình như C để lập trình dựa vào sức mạnh tính toán của GPU .  Nhưng có một chút nghi ngờ liệu ngành công nghiệp non trẻ này có đủ sức hấp dẫn để những nhà phát triển tham gia vào cuộc chơi này hay không và câu trả lời vẫn còn ở phía trước .

AMD đã chỉ ra sự thuận lợi của viễn cảnh “Stream Computing”  mà RV770 mang lại có nhiều ưu thế hơn so với những GPU trước kia nhờ sức mạnh tính toán của 800 SP . AMD tuyên bố Radeon HD 4850 có sức mạnh tính toán 240 GigaFLOPS và có độ chính xác xử lí gấp đôi .

Chức năng MemExport và MemImport đã được cải tiến từ RV670 có hiệu suất thực hiện những lệnh Đọc và Ghi ngẫu nhiên nhanh gấp đối trong RV770 . AMD nói rằng việc thực hiện những phép toán dịch chuyển Bit trong số nguyên là ưu thế của cấu trúc này nhanh hơn 12.5 lần / Chu kì xung nhịp so với RV670 . Việc tăng tốc như vậy sẽ rất hữu dụng với việc Xử lí / Mã hoá Video , trong những thuật toán nén và mã hoá .

Bên cạnh đó việc chia xẻ dữ liệu cũng được cải tiến giữa những luồng dữ liệu là điểm quan trọng nhờ đó mà mỗi SIMD Core giữ được dữ liệu của mình với những dữ liệu chia xẻ toàn bộ ( Global Data ) cho phép tất cả những SIMD Core đều được sử dụng chung . AMD đánh giá nhờ đó mà hiệu suất tăng lên tới 7 lần trong bài toán tính toán Chuỗi Fourier .

Cuối cùng việc cải tiến cấu trúc cho phép những ứng dụng “Stream Computing” được thực hiện với thời gian ít nhất .

Làm thế nào AMD lại tuyên bố Radeon HD 4870 đạt được sức mạnh tính toán 1.2 TeraFLOPS

AMD tuyên bố Radeon HD 4870 có sức mạnh tính toán vượt qua ngưỡng 1Tera FLOPS . Họ dựa vào đâu mà nói như vậy ?

Bộ vi xử lí đồ hoạ RV700 có 800 Stream Process ( SP ) . Mỗi SP trong mỗi chu kì đồng hồ thực hiện được một phép tính nhân và một phép tính cộng . Bởi vì nó có thể thực hiện hai phép tính trong một chu kì xung nhịp nên được tính làm hai phép tính dấu phảy động ( 2 FLOPS ) . Nên lúc đó ta có phép toán sau

2 FLOPS x 800 SP x 750 ( MHz - Tốc độ lõi ) = 1200 GFLOP = 1.2 Tera FLOPS