Tải bản đầy đủ (.pdf) (51 trang)

Bài giảng Kiến trúc và tổ chức máy tính: Chương 4 - ThS. Trần Quang Hải Bằng

Bạn đang xem bản rút gọn của tài liệu. Xem và tải ngay bản đầy đủ của tài liệu tại đây (3.12 MB, 51 trang )

KIẾN TRÚC VÀ TỔ CHỨC MÁY TÍNH
(Computer Organization and Architecture)
Chương 4
Bộ nhớ máy tính



Nội dung
1. Tổng quan về hệ thống nhớ



Đặc trưng của hệ thống nhớ
Phân cấp hệ thống nhớ

2. Bộ nhớ bán dẫn




Phân loại
Tổ chức chip nhớ
Thiết kế module nhớ bán dẫn

3. Bộ nhớ chính
4. Bộ nhớ đệm nhanh



Nguyên tắc chung của cache
Các phương pháp ánh xạ



5. Bộ nhớ ngồi


Chương 4 - Bộ nhớ máy tính

2


4.1. Tổng quan về hệ thống nhớ
Các đặc trưng của hệ thống nhớ

– Vị trí (location)
• Bên trong Bộ xử lý: Các thanh ghi
• Bộ nhớ trong: Bộ nhớ chính; Bộ nhớ cache
• Bộ nhớ ngồi: Đĩa từ, băng từ, Đĩa quang

– Dung lượng (capacity)
• Độ dài ngăn nhớ (tính bằng bit: 16 bit, 32 bit, 64bit)
• Số lượng ngăn nhớ

– Đơn vị truyền (unit of transfer)
• Truyền theo từ nhớ (word)
• Truyền theo khối nhớ (block)



Chương 4 - Bộ nhớ máy tính

3


4.1. Tổng quan về hệ thống nhớ (tt)
Các đặc trưng (tiếp)
– Phương pháp truy nhập (access method)
• Truy nhập tuần tự (băng từ)
• Truy nhập trực tiếp (đĩa từ, đĩa quang)
• Truy nhập ngẫu nhiên (bộ nhớ trong)
• Truy nhập liên kết (bộ nhớ cache)

– Kiểu vật lý của bộ nhớ (physical type)
• Bộ nhớ bán dẫn
• Bộ nhớ từ: băng từ và đĩa từ
• Bộ nhớ quang: đĩa quang

– Các đặc trưng vật lý (physical characteristics)
• Bộ nhớ khả biến / khơng khả biến
• Bộ nhớ xóa được / khơng xóa được


Chương 4 - Bộ nhớ máy tính

4


4.1. Tổng quan về hệ thống nhớ (tt)
Các đặc trưng (tiếp)
– Hiệu năng
• Thời gian truy nhập
• Chu kỳ nhớ
• Tốc độ truyền




Chương 4 - Bộ nhớ máy tính

5

Phân cấp hệ thống nhớ
Bộ xử lý
Tập
thanh
thi

Cache

L1

Cache

L2

Bộ
nhớ
chính

Bộ
nhớ
ngồi

Bộ nhớ

mạng

Từ trái sang phải:
Dung lượng tăng dần
Tốc độ trao đổi dữ liệu giảm dần
Giá thành /1 bit giảm dần
Tần xuất truy cập bởi CPU giảm dần
Mức trái chứa 1 phần dữ liệu của mức phải


Chương 4 - Bộ nhớ máy tính

6


4.2. Bộ nhớ bán dẫn
Phân loại bộ nhớ bán dẫn
Kiểu bộ nhớ

Read Only Memory
(ROM)
Programmable ROM
(PROM)
Erasable PROM
(EPROM)
Electrically Erasable PROM
(EEPROM)
Flash memory
Random Access Memory
(RAM)




Tiêu chuẩn

Khả năng xóa

Bộ nhớ chỉ
đọc

Khơng xóa
được

Hầu như
chỉ đọc

Bộ nhớ
Đọc-Ghi

Cơ chế ghi

Khả biến

Mặt nạ

Bằng tia cực
tím

Khơng


Bằng điện
từng byte
Bằng điện
từng khối
Bằng điện
từng byte

Chương 4 - Bộ nhớ máy tính

Bằng điện


7

ROM (Read Only Memory)
Bộ nhớ không khả biến
Lưu trữ các thông tin:





Thư viện các chương trình con
Các chương trình điều kiển hệ thống
Các bảng chức năng
Vi chương trình



Chương 4 - Bộ nhớ máy tính


8


Các kiểu ROM
ROM mặt nạ (ROM cố định):
– Thông tin được ghi ngay khi sản xuất
– Rất đắt

PROM (Programmble ROM):
– Khi sản xuất chưa ghi dữ liệu
– Cần thiết bị chuyên dùng để ghi bằng chương trình, chỉ ghi
được một lần

EPROM (Erasable PROM):
– Khi sản xuất chưa ghi dữ liệu
– Cần thiết bị chuyên dụng để ghi bằng chương trình, ghi
được nhiều lần
– Trước khi ghi lại, phải xóa bằng tia cực tím



Chương 4 - Bộ nhớ máy tính

9

Các kiểu ROM (tt)
EEPROM (Electrically Erasable PROM):
– Có thể ghi theo từng byte
– Xóa bằng điện

– Ghi lâu hơn đọc

Flash memory (bộ nhớ cực nhanh)
– Ghi theo khối
– Xóa bằng điện



Chương 4 - Bộ nhớ máy tính

10


RAM (Random Access Memory)
Bộ nhớ đọc / ghi
Khả biến
Lưu trữ thơng tin tạm thời
Có hai loại RAM:
– SRAM (Static RAM)
– DRAM (Dynamic RAM)



Chương 4 - Bộ nhớ máy tính

11

Các kiểu RAM (tt)
SRAM (Ram tĩnh)









Các bit được lưu trữ bằng các Flip-Flop
Không cần mạch làm tươi
Cấu trúc phức tạp hơn DRAM
Dung lượng nhỏ
Tốc độ nhanh hơn DRAM
Đắt hơn DRAM
Dùng làm bộ nhớ cache



Chương 4 - Bộ nhớ máy tính

12


Các kiểu RAM
DRAM (Ram động)
– Các bit được lưu trữ trên tụ điện → cần phải có mạch
làm tươi
– Cấu trúc đơn giản
– Dung lượng lớn
– Tốc độ chậm hơn SRAM
– Rẻ hơn SRAM

– Dùng làm bộ nhớ chính

DRAM có nhiều loại
– SDR DRAM (Single Data Rate DRAM)
– DDR DRAM (Double Data Rate DRAM)



Chương 4 - Bộ nhớ máy tính

13

Các kiểu DRAM
SD DRAM (Single Data Rate DRAM)
– Truy xuất đồng bộ với xung đồng hồ

DDR DRAM (Double Data Rate SDRAM)
– DDR2
– DDR3

RDRAM (Rambus DRAM)



Chương 4 - Bộ nhớ máy tính

14


T chc chip nh

Điều khiển
Chọn

Ô nhớ

Điều khiển

Dữ liệu vào

Chọn

a) Ghi

Dữ liệu ra

Ô nhớ
b) Đọc

ễ nh l phn t nh c 1 bit thơng tin
Các tín hiệu:
• Tín hiệu chọn được gửi đến để chọn ơ nhớ
• Tín hiệu điều khiển chỉ thị việc ghi hay đọc
• Tín hiệu thứ ba là đường dữ liệu


Chương 4 - Bộ nhớ máy tính

15

Tổ chức chip nhớ (tt)

Sơ đồ cơ bản của chip nhớ
A0
A1

An - 1

D0

.
.
.
.

Chip nhớ
2n x m bit

CS

Dm - 1

RD


.
.
.
.

D1


WR

Chương 4 - Bộ nhớ máy tính

16


Các tín hiệu của chip nhớ
Các đường địa chỉ: A0 ÷ An - 1 → có 2n ngăn nhớ.
Các đường dữ liệu: D0 ÷ Dm - 1 → độ dài ngăn nhớ là
m bit.
Dung lượng chip nhớ = 2n x m bit
Các đường điều khiển:
– Tín hiệu chọn chip: CS (Chip Select)
– Tín hiệu điều khiển đọc: RD / OE
– Tín hiệu điều khiển ghi: WR / WE

Các tín hiệu tích cực ở mức 0



Chương 4 - Bộ nhớ máy tính

17

Tổ chức của DRAM
Dùng n đường địa chỉ dồn kênh → cho phép truyền
2n bit địa chỉ
Tín hiệu chọn địa chỉ hàng RAS (Row Address
Select)

