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

(Tiểu luận) kiến trúc máy tính báo cáo phân tích các thành phần của bộ nhớ đệm và các cách thức triển khai của bộ nhớ đệm trong hệ thống máy tính

27 4 0

Đang tải... (xem toàn văn)

Tài liệu hạn chế xem trước, để xem đầy đủ mời bạn chọn Tải xuống

THÔNG TIN TÀI LIỆU

Thông tin cơ bản

Tiêu đề Kiến Trúc Máy Tính Báo Cáo Phân Tích Các Thành Phần Của Bộ Nhớ Đệm Và Các Cách Thức Triển Khai Của Bộ Nhớ Đệm Trong Hệ Thống Máy Tính
Tác giả Nguyễn Đức Thiện
Người hướng dẫn Cô Phạm Huyền Linh
Trường học Trường Đại Học Bách Khoa Hà Nội
Chuyên ngành Hệ Thống Thông Tin Quản Lý
Thể loại Báo cáo môn học
Năm xuất bản 2022
Thành phố Hà Nội
Định dạng
Số trang 27
Dung lượng 1,55 MB

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

Nội dung

Như với bộ nhớ truy cập ngẫu nhiên thông thường, mỗi vị trí đều có cơ chế định địa chỉ riêng và thời gian truy xuất là không đổi, không phụ thuộc vào vị trí hoặc các kiểu truy cập trước

Trang 1

VIỆN TOÁN ỨNG DỤNG VÀ TIN HỌC

Kiến Trúc Máy Tính

BÁO CÁO MÔN HỌC Ngành: HỆ THỐNG THÔNG TIN QUẢN LÝ

Giảng viên: Cô Phạm Huyền Linh

Sinh viên thực hiện: Nguyễn Đức Thiện

HÀ NỘI – 2022

h

Trang 3

Lời cảm ơn

Lời đầu tiên, em xin gửi lời cảm ơn chân thành nhất đến cô Phạm Huyền Linh.Trong quá trình học tập và tìm hiểu bộ môn Kiến Trúc Máy Tính, em đã nhận được sự quan tâm giúp đỡ, hướng dẫn rất tận tình và tâm huyết của cô Cô đã giúp em tích luỹ thêm nhiều kiến thức hữu ích thông qua môn học này

Môn Kiến Trúc Máy Tính là một môn học thú vị, vô cùng bổ ích và có tính thực tếcao Và để có thể ứng dụng môn học này một cách thành thục trong cuộc sống sẽ đòi hỏi một quá trình học tập, rèn luyện và tích luỹ kinh nghiệm cả trong và ngoài giảng đường Em rất mong nhận được những lời góp ý của cô để giúp hoàn thiện bài báo cáo và nắm vững hơn các kiến thức của môn học

Em xin chân thành cảm ơn!

Hà Nội, tháng 02 năm 2022

Sinh viên

Nguyễn Đức Thiện

h

Trang 4

Hiệu năng của máy tính luôn là vấn đề được quan tâm nhất của cả người dùng và nhà thiết kế Một trong những thành phần giúp tăng

hiệu năng của máy tính chính là Bộ nhớ đệm (Cache memory) Bài

báo của em sẽ phân tích các thành phần của bộ nhớ đệm và các cáchthức triển khai của bộ nhớ đệm trong hệ thống máy tính

Trang 5

Mục lục

Mở đầu ……… ……… 2

Chương 1: Tổng quan về bộ nhớ máy tính……… 3

Đặc điểm của bộ nhớ……… ……….3

Hệ thống phân cấp bộ nhớ……… ………3

Chương 2: Nguyên lý bộ nhớ đệm……… 7

Chương 3: Các thành phần trong thiết kế bộ nhớ đệm………… 11

Địa chỉ bộ nhớ đệm ……… ……… 11

Kích thước bộ nhớ đệm……….12

Chức năng ánh xạ……… 13

Thuật toán thay thế………18

Chính sách ghi………19

Kích thước line……… 20

Số lượng cache………20

Tài liệu tham khảo: ……….……… 22

h

Trang 7

Mở đầu

