1. Trang chủ
  2. » Công Nghệ Thông Tin

Bài giảng Kiến trúc máy tính: Chương 4 - ThS. Nguyễn Hằng Phương

52 8 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

Định dạng
Số trang 52
Dung lượng 3,01 MB

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

Nội dung

Bài giảng Kiến trúc máy tính - Chương 4: Bộ nhớ Cache cung cấp cho người học các kiến thức: Tổng quan Hệ thống bộ nhớ máy tính, nguyên tắc Bộ nhớ Cache, các thành phần của Thiết kế Cache, tổ chức Cache Pentium 4. Mời các bạn cùng tham khảo.

Trang 1

+

KIẾN TRÚC MÁY TÍNH

Trang 2

+ Chương 4

Bộ nhớ Cache

Trang 3

+

Các đặc tính của hệ thống bộ nhớ Phân cấp bộ nhớ

4.2 nguyên tắc Bộ nhớ Cache

4.3 Các thành phần của Thiết kế Cache

Cache Addresses Cache Size

Ánh xạ Chức năng Các thuật toán thay thế Chính sách ghi

Kích thước line

Số bộ nhớ Cache 4.4 Tổ chức Cache Pentium 4

NỘI DUNG

3

Trang 4

Đặc điểm chính của hệ thống bộ nhớ

máy tính

Bảng 4.1 Các đặc điểm chính của hệ thống bộ nhớ máy tính

Trang 5

+

Đặc điểm của hệ thống bộ nhớ

 Vị trí

 Bộ nhớ có thể ở trong và ngoài máy tính

 Bộ nhớ trong thường tương đương với bộ nhớ chính

 Bộ xử lý cần có bộ nhớ cục bộ riêng của nó, dưới dạng thanh ghi

 Cache là một dạng khác của bộ nhớ trong

 Bộ nhớ ngoài bao gồm các thiết bị lưu trữ ngoại vi có thể truy cập vào bộ xử lý thông qua bộ điều khiển I / O

 Dung lượng

 Bộ nhớ thường được biểu diễn dưới dạng byte

 Đơn vị truyền

 Đối với bộ nhớ trong, đơn vị truyền bằng số lượng đường dây điện

đi vào và ra khỏi module bộ nhớ

Trang 6

Phương pháp truy cập các khối dữ liệu

Dùng cơ chế đọc-ghi chia

sẻ

các block hoặc record

có địa chỉ duy nhất dựa trên

vị trí thực tế

Thời gian truy cập biến động

Truy cập ngẫu nhiên

Mỗi vị trí trong

bộ nhớ có một

cơ chế định địa chỉ riêng

Thời gian truy cập vào 1 vị trí nhất định không đổi, không phụ thuộc vào chuỗi các truy cập trước đó

1 vị trí bất kỳ có thể được lựa chọn ngẫu nhiên, đánh địa chỉ và truy cập trực tiếp

Bộ nhớ chính và một số hệ thống cache là truy cập ngẫu nhiên

Kết hợp

1 từ được lấy ra dựa trên 1 phần nội dung chứ không dựa trên địa chỉ của nó

mỗi vị trí có cơ chế định địa chỉ riêng; thời gian truy cập không đổi, không phụ thuộc vị trí hoặc các mẫu truy cập trước

Bộ nhớ cache

có thể sử dụng truy cập kết hợp

Trang 7

Dung lượng và Hiệu năng:

Hai đặc điểm quan trọng nhất của bộ nhớ

Ba tham số hiệu năng được sử dụng:

Thời gian truy cập

• Liên quan đến hệ thống bus, không liên quan

bộ xử lý

Tốc độ truyền tải

• Tốc độ truyền dữ liệu vào hoặc ra khỏi bộ nhớ

• Đối với bộ nhớ truy cập ngẫu nhiên, tốc độ truyền tải bằng 1/(chu kỳ)

Trang 8

+ Bộ nhớ

- Các dạng phổ biến nhất: Bộ nhớ bán dẫn, Bộ nhớ bề mặt

từ, Bộ nhớ quang, Bộ nhớ quang từ

- Với bộ nhớ truy cập ngẫu nhiên, vấn đề quan trọng khi

thiết kế là tổ chức hay sự sắp xếp vật lý của các bit để tạo

thành các từ word

Trang 9

+ Bộ nhớ