Tín hiệu chọn địa chỉ cột CAS (Column Address
Select)
Dung lượng của DRAM: 22n x m bit
Ví dụ
– DRAM có 14 chân địa chỉ dồn kênh, 8 chân dữ liệu
dung lượng = 228 x 8 bit = 28 x 220 x 8 = 256 MB x 8 bit



Chương 4 - Bộ nhớ máy tính

18


VD: chip 16MB DRAM (4M x 4 bit)



Chương 4 - Bộ nhớ máy tính

19

Các chip nhớ (nhìn bên ngồi)



Chương 4 - Bộ nhớ máy tính

20



Thiết kế modul nhớ bán dẫn
Dung lượng chip nhớ là 2n x m bit
Cần thiết kế để tăng dung lượng:
– Tăng độ dài từ nhớ (tăng m)
– Tăng số lượng ngăn nhớ (tăng n)
– Kết hợp cả hai loại (tăng m và n)



Chương 4 - Bộ nhớ máy tính

21

Thiết kế tăng độ dài từ nhớ
Ví dụ 1
Cho chip nhớ SRAM 4K x 4 bit
Hãy thiết kế module nhớ 4K x 8 bit
Giải
Chip nhớ 4K x 4 bit = 4 x 210 x 4 bit = 212 x 4 bit
Chip nhớ có
– 12 đường địa chỉ
– 4 đường dữ liệu

Module nhớ cần thiết kế có
– 12 đường địa chỉ
– 8 đường dữ liệu


Chương 4 - Bộ nhớ máy tính


22


Ví dụ 1 (tiếp)

Khi CS = 0
cả 2 chip cùng làm việc
WE, OE chung nhau
Cả 2 chip cùng ghi, cùng đọc


Chương 4 - Bộ nhớ máy tính

23

Thiết kế tăng độ dài từ nhớ (tt)
Ví dụ 2
Cho chip nhớ SRAM 8K x 8 bit
Hãy thiết kế module nhớ 8K x 32 bit
Giải: ???
Chip nhớ 8K x 8 bit = 810 x 8 bit = 213 x 8 bit
Chip nhớ sẽ có
– 13 đường địa chỉ
– 8 đường dữ liệu

Module nhớ cần thiết kế có
– 13 đường địa chỉ
– 32 đường dữ liệu



Chương 4 - Bộ nhớ máy tính

24


Tăng độ dài từ nhớ tổng quát
Cho chip 2n x m bit
Thiết kế module nhớ 2n x (k.m) bit
Giải:
– Dùng k chip nhớ 2n x m
– Các đường CS, WE, OE đấu chung tất cả các chip
– Đường dữ liệu mỗi chip sẽ chiếp 1 đoạn trong chip kết
quả



Chương 4 - Bộ nhớ máy tính

25

Thiết kế tăng số lượng ngăn nhớ
Ví dụ 3:
Cho chip nhớ SRAM 4K x 8 bit
Hãy thiết kế module nhớ 8K x 8 bit
Giải
Chip nhớ 4K x 8 bit = 4 x 210 x 8 bit = 212 x 8 bit
Chip nhớ có
– 12 đường địa chỉ
– 8 đường dữ liệu


Module nhớ cần thiết kế có dung lượng = 213 x 8 bit
– 13 đường địa chỉ
– 8 đường dữ liệu


Chương 4 - Bộ nhớ máy tính

26


Ví dụ 3 (tt)



Chương 4 - Bộ nhớ máy tính

27

Tăng số lượng ngăn nhớ tổng quát
Cho chip nhớ 2n x m bit
Hãy thiết kế module nhớ 2k+n x m bit
Giải:
Ghép nối 2k chip và dùng bộ giải mã k:2k (k 2k)



Chương 4 - Bộ nhớ máy tính

28



Bộ giải mã 2 4 và 3

A
B
C

8

Y0
Y1
Y2
Y3
Y4
Y5
Y6
Y7

CS


Chương 4 - Bộ nhớ máy tính

29

Bài tập thiết kế module nhớ
1. Tăng số lượng từ nhớ gấp 4 lần




Cho chip nhớ SRAM 4K x 8 bit
Thiết kế module nhớ 16K x 8 bit

2. Tăng số lượng từ nhớ gấp 8 lần



Cho chip nhớ SRAM 4K x 8 bit
Thiết kế module nhớ 32K x 8 bit