Mặc dù bộ nhớ có vẻ là một phần cơ bản trong cấu trúc máy tính, tuy nhiên bộnhớ máy tính lại thể hiện một phạm vi tương đối rộng về chủng loại, công nghệ, cách tổ chức, hiệu năng và chi phí của bất kì tính năng nào trong hệ thống máy tính Không một công nghệ riêng biệt nào được tối ưu để thoả mãn các yêu cầu về bộ nhớ cho hệ thống Do đó, một hệ thống máy tính đặc trưng được trang bị một hệ thống phân cấp của hệ thống con của bộ nhớ, cả trong vàngoài máy tính

Báo cáo này sẽ tập trung vào các thành phần bên trong của bộ nhớ cụ thể là bộ nhớ đệm Báo cáo sẽ bắt đầu bằng việc phân tính các đặc điểm chính của bộ

Trang 8

Thuật ngữ location (vị trí) trong hình trên biểu thị cho đó là bộ nhớ ngoài

(external) hay trong (internal) của máy tính Bộ nhớ trong của máy tính

thường được hiểu là bộ nhớ chính, nhưng đó chỉ là một loại bộ nhớ trong Bộ

xử lý sẽ cần có bộ nhớ cục bộ của nó, hay còn gọi là các thanh ghi Thêm vào

đó, bộ điều khiển của bộ xử lý có thể cần các bộ nhớ ngoài Cache là một loại

bộ nhớ trong Bộ nhớ ngoài bao gồm các thiết bị lưu trữ ngoại vi như là đĩa cứng /mềm được kết nối với bộ xử lý thông qua bộ điều khiển I/O

Một đặc điểm dễ thấy của bộ nhớ là dung lượng (capacity) Với bộ nhớ

trong, nó có thể biểu diễn thông qua các bytes hoặc words Độ dài thông thường của word là 8, 16 hay 32 bits

Một thuật ngữ cần biết đến là unit of transfer (đơn vị truyền) Với bộ nhớ

trong, unit of transfer bằng với số đường điện vào và ra khỏi module bộ nhớ

Nó cũng có thể bằng với độ dài word, nhưng thường lớn hơn, như là 64, 128 hay 256 bits Để làm rõ điểm này, hãy phân tích ba phần của bộ nhớ trong:

- Word: Đơn vị mặc định của tổ chức bộ nhớ Kích thước của word thường

bằng với số bits được sử dụng để đại diện cho số nguyên và cho độ dài câu lệnh Tuy nhiên, cũng có một vài ngoại lệ Ví dụ, CRAY C90 có độ dài word là 64 bits nhưng sử dụng 46 bits đại diện số nguyên Intel x86 sử dụng đa dạng độ dài câu lệnh với nhiều bytes, và kích thước word là 32 bits

- Đơn vị địa chỉ (Addressable unit): Trong một vài hệ thống, đơn vị địa chỉ

là word, nhiều hệ thống cho phép đánh địa chỉ ở cấp độ byte Bất cứ

trường hợp nào, mối quan giữa độ dài trong bits A của một địa chỉ và số lượng N của đơn vị địa chỉ là 2 A =N.

- Đơn vị truyền (Unit of transfer): Với bộ nhớ chính, đó là số lượng bits

được đọc hay ghi vào bộ nhớ tại một thời điểm Đơn vị truyền không được bằng một word hay một đơn vị địa chỉ Với bộ nhớ ngoài, dữ liệu thường được truyền lớn hơn một word, và được gọi là blocks

Một cách phân biệt khác giữa các loại bộ nhớ là phương thức truy cập các

đơn vị dữ liệu

- Truy cập tuần tự: Bộ nhớ được tổ chức thành các đơn vị dữ liệu, gọi là

bản ghi Truy cập cần được thực hiện theo một trình tự tuyến tính cụ thể Thông tin địa chỉ được lưu trữ và sử dụng để tách các bản ghi và hỗ trợ quá trình truy xuất Một cơ chế đọc ghi chia sẻ được sử dụng, và nó phải được chuyển từ vị trí hiện tại đến vị trí mong muốn, chuyển và từ chối

Trang 9

từng bản ghi trung gian Do đó, thời gian để truy cập một bản ghi bất kì cóthể khác nhau.

- Truy cập trực tiếp: Như với truy cập tuần tự, truy cập trực tiếp sử dụng

cơ chế đọc ghi chia sẻ Tuy nhiên, mỗi block hay bản ghi có một địa chỉ riêng biệt dựa trên vị trí vật lý