Một số đặc điểm vật lý quan trọng của lưu trữ dữ liệu:

 Bộ nhớ khả biến (Volatile memory)

 Thông tin bị phân rã tự nhiên hoặc bị mất khi nguồn điện tắt

 Bộ nhớ bất biến (Non-volatile memory)

 Thông tin một khi đã được ghi thì sẽ không bị hư hỏng cho

đến khi được cố tình thay đổi

 Không cần cấp điện để giữ lại thông tin

 Bộ nhớ bề mặt từ (Magnetic-surface memories)

 Bất biến

 Bộ nhớ bán dẫn (Semiconductor memory)

 Khả biến hoặc bất biến

 Bộ nhớ không xoá được (Nonerasable memory)

 Không thể thay đổi, trừ khi phá hủy các khối lưu trữ

 Bộ nhớ chỉ đọc (ROM) là bộ nhớ bán dẫn thuộc loại này

Trang 10

+

Phân cấp bộ nhớ

 Thiết kế bộ nhớ của máy tính cần trả lời ba câu hỏi:

 How much, how fast, how expensive

 Cần có sự cân đối giữa dung lượng, thời gian truy cập và chi phí

 Thời gian truy cập nhanh hơn, chi phí lớn hơn cho mỗi bit

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

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

 Giải pháp cho tình trạng khó xử khi thiết kế bộ nhớ:

 Không dựa vào một thành phần hoặc công nghệ bộ nhớ

 Sử dụng một hệ thống phân cấp bộ nhớ

Trang 11

+ Bộ nhớ phân cấp

- Sơ đồ

a Giảm chi phí cho mỗi bit

b Tăng dung lượng

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

dài hơn

d Giảm tần suất truy cập

bộ nhớ của bộ vi xử lý

Trang 12

+

2 NGUYÊN LÝ BỘ NHỚ CACHE

12

Trang 14

Cấu trúc bộ nhớ chính/cache

Trang 15

Thao tác đọc Cache

Trang 16

+

Tổ chức bộ nhớ cache điển hình

Trang 17

3 Các yếu tố khi Thiết kế Cache

Table 4.2 Elements of Cache Design

Trang 18

+

Địa chỉ bộ nhớ cache

 Cơ sở cho phép các chương trình định địa chỉ bộ nhớ theo

quan điểm logic, không liên quan đến số lượng bộ nhớ

chính vật lý có sẵn

 Khi bộ nhớ ảo được sử dụng, trường địa chỉ trong lệnh

chứa địa chỉ ảo

 Để đọc ra và ghi vào bộ nhớ chính, một khối phần cứng

quản lý bộ nhớ (memory management unit - MMU) sẽ

dịch từng địa chỉ ảo sang địa chỉ vật lý trong

bộ nhớ chính

Bộ nhớ ảo

Trang 19

+

Cache vật lý

và cache logic

Ưu điểm? Nhược điểm?

Trang 20

là cache lệnh và

cache dữ liệu

b, Cả hai cache

đều là cache lệnh; Không có cache

dữ liệu

Trang 21

kỳ dòng cache nào

• Logic điều khiển cache diễn giải địa chỉ bộ nhớ bằng trường Tag và trường Word

• Để xác định một khối có

ở trong cache không, logic điều khiển cache phải cùng lúc kiểm tra Tag của tất cả các line

Kết hợp Set

• Thể hiện ưu điểm của cả phương pháp trực tiếp và kết hợp, đồng thời giảm

nhược điểm

Trang 23

Tổ chức cache ánh xạ trực tiếp

Trang 24

+

Ví dụ

 Cache 64 Kbyte

 1 word = 1 byte

 Block dữ liệu 4 byte (word)

 Cache gồm 16K = 214 line, mỗi line 4 byte

 Địa chỉ bộ nhớ 24 bit

 224 = 16M

 Bộ nhớ chính 16Mbyte, chia thành 4M block

Trang 26

+

Tổng kết ánh xạ trực tiếp

 Độ dài địa chỉ nhớ = (s + w) bits

 Số lượng đơn vị địa chỉ= 2s+w words or bytes

 Kích thước khối= kích thước line = 2w words or bytes

 Số khối trong bộ nhớ chính = 2s+ w/2w = 2s

 Số line trong bộ nhớ cache = m = 2r

 Kích thước của tag = (s – r) bits

Trang 27

Ánh xạ kết hợp

Cho phép 1 khối bộ nhớ chính được tải vào bất kỳ dòng cache nào

Trang 28

Tổ chức Cache kết hợp

Trang 30

+

