Tham dự Tech Lounge

Tham dự Tech Lounge


Unified Memory trên Apple Silicon là gì? Vì sao nó giúp máy Mac chạy nhanh hơn xưa?

Duy Luân
3/2/2022 0:51Phản hồi: 71
Unified Memory trên Apple Silicon là gì? Vì sao nó giúp máy Mac chạy nhanh hơn xưa?
Unified Memory là một kiến trúc mới xuất hiện trong các máy tính sử dụng chip Apple Silicon, bao gồm M1, M1 Pro, M1 Max. Nó giúp cải thiện tốc độ xử lý như thế nào? CPU, GPU có thể truy cập bộ nhớ nhanh hơn ra sao?



RAM có vai trò gì trong máy tính của bạn?


Khi máy tính hoạt động, nó sẽ cần tính toán. Mọi thứ bạn thấy, bạn click, bạn tương tác trên máy tính thực chất đều do bộ xử lý tính toán ra. Và để tính toán được thì phải có dữ liệu đầu vào, tính xong phải có chỗ chứa kết quả của phép tính, ngoài ra CPU cũng phải biết thực hiện phép tính đó như thế nào (instruction). Đó là lúc người ta cần đến bộ nhớ.

Bộ nhớ trong máy tính thì có nhiều loại: ngay trong CPU thì có register, rồi có cách thể loại cache tốc độ cao, rồi có RAM, rồi có ổ SSD / HDD để lưu trữ dài hạn. Tốc độ của các loại bộ nhớ giảm dần theo thứ tự mình liệt kê ở đây, nhưng theo đó giá thành cũng thấp hơn và dung lượng thì tăng lên. Nếu dữ liệu mà CPU cần tính toán không có trong register, nó sẽ kiếm ở cache, nếu cache không có thì tìm tiếp ở RAM, RAM không có thì đi xuống SSD / HDD để lấy.

Cứ mỗi bước tìm kiếm như vậy thì sẽ chậm đi, nên nếu dữ liệu có sẵn càng nhiều, càng đúng cái CPU cần thì tốc độ xử lý sẽ tăng lên do giảm được độ trễ của việc tìm dữ liệu. Tạm bỏ qua register, cache, chúng ta chỉ tập trung nói về RAM trong khuôn khổ bài viết này.

RAM càng ngày càng nhanh hơn là để nó có thể nói chuyện được với bộ xử lý nhanh chóng hơn, và dung lượng RAM cũng to ra để có thể chứa được nhiều dữ liệu hơn.

RAM trong máy tính truyền thống


Trong nhiều chiếc máy tính hiện nay, cả laptop và desktop, RAM là một thanh rời được gắn vào một khe trên bo mạch chủ. Trên thanh RAM này có hàng loạt những con chip nhớ gọi là DRAM. Dung lượng của thanh RAM chính là tổng dung lượng của những con chip này cộng lại.

Một số dòng laptop mỏng nhẹ, cao cấp, và hiện đại thì không dùng thanh RAM rời. Thay vào đó nhà sản xuất hàn chết chip DRAM lên bo mạch để tăng tốc độ truy xuất, giúp cho máy mỏng hơn, giảm số lượng linh kiện. RAM hàn chết thường gặp ở những con MacBook, các dòng laptop Ultrabook siêu mỏng nhẹ.

RAM trong máy Apple Silicon


Còn với các máy tính chạy Apple Silicon (M1, M1 Pro, M1 Max), Apple đưa chip DRAM này lên chung 1 gói với SoC luôn chứ không nằm riêng bên ngoài bo mạch. Cấu trúc của con chip nhìn giống y như hình bên dưới, trong đó hai miếng bên phải chính là chip DRAM, còn ở giữa là cụm CPU - GPU - NPU và nhiều thành phần khác của SoC.

5220896_2.Unified_Memory.jpg

Lợi ích của việc mang DRAM lên trực tiếp lên đế chip SoC đó là tốc độ giao tiếp của RAM với CPU / GPU sẽ nhanh hơn nhiều so với việc nằm riêng (cả ở dạng thanh RAM hay RAM hàn lên mainboard truyền thống). Và quan trọng hơn, RAM giờ đây là một “quỹ chung” có thể được chia sẻ và sử dụng bởi cả CPU, GPU và mọi thành phần trong chip.