- Truy cập ngẫu nhiên: Mỗi địa chỉ trên bộ nhớ là duy nhất, sử dụng cơ chế

địa chỉ wired-in Thời gian để truy cập một vị trí là không phụ thuộc và các lần truy cập trước đó và không đổi Do đó, mỗi vị trí có thể được chọn một cách ngẫu nhiên và được đánh địa chỉ và truy cập trực tiếp Bộ nhớ chính và một vài hệ thống đệm sử dụng truy cập ngẫu nhiên

- Liên kết: Đây là một loại truy cập ngẫu nhiên của bộ nhớ mà nó cho phép

người ta so sánh các vị trí bit mong muốn trong một word và thực hiện điều này cho tất cả các word đồng thời Do đó, một word được truy xuất dựa trên một phần nội dung của nó chứ không phải địa chỉ Như với bộ nhớ truy cập ngẫu nhiên thông thường, mỗi vị trí đều có cơ chế định địa chỉ riêng và thời gian truy xuất là không đổi, không phụ thuộc vào vị trí hoặc các kiểu truy cập trước đó Bộ nhớ cache có thể sử dụng truy cập liên kết

Với góc nhìn người dùng, hai đặc điểm quan tronng nhất bộ nhớ là dung lượng và hiệu năng Ba thông số hiệu năng được sử dụng là:

- Thời gian truy cập (độ trễ): Với bộ nhớ truy cập ngẫu nhiên, đây là thời

gian cần thiết để thực hiện thao tác đọc hoặc ghi, đó là, thời gian từ thời điểm một địa chỉ được hiển thị trong bộ nhớ đến thời điểm dữ liệu được lưu trữ hoặc sẵn sàng để sử dụng Đối với bộ nhớ truy cập không ngẫu nhiên, thời gian truy cập là thời gian cần thiết để định vị cơ chế độc ghi ở

vị trí mong muốn

- Chu kì bộ nhớ: Khái niệm này chủ yếu được áp dụng cho bộ nhớ truy cập

ngẫu nhiên và bao gồm thời gian truy cập cộng với bất kỳ thời gian bổ sung nào cần thiết trước khi có thể bắt đầu truy cập lần thứ hai Lưu ý rằng thời gian chu kỳ bộ nhớ liên quan đến bus hệ thống, không phải bộ

xử lý

- Tốc độ truyền tải: đây là tốc độ mà dữ liệu có thể được chuyển vào hoặc

ra khỏi một đơn vị bộ nhớ Đối với bộ nhớ truy cập ngẫu nhiên, nó bằng 1/(chu kì bộ nhớ) Đối với bộ nhớ truy cập không ngẫu nhiên, công thức sau đây giữ nguyên: Tn = TA + n/R

h

Trang 10

TA = thời gian truy cập trung bình.

n = Số lượng bits

R = tốc độ truyền tải, bits trên giây

Có rất nhiều loại bộ nhớ vật lý đã được sử dụng Phổ biến nhất hiện nay là bộnhớ bán dẫn, bộ nhớ bề mặt từ tính, được sử dụng cho đĩa và băng, quang học quang từ

Hệ thống phân cấp bộ nhớ

Có những hạn chế về thiết kế đối với bộ nhớ của máy tính có thể được tóm gọn bằng ba câu hỏi: Dung lượng bao nhiêu ? Nhanh như thế nào? Chi phí ra sao?

Câu hỏi đầu tiên phần nào đã được giải đáp Nếu với dung lượng tương ứng,các ứng dụng có thể sẽ được phát triển để sử dụng nó Câu hỏi tiếp theo, Theo một cách nào đó có thể dễ dàng trả lời hơn Để đạt được hiệu năng cao nhất, bộ nhớ phải có khả năng theo kịp bộ xử lý Có nghĩa là, khi bộ xử lý đang thực hiện các lệnh, chúng ta sẽ không muốn nó phải tạm dừng để cho các lệnh khác Câu hỏi cuối cùng còn phải được xem xét Đối với một hệ thống thực tế, chi phí của bộ nhớ phải hợp lý tương xứng với các thành phần khác