Tổng kết ánh xạ kết hợp

 Độ dài địa chỉ = (s + w) bit

 Số lượng đơn vị địa chỉ = 2s+w word hoặc byte

 Kích thước block = Kích thước line = 2w word hoặc byte

 Số lượng block trong bộ nhớ chính = 2s+ w/2w = 2s

 Số lượng line trong cache = không xác định

 Kích thước tag = s bit

Trang 31

Ánh xạ kết hợp tập hợp

 Thể hiện ưu điểm của cả phương pháp trực tiếp và kết hợp

đồng thời giảm nhược điểm

Cache bao gồm một số set (v)

Mỗi set chứa một số line (k)

 1 khối được ánh xạ vào 1 line bất kỳ trong 1 set nhất định

Trang 32

+

Ánh xạ Kết hợp tập hợp

k chiều

Trang 33

Tổ chức cache kết hợp tập hợp k chiều

Trang 35

+

Tổng kết ánh xạ kết hợp tập hợp

 Độ dài địa chỉ = (s + w) bits

 Số lượng đơn vị địa chỉ = 2s+w words or bytes

 Kích thước khối= kích thước line = 2w words or bytes

 Số khối trong bộ nhớ chính = 2s+w/2w=2s

 Số line trong set = k

 Số set = v = 2d

 Số line trong cache = m=kv = k * 2d

Kích thước của cache = k * 2d+w words or bytes

 Kích thước của tag = (s – d) bits

Trang 36

+ Sự kết hợp thay đổi theo kích thước cache

Trang 37

+

Thuật toán Thay thế

 Khi bộ nhớ cache đã đầy, nếu một khối mới được đưa

vào cache, một trong những khối hiện có phải được

thay thế

 Đối với ánh xạ trực tiếp: chỉ có một line có thể cho một

khối bất kỳ và không có sự lựa chọn nào khác

 Đối với các kỹ thuật kết hợp và kết hợp tập hợp, cần có một thuật toán thay thế

 Để đạt được tốc độ cao, thuật toán phải được thực hiện trong phần cứng

Trang 38

+

Các thuật toán thay thế phổ biến

 Least recently used (LRU)

 Thay thế khối đã nằm trong cache lâu nhất

 Dễ dàng thực hiện như một kỹ thuật vòng đệm hoặc round-robin

 Least frequently used (LFU)

 Thay thế khối có ít tham chiếu đến nó nhất

 Có thể thực hiện bằng cách kết hợp một bộ đếm với mỗi line

Trang 39

Khi một khối trong cache

được thay thế, có 2 trường

hợp cần xem xét:

Nếu khối cũ trong cache chưa thay

đổi, có thể ghi đè khối mới lên mà

không cần ghi khối cũ ra trước

Nếu ít nhất 1 thao tác ghi đã được

thực hiện trên 1 word trong line của

cache thì bộ nhớ chính phải được

cập nhật bằng cách ghi line của

cache ra khối của bộ nhớ trước khi

đưa khối mới vào

Có hai vấn đề phải đối mặt:

Nhiều thiết bị có thể truy cập vào bộ

nhớ chính

Một vấn đề phức tạp hơn xảy ra khi nhiều bộ xử lý được gắn vào cùng một bus và mỗi bộ xử lý lại có cache cục bộ riêng - nếu một word

bị thay đổi trong một cache, nó có thể làm mất hiệu lực một word

trong các cache khác

Chính sách ghi

Trang 40

+

Write Through

và Write Back

 Write through

 Kỹ thuật đơn giản nhất

 Tất cả các thao tác ghi được thực hiện cho bộ nhớ chính cũng

Trang 41

+

Ghi vào cache

 Đầu tiên, giả sử rằng địa chỉ mà ta muốn ghi vào đã được nạp

vào cache Giả sử cache dùng ánh xạ trực tiếp

 Nếu ghi 1 giá trị mới vào địa chỉ đó để lưu trữ dữ liệu mới trong cache

Trang 43

+ Write-back

 Ghi dữ liệu vào cache trước, không cập nhật main memory luôn

 Các lệnh đọc sau đó được phục vụ bởi cache

 Lưu dữ liệu mới về main memory chỉ khi block trong cache bị thay thế

Trang 44

Tỷ lệ truy cập bắt đầu giảm khi khối lớn hơn và xác suất sử dụng

thông tin mới truy xuất sẽ thấp hơn xác suất tái sử dụng thông tin đã

thay thế

2 tác động:

1, Khối lớn hơn làm giảm số lượng khối trong 1 cache

2, Khi 1 khối lớn hơn, mỗi word thêm vào lại càng khác word yêu cầu

Trang 45

+

Cache nhiều cấp

 Khi mật độ logic tăng lên, cache có thể nằm trên cùng chip với bộ xử lý

 Cache trên chip làm giảm hoạt động bus ngoài của bộ xử lý; tăng tốc

thời gian xử lý và tăng hiệu năng toàn hệ thống

 Khi chỉ thị yêu cầu hoặc dữ liệu được tìm thấy trong cache trên chip,

truy cập bus được loại bỏ

 Truy cập bộ nhớ cache trên chip sẽ nhanh hơn đáng kể so với các chu

trình bus trạng thái zero-wait

 Trong giai đoạn này, bus tự do hỗ trợ các lượt truyền khác

 Cache 2 cấp: Cache bên trong là cấp1 (L1), Cache bên ngoài là cấp 2

(L2)

 Tiết kiệm tiềm năng do sử dụng cache L2 phụ thuộc vào tỷ lệ truy cập

vào cả cache L1 và L2

 Việc sử dụng cache nhiều cấp làm cho các vấn đề thiết kế liên quan đến

cache phức tạp hơn, gồm kích thước, thuật toán thay thế, chính sách ghi

Trang 46

Tỉ lệ truy cập (L1 & L2) cho 8 Kbyte và 16 Kbyte L1

Trang 47

+

Cache thống nhất / cache phân chia

 Phân chia cache trở nên phổ biến:

 1 dành cho chỉ thị / 1 cho dữ liệu

 Tồn tại ngang hàng, thường là 2 cache L1

 Ưu điểm của cache thống nhất:

 Tốc độ truy cập cao hơn

 Cân bằng tải chỉ thị và dữ liệu được nạp tự động

 Chỉ cần thiết kế và thực hiện một bộ nhớ cache

 Xu hướng: cache phân chia ở L1 và cache thống nhất ở các cấp cao hơn

 Ưu điểm của cache phân chia:

 Loại bỏ sự cạnh tranh cache giữa khối tìm nạp / giải mã lệnh và khối thực hiện

 Quan trọng trong pipelining

Trang 48

4

Cache Pentium

4

Bảng 4.4 Intel

Cache Evolution

Bộ nhớ ngoài chậm hơn bus hệ

thống

Thêm cache ngoài dùng công nghệ bộ nhớ nhanh hơn 386

Tăng tốc độ xử lý dẫn đến bus ngoài

trở thành nút cổ chai đối với truy cập

cache

Di chuyển cache ngoài lên chip, hoạt động ở cùng tốc độ với bộ vi xử lý

Có cạnh tranh khi cả khối truy xuất

lệnh và khối thực thi đồng thời yêu

cầu truy cập vào cache Khi đó, khối

truy xuất bị đình trệ trong khi truy

cập dữ liệu của khối thực thi diễn ra

Tạo cache dữ liệu và lệnh riêng

Pentium

Tăng tốc độ xử lý dẫn đến bus ngoài

trở thành nút cổ chai cho truy cập

cache L2

Tạo back-side bus chạy ở tốc

độ cao hơn bus ngoài chính (phía trước) BSB dành riêng cho cache L2

Pentium Pro

Di chuyển L2 cache lên chip

xử lý Pentium II

Một số ứng dụng xử lý cơ sở dữ liệu

khổng lồ và phải truy cập nhanh

tới lượng lớn dữ liệu Cache trên

chip là quá nhỏ

Thêm cache L3 bên ngoài Pentium III

Di chuyển L3 cache lên chip

xử lý Pentium 4

48

Trang 49

Sơ đồ khối Pentium 4

Trang 50

Các chế độ hoạt động Cache Pentium 4

Note: CD = 0; NW = 1 là kết hợp không hợp lệ

Trang 52

+

Câu hỏi chương 4

1 Phân biệt truy cập tuần tự, truy cập trực tiếp, và truy cập ngẫu nhiên?

2 Mối quan hệ giữa thời gian truy cập, giá bộ nhớ, và dung lượng là gì?

3 Tính cục bộ của tham hiếu ảnh hưởng thế nào đến việc sử dụng nhiều cấp độ

8 Phân biệt write through và write back?

9 Ưu và nhược điểm của cache phân chia?

Ngày đăng: 11/05/2021, 03:32

TỪ KHÓA LIÊN QUAN

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