Bộ nhớ trong của một hệăVi xử lý g m hai lo i chính: Bộ nhớ ROM – là bộ nhớ chỉ đ c Read Only Memory, thông th ng chứaăcác ch ơng trình giám sát monitoring các ho t động chức nĕng của hệ
Trang 1C H NGăVI KI NăTRÚCăB ăNH
1 Bộ nhớ trong của máy tính
Bộ nhớ đ ợc sử dụng để l u giữ mư lệnh của ch ơng trình vàădữ liệuăcần xử
lý Bộ nhớăđ ợc ghép nối trực tiếp với CPU qua BUS hệăthống vàălàănơi đầu tiên
CPU truy xuất tới để lấyăthông tin khi kh i động hệ thống Yêuăcầu đ t ra cho bộ
nhớ là ph i cho phép truy xuất với tốc độ cao để đáp ứng k p th i các đòi hỏi của
CPU Chỉ có bộ nhớăbán dẫn mới đáp ứng đ ợc yêuăcầu cao vềătốc độ truy xuất cao
(hàng trĕm đến hàng chục nsec)
Bộ nhớă bán dẫn đ ợc chia ra hai lo i: Bộ nhớă chỉ đ c ROM ( Read Only
Memory) và bộ nhớăătruy xuất ngẫu nhiên RAM (Random Access Memory)
1.1 Ph năt nh ,ăvi m ch nh ,ăt nh ăvƠ dung l ng b nh
Phần tử nhớ
Phần tửă nhớ thông th ng là một m ch điện có thể ghi l i và l u giữă một
trong hai giá tr của một biến nh phân, ho c “0” ho c “1”, t ơng ứng với không
c ó điện áp ho c có điện áp, đ ợc g i là bit Trên m ch điện d ới đây (Hình V.1),
trên dây D1 sẽ không có điện áp (do công tắc m ), trong khi dây D2 có điện áp (vì
công tắc đóng, hay thông qua diode mắc theo chiều thuận), gần bằngăgiáătr ngu n
nuôi Vcc, t ơng ứng với bit D1 = “0” và bit D2 = “1”
H ình VI.1 Mô phỏng phần tử nhớ
M ch flip-flop RS (còn g i làătriger RS) đ ng bộ là một m ch có kh ănĕng l u
giữ các giá tr “0” ho c “1” lối ra Có thể dùng RS flip-flop làmămột m ch l u giữă
tín hiệu vào R bằng cách chốt dữ liệu đó l i t i đầu ra Q (hình VI.2a) Các hưng chế
t o thực hiện m ch nàyăbằng công nghệ cao, nên kích th ớc vô cùng nhỏ, có thể có
Trang 2hàng nhiều triệu phần tử nhớ trên một diện tích 1mm2
Các vi m ch nhớ thông
th ng đ ợc chế t o với độ dài từănhớ và số l ợng từănhớ cốăđ nh Số bit nhớ được
li ên kết tại một vị trí nhớ (có cùng địa chỉ) trong một chip nhớ đ ợc g i là từ nhớ
của chip nhớ,ăth ng đ ợc ch n làă1, 4, ho c 8bit Để t o đ ợc một từ nhớ c a bộ
nh ớ, tức là từ nhớ cóăđộădài (sốăbit trong một từ) chuẩn (theo chuẩn IBM là 8 bits),
trong một sốă tr ng hợp nhất đ nh cần ph i tiến hành ghép cácă chip nhớă l i với
nhau
Hình VI.2 a), b) và c) cho ta khái niệmăvề kh nĕng t o một từ nhớ cơăb n
(byte) khi từ nhớ của chip nhớ là 1bit, 2bits và 4 bits Trong tr ng hợp độ dài từ
nhớăcủa chip nhớ làă8 bits, việcăliên kết làăkhông cần thiết
Hình VI.2 a) Mạch Flip-flop RS như một phần tử nhớ giá trị nhị phân
b)Chip nh ớ RAM và chip nhớ ROM
Trang 3Do u điểmăt ơng thích tuyệt đối về kích th ớc, tiêu thụ nĕng l ợng thấpă và
mức logic, đ c biệt là tốc độ truy nhập, nên bộ nhớ bán dẫn đ ợc sửădụng làm bộ
nhớ chính (Main Memory) trong các hệ Vi xử lý cũng nh ătrong các máyătính
PC, nhiều khi đ ợc ghép nối ngay trong bo m ch chính, ho c đ ợc thiết kế nh
những vỉ nhỏ cắmăvào khe cắmăriêng trên bo m chăchính
Nh những tiến bộ v ợt bậc của công nghệ vi m ch, đ c biệtălà công nghệ cao
(High Technology) các chip nhớ đ ợc chế t o ngàyă càng nhỏ và cóă dung l ợng
t ơng đối lớn, tốc độ truy nhập rất cao và giá thành thấp Hiện đư có các chip nhớ
có dung l ợng hàng trĕm triệu từ nhớ, đ ợc cấu thành từăhàng chụcătỷ transistor
trên một một cấu trúcăcỡă1mm2
Bộ nhớ trong của một hệăVi xử lý g m hai lo i chính:
Bộ nhớ ROM – là bộ nhớ chỉ đ c (Read Only Memory), thông th ng chứaăcác ch ơng trình giám sát (monitoring) các ho t động chức nĕng của hệ
Vi xửălý: ch ơng trình thiết lập hệ thống, ch ơng trình vào/ra dữ liệu, qu n lý
vàăphân phát bộ nhớ, qu n lýăcác thiết b vào/ra v.v…Đối với máy tính PC, đó
là ch ơng trình hệăthống vào/ra cơăs (BIOS – Basic Input Output System)
Đ c điểmăcơ b n nhất của bộ nhớ này là sựăb o toàn dữăliệu khi không cóă
ngu n nuôi
Bộăănhớă RAM – là bộăănhớ ghi/đ c tuỳ tiện (ngẫu nhiên) (Random
Access Memory) Vì có kh nĕng ghi/đ c tuỳătheo ng i dùng, nên bộ nhớ
này đ ợc sửădụng để chứa dữăliệu, các ch ơng trình ứng dụng nhất th i của
ng i dùng v.v… Trong máyătính PC, bộ nhớănày là nơi ch ơng trình hệ điều
hành đ ợc n p khi kh i động máy, hay nơi chứa các ch ơng trình ứng dụng
lúc nó đ ợc thực thi Bộănhớănày b mất dữ liệu khi b mất ngu n nuôi
Trong các hệ Vi xử lý đơn gi n, hai bộ nhớ này th ng đ ợc thiết kếăvà lắp
ráp từăcác chip nhớ riêng biệt thành một vỉ nhớ Đ a chỉ đ ợc giải mã cho từng chip
nh ớ nh khối gi i mư, thông th ng là một vi m ch gi i mưăhay đ ợc xây dựng
từ các m ch t hợp logic Các tín hiệu điều khiển việc ghi/đ c bộ nhớ do CPU
cung cấp M ch triger RS đ ng bộ làămột m ch cóăkh nĕng l u giữ cácăgiáătr “0”
ho c “1” lối ra Có thể dùng RS flip-flop làmămột m ch l u giữ tín hiệu vào R
bằng cách chốt dữ liệu đó l i t i đầu ra Q (hình VI.2)
Bộă nhớă đ ợcă xâyă dựngă từă cácă chipă nhớ.ă Cácă chipă nhớă RAMă (SRAM ho căDRAM)ăth ngăcóăcácătừănhớăcóăđộădàiă1ăbit,ă4ăbitsăho că8ăbits.ăTừăcác chípănhớălo i nàyăcóăthểăxâyădựngăđ ợcăbộănhớăvớiămỗiăôănhớăchứaăđ ợcăbyteădữăliệuă(8ăbits)
Trang 41.2 Xơy d ng b ănh ăv i các chip SRAM
Gi sử cần xâyă dựng một bộ nhớ kích th ớc 16Kbyte trên cơ s ă cácă chíp
SRAM lo i 16Kx1bit
Bĕng nhớ SRAM 16Kbyte đ ợc xâyădựng trên cơ s 8 chip SRAM lo i 16K
x 1bit, để có đ ợcăô nhớ có độ dài 8 bits (từ nhớ cơăb n) Để làmăđ ợc điều này
ng i ta sắp đ t 8 chip SRAM lo i 16K x 1bit sao cho mỗi chip t i một v trí
xác đ nh sẽ đ m nhiệm l u trữ bit dữ liệu có tr ng sốăt ơng ứng trong byteădữă
liệu
H ình VI.3 Chip nhớ RAM 64K bit (64K x 1)
H ình VI.4 Sơ đồ vỉ nhớ 16KB xây dựng từ các chip 16Kx1
Trang 5Cácăđ ng tín hiệu :
A13 - A0 BUS đ a chỉ
-CS: Tín hiệu ch n chip Nếu CS = 0 thì truy nhập đ ợcăchip
-W/R: Tín hiệu điều khiển ghi/đ c W=0 điều khiển ghi
D0 - D7: Cácăđ ng dây truyền cácăbit dữ liệu từ D0 đến D7
Chu kỳ ghi bộ nhớăSRAM :
H ình VI.5 - Biểu đồ thời gian ghi đọc bộ nhớ
1.2.1 Tổ ch c b nh v i DRAM
Cấu trúc của chip DRAM:
H ình VI.6 - Cấu trúc bên trong chip DRAM
Trang 6DRAMădùng ph ơng pháp d n kênh đểăn p lần l ợt (2 lần) đ a chỉăhàng vàăđ a
chỉ cột vào đệm đ a chỉ
Việcăxây dựng bộ nhớătừ cácăchip DRAMăđ ợcăthực hiện gần t ơng tựănh với
SRAM
1.2.2 Ph ơn lo i các chip nh ROM, RAM
Các chip nhớăROM (Read Only Memory) đ ợcăphân lo i theo kh ănĕng ghi đ c
nh sau:
ROM, nhớ chỉ đ c, dữ liệu trong chip nhớălo i này đ ợcăghi ngay t i hưng
s n xuất chip nhớătheo đơn đ t hàng củaăcác nhàăs n xuất thiết b cần sử
dụng nó
EPROM, chip nhớăROMăcóăkh nĕng xoá nội dung và ghi l i nội dung
Nội dung đ ợc xoáăbằng tia cực tím nh ămột thiết b ăchuyên dùng
EEPROM, chip nhớ ROMăcóăkh nĕng xoá, ghi l i nh sửădụngăxungăđiện Cácăchip nhớăRAM chủ yếu đ ợc chia thành 2 lo i chủ yếu sau:
RAMă tĩnh (SRAM), mỗi phần tử nhớ làă một m ch flip- flop, trong quáă
trình sử dụng không cần quan tâm đến việc dữ liệuă đ ợcă l u giữ nếu
không b mất ngu n nuôi
RAMăđộng (DRAM), phần tử nhớădùng công nghệ n p điện tích lên tụ
điện Trong quá trình sử dụng cần thiết một chế độălàm tươi
Trang 7H ình VI.7b – Sơ đồ cấu trúc các phần tử nhớ
H ình VI.7a – Sơ đồ cấu trúc các phần tử nhớ cơ bản
1.2.3 Tổ ch c b nh v t lỦ
Trang 8T chức bộ nhớ cho một hệ Vi xử lý (máy vi tính) phụ thuộc không chỉ vào
một hệ Vi xử lý cụ thể, mà còn phụ thuộc vào cách bố trí thuận lợi bên trong hệ
thống Tr ớc hết, hưy làm quen với các khái niệm chip nhớ vàătừ nhớ để phân tích
vấn đề t chức vật lý một bộ nhớ, sau đó m rộng khái niệm t chức theo quan điểm của ng i lập trình (t chức logic)
Các chip nhớ đ ợc s n xuấtăd ới nhiều kích cỡ khác nhau, phụ thuộc vào công
nghệ chếăt o Chip nhớ là một vi m ch cụ thể, đ ợc bố trí các chânăcơ b n nh Hình
III.8 Các chân của một chip nhớ thông th ng g măcác lối vào của BUS đ a chỉ, lối
dữ liệu, các chân điều khiển ch n chip, ghi/đ c vàăcácăchân ngu n
Hình VI.8 Sơ đồ nối chân một vi mạch nhớ RAM 1Kx4
Tuỳătheoătừngăchip,ăsốăl ợngăchânăđ aăchỉăvàăsốăl ợngăchânădữăliệuăcóăthểăkhácănhauăphụăthuộcăvàoăđộădàiătừ nhớ c a chip vàădung lượng c a chip nhớ Độădàiătừănhớăcủaăchipănhớăcóăthểălàă1bit,ă4ăbitsăho că8ăbits,ătrongăkhiăsốăchânăđ aăchỉăcóăthểătừă10ătr ălênătuỳăthuộcăvàoădungăl ợngăcủaăchipănhớ.ăTrongătr ngăhợpăđộădàiătừănhớăcủaăchipălàă1ăbit,ătaăcầnăph iăghépăliênătiếpă8ăchipăđểăt oăthànhă1ăbyte,ăghépăliênătiếpă16ăchipăđểăt oămộtătừă
word – 2ăbytes).ăCầnăl uăýăviệcăgánătr ngăchoăcácăbitătrongăbyteăđ ợcăt o
Hình VI.9 Tạo từ nhớ 8 bit từ các chíp nhớ có độ dài từ nhớ nhỏ hơn 8 bit
Trang 92 V ấn đề quản lý bộ nhớ
Bộ nhớ ngoài của máyătính đ ợc dùng để l u trữ các ch ơng trình vàădữ liệu
không sử dụng ngay trong quá trình ho t động Nội dung các dữ liệu này không b
mất khi tắt ngu n điện Bộ nhớ ngoài đóng vai trò vô cùng quan tr ng, làămột bộ
phận không thể thiếu trong máy tính
Cácăthiếtăb ănhớăngoàiăthôngădụngăhiệnănayălàăđĩaăcứng,ăđĩaăquang,ăbộănhớăFlash…
2.1 Chi năl c phơn trang (Paging)
Ch ơng trình muốn thực hiện bao gi cũng đ ợcăn p vào bộ nhớătrong của máy tính Các không gian miền đ a chỉ không kh dụng ph i đ ợc truy xuất thông qua đ a
chỉ bộ nhớ thực tế Việc nàyăthực hiện đ ợc nh ph ơng thức ánh xạ bộ nhớ từ các
Hình VI.10.
Cóă thểă suyă diễnănh ă sau:ă Vàoă bấtă kỳă th iăđiểmă nào,ă cácă ôănhớă trongă kho ngă4Kbytesăđềuăcóăthểăđ ợcătruyănhậpătrựcătiếp,ănh ngăkhôngăph iăt ơngăứngăvớiăcácăđ aă
chỉătừă0000ăđếnă07FF.ăThíădụătừămộtăth iăđiểmănhất đ nh,ămỗiăkhiătruy nh p ô nhớ
0800 thìătừ nhớ ở ô 0000 củaăbộănhớăchínhăđ ợcătruyănhập,ăđángălẽătruyănhậpăôănhớă
0801ăthìăsẽăsửădụngăôănhớă0001ăv.v…Nóiăcáchăkhác,ătaăđ nhănghĩaămộtăsựăánhăx ătừă
Trang 10khôngăgianăđ aăchỉăvàoăcácăđ aăchỉăbộănhớăthực,ănh ăminhăho ătrênăhìnhăvẽ
Bằng phuơng thức này, nếu không có bộ nhớ o (Virtual Memory), một
máy với 4Kbytes chỉ có một ánh x cố đ nh từ đ a chỉ 0000 đến 07FF vào 4096 từ
nhớ Vấn đề xẩyă ra là trong tr ng hợp có một lệnh nh yă tới đ a chỉă v ợt quá
4Kbytes này, víădụ tới đ a chỉ trong vùng từă0800 tới 0FFF Đốiăvới máy cóăbộ nhớă
o, cácăb ớcăsau sẽ đ ợc thực hiện:
Nội dung bộ nhớăchính đ ợcăcất vào bộ nhớăphụ
Các nội dung trong vùng 0800 đến 0FFF đang trong bộ nhớ phụăđ ợcă
n p vào bộ nhớ chính
Ánh x đ a chỉ sẽ thay đ i để ánh x các đ a chỉ từ 0800 tới 0FFF vào các v trí nhớăthừ 0000 đến 07FF
Ch ơng trình đ ợc tiếp tục
Kỹă thuật thực hiện tự động các việc trên đ ợc g i là kỹ thu t phân trang –
Paging Các đo n ch ơng trình đ ợcăđ c vào bộ nhớăchính từ bộ nhớăphụ đ ợcăg i
là các trang Miền đ a chỉ mà ch ơng trình có thể truy cập làăkh ông gian địa chỉ ảo
(Virtual Address Space) , còn các đ a chỉ bộănhớ thực, đ ợcăg i là kh ông gian địa chỉ
v t l ý (Physical Address Space)
Hình VI.11Víăd ăm tăch ngătrìnhăgồmăcóă4ătrangăA,ăB,ăC,ăDătrongăđóătrangăDănằmătrongăổăđĩa
Trang 11Từ thực tế trên, thấy rằng kỹăthuật phânătrang khác hẳn với ph ơng thức qu n lý bộ
nhớ theo phân đo n (Segmentation) đư trình bàyă ch ơng tr ớc.ăLập trình viên luôn luôn
quan tâm đến các đo n trong bộ nhớă(mứcălậpătrình Assembler) nh ng không hềăcó ý thức
vềăsự t n t i của bộ nhớă o Lập trình viên thực hiện công việc của mình mà không hề
quan tâm dung l ợng thực tế của bộ nhớ trong máy tính, m c dù chúng nhỏ hơn rất nhiều
so với không gian nhớămàăCPU cóăthểăqu n lý đ ợc
Bộ nhớ o đòi hỏi sự t n t i của bộ nhớ phụ có kh nĕng l u đ ợc toàn bộ
ch ơng trình Nếu coi b n sao của ch ơng trình trong bộ nhớ phụ làăb n gốc, còn các
phần của ch ơng trình đ ợc t i vào bộ nhớ chính là b n sao, ta dễ dàng nắmăbắt đ ợc
những khái niệmăvề thực hiện phân trang Điều quan tr ng đây là những thay đ i xẩy
ra với b n sao ph i đ ợc cập nhật vào b n gốc
Không gian bộ nhớ o đ ợc chia thành các trang có kích th ớc bằng nhau ( thông
th ng là trong kho ng 512 bytes đến 4096 bytes (luỹ thừa của 2).T ơng tự, không gian
đ a chỉ vật lý cũng đ ợc chia thành các m nh, mỗi m nh có kích th ớc bằng kích th ớc
một trang Các m nh của bộ nhớ chính mà các trang sẽ đ ợc chuyển vào g i là khung trang – page frame Bộ nhớăchính của máy tính th ng có rất nhiều khung trang
Hình VI.12.
Trang 12Ví dụ bộ nhớ o 64KB đ ợc chiaăthành 16 trang, mỗi trang 4KB vàăbộănhớ
thực có dung l ợng lầ 32KB đ ợc chia thành 8 trang nh ătrên hình sau (Hình…….)
Ta cần một b ảng phân trang – page table g m 16 từ (word) Nh vậy, đ a chỉ o
sẽăđ ợcăt o từ 16 bit nh sau:
Với các giá tr nh trên, ta tính đ ợc đ a chỉ ô nhớ đó là 02CH của trang 3,
t ơng ứng là ô nhớăcó đ a chỉ làă302CH Với lập luận này, taăcó b ng phân trang có 3
tr ng nh sau:
a) Bit cao nhất là “0” ho c “1” để xác đ nh trang đó có t n t i trong bộănhớă
chính hay không,
b) Nội dung của 12 bit tiếp theo là đ a chỉ của ô nhớ phụ,
c) 3 bit trẻ nhất làăsố khung trang
Trang 13Đ a chỉ của bộ nhớăchính sẽ đ ợcăt o ra từ đ a chỉ o nh sau:
Gi sử trang o nằm trông bộ nhớ chính, tr ng khung tang 3 bit sẽăchỉ cho
ta trang đó nằmă đâu Nội dung của 3 bit này sẽ đ ợc n p vào 3 bit cao nhất cuẩ
thanh ghi đ a chỉ của ô nhớ nằm trong vùng 32KB, 12 bit còn l i sẽ là nội dung
12 bit đ a chỉ trong trang o, t o thành một đ a chỉ mớiăg m 15 bit Cách t o ra
đ a chỉ đ ợc mô t ătronh Hình III…
Hình VI.13
2.2 C h ăđ ăb o v ă(Protected Mode) vƠ qu n lỦ b nh ătrong ch ăđ b o v
Chếăđộ b o vệ đ ợc thiết kế để hỗ trợăhệ điều hành đa nhiệm, cách ly và b o
vệ hệ điều hành khỏi những truy nhập trái phép của các ch ơng trình ứng dụng, cách ly và b o vệ ch ơng trình ứng dụng này khỏi sự truy nhập trái phép của
ch ơng trình ứng dụng khác
Trang 142.2.1 Các m c đ c quyền vƠ lu t về quyền truy nh p
Trong chế độ b o vệ thì mỗi đo n nhớ đ ợc gắn một mức đ c quyềnăvàăđ ợc
b o vệănh ăcơăchế vềăquyền truy nhập
Các mức đ c quyền đ ợc thiết kế để hỗ trợ ho t động của hệ điều hành đa
Dựa vào mức đ c quyền và luật về quyền truy nhập mà CPU sẽ quyếtăđ nh cho
phép hay không cho phép truy nhập đo n nhớăyêu cầu
Các mức đ c quyền (ký hiệu là PL – Privilege Level) nằm trong một hệă
thống cácămứcăđ c quyềnăăđ c quyền có 4 cấp:
Đ c quyền mức PL = 0, mức đ c quyền cao nhất: các ch ơng trình qu n
lý thiết b vàăqu n lý bộ nhớăcó mức đ c quyền PL = 0
Đ c quyền mức PL = 1: các ch ơng trình thiết lập mức u tiên giữa các nhiệmăvụ, ch ơng trình hoán đ i dữ liệu giữa các bộ nhớăchính vàăbộ
nhớăthứ cấp (đĩa từ), ch ơng trình qu n lý cácăc ng vào/ra vàăcác d ch vụ
hệăthống khácăcó mứcăđ c quyền PL = 1
Đ c quyền mức PL = 2: các ch ơng trình qu n lý tệp, th mục vàăcác
chức nĕng m rộng của hệ điều hành có mức đ c quyềnă PL =2
Đ c quyền mức PL = 3, mức thấp nhất: các ch ơng trình ứng dụngăcó
mứcăđ c quyền PL = 3
Các luật về quyền truy nhập: luật về quyền truy nhập xác đ nh quy tắcătruy
nhập đo n nhớă
Luật 1:
Dữăliệuăđ ợc l u trữătrong đo n nhớ có mức đ c quyền PL = P chỉăcóăthể b
truy nhập b i mư lệnh có mức đ c quyền bằng ho c cao hơn P (CPL DPL, CPL là
mức đ c quyền của nhiệmăvụ đang thực hiện, DPL là mức đ c quyền của đo n dữ
liệu b truy nhập)
Luật 2:
Đo n mư lệnh có mức đ c quyền PL = P có thể b g i ho c truy nhậpă b i
nhiệm vụ có mức đ c quyền bằng ho c thấp hơn P Đo n mư lệnh có mức đ c
Trang 15quyền thấp có thể g i ho c truy nhập đo n mư lệnh có mức đ căquyền cao hơn
thông qua cửa g i (CPL ≥ăDPL, CPL là mức đ c quyền của nhiệm vụ đang thực
hiện, DPL là mức đ că quyền của đo n mư lệnh b truy nhập)
Theo các luật về quyền truy nhập thì ch ơng trình đang thực hiện cóăthể truy
nhập tự do vào các đo n mư lệnh và đo n dữ liệu có cùng mức đ căquyền Một
ch ơng trình có thể truy nhập và một đo n dữ liệu có mức đ că quyền thấp hơn,
nh ng nếu truy nhập ho c g i đo n mư lệnh có mức đ că quyền cao hơn thì ph i
thông qua c ng g i
2.2.2 Qu n lỦăb nh theo phơn đo n trong ch đ b o v
Cácăđo n nhớ trong chếăđộ b o vệ đ ợcăqu n lý theo 3 thông số:
Đ a chỉ nền Giới h n đo n Quyền truy nhập
Do thông tin về các đo n khá lớn nên không thể chứa trong thanh ghi đo n
mà đ ợc chứa trong các Bộ mô tả đoạn Các bộ mô t nằmătrong Bảng bộ mô tả
Có ba lo i B ng bộ mô t :
B ng bộ mô t toàn cục GDT ( b ng GDT - Global Descriptor Table) B ng GDT qu n lý các đo n (các vùng nhớ) chứaă cácă ch ơng
trình của hệăđiều hành vàădữ liệu của hệăthống (cácăvùng nhớ chứa cácă
thông tin có tính chất toàn cục, thuộc không gian nhớă toàn cục) Các
ch ơng trình ứng dụng có thể truy nhập vùng nhớănày
B ng bộ mô t cục bộ LDT ( b ng LDT - Local Descriptor Table) Mỗi
B ng LDT qu n lý các vùng nhớ thuộc một nhiệm vụ (cácăvùng nhớ
chứaăcácăthông tin có tính chất cục bộ, thuộc không gian nhớ cục bộ) Mưă
lệnh vàădữ liệu của một ch ơng trình ứng dụng đang ch yă(một nhiệm vụ)
sẽ đ ợc b o vệ tr ớc sự truy nhập trái phép của các nhiệmăvụ khác Các
B ng LDT thuộc không gian nhớătoàn cục
B ng bộ mô t ngắt ( b ng IDT - Interrupt Descriptor Table) B ng IDT
chứa các bộ mô t trỏ đến 256 ch ơng trình phục vụ ngắt.ăB ng IDT đóng vai trò b ng véc tơăngắt,trong đó mỗi vécătơăngắt làămột bộ mô t
Tất c ăcácăB ng bộ mô t đều nằm trong bộ nhớ chính
a B ăch n đo n 16 bit
Trong chế độ b o vệ các thanh ghi đo n CS, DS, ES, SS không đ ợc dùng để
xác đ nh đ a chỉ nền đo n nh trong chế độ thực, mà đ ợc dùng đểăchọn Bộ mô tả
Trang 16đoạn trong B ng bộ mô t , thực hiện chức nĕng Bộ chọn đoạn
Bộ ch n đo n đ ợcădùng đểăxác đ nh v trí củaăBộ mô t ăđo n trongăB ng bộ
mô t ăNg i lập trình ph i n p Bộ ch n đo n vào thanh ghi đo n t ơng ứng khi
muốn truy nhập một đo n nào đó
Bộ mô t đo n chứa các thông tin qu n lý một đo n : đ a chỉ nền đo n, kích
th ớcă(giới h n) đo n vàăquyền truy nhập đo n
Bộămôăt ăđo năđ ợcăhệăđiềuăhành,ătrìnhăbiênăd chăho cătrìnhăn păbộănhớăt oăra
Trang 17Bộ mô t ăđo n g m 8 byte:
Tr ng Đ a chỉ nền đo n (24 bit: A23 – A0) xác đ nh đ a chỉ nền của
đo n hệ 16 bit thì đ a chỉă nàyăcũng là đ a chỉ vật lý nền của đo n
Tr ng Giới h n đo n (16 bit: L15 – L0) xác đ nh kích th ớc của đo n
từ 1 byte đến 64 Kb
Tr ng Quyền truy nhập (8 bit) xác đ nh mức đ c quyền và các thuộc
tính khác của đo n:
P - (Present) : Nếu P = 1 đo n đang t n t i trong bộ nhớ
Nếu P = 0 CPU sẽ t o ra ngo i lệ “không t n t i đo n”ăkhi
ng i yêu cầu ch n đo n này
DPL - (Descriptor Privilege Level) : xác đ nh mức đ c quyền của bộămô t ă
(mứcăđ c quyền của đo n)
DT - (Descriptor Type) : xác đ nh lo i bộ mô t
DT=1 Bộămô t ăđo nămưălệnh ho cădữ liệu
DT=0 Bộămô t ăđo n hệ thống ho căc ng giao d ch
Kiểu bộ mô t : cấu trúc của tr ng này phụ thuộc vào lo i bộ mô t :ăBộ mô
t đo n dữ liệu, Bộ mô t ăđo n mư lệnh, Bộ mô t đo n hệ thống Bộămô t đo n hệ
thống (DT=0) có 2 lo i : bộ mô t LDT, bộ mô t TSS Bộămô t c ng giao d ch
(c ng giao d ch) đ ợc dùng để truy nhập vào các đo n mưălệnh Các bộ mô t ănày sẽă
đ ợcătrình bày ăcácăphần sau
Cấu trúc của byte quyền truy nhập trong Bộ mô t ăđo n dữ liệu :
Trang 18W/R ( Write/Read): xác đ nh quyền ghi/đ c
W/R = 1: cho đ c/ghi đo n dữ liệu
W/R = 0:ăăcấm ghi đo n dữ liệu
A (Accessed):
A = 1 đo n đưăb truy nhập
Cấu trúc của byte quyền truy nhập trong Bộ mô t ăđo n mã lệnh :
C (Conforming) :
C = 0 ch ơng trình con sẽ thực hiện với mức đ c quyền PL = DPL
C = 1 ch ơng trình sẽ thực hiện với mức đ c quyền PL bằng mứcăđ c
quyền của đo n chứaăch ơng trình g i ch ơng trình con này
R ( Read):
R = 0 : Đo n mưălệnh thực hiện đ ợc
R = 1 : Đo n mưălệnh thực hiện đ ợc và đ c đ ợc
A (Accessed):
A = 1 đo nămưălệnhăđưăb truy nhập
Cấu trúc của byte quyền truy nhập trong Bộ mô t ăđo n hệ thống :
Bộ mô t đo n hệ thống (Bộ mô t đo n TSS, Bộ mô t đo n LDT) quy chiếu
(trỏ đến) các đo n chứa thông tin hệăthống
Kiểu đo n:
Kiểu=1 : Bộ mô t quy chiếu đến đo n tr ng thái nhiệm vụ TSS,
nhiệm vụ này không ătr ng thái đang thựcăhiện
Kiểu=2 : Bộ mô t ăquy chiếu đến đo n chứa b ng LDT
Kiểu=3 : Bộ mô t quy chiếu đến đo n tr ng thái nhiệm vụ TSS của
nhiệm vụ đang thực hiện
Trang 19Hai byteădựăphòng cho hệ 32 bit có d ng :
Đối với hệ 16 bit thì hai byte này ph t có giá tr là 0000H
c- B mô t ăcổng giao d chă(cổng giao d ch) :
Bộămôăt ăc ngăgiaoăd chă(c ngăgiaoăd ch)ăđ ợcădùngăđểătruyănhậpăvàoăcácăđo nămưălệnh.ăC ngăgiaoăd chăcungăcấpăph ơngătiệnăchuyểnăgiaoăđiềuăkhiểnăgiữaăch ơngătrìnhăngu năvàăch ơngătrìnhăđích,ăvíădụăcácălệnhăCALLăvàăcóăthểătruyănhậpăvàoăcácă
đo năcóămứcăđ căquyềnăcaoăhơnăthôngăquaămộtăc ngăgiaoăd chălàăc ngăg i
C ng giao d ch có cấu trúc nh sau :
Bộ đếmă (WC - word count) : xác đ nh số từ cần sao chép từ ngĕn xếp của
ch ơng trình g i sang ch ơng trình đ ợc g i Thông số WC chỉ có ăc ng giao d ch
kiểu g i (c ng g i)
Byte quyền truy nhập trong Bộ mô t ăc ng giao d ch (c ng giao d ch) :
P DPL 0 Kiểu c ng giao d ch
Kiểu c ng giao d ch: có 4 lo i c ng giao d ch
Kiểu = 4 : c ng giao d ch kiểu g i (c ng g i)
Kiểu = 5 : c ng giao d ch kiểu nhiệm vụ (c ng nhiệm vụ)
Kiểu = 6 : c ng giao d ch kiểu ngắt (c ng ngắt)
Kiểu = 7 : c ng giao d ch kiểu bẫy (c ngăbẫy)
Bộ mô t c ng giao d ch kiểu g i (c ng g i) th ng đ ợc dùng đểă ch ơng
trình ngu n có mức đ c quyền thấp hơn g i ch ơng trình đích cóămứcăđ c quyền
cao hơn
Trang 20Bộ mô t c ng giao d ch kiểu nhiệm vụ (c ng nhiệm vụ) đ ợc sửădụng
khi có sự thay đ i nhiệmăvụ trong nhiệmăvụ hiện hành Bộ mô t cửa giao d ch kiểu
nhiệm vụ quy chiếu (trỏ tới) b ng TSS
Bộ mô t c ng giao d ch kiểu ngắt và kiểu bẫy (c ng ngắt và c ng bẫy)
cung cấp bộ ch n vàăđ a chỉ offset xác đ nh v trí của ch ơng trình con phục vụ ngắt
bên trong đo n mưălệnh đó
d- L c đồ truy nh p đo n nh nh B ch n đo n vƠ B mô t ăđo n:
Trong chếăđộ b o vệăCPUă80286 do bộ ch n đo n cho kh ănĕng trỏ tới đ ợc
213 Bộ mô t đo n và mỗi Bộ mô t trỏ đến một đo n có kích th ớc cựcăđ i 216byte nên CPU cóăthể qu n lý đ ợcăbộ nhớăkích th ớc:
Khi cóăyêu cầu truy nhập đo n, ng iăyêu cầu cung cấp Bộăch n đo n CPU
thực hiện thao tác kiểmătra quyền truy nhập đo n tr ớc khi cho truy nhập
Đốiăvớiăviệcătruyănhậpăđo nădữăliệu,ăquáătrìnhăkiểmătraăđ ợcătiếnăhànhătheoăquyătắc:
Trang 21Trong đó:
CPL làă mức đ că quyềnă của nhiệmă vụă đang thực hiện Thông
th ng CPLăcó giá tr bằng mức đ c quyềnă của đo n chứa mư lệnh đang
ch y Bộ xử lý trung tâmăcó thể thay đ i giá tr của CPL khi điều khiển
ch ơng trình chuyển đến một đo n mư có mức đ c quyền cao hơn RPL là mức đ c quyền yêu cầu và là mức đ c quyền của bộ ch n Mức
đ c quyền RPL đ ợcăsinh ra b i ng i n p bộ ch n đo n
+ EPL là mứcăđ c quyền hiệu dụng
+ DPL là mứcăđ c quyền của đo n b truy nhập
Nếu điều kiện trên không đ ợc tho mưn thìăsẽ sinh ra một ngo i lệăvàăCPUă
không cho truy nhậpă đo n Nếu điều kiện về quyền truy nhập đ ợc tho ă mưn thì
CPU cho truy nhập đo n Việc truy nhập từng ô nhớ trong đo n đ ợc thực hiện
thông qua đ a chỉănền đo n (có đ ợc từ Bộ mô t đo n vừa đ ợcăch n) vàăđ a chỉăă
offset củaăô nhớăđó
Đối với việc truy nhập đo n mư lệnh, quá trình kiểm tra đ ợc tiến hành
theo quy tắc:
EPL = max(CPL, RPL) ≥ DPL
Trong đó việcătruy nhập một đo nămư lệnh có mức đ căquyền cao hơn (EPL >
DPL) ph i thực hiện thông qua c ng g i
f C ăch ătruyănh p b nh ă(ô nh )ăqua b ng LDT
LDT đ ợc hệ điềuăhành t o ra khi n p một ch ơng trình ứng dụng vào bộ nhớ
Mỗi b ng LDT qu n lý cácăđo n của một ch ơng trình ứng dụng (không gian nhớ
cục bộ) Việc qu n lý các đo n (cácăvùng nhớ) thuộc một ch ơng trình ứng dụng
(một nhiệm vụ) đ ợc t chức nh sau :
Mỗi một đo n nhớ đ ợcăqu n lý b i một Bộămô t ăđo n
Các Bộ mô t đo n của một nhiệmăvụ đ ợc chứa trong một b ng LDT riêng
biệt Nói cách khác, mỗi b ng LDT qu n lý các đo n nhớ của một nhiệm vụ Mỗiăb ngăLDTăđ ợcăqu nălýăb iămộtăBộămôăt ăLDT.ăBộămôăt ăLDTăchứaăđ aăchỉănềnăb ngăLDT,ăkíchăth ớcăb ng,ăquyềnătruyănhậpăb ngă(quyềnătruyănhậpănhiệmăvụ)
Trang 22Các Bộ mô t LDT của các nhiệmăvụ đ ợc chứa trong b ng GDT.ăB ng GDT
đ ợcăqu n lý b i thanh ghi hệ thống GDTR
Khi một nhiệmă vụ đ ợc thực hiện, hệă điều hành sẽ n p Bộ ch n LDT vào
thanh ghi hệ thống LDTR Thanh ghi LDTR trỏ đến Bộ mô t LDT trong b ng
GDT, từ đâyăCPUă thông qua b ng LDT qu n lý đ ợc các đo n của nhiệmăvụ đó và
bắt đầu (ho c tiếp tục) thực hiện nhiệmăvụ này Để truy nhập các đo n trong nhiệmă
vụ, ng i yêu cầu cần n p Bộ ch n đo n vào thanh ghi đo n t ơng ứng
CPU thực hiện thao tác kiểm tra quyền truy nhập đo n Nếu điều kiện về
quyền truy nhập đ ợc tho mưn thì CPU cho truy nhập đo n Nếuăđiều kiện trên
không đ ợc tho mưn thì sẽ sinh ra một ngo i lệ và CPU không cho truy nhập
đo n Việc truy nhập từng ô nhớ trong đo n đ ợc thực hiện thông qua đ a chỉă nền
đo n (có đ ợc từăBộ mô t đo n vừa đ ợc ch n) vàăđ a chỉ offset của ô nhớ đó
g- C ăch chuyển điều khiển vƠăg i ch ng trình con trong ch đ ăb o v
Việc chuyển điều khiển xẩy ra khi thực hiện các lệnh nhẩy (lệnh JMP) ho că
lệnh g i ch ơng trình con (lệnh CALL)
Tr ng hợp thực hiện lệnh nhẩyăho c lệnh g i trong cùng đoạn mã lệnh của
nhiệm vụ đang ch y (lệnh nhẩy gần, lệnh gọi gần) xẩy ra nh sau :
Khi thực hiện lệnh nhẩy gần (near jump), con trỏ lệnh IP đ ợc n p giáătr mới
Ch ơng trình tiếp tục đ ợcăthực hiện từ v trí mới do IP trỏ đến
Khiăthựcăhiệnălệnhăg iăgầnă(nearăcall),ăbộăxửălýătrungătâmăthựcăhiệnăcác thaoătácăsau:
Cất giá tr hiện th i của IP vào ngĕn xếp
N p đ a chỉ offset của ch ơng trình con đ ợcăg i (đích) vào IP Thựcăhiệnăch ơng trình con (đích)
Tr ng hợp chuyển điều khiển đến những đo n mư lệnh khác khi thực hiện
lệnh g i xa (FAR CALL) thì có hai tình huống :
a) Đo n mư lệnh đích có mức đ c quyền thấp hơn ho c bằng mức đ c
quyền của đo n mư lệnh ngu n hiện t i Khi đó bộ xửălýătrung tâm thực
hiện cácăthao tác sau :
Trang 23Hình VI.16.
Cất giá tr hiện th i của CS vàăIP vào ngĕn xếp
N p bộ ch n đo n mưălệnh chứa ch ơng trình con (đích) vào CS
N p đ a chỉ offset của ch ơng trình con (đích) vào IP
Thựcăhiệnăch ơng trình đích
Lệnh RET cho phép r i khỏi ch ơng trình con để tr về ch ơng trình g i nó
Lệnh nàyăkhôi phục l i nội dung bộ ch n đo n mư lệnh ngu n (nội dung thanh ghi
CS), nộiădung con trỏ lệnh (nội dung thanh ghi IP) vàătiếpătục thực hiện ch ơng trình
đư g i ch ơng trình con này
b)ăĐo nămưălệnhăch ơngătrìnhăconă(đích)ăcóămứcăđ căquyềnăcaoăhơnămứcăđ căquyềnăcủaăđo nămưălệnhăngu năhiệnăt i.ăKhiăđóăviệcăg iăch ơngătrìnhăconă(đích)ăph iăthựcăhiệnăquaăc ngăg i.ăBộăch năđo nălúcănàyăkhôngătrỏăđếnăbộămôăt ăđo nămưălệnhăchứaăch ơngătrìnhăconă(đích),ămàătrỏăđếnăc ngăg iă(bộămôăt ăc ngăg i).ăC ngăg iătrỏăđếnăbộămôăt ăđo nămưălệnhăcủaăch ơngătrìnhăconă(đích)ăvàăchứaăđ aăchỉăoffsetăbắtăđầuăch ơngătrìnhăcon (đích), qua đó g i
Trang 24đ ợc ch ơng trình con (đích) Bộ xử lý trung tâm thực hiện quá trình này
nh sau:
T măl uăgiữănộiădungăCS,ăIP,ăSS,ăSPăhiệnăth iă(thuộcăch ơngătrìnhăngu n)
N p bộ ch n c ng g i và kiểm tra quyền truy nhập
Cất giữ giá tr t m l u của SS vàăSP ngu n vào ngĕn xếp đích
Chuyển cácătham số từ ngĕn xếp ngu n sang ngĕn xếp đích
Cất giữ giá tr t m l u của CS vàăIP ngu n vào ngĕn xếp đích
N p bộ ch n bộ mô t đo n mư lệnh đích và đ a chỉ offset (lấy từ
c ng g i), qua đó n p bộ mô t ăđo n mưălệnh đích Thựcăhiệnăch ơng trình con (đích )
Khi bộ xử lý trung tâm g p lệnh RET thì việc tr về ch ơng trình ngu n
đ ợc thực hiện bắt đầu bằng việc kiểm tra quyền truy nhập, sau đó làăkhôi phục nội
dung cácăthanh ghi CS, IP, SS, SP theo một trình tự ng ợc l i
2.3 C ăch ăho tăđ ng đaănhi m
Nhiệmăvụ đ ợc đ nh nghĩa nh là sự thực hiện một ch ơng trình nào đó Mỗi
một nhiệm vụ có một đo n tr ng thái nhiệmăvụ (đo n TSS – Task State Segment)
chứa toàn bộ tr ng thái của nhiệm vụ đó Mỗi đo n TSS đ ợcăqu n lý (trỏ) b i
một Bộămô t ăTSS nằm trong b ng GDT
CPU x86 có phần cứng hỗ trợ thao tác chuyển nhiệmăvụ Thao tác chuyển nhiệmă
vụ thực hiện l u và b o vệ toàn bộ tr ng thái ho t động của nhiệm vụ đang thực hiện
(bao g m nội dung toàn bộ các thanh ghi của CPU, không gian đ a chỉ có liên quan và
Bộ ch n LDT của nhiệmă vụ đang ch y) vào đo n TSS, sau đó n p tr ng thái của
nhiệmăvụ tiếp theo từ đo n TSS t ơng ứng vào CPU, kiểm tra quyền truy nhập và bắt đầu thực hiện nhiệm vụămới Thanh ghi nhiệm vụ TR (Task Register) trỏ đến Bộ mô
t TSS qu n lýănhiệm vụ hiện th i
Thao tácăchuyển nhiệm vụ đ ợc tiến hành theo các b ớcăsau :
L u toàn bộ tr ng thái ho t động của nhiệm vụ đang thực hiện (bao g m nội dung toàn bộ các thanh ghi của CPU, các đ a chỉ có liên quan và Bộ
ch n LDT của nhiệmăvụ hiện th i) vào đo n tr ng thái nhiệm vụ TSS của
nhiệm vụ này
N p Bộ ch n nhiệm vụ tiếp theo vào thanh ghi TR Thanh ghi TR trỏ đến Bộămô t ăTSS qu n lý đo n TSS của nhiệm vụ tiếp theo
Qua Bộ mô t TSS truy nhập đo n TSS của nhiệm vụ tiếp theo, n p
tr ng thái nhiệm vụ tiếp theo vào các thanh ghi của CPU, trong đó có
thanh ghi LDTR Bộ mô t TSS đ ợc n p vào phần kín của TR
Thựcăhiện kiểm tra quyền truy nhập
Thực hiện nhiệm vụ tiếp theo
Trang 252.4 Tổ ch c b nh ăcache
Cơ cấu bộ nhớ cache L2 của bộ nhớ (L2 memory cache), L1 của lệnh (L1 instruction cache) và L1 của dữ liệu (L1 data cache), khối nhận lệnh, gi i mư lệnh
và thực thi lệnh trong CPU Pentium IV đều đ ợc liên kết bằng BUS dữ liệu có độ
rộng lên tới 256bit Về t chức, có thể hình dung liên l că giữa CPU và bộ nhớ
RAM nh hình d ới đây BUS dữ liệu
liên kết bộ nhớă RAM với CPU có độ
rộng làă64 bit, ho că128 bit Liên l căgiữa
bộ nhớ cache L2 và bộ nhớ cache lệnh
trong Pentium IV là 256 bit Bộ nhớ
cache đ ợc sửădụng là RAM tĩnh, có thể
ho t động nhanh nh tốc độ của CPU,
song tiêu tốn nĕng l ợng và giá thành rất
cao Kỹ thuật cache đ ợc sử dụng nhằm
mụcăđích không “bắt” CPU ph i lấy dữ
liệu từ bộ nhớ RAM với tốc độ thấp, màă
khối điều khiển bộ nhớ cache (memory cache controller) sẽ đ m nhận công
việc n p s nnvào bộ nhớ cache một khối
lệnh và dữ liệu lấyătừăbộ nhớ RAM theo
thứătựăliên tiếpănhau Thay vì ph i đ c từ
bộ nhớ RAM, CPU sẽă đ c lệnh ho cădữ
liệu có s n trong bộ nhớ cache với tốc độ
cao hơn rất nhiều Rõ ràng là, nếuă bộ
nhớ cache càng lớn, cơ hội lấyălệnh và dữă
liệu theo yêu cầu của CPU đây càng
lớn, thay vì ph i truy xuất trực tiếp vào
bộ nhớăRAM, hiệu suất làm việc do vậy đ ợc nâng lên rất cao
Hiện t ợng CPU lấyăđ ợc dữăliệuămong muốn từ bộ nhớ cache g i là cache hit ,
nếu không có bộănhớ cache thì g i là cache miss , CPU ph i truy xuất t i bộ nhớ
RAM Trên hình vẽ, có thểă coi L1 memory cache nh ă làăinput cache , còn L1 data cache là output cache
Khối tìm n p ch u trách nhiệmăn p lệnh vào cache từ bộ nhớ RAM Đầu tiên, nó
tìm trong L1 instruction cache, nếu không có, nó sẽ tìmă L2 memory cache, nếu lệnh
mà CPU yêu cầuăvẫn ch a có đây, nó sẽ n p trựcătiếp từ bộ nhớăRAM
Trang 26Memory Cache là một kiểu bộ nhớ hiệu suất cao, cũng đ ợc g i là bộănhớătĩnh Kiểu bộ nhớăđưăsửădụng trên bộ nhớăRAM chính của máy tính đ ợc g i là bộ
nhớ động Bộ nhớ tĩnh tiêu tốn nhiều nĕng l ợng điện hơn, đắt hơn và có kích
th ớc vật lý lớn hơn so với bộ nhớ động, tuy nhiên nó l i ch yănhanh hơn Nó có
thể làm việc với cùng tốc độ clock của CPU, điều mà bộănhớ động không thể thực
hiện đ ợc Vào “thế giới bên ngoài” để tìm n p dữăliệu làm cho CPU ph i làm việc
tốc độ clock thấp hơn do vậy mà kỹ thuật cache nhớ đ ợc sử dụng đây để khắc
phục nh ợc điểm này Khi CPU n p dữ liệu từ một v trí nhớ nào đó thì m ch
có tên g i là memory cache controller (m ch này không đ ợc vẽ trong hình) n p
vào cache nhớ một khối dữ liệu bên d ới v trí hiện hành mà CPU đư n p Vì các
ch ơng trình đ ợc thực hiện theo thứ tự nên v trí nhớ tiếp theo mà CPU sẽ yêu cầu
có thể là v ă tríă ngay d ớiă v trí nhớ
mà nó đưă n p Do memory cache
controller đưă n p rất nhiều dữ liệu
d ới v trí nhớ đầu tiênă đ ợc đ c
b i CPU nên dữ liệu kếătiếp sẽ bên
trong cache nhớ, chính vì vậyăCPU
không cần ph i thực hiện thao tác lấy
dữ liệuă bên ngoài: nó đưă đ ợc n p
vào bên trong cache nhớ nhúng
trong CPU, chính vì nhúng trong
CPU màăchúng có thể truyăcập bằng
tốc độăăăăă clock trong Cache
controller luôn luôn quan sát các v trí nhớ đưăvàăđang đ ợcăn p dữ liệu từ một vài
v trí nhớ sau khi v ătríănhớ vừa đ ợc đ c Một ví dụăthực tế,ănếu một CPU đư n p dữă
liệu đ ợc l u t i đ a chỉ 1.000 thì cache controller sẽ n p dữ liệu từ “n” đ a chỉ sau
đ a chỉ 1.000 Số “n” đ ợc g i là trang; nếu một bộ vi xử lý này làm việc với 4KB
trang (giá tr điển hình) thìănó sẽ n p dữ liệu từ các đ a chỉ 4.096 d ới v trí nhớ
hiện hành đang đ ợcăn p (đ a chỉ 1.000 trong ví dụ) 1KB bằng 1.024 byte, do
đó là 4,096 chứ không ph i 4,000 Memory cache càng lớn thì cơăhội cho dữăliệu
yêu cầu b i CPU đây càng cao, chính vì vậy CPU sẽ gi măsự truy cập trực tiếp
vào bộănhớ RAM, do đó hiệu suất hệ thống tĕng (hưy nên nhớ rằng khi CPU cầnă
truy cập trực tiếp vào bộ nhớ RAM thì nó ph i thực hiện tốc độ clock thấp hơn
nên gi măhiệu suất của toàn hệ thống) Trên trang chi tiết kỹ thuật của một CPU, L1
cache có thể đ ợc thể hiện bằng một hình nh hoàn toànăkhác Một số nhà máy s n
xuất liệt kê hai L1 cache riêng biệt (đôi khi g i cache chỉ lệnh là “I” và cache dữ
Hình VI.17.
Trang 27liệu là “D”), một số hưng ghi số l ợng của c hai là 128 KB nh ng điều đó có
nghĩa là 64 KB cho cache chỉ lệnh và 64 KB cho cache dữ liệu M c dù vậy đối
với các CPU Pentium 4 và Celeronn đ i mới dựa trên socket 478 và 775 thì không
có hiện t ợng này Các bộ vi xử lýăPentium 4 (và các bộ vi xử lý Celeron sử dụng
socket 478 và 775) không cóăL1 instruction cache mà thay vào đó chúng có một
trace execution cache, đây là cacheăđ ợc đ tă giữa khối gi i mư và khối thực thi
Chính vì vậy đây làăL1 instruction cache nh ng tên đư đ ợc thay đ i và một v trí
cũng khác.ăLỗi rất th ng x y ra khi nghĩ rằng các bộ vi xử lý Pentium 4 không có
L1 instruction cache Vậy khi so sánh Pentium 4 với các CPU khác m i ng i hưy
nghĩ rằng L1 cache của nó nhỏ hơn nhiều
2.5 Tr ng h p g p l nhăr nhánh
Hiện t ợng “cache miss” xẩy ra rất th ng xuyên, khối tìm n p ph iătruy xuất
bộ nhớ RAM làmăho t động của máy tính chậmăhơn Trong tr ng hợp g p lệnh rẽ
nhánh, ví dụ lệnh JMP (“jump” ho c “goto"), tuần tự thựcăhiện lệnh liền sau đó b
phá vỡ,ălệnh theo yêu cầu v trí mới trong RAM vàăch a có trong L2 memory
cache, do vậy trong các CPU hiện đ i, có khốiăchức nĕng su y đoán trước lệnh rẽ
nh ánh sẽ phân tích khối nhớăđưăn p, bất cứăkhi nào tìm thấy lệnh JMP, nó sẽ n p nội
dung khối nhớ này vào L2 memory cache tr ớc khi CPU xử lý lệnh JMP đó Vấn đề
phát sinh khi lệnh rẽ nhánh là có điều kiện Do điềuăkiện ch a đ ợc xác đ nh ch ơng
trình có rẽ nhánh hay không, cache controller sẽ n p c ăhai vùng nhớăcó đ a chỉ lệnh
CPU ph iănh yătới vào bộ nhớ cache Khi xử lý lệnh rẽ nhánh có điều kiện, CPU sẽ
chỉăxử lý nh đối với lệnh rẽănhánh bình th ng bằng cách lo i bỏ tr ng hợpăkhông
đ ợc ch n theo điều kiện rẽ nhánh Dù sao, việc n p vào bộ nhớ cácădữ liệu không
cần thiết vẫn tốt hơn việcătruy xuất vào bộ nhớăRAM
Bộ nhớăcacheăđ ợc t chứcătheo 3 ph ơng pháp sau:
Cache với đ a chỉ vật lý (Physical Address cache)
Cache với đ a chỉ o (Virtual Address Cache)
T chức cache liên kết b sung đầy đủ, liên kết theo tập
(set-associative), v àăánh x ănhớă(mapping)
Trang 282.6 C ác ph ng th c đánhăđ a ch cache
Nhiều hệ thống đa xử lý sử dụng cache riêng liên kết trực tiếp với bộăVi xử
lý (Hình VI.18) Cache đ ợc đánh đ a chỉ sử dụng đ a chỉ vật lý ho c đ a chỉ o
a) Ca cheăđ a ch v t lỦ (Physical Address Cache)
Khi cache đ ợc truy xuất bằng đ a chỉ vật lý thì cache đ ợc g i là cache
địa chỉ v t lý
Hình VI.18.a) Cache đơn truy xuất bằng địa chỉ vật lý
Hình VI.18a là mô hình cache đơn đ ợc sử dụng trong máy tínhb VAX 8600 vàăIntel i486 Cache đ ợcăliên kết với CPU bằng đ a chỉ vật lý
Hình VI.18 Mô hình cache truy xuất bằng địa chỉ vật lý
Hình VI.18.b) Cache gộp truy xu ất bằng địa chỉ vật lý
Trang 29Truy xuất Cache đ ợc thực hiện sau khi đ a chỉ đ ợc chuyển từ TLB ho cătừ
MMU Đ a chỉă vật lý t o b i MMU có thểăđ ợcăl u trong các thẻ nhằmăphục vụ cho
việc n p l i nh ng không đ ợc sử dụng trong các thao tác tìm kiếm Cache hit xuất
hiện khi dữ liệu ho c đ a chỉ đ ợc tìm thấy trong cache, nếu không, g i là cache miss
Khi không tìm thấy cache đ ợc n p l iă thông tin (dữ liệu ho c lệnh) từ bộ nhớ
chính Vì việc n p thông tin vào cache theo từng khối, dữ liệu không mong muốn
cũng có thểăđ ợc n p vào.ăSự đ nh v theo tham chiếu sẽ giúp tìm đ ợc các dữ liệu
cần thiết cho các lệnh tiếp theo
Dữ liệu đ ợc ghi trực tiếp vào bộ nhớ chính thông qua ph ơng thức ghi xuyên
cache (Write-throught - WT) ho c b trễăcho đến khikhối thông tin đ ợc thay thế nhớ
sử dụng ghi lại cache (Write-back – WB) Ghi xuyên cache đòi hỏi nhiều chu kỳ
truy xuất bộ nhớ chính hơn, trong khi ghi l i cache có thểăthực hiện màăkhông cần
sự ch ăđợi chu kỳ bộ nhớ
u điểmăchính của ph ơng thức này là không cần đến việc t o cache đ ng nhất,
không có sự trùng l p vàăít lỗi cache trong hệăđiều hành
b) Cacheăđ a ch o (Virtual Address Cache)
Khi bộ nhớ cache đ ợc đánh chỉ số hay đ ợc truy xuất bằng đ a chỉă o, ta g i
đó là cache địa chỉ ảo
H ình VI.19 Truy xuất cache bằng địa chỉ ảo
Trang 30Trong mô hình này thì sự chuyển giao thông tin của cache và MMU đ ợcă
thực hiện song song
Đ a chỉ vật lý t o b i MMU có thểăđ ợcăl u giữ đểă sử dụng cho việcă ghi l i
(write-back) nh ng không đ ợc sử dụng cho tìm kiếm Cache đ a chỉă o cho phép truy xuất nhanh hơn nh sự ch ng gối với MMU
V ề các vấn đề trùng l p (Aliasing Problem) Vấn đề chính luôn đi cùng đ a chỉ o
là sự trùng l p, khi dữ liệu có đ a chỉ logic khác nhau l i có cùng số hiệu và đích
trong cache Vấn đề trùng l p nàyăcó thể dẫn đến hai hay nhiều quá trình cùng truy
xuất vào một v trí vật lý trong cache Cách xử lýăsự trùng l p nàyălà gi i phóng
(flush) thông tin trong cache khi xuất hiện sựătrùng l p
Việc gi i phóng cache nhiều làm gi m hiệu qu của cache và tỷălệăcache hit thấp
và th ng đ ợc thực hiện theo trang, theo đo n hay theo mức ngữ c nh
2.7 Cache li ênăh p vƠ cache ánh x tr c ti p
Việc chuyển thông tin từăbộ nhớ chính sang bộ nhớ cache đ ợc thực hiện theo các khối đơn v cache ho că theo kênh cache Tính hiệu qu ăphụăthuộc vào ph ơng
thức truy xuất cache, t chức bộ nhớ cache và chiến l ợc qu n lý cache
Các khối trong cache đ ợcăg i là khung khối (block frames) để phân biệt với các
kh ối (block) trongăbộ nhớăchính.ăCác khungăkhối đ ợc ký hiệu làăBi với i = 0,1, 2, …,
m, còn các khối đ ợc ký hiệu làăBj với j = 0, 1, 2, …, n
Có nhiều cách ánh x (mapping)ătừătập Bj sang tập Bi
Gi sử rằng n >> m, n = 2s và m = 2r, mỗi khối hay khung khối có b từ, b =
2w, nh vậyăcache có m.b = 2r+w từ Bộ nhớ chính có n.b = 2s+w từ vàăđ ợc qu n lý
nh s + w bit đ a chỉ Khi khung khối đ ợc chia thành v = 2t tập, sẽăcó k = m/v = 2r-t
khối trong mỗi tập
- Cache ánh x tr c ti p: T chức cache theo ph ơng thức nàyădựa trên việc
ánh x trực tiếp 2s-r khối nhớ,ăphân tách bằng cùng một kho ng cách nh nhau vào
một khung khối trong cache Việc chuyển khối vào cache sử dụng chức nĕng d của
giá tr chia cho m (modulo-m): Khối Bj đ ợcătruyền vào khung khối :
Nh vậy, mỗi khung khối có thể đ ợc n p từ một khối Bj Ánh x ătrực tiếp rấtăcứng nhắc nh ng bù l i t chức cacheălà đơn gi n nhất
Trang 31H ình VI.20 Tìm kiếm liên hợp đến tất cả mọi khối đich
Đ a chỉ ô nhớ bao g m 3 tr ng: các bit thấp w xác đ nh offset của từ nhớ trong
mỗi khối.ăCác bit cao của thẻ cache s xác đ nh đ a chỉ của khối trong bộ nhớ chính khi
các bít trái nhất (s-r) xác đ nh thẻ phù hợp Tr ng khối r bít đ ợc dùng để xác đ nh
v trí khối sau mỗi m byte (modulo-m) với m = 2r Khi khối Bi đ ợc xác đ nh duy
nhất với tr ng này, thẻ liên kết vàăđ a chỉ khối t ơng ứng trong Bi bộ nhớ chính
đ ợc so sánh Cache hit là khi 2 thẻ trùng hợp, nếu không thì xẩy ra cache miss
tr ng hợp cache hit thì ofset của từ nhớăđ ợcădùng đểănhận d ng từ dữ liệu trong
khối đ ợc chỉăđến Khi xẩy ra cache miss thì nội dung chỉ b i các bit đ a chỉ (s+w)
đ ợc dùng để truy xuất vào bộ nhớ chính Các bit s xác đ nh v trí (đ a chỉ đầu)
của khối, còn các bit w xácăđ nh v trí từ nhớ trong khối
H ình VI.21 Khối Bj được ánh xạ vào khung khối Bi nếu j = i (modulo 4)
Trang 32Hình VI.21 là một ví dụ minh ho ăph ơng pháp t chức bộ nhớăcache theo ánh
x trực tiếp với n = 16 đ ợc ánh x vào m = 4 khung khối trong đó 4 khối nhớăngu n
(từ bộ nhớ chính) đ ợc n p vào 4 khung khối cache Hệă thống máy tính IBM
System/370 Model 158 và VAX/8800 sử dụng ph ơng pháp t chức qu n lý bộ nhớă
cache theo ph ơng thức này
Một ví dụ: Cache 64kB, cần m = 211 = 2048 khung khối và r = 11 bít
Gi thiết bộ nhớ chính có dung l ợng 32MB, n = 220 khối và thẻ cache cần s =
20 bít và số bit đ a chỉ cần để qu n lý theo từ nhớ là s + w = 23 bit, đểăqu n lý
theo byte làă25 bit đ a chỉ Với cách t chức theo ánh x ătrực tiếp, sẽăcó 2s-r = 29 = 512
khối nhớăcó thểă“ánh x ”ăvào một khung khối
u điểmăchính của ph ơng pháp này là phần cứng rất đơn gi n vàăkhông cần
thêmăcác phụ kiện và cũng không cần thuật thay thế trang, giáăthành sẽ rẻ hơn và tốc
độ truy xuất nhanh hơn Tất nhiên, sựăcứng nhắc trong t chức cũng sẽădẫn đến tỷ lệ
cache hit thấp hơn
- Cache li ênăk tăđ y đ ă(Fully Associative Cache)
Khác với cache ánh x trực tiếp, t chức cache theo ph ơng thức liênăkết đầy đủ
mềm dẻo hơn Mỗi một khối trong bộ nhớ chính có thể đ ợc n p vào một khung khối
bất kỳ trong cache Nh tính mềm dẻo, cần có một thẻăcó độ dài s bít cho mỗi khối
cache Với s > r, độ dài thẻ tĕng đáng kể
Trang 33Cách g i cache liên kết đầy đ xuất phát từ việc tìm kiếmăđ ng liênăkết m bất
kỳătrên thẻ đ ợc so sánh với tất c các thẻ khối trong cache (Xem hình VI.22a) Cách
t chức nàyăt o nên sự mềm dẻo trong chiến l ợc thay thếăcácăkhối nhằm t o tỷ lệ
cache hit cao h ơn
Hình VI.22b cho thấy một ví dụ ánh x 4 đ ng theo ph ơng thức tìm kiếm liên
kết đầy đủ Thẻ cache có 4 bit t o kh nĕng một trong 16 khối có thể n p vào một
khung khối
H ình VI.22 b) Mỗi khối có thể được “ánh xạ” đến bất kỳ khung khối nào
- Cache li ên k t theo t p vƠ cache vùng (Set-Associative and Sector Cache)
T chức cache theo tệp rất thông dụng vàăđ ợcăsử dụng trong máy tính th ơng
m i Cache ánh x theo vùng th ng đ ợc sử dụng cùng cache liên kết theo tệp
+) Cache li ên kết theo tệp (Set-associative cache) là cách t chức tho ăhiệp giữa
ánh x trực tiếp và liên kết đầyăđủ T chức theo ph ơng thức nàyălàm gi m giáăthành đáng kể
Trong cache liên kết thứ k có m khung khối cache đ ợc chia thành v = m/k tệp,
với k khung khối trong mỗi tệp Mỗi tệp đ ợc nhận d ng nh sốăhiệu tệp g m d
bít, 2d = v Th ẻ khối cache bây gi chỉ cần s – d bít Trong thực tế, độ lớn của tệp k
hay còn g i là tính liên hợp th ng đ ợc ch n bằng 2, 4, 8, 16 ho c 64 phụ thuộc
vào độ lớn của khối w, độ lớn dung l ợng cache m và giá thành s n phẩm hoàn
thiện Ánh x liên kết đầy đủ có thểăxem nh tr ng hợp với v = 1, ho c là tr ng
hợp tính liên hợp với dung l ợng cache là m Khi tìm kiểm trong tr ng hợp liên kết
đ ng k, thẻ cache đ ợcăso sánh với với k thẻătrong tệp (Hình VI 23)
Trang 34Có thể hiểu ph ơng thức t chức nàyătrên Hình VI.23b là ví dụ ánh x ăvới n =
16 khối nhớ từ bộ nhớ chính vào cache liên kết 2 đ ng (k = 2) vàăsố tệp là v = 4
qua m = 8 khung khối
H ình VI.23 a) Tìm liên kết đường thứ k trong các tệp có k khối cache
Với hệ thống i860 của Intel (Hình 2.12b) D-cache và I-cache là liên kết 2
đ ng (k = 2) với 128 tệp trong D-cache, 64 tệp trong I-cache với 256 vàă128 khung
khối
+) Cache ánh xạ theo vùng (Sector mapping cache) đ ợc t ng hợp từănhững
ph ơng thức trên Ý t ng chủ yếu là phân vùng cache và bộ nhớăchính thành từng
phân vùng cố đ nh (sectors), sau đó sửădụng ph ơng thức liên kết đầyăđủ Nghĩa là
mỗi phân vùng (sector) có thể đ ợc n p vào bất kỳă một khung phân vùng (sector
frame) nào có thể
Yêu cầu truy xuất bộ nhớ đ ợc đ a đến các khối, chứăkhông đ ợcăchuyển đến các vùng Có thể l c ra yêu cầu nàyăbằng cách so sánh thẻ vùng trong đ a chỉ ô nhớ
với tất c các thẻ vùng sử dụng cách tìm kiếm liên kết đầy đủ Khi khung vùng
phù hợp, (cache hit) vùng khối đ ợc sử dụng đểăđ nh v khối đ ợcăyêu cầu trong
khung vùng
Khi xẩyă ra cache miss, chỉ khối b lỗi đ ợc lấyă từ bộ nhớ chính và đ t vào
khung khối thích hợp trong khung vùng Có nghĩa là khối thứ i trong vùng ph i
đ ợc đ t đúng vào khung khối thứ i trong khung vùng đích Bít xác nhận hợp lệ
(valid b ít) đ ợc gắn với mỗi khối khung để chỉ ra khối làăhợp lệ hay không hợp lệ
Khi nội dung một khung khối b thay thế, tất c cácăkhung khối còn l i sẽ b đánh dấu
là không hợp lệ.ăChỉ khung khối mới b ăthay thế nhất trong vùng đ ợcăđánh dấu là
hợp lệăcho phép tham chiếu
Trang 35H ình VI.23.b) Ánh xạ khối cache vào liên kết 2 đường và 4 tệp
Hình VI.24 Tổ chức cache ánh xạ theo vùng 4 đường
Trang 36Nếu so sánh với hai phép ánh x đư trình bàyătrên đây, thì phép ánh x ăvùng có
u điểmă sự mềm dẻo của thuật thay thế nội dung các khối và hiệu qu hơn trong
việc tìm kiếm liên kết đầy đủ thông qua một số giới h n thẻăvùng
Hình VI.24 là một ví dụ về t chức cache ánh x vùng với mỗi vùng cóă4
khối Mỗi vùng có thể ánh x vào bất kỳăkhung vùng nào với ph ơng thức liên kết đầyă đủ mức vùng Cách t chức nàyă đ ợc hiện thực hoá trên hệă thống IBM
System/360 Model 85 T chức Model 85 có 16 vùng, mỗi vùng có 16 khối,
với dung l ợng khối là 64 bytes Nh vậy mỗi vùng cóă1024 bytes vàăt ng dung
l ợng cache làă16KB
Hiệu suất sử dụng cache có thể nhìn nhận trên hai ph m vi liên quan làăsố chu
kỳ (Cycle Count)ăvà tỷ lệ trúng cache (Hit Ratio) Số chu kỳ đ ợcătính dựa vào số
các chu kỳ máy cần cho một truy xuất cache, b sung thông tin và điều khiển liên
kết ắỷ lệ trúng cache xác đ nh tính hiệu qu của sửădụng cache so với t ng th i
gian truy xuất bộ nhớ Cần có sự điều chỉnh cân bằng giữa hai ph m vi này Các hệ
số nh h ng đến tốc độ truy xuất cache và tỷălệ trúng cache bao g m việc mô
ph ỏng theo từng bước thực hiện chương trình (program trace-driven simulation) v àăăămô hình hoá phân tích (analytical modeling) quá trình t
chức và qu n lý bộ nhớ cache Sự tho ăhiệp thông qua kết qu của hai quá trình
này sẽ đ a tới quyết đ nh t chứcăcấu trúcăvà ph ơng thức qu n lý cache
3 Bộ nhớ ngoài của máy tính
Bộ nhớ ngoài của máy tính là một thiết b vô cùng quan tr ng vàăkhông
thể thiếu đối với các máyătính hiện nay Chúng đ ợc dùng để l u giữăcác ch ơng
trình vàădữ liệu không đ ợcăsử dụng ngay trong quá trình ho t động của máy, các nội dung đ ợcă l u giữ không b mất khi khôngă cóă điện ho c khi tắ máy Đĩa từ
đ ợc đ a vào sử dụng từ bắt đầu những nĕm 1970, và hiện nay, đang đ ợc sử
dụng rộng rưi với những u điểmăv ợt trội so vớiăcác thiết b nhớ ngoài khác nh
dung l ợng nhớ rất lớn và tốc độ truy xuấtărất nhanh Đĩa quang (đĩa CD) cũng
đ ợcăsử dụng nhiều nh ădung l ợng lớn, b o qu n dễ dàng và có độ tin cậyăcao
Ph ơng h ớng phát triển chủ yếu đối với các lo i thiết b này luôn luôn nhằm vào
kh nĕng nâng cao dung l ợng và tốc độ truy xuất Sự xuất hiện gần đây của các
thiết b nhớ Flash cũng đang là h ớng nghiên cứu đ ợc coi tr ng trong việc phát
triển các thiết b ănhớ dễădàng b o qu n vàădi chuyển, dễ kết nối với máy tính đểăsử
dụng khiăcần thiết
Trang 373.1 Đĩa t
Nguyên lý đ ợc sử dụng để l u giữ và đ c dữ liệu trên đĩa từ là ứng dụng
tính chất nhiễm từ, duy trì từ tính của vật liệu sắt từ
có độ thẩm từ cao Đầu từăđể Ghi/Đ c có nguyên lý cấu t o nh một nam châm điện có độ thẩmătừ cao,
nh ng không có tính duy trì từ tính Dòng điện đi
qua cuộn dây AB có c ng độ t ơng ứng với giá
tr của bit thông tin cần ghi, t o ra một từ tr ng
trong lõi hình khuyên Qua khe h ,ătừ thông đi xuyên đến lớp sắt từ phủătrên m t đĩa vàăsắp xếp (h ớng từ hoá)ăcácăphần tử có kh ănĕng nhiễm từ và duy trì từ tính Do dòng điện trong cuộn
dây thay đ i theo quy luật cần ghi, nên các phần tử nhiễmătừ cũng đ ợc sắp xếp
theo quy luật t ơng ứng Hay nói cách khác: ắừ trường dọc theo đường ghi thay đổi
theo quy lu t c a d òng điện mang thông tin đi qua cuộn dây AB
Do kh nĕng duy trì từ tính, thông tin đ ợc ghi lên m t đĩaăsẽ đ ợcăl u giữ l i
Ng ợc l iăvới quá trình ghi, khi đ c, sự thay đ i chiều sắp xếp của các phần tử
đư b nhiễm từ (do quá trình ghi) sẽ t o nên sự thay đ i từ thông trong lõi, điện
áp do c m ứng sinh ra trong cuộn dâyăAB sẽ đ ợc xử lý vàăbiến đ i thành cácăthông
tin t ơng ứng Cácăthông tin không b xoáătrong quáătrình đ c
3.2 Đĩa quang
Đĩa quang (đĩa CD – Compact Disc) là thiết b l u giữ dữ liệu làmăviệc
theo nguyên lý biến đ i Quang-Điện Các “hốc” đ ợc t o ra trên một m t đĩa sẽ
ph n x một l ợng nĕng l ợng tr l i đầu đ c, nĕng l ợng quang h că đ ợc biến
thành điện nĕng vàăbiến đ i thành các thông tin t ơng ứng
Để ghi thông tin lên đĩa, ta dùng tia lazer t o thành các “hốc” cóăđ ng
kính cực kỳ nhỏ ( th ng làăhàng chụcăđến hàng trĕm nanometre), g i làăpit Vùng
xung quanh hốc b đốt nóng, t o ra kh nĕng ph n x quang h c khácănhau, g i làă
land Thông tin trên đĩa CD đ ợc ghi theo một đ ng xuắnăốc duy nhất, và đ ợc ghi
theo từng khối (block), mỗi khối có độ lớn là 2KB dữăliệu Tuy cách ghi phức t p
nh ng do độ tin cậy cao của ph ơng thức l u giữ thông tin, nên đĩa CD d ợcăsử dụng rấtărộng rưi
3.3 B nh ăFlash
Bộ nhớ flash là một lo i bộ nhớ máy tính không kh biến có thể xóa và ghi
l i bằng điện Đây là công nghệăđư đ ợcăsử dụng trong các thẻ nhớ, USB flash để
l u trữ và truyền dữăliệu giữa các máy tính và các thiết b kĩ thuật sốăkhác Không
nh EEPROM, nó đ ợc xóa và ghi l i theo khối g m nhiều v trí (ban đầu bộ nhớ
Trang 38flash chỉ có thể xóa toàn bộ) Bộ nhớ flash rẻ hơn nhiều so với EEPROM Bộ nhớ
flash đ ợc sửădụng trong máy tính xách tay, máy nghe nh c kĩ thuật số, máyă nh kĩ
thuật số và điện tho i di động Nó cũng đ ợc sửădụng trên các máy trò chơi, thay
thế cho EEPROM ho c RAM tĩnh nuôi bằng pin đểăl u dữ liệuăcủa trò chơi
USB Flash, cứng di động USB, cứng flash USB (còn đ ợc g i sai làăcái USB) là thiết b l u trữ dữ liệu sử dụng bộ nhớ flash tích hợp với giao tiếp
USB (Universal Serial Bus) Chúng có kích th ớc nhỏ, nhẹ, có thểătháo lắp vàăghi
l i đ ợc Dung l ợng củaăcácă USB flash trên th ătr ng có thểătừăhàng tĕm đến
gàng nghìn MB tr lên " USB" là lo i thiết b nhớ không mất dữ liệu khi
ngừng cung cấp điện
So sánh các bộ nhớăbán dẫn
Lo i M t d khi m li uă tă
Xo á
Giá thƠnh (theo byte)
Trang 39C H NG VII THI T B ăNGO I VI C A MÁY TệNH
Thiết b vào/ra của máyătính là một phần rất quan tr ng trong khối cácăthiết b
ngo i vi Thiết b ngo i vi (Peripherals) bao g m các thiết b , từ các vi m ch phụ trợ
nh USART, PPI, PIT, v.v…,ăcho đến các hệ thống hoàn chình nh đĩa mềm, đĩa cứng, bàn phím, màn hình, máy in, modem, v.v… Thiết b ngo iăvi liên l c và
trao đ i thông tin với CPU thông qua các c ng vào/ra (I/O port) và th ng t o cho hệ
thống máy tính những kh nĕng logic phụ, ho c là nối ghép máy tính với những đối
t ợng phi điện tử khác.ăChức nĕng của thiết b ngo i vi có thể đ ợc thực hiện bằng
phần mềm, ho c kết hợp giữa phần mềm và phần cứng Các chức nĕng và yêu cầu cơ
b n đối với thiết b ngo i vi có thểăliệt kê nh sau:
Là ph ơng tiện giao tiếp, trao đ i thông tin giữa con ng i và máy tính Làm bộ nhớătrung gian
Ph i thuận lợi nhất cho ng i dùng
Tốc độ vào/ra ph i cao
Lỗi ph i đ ợcăxửălý dễădàng
Thiết b ngo iă vi th ng ph iăsửădụng các nguyên lý kết hợp điện- cơkhí nên
th ng ho t động rất chậm Để nâng cao hiệu suất làm việc của CPU và của máy tính,
ta th ng dùng bộănhớ đệm – Buffer Trao đ i dữ liệu giữa thiết b ngo i vi vàăCPU
đ ợc tiến hành theo 2 b ớc:
1 Traoăđ iădữăliệuăgiữaăCPUăvàăbộănhớăđệm,ăthựcăhiệnănh ăcácălệnhăcủaăCPU
2 Trao đ i dữ liệu giữa bộ nhớ đệm và thiết b ngo i vi Tốc độ trao đ i
đ ợc quyết d nh b i tốc độ xử lý của thiết b ngo i vi Quáătrình trao
đ i do bộ nhớ đệm điều khiển thông qua cácătín hiệu điều khiển từ CPU
Trang 40Trong toàn bộăkho ng th i gian của buớcă2, bộ nhớătrong không liên kết trực tiếp
với bộ nhớ đệm, do vậy, CPU vẫn có thểăthực hiện các ch ơng trình khác, ho c trao
đ i dữ liệu với các thiết b ngo i vi khác.ăCơ chế làmăviệc này đòi hỏi bộ nhớ đệm
ph i có thông tin tr ng thái (thông th ng làă báo tr ng thái EMPTY (rỗng) hay
FULL (đầy), đểăcho CPU biết vàăthực hiệnăcácălệnh trao đ i dữ liệu với bộ nhớăđệm