CHƯƠNG 4Bộ nhớ trong của máy tính 4.1 GIỚI THIỆU VỀ HỆ THỐNG BỘ NHỚ MÁY TÍNH Các đặc trưng của hệ thống bộ nhớ Các đặc trưng chính của hệ thống bộ nhớ máy tính bao gồm: - Vị trí CPU, n
Trang 1CHƯƠNG 4
Bộ nhớ trong của máy tính
4.1 GIỚI THIỆU VỀ HỆ THỐNG BỘ NHỚ MÁY TÍNH
Các đặc trưng của hệ thống bộ nhớ
Các đặc trưng chính của hệ thống bộ nhớ máy tính bao gồm:
- Vị trí (CPU, nội – chính, ngoại – phụ)
- Dung lượng (kích thước word, số lượng word)
- Đơn vị truyền (word, khối)
- Phương thức truy cập (tuần tự, trực tiếp, ngẫu nhiên, liên kết)
- Hiệu suất (thời gian truy cập, chu kỳ thời gian, tốc độ truyền)
- Kiểu vật lý (bán dẫn, bề mặt từ hóa)
- Đặc tính vật lý (khả biến/bất biến, xóa được/không xóađược)
Trang 2Dung lượng
Với bộ nhớ trong, dung lượng thường được biểu diễn dưới dạngbyte (1 byte = 8 bit) hay word Các độ dài word phổ biến là 8, 16,và 32 bit Bộ nhớ ngoài có dung lượng được biểu thị theo byte
Đơn vị truyền
Với bộ nhớ trong, đơn vị truyền bằng với số đường dữ liệu vào/rakhỏi module bộ nhớ Giá trị này thường bằng với độ dài của mộtword, nhưng cũng có thể không Để hiểu rõ hơn khái niệm này,chúng ta hãy xem xét ba khái niệm có liên quan đến bộ nhớ trong:
- Word: Đơn vị tự nhiên của tổ chức máy tính Kích thước của
một word thường bằng với số bit được sử dụng để biểu diễnmột số hay độ dài của chỉ thị Tuy nhiên có rất nhiều ngoạilệ Lấy ví dụ, máy CRAY-1 có độ dài word 64 bit trong khicó biểu diễn số nguyên 24 bit Máy VAX có nhiều loại độdài chỉ thị dưới dạng bội số của byte, và có kích thước word
32 bit
- Các đơn vị khả định địa chỉ: Trong nhiều hệ thống, đơn vị
khả định địa chỉ là word Mặc dù vậy, có một số hệ thốngcho phép định địa chỉ ở mức byte Trong mọi trường hợp, mốiquan hệ giữa độ dài A của một địa chỉ và số N các đơn vị khảđịnh địa chỉ là 2A= N
- Đơn vị truyền: Đối với bộ nhớ chính, đây là số bit đọc/ghi
vào bộ nhớ tại một thời điểm Đơn vị truyền không nhất thiếtbằng một word hay một đơn vị khả định địa chỉ Với bộ nhớngoài, dữ liệu thường được truyền theo những đơn vị lớn hơnnhiều so với word và được gọi là khối
Trang 3Đây là một trong những yếu tố rõ nhất giúp phân biệt các kiểubộ nhớ Có bốn loại phương thức truy cập:
- 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 Việc truy cập phải được thực hiện theomột dãy tuyến tính cụ thể Thông tin địa chỉ được lưu trữđược dùng để phân tách các bản ghi và hỗ trợ quá trình tìmkiếm lấy thông tin Một bộ phận đọc/ghi dùng chung được sửdụng Bộ phận này phải được di chuyển từ vị trí hiện thời củanó đến vị trí được yêu cầu, quét qua và từ chối các bản ghitrung gian Do đó, thời gian để truy cập một bản ghi tùy ýbiến đổi khá cao Các đơn vị băng từ, được thảo luận trongchương 5, là các đơn vị có dạng truy cập tuần tự
- Truy cập trực tiếp: Cũng như với truy cập tuần tự, truy cập
trực tiếp bao gồm việc dùng chung một bộ phận đọc/ghi Tuynhiên, các khối hay bản ghi riêng lẻ có một địa chỉ duy nhấtdựa trên vị trí vật lý Việc truy cập được thực hiện thông quatruy cập trực tiếp cộng với tìm kiếm tuần tự, đếm, hay chờ đểđến được vị trí cuối cùng Một lần nữa, thời gian truy cập làbiến đổi Các đơn vị đĩa được trình bày trong chương 5 là cácđơn vị truy cập trực tiếp
- Truy cập ngẫu nhiên: Mỗi vị trí khả định địa chỉ trong bộ
nhớ có motä cơ chế định địa chỉ vật lý duy nhất Thời gian truycập một vị trí cho trước độc lập với dãy các truy cập trước đóvà không thay đổi Do đó, bất kỳ một vị trí nào cũng có thểđược chọn ngẫu nhiên và được định địa chỉ cũng như truy cậptrực tiếp Các hệ thống bộ nhớ chính được truy cập ngẫunhiên
- Liên kết: Đây là kiểu truy cập ngẫu nhiên bộ nhớ cho phép
thực hiện việc so sánh các vị trí bit có yêu cầu trong mộtword phục vụ cho việc đối sánh đặc biệt nào đó, và có thể
Trang 4thực hiện thao tác này cùng một lúc cho tất cả các word Dođó một word được trích ra dựa trên một phần nội dung của nóchứ không phải dựa trên địa chỉ Tương tự như với phươngthức truy cập ngẫu nhiên thông thường, mỗi vị trí nhớ có cơchế định địa chỉ riêng, và thời gian lấy thông tin không đổi,độc lập với vị trí hoặc khuôn dạng truy cập trước đó Bộ nhớcache, được đề cập đến trong mục 4.3 có thể tận dụng cáchtruy cập liên kết này.
Đứng trên quan điểm người sử dụng, hai đặc trưng quan trọngnhất của bộ nhớ là dung lượng và hiệu suất vận hành Có ba thamsố hiệu suất được sử dụng:
- Thời gian truy cập: Đối với bộ nhớ truy cập ngẫu nhiên, đây
là thời gian cần thiết để thực hiện một thao tác đọc hay ghi,tức là thời gian từ lúc một địa chỉ có mặt trong bộ nhớ chođến lúc dữ liệu được lưu trữ xong hoặc đã sẵn sàng để sửdụng Với bộ nhớ truy cập không ngẫu nhiên, thời gian truycập là thời gian cần để định vị bộ phận đọc/ghi tại vị trí đượcyêu cầu
- Thời gian 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 giantruy cập cộng với bất kỳ thời gian phụ thêm nào được yêucầu trước khi truy cập thứ hai có thể được thực hiện Phầnthời gian phụ thêm này có thể được yêu cầu nhằm phát sinhdữ liệu nếu chúng được đọc một cách không loại trừ
- Tốc độ truyền: Đây là tốc độ truyền dữ liệu vào/ra một đơn
vị bộ nhớ Với bộ nhớ truy cập ngẫu nhiên, giá trị này bằng1/(Thời gian Chu kỳ) Với bộ nhớ truy cập không ngẫu nhiên,
Trang 5Trong đó:
T N = thời gian trung bình để đọc/ghi N bit
T A= thời gian truy cập trung bình
N = số các bit
R = tốc độ truyền, theo đơn vị bit/giây (bps)
Kiểu vật lý
Hiện nay có hai kiểu vật lý phổ biến nhất là bộ nhớ bán dẫn, sửdụng công nghệ LSI hay VLSI, và bộ nhớ với bề mặt từ hóa, đượcdùng cho đĩa và băng từ
Đặc tính vật lý
Nhiều đặc tính vật lý của sự lưu trữ dữ liệu là rất quan trọng.Trong một bộ nhớ khả biến, thông tin phân rã một cách tự nhiênhoặc bị mất đi khi nguồn điện bị tắt Trong một bộ nhớ bất biến,thông tin một khi đã được ghi sẽ được lưu giữ mà không bị thoáihóa Các bộ nhớ có bề mặt từ hóa thuộc loại bất biến Bộ nhớ bándẫn có thể khả biến hoặc bất biến Bộ nhớ không thể xóa thì khôngthể thay đổi được, ngoại trừ việc phá hủy đơn vị lưu trữ Bộ nhớ bán
dẫn kiểu này được biết đến với tên gọi bộ nhớ chỉ đọc (ROM).
Cách tổ chức
Ở đây là cách sắp xếp vật lý các bit để tạo thành các word Cáchsắp xếp hiển nhiên không phải lúc nào cũng được sử dụng, như sẽđược đề cập đến ở phần tiếp theo
Sự phân cấp bộ nhớ
Một sự phân cấp bộ nhớ kiểu mẫu được chỉ ra trên hình 4.1 Khichúng ta đi từ trên xuống trong sơ đồ phân cấp này, những sự kiệnsau sẽ xảy ra:
Trang 6a Giảm phí tổn cho một bit
b Tăng dung lượng
c Tăng thời gian truy cập
d Giảm tần số truy cập bộ nhớ bởi CPU
Do vậy bộ nhớ nhỏ hơn, nhanh hơn, đắt tiền hơn được phụ trợ bởibộ nhớ lớn hơn, chậm hơn, rẻ hơn Chìa khóa cho sự thành côngtrong cách tổ chức này là yếu tố cuối cùng, tức là giảm thiểu tần sốtruy cập
Trang 7Hình 4.1 Sự phân cấp bộ nhớ
Nếu bộ nhớ được tổ chức theo các mục từ a) đến c) ở trên, và dữliệu cùng với chỉ thị có thể được phân phối qua bộ nhớ theo (d), thìmột cách trực quan cho thấy sơ đồ này sẽ làm giảm phí tổn toàn thểtrong khi vẫn duy trì một mức độ hiệu suất cho trước Chúng ta sẽđưa ra một ví dụ đơn giản để minh họa cho điều này
Trang 8Hình 4.2 Sự vận hành của một bộ nhớ hai cấp đơn giản
Giả sử rằng CPU có truy cập đến hai mức bộ nhớ Mức 1 gồm
1000 word và thời gian truy cập là 1s Mức 2 gồm 100000 word vàcó thời gian truy cập 10s Giả sử nếu một word được truy cập ởmức 1 thì CPU truy cập nó trực tiếp Nếu nó ở mức 2, word đó trướchết được truyền sang mức 1 và sau đó được truy cập bởi CPU Đểđơn giản, chúng ta bỏ qua thời gian cần thiết để CPU xác định xemword là ở mức 1 hay 2 Hình 4.2 cho thấy thời gian truy cập tổngcộng trung bình là một hàm phần trăm thời gian trong trường hợpword yêu cầu đã ở trong mức 1 Như chúng ta có thể quan sát thấy,với những phần trăm cao trong truy cập mức 1, thời gian truy cậptổng cộng trung bình gần hơn nhiều so với mức 2
Trang 94.2 BỘ NHỚ CHÍNH BÁN DẪN
Các kiểu bộ nhớ bán dẫn truy cập ngẫu nhiên
Tất cả các kiểu bộ nhớ được khảo sát trong phần này thuộc vềloại truy cập ngẫu nhiên Tức là từng word nhớ được truy cập trựctiếp qua luận lý định địa chỉ
Các kiểu bộ nhớ bán dẫn chính gồm có:
- Bộ nhớ truy cập ngẫu nhiên (RAM)
- Bộ nhớ chỉ đọc (ROM)
- Bộ nhớ chỉ đọc khả trình (PROM)
- Bộ nhớ chỉ đọc khả trình có thể xóa được (EPROM)
- Bộ nhớ flash
- Bộ nhớ chỉ đọc khả trình có thể xóa được về mặt điện tử(EEPROM)
Trong số các kiểu bộ nhớ nói trên, RAM là loại bộ nhớ phổ biếnnhất Một đặc tính nổi bật của RAM là có thể đọc dữ liệu từ bộ nhớvà dễ dàng, nhanh chóng ghi dữ liệu mới vào bộ nhớ Cả việc đọcvà ghi đều được thực hiện thông quaviệc sử dụng tín hiệu điện tử
Một đặc tính nổi bật khác của RAM là khả biến Bộ nhớ RAMphải luôn được cung cấp một nguồn điện không đổi Nếu nguồnđiện bị ngắt, dữ liệu sẽ mất đi Vì lý do đó, RAM chỉ có thể dùnglàm nơi lưu trữ dữ liệu tạm thời
Công nghệ RAM được chia thành hai nhóm: tĩnh và động MộtRAM động được chế tạo với các ô lưu trữ dữ liệu như cách tích điệntrong tụ điện Sự tồn tại hay biến mất của điện tích trong tụ điệnđược thông dịch thành các giá trị nhị phân 1 và 0 Do các tụ điện cókhuynh hướng tự nhiên là giải điện, các RAM động cần sự làm tươiđiện tích theo chu kỳ để duy trì dữ liệu Trong một RAM tĩnh, các
Trang 10giá trị nhị phân được lưu trữ bằng cách sử dụng các cấu hình cổngluận lý mạch lật truyền thống Một RAM tĩnh sẽ lưu giữ liệu chođến khi nào nguồn điện còn được cung cấp cho nó.
Cả RAM tĩnh và động đều khả biến Một ô nhớ động đơn giảnhơn một ô nhớ tĩnh Do vậy, một RAM động trù mật hơn và ít tiềnhơn một RAM tĩnh tương ứng Mặt khác, RAM động đòi hỏi sự hỗtrợ làm tươi mạch Với những lượng bộ nhớ lớn hơn, phí tổn cố địnhcho việc làm tươi mạch được đền bù nhiều hơn phí tổn giành chocác DRAM Như vậy RAM động có khuynh hướng thích hợp chocác yêu cầu về bộ nhớ lớn Điểm cuối cùng chúng ta cần lưu ý làRAM tĩnh nói chung nhanh hơn RAM động
Trong mối tương phản rõ nét với RAM là bộ nhớ chỉ đọc (ROM).
ROM bao gồm một khuôn mẫu bền vững của dữ liệu không thểthay đổi Trong khi chúng ta có thể đọc dữ liệu từ ROM, việc ghivào ROM dữ liệu mới không thể thực hiện được Một ứng dụng củaROM là vi lập trình Ngoài ra các ứng dụng khác của ROM gồm:
- Các chương trình con thư viện cho các hàm thường xuyênđược sử dụng
- Các chương trình hệ thống
- Các bảng hàm
Với một yêu cầu có kích thước khiêm tốn, lợi điểm của ROM làdữ liệu được lưu trữ bền vững trong bộ nhớ chính và không cần phảitải lên từ một thiết bị lưu trữ phụ
Một ROM được tạo ra như một chip mạch tích hợp thông thườngvới dữ liệu được đưa vào trong chip trong quá trình in mạch Điềunày dẫn đến hai bài toán:
Trang 11- Bước chèn dữ liệu có chi phí tương đối lớn, cho dù một hayhàng ngàn bản sao của một ROM cụ thể sẽ được in ra.
- Lỗi trong quá trình sản xuất là không thể chấp nhận được.Chỉ cần một bit bị sai, toàn bộ lô ROM phải bị hủy bỏ
Khi chỉ cần một lượng tương đối nhỏ ROM với nội dung bộ nhớđặc biệt, một lựa chọn ít tốn kém hơn là ROM khả trình (PROM).Giống như ROM, PROM không khả biến và chỉ có thể ghi đượcđúng một lần Với PROM, quá trình ghi được thực hiện một cáchđiện tử và do một nhà cung cấp đảm nhiệm chứ không nhất thiếtphải là nhà sản xuất chip ban đầu Các trang thiết bị đặc biệt sẽđược sử dụng cho quá trình ghi hay “lập trình” PROM mang lại sựlinh hoạt và tiện lợi trong khi ROM vẫn thu hút các đơn đặt hàng cósố lượng lớn
Một biến thể khác của bộ nhớ chỉ đọc là bộ nhớ hầu như chỉ đọc.Loại bộ nhớ này có ích cho các ứng dụng trong đó thao tác đọcthường xuyên hơn thao tác ghi, vốn cần đến khả năng lưu trữ bấtbiến Có ba dạng phổ biến của bộ nhớ hầu như chỉ đọc là EPROM,EEPROM và bộ nhớ flash
Bộ nhớ chỉ đọc khả trình xóa được bằng quang học (EPROM)được đọc/ghi một cách điện tử như với PROM Tuy nhiên, trướcmột thao tác ghi, tất cả các ô lưu trữ phải được xóa về trạng tháikhởi động ban đầu bằng cách đưa chip đã đóng gói qua nguồn bứcxạ tia cực tím Quá trình xóa này có thể được thực hiện lập đi lậplại, mỗi lần xóa mất khoảng 20 phút Do vậy, EPROM có thể thayđổi được nhiều lần và cũng như với ROM hay PROM, nó có thể lưutrữ nhiều loại dữ liệu khác nhau EPROM thường đắt tiền hơnPROM nhưng có lợi thế ở khả năng cập nhật nhiều lần
Trang 12Một dạng bộ nhớ hầu như chỉ đọc khác lý thú hơn là bộ nhớ chỉđọc khả trình xóa được bằng điện tử (EEPROM) Với bộ nhớ này,dữ liệu có thể được ghi vào mà không cần phải tiến hành quá trìnhxóa trước Thao tác ghi mất nhiều thời gian hơn so với thao tác đọc,vào khoảng vài trăm micro giây cho một byte Bộ nhớ EEPROMkết hợp lợi điểm của tính bất biến và sự linh hoạt trong việc cậpnhật tại chỗ bằng cách sử dụng các đường điều khiển, đường địachỉ, và đường dữ liệu thông thường EEPROM đắt hơn nhiều so vớiEPROM và cũng kém trù mật hơn, hỗ trợ ít bit hơn trên mỗi chip.
Dạng mới nhất của bộ nhớ bán dẫn là bộ nhớ chớp (bộ nhớ nàyđược đặt tên như vậy do tốc độ tái lập trình khá cao của nó) Đượcgiới thiệu lần đầu tiên vào giữa thập niên 80, bộ nhớ chớp đóng vaitrò trung gian giữa EPROM và EEPROM cả về giá cả lẫn chứcnăng Giống như EEPROM, bộ nhớ chớp sử dụng công nghệ xóađiện tử Một bộ nhớ chớp có thể được xóa trong vài giây, nhanhhơn nhiều so với EPROM Ngoài ra, chúng ta có thể xóa chỉ cáckhối nhớ cần thiết hơn là toàn bộ chip Tuy nhiên, bộ nhớ chớpkhông cung cấp khả năng xóa ở mức byte Giống như EPROM, bộnhớ chớp chỉ sử dụng một transistor cho mỗi bit, và vì thế đạt đượcđộ trù mật cao (so với EEPROM) của EPROM
Tổ chức
Phần tử cơ sở của một bộ nhớ bán dẫn là ô nhớ Mặc dù cónhiều công nghệ điện tử được sử dụng, tất cảc các ô nhớ bán dẫnđều có chung một số tính chất sau:
- Chúng thể hiện hai trạng thái ổn định (hay bán ổn định) cóthể dùng để biểu thị hai giá trị 1 và 0
Trang 13- Chúng có khả năng cho phép đọc để lấy trạng thái.
Một cách phổ biến, ô nhớ có ba bộ phận cuối có khả năng mangtín hiệu điện tử Bộ phận chọn chọn một ô nhớ cho thao tác đọc/ghi.Bộ phận điều khiển chỉ ra thao tác là đọc hay ghi Đối với thao tácghi, một bộ phận cuối khác cung cấp một tín hiệu điện tử cho phépthiết lập trạng thái của ô nhớ thành 0 hay 1 Đối với thao tác đọc,bộ phận cuối đó được sử dụng để cho ra trạng thái của ô nhớ Cácchi tiết về tổ chức bên trong, chức năng, và định thời của ô nhớ phụthuộc vào công nghệ mạch tích hợp cụ thể được sử dụng và vượtquá phạm vi của giáo trình này Chúng ta chỉ cần biết các ô nhớriêng lẻ có thể được chọn cho các thao tác đọc và ghi
4.3 BỘ NHỚ CACHE
Nguyên lý
Bộ nhớ cache được thiết kế với ý định mang lại bộ nhớ có tốc độxấp xỉ tốc độ của bộ nhớ nhanh nhất hiện có, đồng thời cung cấpmột kích thước bộ nhớ lớn với phí tổn ít hơn so với các loại bộ nhớbán dẫn Khái niệm về bộ nhớ cache được trình bày trên hình 4.3.Bộ nhớ cache chứa bản sao của một phần bộ nhớ chính Khi CPUcố gắng đọc một word từ bộ nhớ, word này sẽ được kiểm tra xemcó trong cache hay không Nếu có, word đó sẽ được cung cấp ngaycho CPU Trong trường hợp ngược lại, một khối bộ nhớ chính, baogồm một lượng cố định các word sẽ được đọc vào trong cache vàsau đó word đó sẽ được cung cấp cho CPU Do có hiện tượng thamchiếu cục bộ, khi một khối dữ liệu được lấy vào trong cache để đápứng một tham chiếu đơn lẻ, có nhiều khả năng các tham chiếu kếtiếp sẽ là các word khác trong cùng một khối
Trang 14Hình 4.3 Cache và bộ nhớ chính
Hình 4.4 thể hiện cấu trúc của một hệ thống cache/bộ nhớ chính.Bộ nhớ chính gồm đến 2n word khả định địa chỉ, với mỗi word cómột địa chỉ duy nhất n bit Do yêu cầu ánh xạ, bộ nhớ này đượcxem như gồm một số các khối có độ dài cố định K word Tức làchúng ta có M = 2n/K khối Bộ nhớ cache gồm C khe K word, và sốcác khe, hay đường, nhỏ hơn đáng kể so với số khối bộ nhớ chính(C << M) Tại một thời điểm bất kỳ, luôn có một tập con gồm cáckhối nhớ thường trú trong các khe của cache Nếu một word trongmột khối bộ nhớ được đọc, khối đó sẽ được chuyển vào một trongcác khe của cache Do số khối nhiều hơn số khe, một khe có thểkhông được giành cho một khối trong thời gian lâu dài Vì lý do đó,mỗi khe có một thẻ cho biết khối nào đang được lưu trữ Thẻthường là một phần của địa chỉ bộ nhớ chính của khối đang đượcgiữ trong khe