Chương 4 - Bộ nhớ máy tính

30


Thiết kế module nhớ tăng hỗn hợp
Tăng cả về số lượng ngăng nhớ và độ dài từ nhớ

Ví dụ:
– Cho chip nhớ SRAM: 8K x 4 bit
– Hãy thiết kế modul nhớ 16K x 8 bit

Giải:
– Dung lượng chip nhớ: 213 x 4 bit
– Chip nhớ có: 13 đường địa chỉ (A0 ÷ A12), 4 đường dữ

liệu (D0 ÷ D3)


– Modul nhớ cần có: 14 đường địa chỉ (A0 ÷ A13), 8 đường

dữ liệu (D0 ÷ D7)



Chương 4 - Bộ nhớ máy tính

31

Ví dụ (tt)
A12÷A0

A0÷A12

A0÷A12

D3÷D0
A13

CS

CS

D7÷D0

CS

A


Y0

WE

G

Y1

A0÷A12

OE

D3÷D0
CS
WE

D0÷D3
WE

OE

A0÷A12
D0÷D3

D7÷D0

CS
OE


WE

OE

WE
OE


Chương 4 - Bộ nhớ máy tính

32


Lời giải tổng quát
Bài toán tăng số lượng và độ dài tổng quát:
– Cho chip nhớ 2n x m bit
– Cần ghép nối modul nhớ: 2p+n x (q.m) bit

⇒ Cần ghép nối q.2p chip thành 2p bộ, mỗi bộ q chip và
phải dùng bộ giải mã p: 2p (p → 2p)



Chương 4 - Bộ nhớ máy tính

33

Bài tập
Cho chip nhớ SRAM 4K x 4 bit
Hãy thiết kế module nhớ 8K x 8 bit

Làm ra giấy và nộp lại vào cuối buổi



Chương 4 - Bộ nhớ máy tính

34


4.3. Bộ nhớ chính
Các đặc trưng cơ bản
– Chứa các chương trình đang thực hiện và các dữ liệu
đang được sử dụng
– Tồn tại trên mọi hệ thống máy tính
– Được đánh địa chỉ trực tiếp bởi CPU: có nhiều ngăn
nhớ, mỗi ngăn nhớ được gán một địa chỉ xác định
– Việc quản lý logic BNC tùy thuộc vào từng HĐH
– Về ngun tắc, người lập trình có thể can thiệp trực
tiếp vào tồn bộ BNC của máy tính



Chương 4 - Bộ nhớ máy tính

35

4.3. Bộ nhớ chính (tt)
Tổ chức bộ nhớ đan xen
– Độ rộng của bus dữ liệu để trao đổi với bộ nhớ thường
là bội số của 2 (m = 8, 16, 32, 64, ... bit)

– Các ngăn nhớ tổ chức theo byte
tổ chức vật lý khác
nhau. Ví dụ: m= 8 bit
1 băng nhớ tuyến tính
Địa chỉ Bank nhớ
0
1
2
3

.....
n
D7 ÷ D0

Bus hệ thống


Chương 4 - Bộ nhớ máy tính

36


m = 16 bit



2 băng nhớ đan xen

Chương 4 - Bộ
37nhớ máy tính


m = 32 bit, 4 băng đan xen



Chương 4 - Bộ nhớ máy tính

38


m=64 bit, 8 băng nhớ đan xen



Chương 4 - Bộ nhớ máy tính

39

4.4. Bộ nhớ đệm nhanh (cache)
Nguyên tắc chung
Các kỹ thuật ánh xạ địa chỉ
Các thuật toán thay thế
Hoạt động của cache
Bài tập



Chương 4 - Bộ nhớ máy tính

40



Nguyên tắc chung
Cache có tốc độ nhanh hơn bộ nhớ chính
Cache được đặt giữa CPU và bộ nhớ chính nhằm
tăng tốc độ truy nhập bộ nhớ của CPU
Cache có thể được đặt trên chip CPU



Chương 4 - Bộ nhớ máy tính

41

Ví dụ về thao tác của cache
CPU yêu cầu nội dung của ngăn nhớ
CPU kiểm tra trên cache với dữ liệu này cần truy xuất
– Nếu có: CPU nhận dữ liệu từ cache
– Nếu khơng có: Đọc Block nhớ chứa dữ liệu từ bộ nhớ
chính vào cache
tiếp theo truyền dữ liệu từ cache
vào CPU