Quảng cáo


Đây chính là kiến trúc mà Apple gọi là “Unified Memory Architecture” (UMA). Lợi ích của UMA đó là khi một thành phần nào cần bộ nhớ nhiều hơn, nó có thể truy xuất thêm phần mà nó cần. Ví dụ, khi GPU cần thêm bộ nhớ, nó có thể lấy bộ nhớ từ “quỹ chung” này. Có khi lúc đó CPU chỉ đang xử lý việc nhẹ nhàng thôi, quỹ còn thừa nhiều thì GPU có thể lấy thoải mái. Hay nếu như nhân AI cần thêm bộ nhớ, nó có thể chui vô quỹ và lấy ra.

Còn với mô hình RAM truyền thống, CPU, GPU sẽ được phân bổ trước một phần bộ nhớ cố định, hết thì thôi, chịu, không được đi qua lấy của thằng khác. Các GPU tích hợp trước đây cũng hoạt động theo cách này, tức là GPU tích hợp được phân bổ một lượng RAM cố định và bạn có thể thiết lập con số đó trong Windows, còn xài hết thì thôi, không được lấn lướt.

Nhưng chưa hết, cái tuyệt với nhất của UMA đó là dữ liệu đã nằm trong RAM thì có thể được truy cập bởi cả CPU, GPU và những linh kiện khác, máy tính không cần phải copy dữ liệu qua lại giữa các RAM riêng như xưa. Việc này tăng tốc đáng kể cho các tác vụ nặng.

dram.jpg

Để bạn thấy được sự quan trọng của việc không cần phải copy qua lại dữ liệu, mình sẽ lấy ví dụ của game vì game là một tác vụ mà cả CPU và GPU đều phải chạy nặng.

Trong mô hình truyền thống, CPU sẽ nhận tất cả các lệnh xử lý cũng như dữ liệu cần thiết rồi sau đó chuyển những thứ liên quan đến đồ họa cho GPU. Khi đó, các instruction và dữ liệu cần thiết để GPU làm việc sẽ phải được copy từ RAM của CPU sang vRAM của GPU. Một khi GPU đã hoàn thành xong tác vụ, nó phải báo CPU biết là “tao đã xong” và dữ liệu lại một lần nữa phải được chuyển về cho CPU xử lý tiếp, tức là thêm một lần copy nữa về lại RAM.

Quảng cáo


cpu_gpu_process.jpg

UMA loại bỏ được khâu copy qua lại này, vì CPU và GPU giờ có thể truy cập cùng 1 chỗ. Khi CPU cần đến GPU, nó chỉ cần nói cho GPU biết rằng dữ liệu mà mày đang cần nằm ở vị trí xxx kìa. Khi GPU hoàn thành công việc, nó cũng chỉ cần nói cho CPU biết rằng kết quả nằm ở ô yyyy kìa, mày vô lấy đi. Xong.

RAM trên Apple Silicon cũng là loại có băng thông cực lớn


Không chỉ có kiến trúc mới, mà RAM trên các con chip M1, M1 Pro, M1 Max cũng là loại có băng thông lớn và độ trễ thấp. Việc này càng giúp đẩy nhanh tốc độ truy cập RAM của các thành phần máy tính. Con chip M1 có băng thông RAM là 68.25 GB/s, M1 Pro là 200 GB/s và M1 Max là 400 GB/s.

Để các bạn dễ so sánh thì băng thông RAM tối đa mà một con chip Intel Core X-Series có thể đạt được chỉ là 94 GB/s mà thôi, mà đây lại là dòng chip khủng bố, mạnh mẽ của Intel rồi. Còn với GPU RTX 3080 Ti của NVIDIA, băng thông của vRAM có thể đạt được mức 912.4 GB/s.

DJD3df2DxCepQqzHNppVkW-1674-80.jpg

Bên trên là hình ảnh của con chip Apple M1 Pro. Các bạn thấy là ngoài phần chính to hơn, hai chip RAM cũng to hơn với dung lượng lớn hơn và băng thông lớn hơn.