Như dự đoán, có sự đánh đổi giữa ba đặc điểm chính của bộ nhớ: dung lượng, thời gian truy cập và chi phí Nhiều công nghệ khác nhau được sử dụng để triển khai các hệ thống bộ nhớ, và trên toàn bộ các công nghệ này các mối quan hệ sau được giữ nguyên:

- Thời gian truy cập nhanh hơn, chi phí tăng trên mỗi bit;

- Dung lượng lớn hơn, chi phí mỗi bit nhỏ hơn;

- Dung lượng lớn hơn, thời gian truy cập chậm hơn

Một vài tình huống mà nhà thiết kế cần phải đối mặt có thể kể đến khá rõ ràng Nhà thiết kế muốn sử dụng các công nghệ cung cấp cho bộ nhớ dung lượng lớn, vì dung lượng là cần thiết và chi phí cho mỗi bit thấp Tuy nhiên,

để đáp ứng các yêu cầu về hiệu năng, nhà thiết kế cần sử dụng các bộ nhớ đắttiền, dung lượng tương đối thấp với thời gian truy cập ngắn

Trang 11

Cách thoát khỏi tình thế tiến thoái lưỡng nan này không phải dựa vào một thành phần hoặc công nghệ đơn lẻ, mà là sử dụng một hệ thống phân cấp bộ nhớ Một hệ thống phân cấp điển hình được minh họa trong hình dưới đây khi sử dụng hệ thống phân cấp những điều sau đây sẽ xảy ra:

1 Giảm chi phí trên mỗi bit

2 Tăng dung lượng

3 Tăng thời gian truy cập

4 Giảm tần suất truy cập bộ nhớ của bộ xử lý

Do đó, các bộ nhớ nhỏ hơn, đắt hơn, nhanh hơn được bổ sung bởi những bộ nhớ lớn hơn, rẻ hơn, chậm hơn Chìa khoá tạo nên sự thành công của cách tổ chức này là thành phần thứ (4): giảm tần suất truy cập Sử dụng bộ nhớ 2 cấp

để giảm thiểu thời gian truy cập trung bình hoạt động chỉ khi các điều kiện từmột đến bốn được áp dụng Bằng việc sử dụng đa dạng công nghệ, nhiều hệ thống nhớ đã thoả mãn điều kiện 1 đến 3 May mắn là điều kiện 4 rất dễ để h

Trang 12

trăm truy cập vào từng cấp thấp hơn đáng kể so với cấp trên.

Chương 2: Nguyên lý bộ nhớ đệm

Bộ nhớ đệm được thiết kế để kết hợp các bộ nhớ có thời gian truy cập tốc

độ cao, đắt tiền với các bộ nhớ có tốc độ thấp hơn và ít tiền hơn Khái niệmnày được minh họa trong hình dưới đây Có một bộ nhớ chính tương đối lớn và trận cùng với một bộ nhớ đệm nhỏ hơn, nhanh hơn Bộ nhớ đệm chứa một bản sau các phần của bộ nhớ chính Khi bộ xử lý cố gắng đọc từ

bộ nhớ, việc kiểm tra sẽ được thực hiện để xác định xem dữ liệu đó có trong bộ nhớ đệm hay không Nếu có dữ liệu sẽ được chuyển đến bộ xử lý.Nếu không, một block bộ nhớ chính, bao gồm một số dữ liệu cố định, đượcghi vào bộ nhớ đệm sau đó chuyển đến bộ xử lý

Trang 13

Hình dưới đây mô tả cấu trúc của hệ thống bộ nhớ đệm trên bộ nhớ chính.

h

Trang 14

một địa chỉ n bit duy nhất Đối với mục đích ánh xạ, bộ nhớ này được coi

là bao gồm một số block có độ dài cố định gồm K word mỗi block Tức là

có M = 2n / K block trong bộ nhớ chính Bộ nhớ đệm bao gồm m block, được gọi là line Mỗi line chứa K word, cộng thêm một vài bit tag Mỗi linecũng bao gồm các bit điều khiển, như bit để xác định liệu line có được thayđổi từ khi được ghi vào bộ nhớ đệm Độ dài của line, không bao gồm bit điều khiển được gọi là kích thước line Kích thước line có thể là 32 bit, với mỗi word là một byte; trong trường hợp đó kích thước line là 4 byte Số lượng line được cho là nhỏ hơn rất nhiều so với số lượng block của bộ nhớ chính Ở bất kì thời điểm nào, một vài block con của bộ nhớ được truyền tới một trong các line của bộ nhớ đệm Bởi vì có nhiều block hơn trong line, một line độc lập không thể được chỉ định cho một block cụ thể vĩnh viễn Do đó, mỗi line bao gồm một tag nhằm phân biệt các block được lưu trữ Tag thường là một phần của địa chỉ bộ nhớ chính