Chương 4 - Bộ nhớ máy tính

42



Các khái niệm
Cache hit, cache miss:
– Cache hit (trúng cache): khi CPU truy nhập một
từ nhớ mà từ nhớ đó đang có trong cache.
– Cache miss (trượt cache): khi CPU truy nhập
một từ nhớ mà từ nhớ đó khơng có trong
cache.
Nguyên lý định vị tham số bộ nhớ:
– Định vị về thời gian: Một mục thông tin vừa
được truy nhập thì có xác suất lớn là ngay sau
đó nó được truy nhập lại.
– Đinh vị về không gian: Một mục thơng tin vừa
được truy nhập thì có xác suất lớn là ngay sau
đó các mục lân cận sẽ được truy nhập.


Chương 4 - Bộ nhớ máy tính

43

Cấu trúc chung của cache
Trao đổi thông tin giữa Cache và BNC:
– BNC được chia thành các Block nhớ
– Cache được chia thành các Line nhớ
– Kích thước Line bằng kích thước Block

⇒ Số lượng Line << Số lượng Block của BNC
Mỗi Line trong cache được gắn thêm một Tag để xác
định Block nào (của BNC) đang ở trong Line




Chương 4 - Bộ nhớ máy tính

44


Cấu trúc chung của cache (tt)
Một số block của bộ nhớ chính được nạp vào các
Line của cache
Nội dung Tag sẽ cho biết block nào của BNC đang
được chứa ở line đó
Khi CPU truy cập (đọc/ghi) một từ nhớ có 2 khả năng
xảy ra:
– Từ nhớ có trong cache (cache hit)
– Từ nhớ khơng có trong cache (cache miss)

Vì số Line của cache ít hơn số block của BNC nên
cần có một giải thuật ánh xạ dữ liệu từ BNC vào
cache



Chương 4 - Bộ nhớ máy tính

45

Cấu trúc chung của cache (tt)
B0
Tag


B1

D÷ liƯu

B2
.
.
.
.
.
.
.
.
.
.

L0

BXL

L1
.
.
.
.
Lm-2
Lm-1

Bé nhí cache


Bp-2
Bp-1

Bé nhí chÝnh


Chương 4 - Bộ nhớ máy tính

46


Các kỹ thuật ánh xạ địa chỉ BNC Cache
Ánh xạ trực tiếp (direct mapping)
Ánh xạ liên kết toàn phần (fully associative mapping)
Ánh xạ liên kết tập hợp (set associative mapping)



Chương 4 - Bộ nhớ máy tính

47

Ánh xạ trực tiếp (direct mapping)
Mỗi Block của BNC chỉ được ánh xạ vào một Line duy
nhất:

i = j mod m
– i: số hiệu Line của Block khi ánh xạ vào trong cache
– j: số hiệu Block trong BNC

– m: số lượng Line trong cache

Cụ thể:
– B0 → L0

– B1 → L1
– ...
– Bm-1 → Lm-1


Bm

→ L0

Bm+1 → L1
...
B2m-1 → Lm-1
Chương 4 - Bộ nhớ máy tính

...

...
...
48


Ánh xạ trực tiếp (tt)
Như vậy:
L0 : B0,
L1 : B1,


Bm, B2m, ..., Bnm
Bm+1, B2m+1, ..., Bnm+1
.......
Lm-1: Bm-1, B2m-1, B3m-1, ..., B(n+1)m-1
Khi đó: Địa chỉ CPU phát ra gồm 3 thơng tin
– Số hiệu ô nhớ trong Block (nằm trong Line của cahe)
– Số hiệu Line trong cache
– Số hiệu của Block nào đang nằm trong cache
Tag
n3 bit


Line
n2 bit

Word
n1 bit

Chương 4 - Bộ nhớ máy tính

49

Ánh xạ trực tiếp (tt)
Tag
n3 bit

Line
n2 bit


Word
n1 bit

Word: xác định byte nhớ trong Line (block) BNC
⇒ Kích thước 1 line = 2n1
Line: Xác định số hiệu Line trong cache
⇒ Có 2n2 Line trong cache
Tag: số bít còn lại là n3 = N – n2 – n1
⇒ BNC chứa 2n3 ô nhớ



Chương 4 - Bộ nhớ máy tính

50


×