Apple không phải công ty đầu tiên dùng UMA


Trước Apple, NVIDIA cũng đã từng ra mắt một giải pháp gọi là Unified Memory khoảng 6-7 năm trước. Ở mức phần mềm, Unified Memory cũng là một vị trí chung mà CPU và GPU có thể cùng truy cập dữ liệu, giảm thiểu việc copy dữ liệu giữa hai bộ xử lý quan trọng này. NVIDIA tạo ra một không gian địa chỉ ảo để CPU và GPU có thể cùng hiểu và sử dụng.

Nhưng ở mức phần cứng thì thực ra giải pháp này chứa data trên các khu vực riêng biệt của bộ nhớ CPU và GPU. Trong khi đó, Apple Silicon thì không dùng không gian địa chỉ ảo và họ xài hàng thật luôn.

UniMem.jpg

Gần đây AMD cũng giới thiệu công nghệ Smart Access Memory. Khi sử dụng các CPU dòng Ryzen 5000 chung với GPU Radeon RX 6000 Series, CPU có thể tận dụng 100% bộ nhớ của GPU để tăng hiệu năng chơi game. Trước đó CPU chỉ được cho phép truy cập một phần nhỏ bộ nhớ của GPU mà thôi. Mô hình này không hẳn là unified, nhưng nó cũng giải quyết cùng bài toán. Còn từ năm 2014, AMD đã tạo ra các mô hình để CPU và GPU có thể truy cập cùng dữ liệu trên cùng 1 loại RAM mà không làm mất đi tính thống nhất của dữ liệu.

Tham khảo: HowToGeek, AnandTech, AMD
71 bình luận
Chia sẻ

Xu hướng

Vậy nên nếu Intel và AMD cũng dùng cách này thì chắc hẳn tốc độ của máy sẽ rất khủng đây. Nhưng vấn đề nếu Intel và AMD làm vậy sẽ làm khó cho các nhà sản xuất khi cần tạo ra các sản phẩm đa dạng, và cũng khó cho người tiêu dùng trong việc lựa chọn linh kiện và cấu hình phù hợp
dlcky
TÍCH CỰC
2 năm
@nghaimin Hình như APU của AMD cũng có cái này, nhưng cũng do vấn đề về nhiệt nên chưa thể đưa 1 con gpu tích hợp mạnh như card rời vào cùng 1 đế chip. AMD nó có quả infinity fabric rất hứa hẹn nhưng nó cũng động chạm đến lợi ích của các hãng sản xuất ram và chip nhớ, may ra nếu bắt tay với samsung thì sẽ có 1 ngày không xa sẽ thấy 1 con APU tương tự như con M1 này trên các thế hệ ps và xbox tiếp theo
@dlcky AMD có cái Smart Memory Access cũng hay á, mà nó optimize cho game hơn
@nghaimin Lúc đó lại một đội nhảy vào chửi amd-intel độc quyền, không cho nâng cấp này nọ 🤣
cả intel và amd đều có chip graphic integrated vô cpu lâu rồi mà sao chưa làm UMA cho mấy con APU nhỉ? chừa mấy con hạng nặng không tích hợp xài ram rời, vậy người dùng đỡ đau đầu khi mua/build máy thường.
UMA thì chỉ cần 16 GB hay 32 GB là đủ xài cho các tác vụ vài năm nay.
@sunny_summer Cơ bản là M1 không phải là CPU mà là 1 hệ thống gồm cả CPU, GPU, RAM, vv trên 1 đế chip. Còn chip Intel và AMD chỉ có CPU và GPU thôi, RAM vẫn rời, vẫn phải cắm trên khe cắm của bo mạch chủ mà.
@sunny_summer AMD và NVIDIA cũng có rồi đó bạn, nhưng chưa giống cách Apple làm. Có khi mai mốt cũng sẽ chuyển qua kiểu này.
hadryan
TÍCH CỰC
2 năm
@nospecial Có gần hết rồi chứ 2-3 năm gì nữa???
@nospecial App nayive apple silicon nó có gần hết rồi, cũng 80% chứ chẳng ít. Chỉ còn mấy cái app vặt là chậm thôi
hoangbk1990
ĐẠI BÀNG
2 năm
Unified Memory đúng là apple không phải là người đi đầu, Mình nhớ con ps4 anh em chơi cách đây bao nhiêu năm đã là Unified Memory rùi Sony với AMD hình như lấy GDDR 5 làm shared ram. Apple cải tiến cho nó vào soc cộng với kiến trúc arm mới làm nên thành công của M1.
Duy Luân nên có nhiều bài thế này hơn mấy bài chơi với vợ
@Thịnh Trần Design Sẽ có đủ cả hai, chứ không thì rất là chán 😁
nước cam
ĐẠI BÀNG
2 năm
Nếu mình là apple mình sẽ tích hợp cpu và gpu làm 1, gọi là: cgpu - central and graphics processing unit. Để cắt luôn cái khâu thằng này hỏi thằng kia dữ liệu nằm ở đâu. Khi này con chip đổi tên thành: M super saiyan level 10.
@nước cam Đoán đại: chắc chưa đủ để làm 😁
@nước cam nếu mình là apple mình sẽ k dùng cpu luôn, mình tích hợp luôn bộ xử lý vào bộ vỏ, pin cũng vào bộ vỏ luôn.