Hình dưới đây miêu tả thao tác đọc Bộ xử lý tạo địa chỉ đọc của một word.Nếu word đó đã được lưu trữ trong bộ đệm, nó sẽ được chuyển đến bộ xử

lý Nếu không, block chưa word đó sẽ được lưu vào bộ đệm, và word đó

sẽ được chuyển tới bộ xử lý Hin

Trang 15

Hình trên cũng cho thấy hai thao tác cuối cùng diễn ra đồng thời và tương ứng với cách tổ chức trong hình dưới đây

h

Trang 16

Trong cách tổ chưc này, bộ nhớ đệm kết nối với bộ xử lý thông qua các line

dữ liệu, điều khiển, và địa chỉ Line dữ liệu và địa chỉ cũng gắn với dữ liệu

và địa chỉ đệm và được gắn với bus hệ thống từ bộ nhớ chính Khi bộ nhớ đệm được truy cập, các dữ liệu và địa chỉ đệm được gọi đến chỉ trong bộ nhớ chính và bộ nhớ đệm Khi bộ nhớ đệm truy cập dữ liệu bị thiếu, địa chỉ được lưu vào bus hệ thống và trả ngược về thông qua dữ liệu đệm đến

cả bộ nhớ đệm và bọ xử lý Trong một cách tổ chức khác, bộ nhớ đệm đượcthêm vào giữa bộ xử lý và bộ nhớ chính để dùng với mọi line địa chỉ, dữ liệu và điều khiển Ở trường hợp cuối cùng, với mỗi lần thiếu dữ liệu trong bộ nhớ đệm, word sẽ được ghi vào bộ đệm và chuyển tới bộ xử lý

Chương 3: Các thành phần trong thiết

kế bộ nhớ đệm

Địa chỉ bộ nhớ đệm

Hầu hết các bộ xử lý không mã hoá và bộ xử lý nhúng đều hỗ trợ bộ nhớ

ảo Về bản chất, bộ nhớ ảo là một nơi cho phép các chương trình định địa chỉ cho bộ nhớ một cách logic mà không quan tâm đến dung lượng của bộ nhớ chính Khi bộ nhớ ảo được sử dụng, các trường địa chỉ trong câu lệnh máy tính sẽ chứa các địa chỉ ảo Để đọc và ghi từ bộ nhớ chính, đơn vị tổ chức phần cứng bộ nhớ (hardware memory management unit - MMU) sẽ dịch mỗi địa chỉ ảo thành địa chỉ vật lý trong bộ nhớ chính

Trang 17

Khi bộ nhớ ảo được sử dụng, nhà thiết kế hệ thống có thể chọn đặt bộ nhớ đệm giữa bộ xử lý và đơn vị quản lý phần cứng bộ nhớ (MMU) hoặc giữa MMU và bộ nhớ chính

Một bộ nhớ đệm logic, hay còn còn là bộ nhớ đệm ảo, lưu dữ liệu bằng địa chỉ ảo Bộ xử lý sẽ truy cập bộ nhớ đệm trực tiếp không cần thông qua MMU Một bộ nhớ đệm vật lý lưu dữ liệu sử dụng địa chỉ vật lý của bộ

h

Trang 18

hơn bộ nhớ vật lý, bởi vì bộ nhớ đệm có thể phản hồi trước khi MMU thực hiện dịch địa chỉ Nhược điểm của nó là trên thực tế hầu hết các hệ thống

bộ nhớ ảo cung cấp cho mỗi ứng dụng cùng một không gian địa chỉ bộ nhớ ảo Tức là mỗi ứng dụng đều có bộ nhớ ảo bắt đầu từ địa chỉ 0 Do đó, với cùng một địa chỉ ảo trong hai ứng dụng khác nhau lại trỏ đến hai địa chỉ vật lý khác nhau Bộ nhớ đệm cần phải được xoá hoàn toàn khi chuyển đổi ứng dụng hoặc các bit bổ sung phải được thêm vào mỗi line của bộ đệm để xác định không gian địa chỉ ảo tương ứng

