• Hệ thống phân cấp bộ nhớ: Từ nhanh và đắt tới chậm và rẻ – Ví dụ: Thanh ghi->Cache–>bộ nhớ chính->Đĩa – Trước hết, chỉ xem xét hai mức lân cận trong hệ thống phân cấp – Cache: Tốc độ c
Trang 1Posts and Telecommunications Institute of Technology
KIẾN TRÚC MÁY TÍNH
Chương V: Hệ thống bộ nhớ
Giảng viên: TS Nguyễn Quý Sỹ
Email: synq@ptit.edu.vn
Trang 37 Ngăn xếp và thủ tục, chương trình con
Nội dung (Chỉnh lại)
Trang 4• Cho đến nay, chúng ta coi bộ nhớ là một mảng các từ bị giới hạn về
kích thước chỉ vì số lượng các bit địa chỉ Life is seldom so easy
Trang 5• Các phần tử bộ nhớ:
– Các ô bộ nhớ RAM và các mảng ô
– RAM tĩnh-đắt hơn nhưng ít phức tạp hơn
– Bộ giải mã cây và giải mã ma trận-cần cho các chip RAM lớn
– RAM động-rẻ hơn nhưng cần làm tươi
1 Giới thiệu (t)-Vấn đề liên quan
Trang 6• Hệ thống phân cấp bộ nhớ: Từ nhanh và đắt tới chậm và
rẻ
– Ví dụ: Thanh ghi->Cache–>bộ nhớ chính->Đĩa
– Trước hết, chỉ xem xét hai mức lân cận trong hệ thống phân cấp
– Cache: Tốc độ cao và đắt tiền
– Bộ nhớ ảo-làm cho phân cấp trong suốt
chỗ mà dữ liệu thực sự được lưu vào
• Đa lập trình-Cái gì phải làm trong khi chúng ta chờ
• TLB giúp về tốc độ xử lý chuyển đổi địa chỉ
– Cơ sở cho thành công của các ký thuật cache và bộ nhớ ảo (Sẽ
bàn tới vị trí thời gian và không gian).
1 Giới thiệu (t)-Vấn đề liên quan (t)
Trang 71 Giới thiệu (t)
Trang 8• Các điểm bổ sung:
– Nếu b<w, bộ nhớ chính phải chuyển giao w/b b-bit.
– Một số CPU cho phép đọc và ghi các kích thước từ <w.
– Nếu bộ nhớ đủ nhanh hoặc nếu đáp ứng của nó có thể dự báo
Trang 91 Giới thiệu (t)
2 32 x8
2 20 x8
2 20 x8 Dung lượng bit của bộ nhớ
2 m
64 16
8 Kích thước bus dữ liệu
b
8 8
16bits Kích thước từ của CPU
w
IBM/Moto Intel 8086
Intel 8088 Định nghĩa
Ký
hiệu
Trang 10• Khi các kiểu dữ liệu có một kích thước từ lớn hơn đơn vị
nhỏ nhất của bộ nhớ có thể đánh địa chỉ được, nảy sinh vấn đề:
– “Phần có trọng số thấp nhất của từ nằm ở địa chỉ thấp nhất
(little Endian, little end first) hoặc –
– Phần có trọng số cao nhất của từ năm ở địa chỉ thấp nhất (Big
Endian, big end first)?
1 Giới thiệu (t)-Lưu trữ
msb lsb
AB CD
Trang 111 Giới thiệu (t)-Lưu trữ
• Các tham số hoạt động của bộ nhớ: Thông tin thường được vận
chuyển và lưu trữ theo khối ở mức cache và ổ đĩa
Thời gian để truy cập toàn bộ khối các từ
thời gian Thời gian truy cập khối
tl
Tốc độ truyền từ từ/thời gian
Băng thông b
Số lượng từ trên 1 khối Từ
Kích thước khối k
Thời gian từ bắt đầu truy cập tới bắt đầu truy cập tiếp theo
thời gian Thời gian chu kỳ
tc
Thời gian để truy cập một từ bộ nhớ
Thời gian Thời gian truy cập
ta
Nghĩa Đơn vị
Tên gọi
Ký hiệu
Trang 121 Giới thiệu (t)-Lưu trữ
• Các tham số hoạt động của bộ nhớ: Thông tin thường được vận
chuyển và lưu trữ theo khối ở mức cache và ổ đĩa
Thời gian để truy cập toàn bộ khối các từ
thời gian Thời gian truy cập khối
tl
Tốc độ truyền từ từ/thời gian
Băng thông b
Số lượng từ trên 1 khối Từ
Kích thước khối k
Thời gian từ bắt đầu truy cập tới bắt đầu truy cập tiếp theo
thời gian Thời gian chu kỳ
tc
Thời gian để truy cập một từ bộ nhớ
Thời gian Thời gian truy cập
ta
Nghĩa Đơn vị
Tên gọi
Ký hiệu
Trang 13Chi phí/MB
1MB/s 50MB/s
4KB 4KB
10-50ns 4-20ns
.4-10ns Khoảng lặng
1TB 8GB
64MB-2GB 8KB-8MB
64-1024B Dung lượng
Trình tự
Trực tiếp Ngẫu nhiên
Ngẫu nhiên Ngẫu nhiên
Truy cập
Băng từ
Ổ đĩa
Bộ nhớ chính Cache
Thanh ghi Phần tử
Trang 141 Các ô nhớ
2 Bảng mạch và mô đun nhớ
2 Bảng mạch nhớ và mô đun nhớ
Trang 15• Phần tử nhớ nhỏ nhất
cung cấp 4 chức năng: Chọn, Dữ liệu vào, Dữ liệu ra và R/W.
R/W
Trang 162 (t)-Một thanh ghi 8 bit là một mảng RAM 1D
Toàn bộ thanh ghi được chọn bằng một đường chọn và sử dụng một đường R/W
Bus dữ liệu là hai hướng và được đệm (Tại sao?)
Trang 172 (t)-Mảng ô bộ nhớ 2D 4x8
R/W chung cho tất cả
2-bit
địa chỉ
Bus dữ liệu được đệm 8-bit hai hướng
Bộ giải mã 2-4 đường chọn một trong 4 mảng 8-bit
Trang 18CS, Chip Select, cho phép các chips trong
các mảng được chọn riêng biệt
Chip này yêu cầu 21 chân bao gồm cả nguồn và đất,
Trang 20• Bộ giải mã hai mức bị giới hạn về kích thước do fan-in cổng
sung
2 (t)-Chip SRAM 16Kx4
Bộ giải mã 3-8 đường được
xây dựng từ các cổng 2 đầu vào
Bộ giải mã ma trận 4-16 đường được xây dựng từ các cổng 2 đầu vào.
Trang 21• Nhu cầu bộ nhớ rộng hơn và lớn hơn trên một chip
– Thỏa mãn bộ xử lý–các yêu cầu giao diện bộ nhớ chính
– Có thể có khả năng làm tưới DRAM
– Có thể mở rộng toàn bộ dung lượng bộ nhớ chính
– Có thể đan xen để cung cấp truy cập nhanh hơn các khối từ
2 (t)-Các bảng mạch và các mô đun nhớ
Trang 222 (t)-Cấu trúc chung của một chip bộ nhớ
A d dress Decoder Memory
CS
A ddress
R/ W
Dat a m
s
B us dữ liệu hai hướng
Nhi ều chip chọn dễ dàng lắp ghép các chip thành các mảng chip
Thường thường do các cổng AND bên ngoài cung cấp
Trang 23p × s Tất cả các chip có chung CS, R/W, và các đường địa chỉ
P chip mở rộng kích thước từ s bit thành p x s bit
Trang 242 (t)-Tăng số lượng từ lên 2 k
CS R/ W
Dat a
A ddress
CS R/ W
Dat a
A ddress
CS R/ W
Dat a
A ddress
k t o 2 k Decoder m+k
Trang 252 (t)-Ma trận chip sử dụng 2 chip chọn
Nhiều đường chọn chip được dùng để thay thế mức cuối cùng của các cổng trong phương thức giải mã
Trang 272 (t)-Một giao diện mô đun bộ nhớ
Phải cung cấp–
• Các tín hiệu đọc và ghi (R/W).
• Ready: Bộ nhớ sẵn sàng chấp nhận lệnh
• Địa chỉ-được gửi kèm với lệnh Read/Write.
• Data–gửi kèm với lệnh Write hoặc có thể sử dụng sau Read when Ready
được xác nhận
• Chọn mô đun–cần khi có nhiều hơn 1 mô đun
Memory boards and/ or
c h ip s Address regist er
Dat a regist er
Chip/ board sel ec t io n
Co nt r o l
s ig n al generat or
k+m
A ddress
Module
se lec t Read
Giao diện Bus
Bộ tạo tín hiệu điều khiển:
đối với SRAM, ch ỉ nháy dữ
liệu khi đọc, cung cấp Ready
khi Read/Write
Đối với DRAM–c ũng cung
cấp CAS, RAS, R/W, gh ép
địa chỉ, tạo các tín hiệu nạp
lại và cung cấp Ready.
Trang 282 (t)-Mô đun DRAM có điều khiển nạp lại
Board and chip select s
A ddress
Mu l t ip lex er Ref resh count er
k
Ref r e sh clock and
Trang 292 (t)-Hai dạng tổ chức mô đun bộ nhớ
Trang 302 (t)-Hai dạng tổ chức mô đun bộ nhớ
Trang 312 (t)-Định thời các mô đun ghép trên một bus
N ếu thời gian để truyền thông tin qua bus, tb, nhỏ hơn thời gian chu kỳ mô
đun, tc thì nó có thể ghép thời gian truyền thông tin cho một số mô đun
V í dụ : L ưu một từ của một đường cache trong một mô đun riêng
Địa chỉ bộ nhớ chính
Cung c ấp các từ thành công theo các mô đun thành công
Định thời : Read module 0
A dd ress
Writ e module 3 Address & dat a
Module 0 Dat a ret urn Module 0 read
V ới đan xem 2 k môđun, và tb < tc/2 k thì có thể nhận được tăng 2 k về băng thông
bộ nhớ, yêu cầu bộ nhớ phải được thực hiện theo kỹ thuật đường ống, DMA
thoả mãn yêu cầu này
Trang 32• Ô RAM tĩnh 6 transistor
– Một giá trị được đọc nhờ nạp
trước các đường bit tới một giá trị bằng ½ giữa 0 và 1
– Nhờ vậy cho phép chốt để điều
khiển các đường bit tới giá trị lưu trong chốt
3 RAM tĩnh và RAM động
Trang 333 (t)-Thời gian ghi RAM tĩnh
Thời gian ghi –Thời gian dữ liệu phải được giữ hợp lý để giải mã địa chỉ và lưu trữ giá trị vào các ô bộ nhớ.
Trang 34cảm ứng giá trị trên đường
bit có cảm ứng/khuếch đại
• Yêu cầu nạp lại các ô lưu
trữ của các chip RAM
động làm phức tạp thiết kế
hệ thống DRAM
3 (t)-RAM động
Trang 35• Các địa chỉ được ghép-thời
gian trên bus địa chỉ thông
qua RAS và CAS là các
strobes (nhấp nháy) của
chân cả các chân nguồn.
3 (t)-RAM động
Trang 363 (t)-Các chu kỳ đọc và ghi RAM
t C R/ W
t C W
t RA S
Thời gian truy cập Thời gian chu kỳ
Chú ý: Hoạt động nạp trước
đường bit gây ra sự chênh lệch
thời gian truy cập và thời gian chu kỳ
Dữ liệu giữ từ RAS
Trang 37• Nạp lại thường thường được hoàn thành bởi một chu kỳ “chỉ RAS”
Địa chỉ hàng được đặt trên các đường địa chỉ và RAS được xác nhận Toàn bộ hàng đã được nạp lại CAS không được xác nhận Việc thiếu các tín hiệu giai đoạn CAS báo hiệu cho chip rằng cần thiết nạp lại một hàng và vì vây không có dữ liệu được đặt trên các đường dữ liệu bên ngoài.
• Nhiều chip sử dụng “ CAS trước RAS ” để báo hiệu nạp lại Chip có
một bộ đếm bên trong, và bất cứ khi nào CAS được xác nhận trước RAS, đó là một tín hiệu để nạp lại hàng mà bộ đếm trỏ tới và để tăng
bộ đếm.
• Hầu hết các nhà xản xuất RAM đều cung cấp bộ điều khiển DRAM
1-chip với các chức năng nạp lại và các chức năng khác
• Chế độ trang, chế độ nibble và chế độ cột tĩnh cho phép truy cập
nhanh tới toàn bộ hàng-hàng đã được đọc bằng các chốt cột.
• Video RAMS, VRAMS ghi toàn bộ một hàng vào một thanh ghi
dịch-nơi có thể đọc ra nhanh, từng bit để hiển thị.
3 (t)-Nạp lại DRAM và truy cập hàng
Trang 384 ROM
10ms/byte
100µs Nhiều lần
Rất đắt EEPROM
1s, khối lớn
100µs Nhiều lần
Đắt Flash EPOM
20 phút
Nhiều giây Nhiều lần
Vừa phải EPROM
N/A
Nhiều giây
Một lần bởi
dụng
Không đắt PROM
N/A
Nhiều tuần
Ở tại nhà máy
Rất rẻ
Lập trình mặt
nạ
Thời gian xoá
Thời gian lập trình
Khả năng lập trình Giá thành
Kiểu ROM
Trang 394 ROM (t)
Row Decoder Address
CS
+V
Trang 40• Tách quá trình truy cập bộ nhớ thành các bước:
– Đối với tất cả các truy cập:
Trang 415 Hoạt động hệ thống bộ nhớ (t)
A d d ress d eco d e
Ret ur n d at a
Command t o memory Address t o memory
Writ e dat a t o memory
Complet e Prechar ge
Writ e dat a
ta
tc ( a) St at ic RAM behavior
Complet e
Pr echarge Row address & RAS Column address & CAS
R/ W
Ref r esh
Complet e Prechar ge
Ret urn dat a Writ e dat a t o memory
ta
tc ( b) Dynamic RAM behavior
Read or Writ e Read or Writ e
Wr it e
Read or Writ e Read or Writ e
Chu kỳ “Làm tươi ẩn” Một chu kỳ thường would exclude the
pending refresh step.
Trang 42• Các giá trị xấp xỉ cho định thời đọc RAM tĩnh:
– Thời gian bật các bộ điều khiển bus địa chỉ: 40 ns.
– Truyền bus và lệch bus: 10 ns.
– Thời gian giải mã chọn bảng mạch: 20 ns.
– Thời gian truyền chọn bảng mạch khác: 30 ns.
– Chọn chip: 20ns.
• Thời gian truyền để địa chỉ và lệnh tới được chip: 120 ns.
– Thời gian truy cập đọc bộ nhớ trên chip: 80 ns
– Trễ từ chip tới bus dữ liệu bảng mạch nhớ: 30 ns.
– Trễ bộ điều khiển và trễ truyền: 50 ns.
• Toàn bộ thời gian truy cập đọc bộ nhớ: 280 ns.
• Lời dạy: các chip 70ns chips không nhất thiết phải cung
cấp thời gian truy cập 70ns!
5 Hoạt động hệ thống bộ nhớ-Ví dụ
Trang 43• Vị trí về thời gian: Thuộc tính của hầu hết các chương
trình mà một vị trí bô nhớ đã cho được tham chiếu đến và
có khả năng sẽ được tham chiếu lại sớm.
chiếu, các bị trí gần với vịt rí đó có khả năng sẽ được tham chiếu sớm.
trong một chu kỳ thời gian cố định hoặc trong một cửa sổ thời gian.
• Chú ý: cả hai vị trí về thời gian và không gian làm việc
sao cho các nội dung của tập làm việc thay đổi rất chậm theo thời gian.
6 Hệ thống bộ nhớ phân cấp-Một số định nghĩa
Trang 44• Vị trí về thời gian: Thuộc tính của hầu hết các chương trình mà một
vị trí bô nhớ đã cho được tham chiếu đến và có khả năng sẽ được tham chiếu lại sớm.
• Vị trí về không gian: Nếu một vị trí bộ nhớ được tham chiếu, các bị
trí gần với vịt rí đó có khả năng sẽ được tham chiếu sớm.
• Tập làm việc: Tập hợp các vị trí bộ nhớ được tham chiếu trong một
chu kỳ thời gian cố định hoặc trong một cửa sổ thời gian.
• Chú ý: cả hai vị trí về thời gian và không gian làm việc sao cho các
nội dung của tập làm việc thay đổi rất chậm theo thời gian.
Slower, larger
Định nghĩa các mức sơ cấp và thứ cấp khi xem xét 2 mức lân cận
Trang 45Consider the C for loop:
for ((I=0; I<n; I++)
A[I] = 0;
6 Hệ thống bộ nhớ phân cấp
Trang 466 Hệ thống bộ nhớ phân cấp
M ức
sơ cấp Mthứ cấpức
• Trao đổi giữa hai mức bất kỳ là khối (block.)
• Các khối c ó thể khác nhau về kích thước ở các mức khác nhau trong hệ
thống
V í dụ : K ích thước khối Cache ~ 16-64 bytes
K ích thước khối đĩa : ~ 1-4 Kbytes
• V ì tập làm việc thay đổi, các khối được chuyển đi/về qua hệ thống phân cấp thoả mãn yêu cầu truy cập bộ nhớ
• Bi ên dịch : C ác địa chỉ sẽ khác nhau phụ thuộc vào mức
Địa chỉ sơ cấp : l à địa chỉ của một giá trị trong mức sơ cấp
Tốc độ giữa các mức được xác định bởi khoảng trống : thời gian truy cập từ đầu tiên, và băng thông , số lượng các từ trên giây được phát giữa các mức
Trang 47Hai cách để tạo địa chỉ: Segmentation và Paging
Paging is more common Sometimes the two are used together,
one “on top of” the other More about address translation and paging later
Trang 486 (t)-Khuôn dạng địa chỉ sơ cấp
Trang 49• Hit: từ đã được tìm thấy ở mức mà nó được yêu cầu.
• Miss: từ không được tìm thấu ở mức mà nó được yêu cầu
trên trong hệ thống phân cấp)
• Tỷ lệ Hit (or hit rate) = h = số lượng Hit/toàn bộ số lượng tham chiếu
• Tỷ lệ Miss = 1 - hit ratio
• tp = thời gian truy cập bộ nhớ sơ cấp
• ts = thời gian truy cập bộ nhớ thứ cấp
• Thời gian truy cập: ta = h • tp + (1-h) • ts.
• Trang: thường thường là một khối đĩa
• Lỗi trang: đồng nghĩa với một Miss
• Nhu cầu phân trang: các trang được chuyển từ đĩa lên bộ nhớ chính
chỉ khi một từ trong trang được bộ xử lý yêu cầu
• Các quyết định đặt và thay thế khối phải được thực hiện mỗi lần một
khối được di chuyển.
6 Hệ thống bộ nhớ phân cấp-Đánh giá
Trang 50• Thủ tục chuyển đổi để chuyển đổi từ địa chỉ hệ thống
Miss
6 Hệ thống bộ nhớ phân cấp-Các quyết định
Trang 51• Truy cập trực tiếp tới mức thứ cấp-trong chế độ cache, bộ
xử lý có thể truy cập trực tiếp bộ nhớ chính khi xảy ra cache miss hay không?
khi xảy ra cache miss hay không?
chính khi xảy ra cache miss vì cache đang được cập nhật hay không?
xuyên có thể được thoả mãn bằng một truy cập trực tiếp tới bộ nhớ chính mà không có bất kỳ sự dịch chuyển nào hay không?
6 Hệ thống bộ nhớ phân cấp-Các quyết định (t)
Trang 526.1 B ộ nhớ cache -Chức năng ánh xạ cache
Chức năng ánh xạ cache là nhiệm vụ đối với tất cả các vận hành cache:
• Chiến lược đặt : Đặt vào đâu một khối trong cache
• Chiến lược thay thế : Thay thế khối nào khi có một miss
• Chính sách đọc và ghi : Xử lý đọc và ghi như thế nào khi cache miss Chức năng ánh xạ phải được thực hiện bằng phần cứng (Why?)
Ba dạng khác nhau của các chức năng ánh xạ:
• Kết hợp
• Ánh xạ trực tiếp
• Kết hợp tập hợp-khối
V í dụ : 256KB 16words 32MB
Trang 53Ví dụ địa chỉ ảo 32 bit do bộ xử lý phát ra
0 31
32 bits
Địa chỉ 32 bit được phân chia thành 2 trường,
một trường khối và một trường từ Trường từ đặc trưng cho offset trong
khối được xác định bằng trường khối.
Trang 556.1 Bộ nhớ cache-Cache ánh xạ kết hợp
Vì khối bất kỳ có thể nằm chỗ bất kỳ trong cache, nên sử dụng bộ nhớ có thể định địa chỉ nội dung hoặc kết hợp Tất cả các vị trí được tìm đồng thời
Trang 56– Cần tìm toàn bộ bộ nhớ tag đồng thời có nghĩa mất nhiều phần cứng
• Chính sách thay thế là cả một vấn đề khi cache đầy
6.1 Bộ nhớ cache-Cache ánh xạ kết hợp
Trang 586.1 Bộ nhớ cache-hoạt động của cache ánh xạ trực tiếp
Trang 59• Cache ánh xạ trực tiếp sử dụng ít phần cứng hơn, nhưng
hạn chế nhiều hơn ở đặt khối
cache sẽ bị “đập” nhiều lần Nghĩa là mang 2 khối lặp liên tục nhiều lần tranh nhau vào và ra khỏi cache và làm giảm hoạt động.
⇒ Thoả hiệp-cho phép một số khối cache trong từng nhóm:
Cache kết hợp tập hợp khối
trực tiếp
Trang 606.1 B ộ nhớ cache - c ache k ết hợp tập hợp
V í dụ chỉ ra 256 nh óm , T ập hợp 2 khối cho mỗi nhóm
Đôi khi được xem như một cache kết hợp tập hợp 2 đường
Trang 61• Cache trong Intel Pentium
6.1 Bộ nhớ cache-cache kết hợp tập hợp
• Pentium th ực sự có hai cache riêng biệt, một cho lệnh và một cho dữ liệu
• Pentium ph át hành các địa chỉ bộ nhớ 32-bit.
• M ỗi cache là cache kết hợp tập hợp 2 đường
• M ỗi cache có kích thước 8K=2 13 byte
• 32 = 2 5 bytes per line.
• Nh ư vậy có 64 ho ặc 2 6 byte tr ên một tập hợp , v à do đó 2 13 /2 6 ho ặc 2 7 =128