nếu ngớ nếu ngẩn 😆
Bài hay quá 😁
vanthoan
TÍCH CỰC
2 năm
Nhanh hơn là nhanh hơn như thế nào, thông số ra sao, kết quả benchmark cũng không có nên cũng chỉ coi cho vui. Unified memory cũng chưa chắc đã tốt như mấy ông chém gió, theo cái ý tưởng là không cần copy dữ liệu qua GPU. Thực tế với unified memory thì sau khi CPU write dữ liệu trở lại RAM thì GPU vẫn phải đọc dữ liệu đó ngược trở ra để xử lý nên cũng vẫn tốn chừng đó thời gian. Mà cái ngốn băng thông nhất không phải là copy dữ liệu giữa CPU và GPU, mà là GPU phải cần RAM để lưu dữ liệu tạm. Dữ liệu này rất lớn nên nó sẽ tranh giành băng thông với CPU, buộc RAM phải có băng thông lớn hơn. Trong khi với hệ thống x86 thì 2 bộ nhớ này riêng rẽ nên hiệu quả cao hơn rất nhiều.
Mà thực ra trong các CPU x86 luôn có bộ điều khiển PCI, bộ này access RAM cũng giống như 1 GPU tích hợp trong hệ thống unified memory vậy, công việc của nó chỉ là ném dữ liệu của CPU qua GPU, việc này được thực hiện song song nên không ảnh hưởng gì đến performance cả. Nên cũng có thể nói hệ thống x86 hoạt động giống như hệ thống unified memory vậy.
Điều quan trọng ở đây là việc đưa RAM gần sát vào die của CPU giúp giảm latency và tăng băng thông, ăn tiền là ở chỗ đó chứ không phải do unified memory gì đâu.
vanthoan
TÍCH CỰC
2 năm
@taosung Mình làm chuyên về bộ nhớ, và một vài module điều khiển bộ nhớ đi kèm. Vào đây chém gió chút cho vui thôi, anh em thấy có gì không hay xin bỏ qua.
@vanthoan Đó chính là lý do chơi game trên M1 ko bao giờ sướng đc.
Cười vô mặt
EndlessBlue
ĐẠI BÀNG
2 năm
@vanthoan đồng ý với bác, hiện tại mình có lập trình game và AI cơ bản đều phải dùng tới GPU để gia tốc và việc này cần trả ngược data về cho CPU, chứ phụ thuộc vào CPU thì performance rất tệ
ông béo này được cái tài viết, mà cũng tài làm video, lúc nào lười đọc thì xem video, rất là tiện
Tưởng giải thích từ đợt mới ra máy rồi chứ :3
Điểm nổi bật nhất vẫn là cho chip nhớ vào cùng die với SOC, làm tốc độ cao hơn, còn việc GPU và CPU dùng chung RAM thì intel họ làm với các GPU shared mem từ rất lâu rồi, nhưng so với gpu rời dùng RAM riêng cũng ko vượt trội gì.
@sour_suppa_man Share mem đó mỗi thằng vẫn có memory space riêng nhau á, nên không chọc vô chung được
@Duy Luân Mình nghĩ cùng 1 chip nhớ thì việc luân chuyển data giữa CPU và GPU sẽ không cần thực hiện nữa chứ nhỉ, việc mình phải chọn fixed dung lượng RAM shared cho GPU chắc do lựa chọn khi làm sản phẩm của ông intel/amd thôi.
@sour_suppa_man nó allocate hai "vùng địa chỉ" (memory space" nên tụi nó không chọc được vô nhau 😁 Sau này nếu Intel hay AMD có làm theo thì chưa biết hihi
@Duy Luân Ok cảm ơn mod :3
Chip M1 quá khủng khiếp, thế giới phải mất 30 năm mới theo kịp Apple của hiện tại...
baden009
TÍCH CỰC
2 năm
@Em Thờ IPhone. 10 năm thôi bác. intel với amd cũng rục rịch tích hợp hết vô thành 1 Soc rồi
titom113
ĐẠI BÀNG
2 năm
Mod @duyluan cho mình hỏi có cách nào để Mục Recently của Macos nó dùng Ok như Windows ko ?!
Mục Recently của Macos rất chuối, ko hiểu vì sao có nhiều cái đang làm, nhưng nó ko vô Recently.
Thanks.
@titom113 Cái đó rối quá mình chả bao giờ xài luôn
hoang559
TÍCH CỰC
2 năm
@titom113 ý bạn là mục quick access trên win á?
Tha hồ lướt tinhte mà không sợ giật lag.
mod của năm viết bài có khác 😁
@cuhiep Tinhte cho phép mem quảng cáo PR kênh cá nhân à. Có vẻ CuHiep hơi thoáng quá vụ này hè. Tinte trở thành nơi để mem/mod quảng cáo kênh riêng 😆 Một kênh quảng cáo free quá toẹt vời.
@Hồng Xuân Quang Nhật tinhte là mạng xã hội, người viết bài có quyền dùng kênh youtube của họ nhúng vào bài viết

nếu bạn muốn quảng cáo kênh free trên tinhte cũng ok thôi, viết bài hay để đc lên trang chủ
baden009
TÍCH CỰC
2 năm
dần dần intel và AMD cũng tích hợp cả gói CPU + GPU và RAM lên 1 SoC thôi. mai mốt con em chúng ta sẽ ko phải lăn tăn đi lựa từng CPU, GPU và RAM lên 1 mainboard nữa. tương lai là mấy hãng bán ram rời sẽ bị lung linh.
dongtrieuz
ĐẠI BÀNG
2 năm
Một trong bước tiến mới thúc đẩy thị trường
hadryan
TÍCH CỰC
2 năm
Hạn chế của uma chỗ nào đọc ko thấy ta
@hadryan Không thể thay thế được các linh kiện riêng lẻ khi cần
hadryan
TÍCH CỰC
2 năm
@nghaimin 2022 rồi cái đó ko cần thiết nữa
AMD Intel mà làm giống vậy thì mấy thằng làm ram bán cho ai , rồi 2 thằng độc quyền giá ram luôn à , ko ai cho đâu
stefan51
ĐẠI BÀNG
2 năm
@hoanglong0712 Nó có thể bán core cho Intel và AMD để tích hợp vào mà bác. Làm vậy còn lợi hơn, cả 2 ông lớn không mất tg thiết kế hay phát triển phần RAM. Mặt khác vẫn sử dụng được những công nghệ RAM mới nhất, tốt nhất. Các cty làm chip nhớ sẽ đc lợi. Các công ty mua chip nhớ để làm RAM sẽ phải tìm lối đi khác.

Xu hướng

Bài mới









  • Chịu trách nhiệm nội dung: Trần Mạnh Hiệp
  • © 2024 Công ty Cổ phần MXH Tinh Tế
  • Địa chỉ: Số 70 Bà Huyện Thanh Quan, P. Võ Thị Sáu, Quận 3, TPHCM
  • Số điện thoại: 02822460095
  • MST: 0313255119
  • Giấy phép thiết lập MXH số 11/GP-BTTTT, Ký ngày: 08/01/2019