Kích thước bộ nhớ đệm

Thành phần thứ 2 của bộ nhớ đệm là kích thước bộ nhớ Chúng ta muốn kích thước bộ nhớ đệm nhỏ để có thể chi phí trung bình trên mỗi bit gần với bộ nhớ chính và đủ lớn để thời truy cập trung bình tiệm cận với bộ nhớđệm Có nhiều lý do để giảm kích thước bộ nhớ đệm Bộ nhớ đệm càng lớnthì số lượng cổng cũng gia tăng khi định địa chỉ của bộ nhớ đệm Kết quả

là với bộ nhớ đệm lớn thì tốc độ sẽ chậm hơn với bộ nhớ nhỏ

Chức năng ánh xạ

Bởi vì các line của bộ nhớ đệm ít hơn block của bộ nhớ chính, một thuật toán được sử dụng để map giữa các block bộ nhớ với line bộ nhớ đệm Hơn nữa, cần một phương tiện để xác định block nào của bộ nhớ chính đang chiếm line của bộ nhớ đệm Lựa chọn chức năng ánh xạ quyết định cách tổ chức bộ nhớ đệm Ba kỹ thuật có thể sử dụng là: Trực tiếp, liên kết

và liên kết tập hợp Trong mỗi trường hợp, chúng ta xem xét cấu trúc chung và sau đó là ví dụ cụ thể

Trang 19

Ánh xạ trực tiếp Đây là kỹ thuật đơn giản nhất, ánh xạ mỗi block của bộ

nhớ chính tới một line của bộ nhớ đệm Hình dưới đây biểu diễn ánh xạ cho m blcok đầu tiên của bộ nhớ chính Mỗi block ánh xạ đến một line duynhất của bộ nhớ đệm

h

Trang 20

M block tiếp theo của bộ nhớ chính ánh xạ tới bộ nhớ đệm theo cách tươngtự; tức là, block Bm của bộ nhớ chính ánh xạ tớ line L0 của bộ nhớ đệm, block Bm+1 ánh xạ tới line L1…

Chức năng ánh xạ dễ dàng được thực hiện nhớ địa chỉ của bộ nhớ chính Hình dưới đây miêu tả cơ chế chung của nó Với mục đích truy cập bộ nhớđệm, mỗi địa chỉ trong bộ nhớ chính có thể bao gồm ba phần Các bit w ít quan trọng nhật xác định một word hoặc byte duy nhất trong một block của bộ nhớ chính; trong hầu hết các máy tính hiện đại, địa chỉ ở mức byte Các bit còn lại chỉ định một trong các block 2s trong bộ nhớ chính Logic bộnhớ đệm diễn giải các bit này như một tag các bit – r bit (phần quan trọng nhất) và một trường gồm r bit Trường thứ hai này xác định một trong m =

2r line của bộ nhớ đệm

Ngày đăng: 10/05/2023, 15:07

HÌNH ẢNH LIÊN QUAN

Hình dưới đây mô tả cấu trúc của hệ thống bộ nhớ đệm trên bộ nhớ chính. - (Tiểu luận) kiến trúc máy tính báo cáo phân tích các thành phần của bộ nhớ đệm và các cách thức triển khai của bộ nhớ đệm trong hệ thống máy tính
Hình d ưới đây mô tả cấu trúc của hệ thống bộ nhớ đệm trên bộ nhớ chính (Trang 13)
Hình trên cũng cho thấy hai thao tác cuối cùng diễn ra đồng thời và tương  ứng với cách tổ chức trong hình dưới đây. - (Tiểu luận) kiến trúc máy tính báo cáo phân tích các thành phần của bộ nhớ đệm và các cách thức triển khai của bộ nhớ đệm trong hệ thống máy tính
Hình tr ên cũng cho thấy hai thao tác cuối cùng diễn ra đồng thời và tương ứng với cách tổ chức trong hình dưới đây (Trang 15)

TỪ KHÓA LIÊN QUAN

TÀI LIỆU CÙNG NGƯỜI DÙNG

TÀI LIỆU LIÊN QUAN

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

w