Feb 19, 2011
101 Views

Cấu trúc Ringbus – VGA

Written by

Memory controller là 1 chip nằm trên GPU die giúp cho việc kiểm soát những thông tin đến và đi ra từ graphic memory .

Memory controller được sử dụng trước đây đã giới hạn tốc độ của memory .Từ dòng X1000 Ati đã giới thiệu 1 memory controller mới đó là Ringbus memory controller .

Trứơc đây Ati sử dụng centralized memory controller ,những đòi hỏi dữ liệu xúât phát từ ứng dụng đều phải thông qua memory controller và dữ liệu cần thiết sẽ được chính memory controller cung cấp lại cho những nơi cần . Tóm lại nó hoạt động như sau:

1) Những nơi đòi hỏi dữ liệu gởi yêu cầu đến cho memory controller
2) Memory controller sẽ sắp xếp thứ tự theo mức độ quan trọng của yêu cầu ,xác định module ram nào chứa dữ liệu và gởi đến module ram đó .
3) Từ module ram đó sẽ gởi ngược dữ liệu về cho memory controller
4) Memory controller gởi thông tin cần thiết cho nơi đòi hỏi
Các thực hiện như vậy cho thấy mọi nơi đòi hỏi dữ liệu và các graphic memory đều phải nối với memory controller việc này đã dẫn tới tăng mật độ các mạch điện trên PCB, do đó việc tăng các đường giao tiếp giữa GPU và Ram ( bus width ) lên 512 bit là khó thực hiện được ngoài ra còn làm giảm khả năng tăng clock speed của GPU.

Cấu trúc Ringbus bao gồm memory controller nằm ở giữa xung quanh là 2 đường ( bus ) mỗi đường có bus width tùy thuộc vào loại vid ( ví dụ x1950 có bus width là 256 bit thì mỗi đường bus trong hình vẽ có bus width là 256 bit ) ,2 đường này sẽ chạy 2 chiều ngược nhau ( do đó việc truy xuất dự liệu sẽ nhanh hơn ) và với clock speed bằng với memory clock .Mỗi góc của memory controller có 1 Ring stop . Do có 2 đường chạy như vậy nên ATi luôn quảng cáo với internal memory bus ( ví dụ với x1950 thì internal memory bus là 512 bit ,1024 bit với R600 ) tuy nhiên đây chỉ là đường bus đến các Ring stop còn bus width giữa Ring stop/memory controller với các module ram vẫn là 256 bit .

Ở cấu trúc Ringbus thì việc thực hiện như sau :

1) Những nơi đòi hỏi dữ liệu gởi yêu cầu đến cho memory controller
2) Memory controller sẽ sắp xếp thứ tự theo mức độ quan trọng của yêu cầu ,xác định module ram nào chứa dữ liệu và gởi đến module ram đó .
3) Module ram sẽ gởi dữ liệu cần thiết lên Ring bus ( 2 đường màu đỏ trên hình ) để dẫn tới Ring stop gần nhất .
4) Từ Ring stop dữ liệu cần thiết sẽ được chuyển trực tiếp nơi cần mà không cần qua memory controller.

Đơn giản hoá : memory controller như đại lý cung cấp hàng ,các đường bus như các con đường ,nhưng nơi cần dữ liệu như người tiêu dùng .Với cấu trúc memory cũ thì muốn có được hàng thì người tiêu dùng phải chạy trực tiếp đến đại lý để lấy hàng ,còn trong cấu trúc Ringbus thì các Ring stop như là các cửa hàng bán sản phẩm của đại lý ,khi có nhiều cửa hàng thì người tiêu dùng không phải chạy trực tiếp đến đại lý để nhận hàng mà chỉ cần ra cửa hàng .Do đó làm giảm mật độ người di chuyển đến đại lý ,giảm ùn tắc giao thông xung quanh GPU .
Ngoài ra với thiết kế như vậy cho phép các dòng Radeon sau này có thể sử dụng loại Ram với tốc độ cao hơn GDDR4 ,đây cũng chính là lý do tại sao X1950 sử dụng được GDDR4.
Ngoài ra memory controller cũng được thiết kế để có thể lập trình được ( thông qua driver )và thông minh hơn .

Memory interface : ( đường giao tiếp giữa memory controller / Ring stop với module ram độ rộng của nó gọi là external memory bus)
Trước đây Ati thường sử dụng channel có độ rộng là 64 bit nhưng từ dòng x1000 Ati đã chia nhỏ làm nhiều channel 32 bit với ý tưởng là càng nhiều channel thì việc sử dụng sẽ linh động và hiệu quả hơn .Với nhiều channel 64 bit khi dữ liệu chỉ chiếm ½ đường thì sẽ lãng phí mất 1 phần bandwidth .

Article Tags:
·
Article Categories:
IT & Network
    http://linholiver.com

    https://linholiver.com/diary/about/