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

Giáo trình kiến trúc máy tính và quản lý hệ thống máy tính

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 (6.97 MB, 237 trang )

TR
NGăĐ IăH CăTHÁIăBỊNH
KHOAăCỌNGăNGH ăTHỌNGăTIN
==============

GIÁOăTRỊNHăMỌNăH C

KI NăTRÚCăMÁYăTệNH
&
QU NăLụăH ăTH NGăMÁYăTệNH

THÁIăBÌNH,ăNĔMă2016


Khoa CNTT - ắrường Đại học ắhái Bình

Giáo trình KắMắ & QLHắMắ

L I NịI Đ U
Máy tính đang ngày càng trở thành một công cụ không thể thiếu cũng như
không thể thay thế được trong đời sống thường nh t. ng dụng công nghệ thông tin
trong sinh hoạt hàng ngày, trong sản xuất ra c a cải v t chất cũng như trong công
việc điều hành, quản lý ngày càng phổ biến. Có thể nói mọi người, khơng phân biệt
giới tính hay tuổi tác, đều tìm được ở cơng cụ s c bỨn này một niềm h ng khởi,
say mê kể cả trong giải quyết công việc cũng như học hỏi, nghiên c u sáng tạo hay
giải trí. Cấu tạo máy tính ngày càng hiện đại, tinh vi, ph c tạp, bao gồm nhiều thành
phần ch c năng và đòi hỏi sự liên kết, hợp tác c a nhiều ngành khoa học, công nghệ
mũi nhọn tạo nên. Kiến trúc máy tính (Computer Architecture) là ngành khoa
học nghiên cứu nguyên lý hoạt động, tổ chức (organization) máy tính từ các
thành phần chức năng cơ bản – cấu trúc và tổ chức phần cứng, tập lệnh – mà qua
đó, các l p trình viên có thể nh n thấy, sử dụng, khai thác và sáng tạo để đáp ng


tốt hơn, đầy đ hơn những yêu cầu c a người dùng.
Một máy tính không chỉ bao gồm các thành phần v t lý, các khổi ch c năng –
thường được gọi là phần cứng (hardware) – mà còn bao gồm một khối lượng đồ sộ
các chương trình điều hành, quản lý, tiện ích và ng dụng, được gọi là phần mềm
(software).
Nội dung giáo trình được trình bày trong 11 chương.
Chương I: Nh c lại những kiến th c cơ bản về mạch điện tử số, các cổng
logic, mạch flip-flop, v.v…, những phần tử cơ bản nhất cấu thành các mạch ch c
năng trong máy tính. Các kiến th c cơ bản về mạch tổ hợp, mạch tuần tự, mạch
cộng dữ liệu nhị phân, thanh ghi dịch, …, cũng được trình bày. Những kiến th c
này rất cần thiết để sinh viên dễ dàng n m b t nguyên lý làm việc c a các khối ch c
năng cơ bản trong máy tính.
Chương II: Giới thiệu những kiến th c tổng quan về kiến trúc máy tính, b t
đầu từ nguyên lý kiến trúc, ch c năng, nhiệm vụ và các thành phần cơ bản tạo nên
một máy tính theo nguyên lý Von Neumann. Nội dung chương phân biệt hai khái
niệm kiến trúc, tổ ch c máy tính với cấu trúc máy tính để dễ dàng n m b t các yêu
cầu hiểu biết về CPU, về bộ nhớ, về các thiết bị ngoại vi và liên kết hệ thống giữa
các đơn vị ch c năng này. Nguyên lý và phương th c biểu diễn các thông tin số,
thông tin không số cũng được trình bày trong chương này.
Chương III: Trình bày kiến trúc và các bước thiết kế kiến trúc đơn vị xử lý
trung tâm CPU, đơn vị điều khiển CU thông qua việc phân tích hoạt động ch c năng
thực thi lệnh, thực thi chương trình.
Chương IV: Phân tích kiến trúc t p lệnh và phương th c CPU thực hiện lệnh,
chu kỳ lệnh trong thực hiện chương trình, thơng qua đó c ng cố sâu thêm những
hiểu biết về nguyên lý kiến trúc, chuẩn bị kiến th c cơ sở cho l p trình hệ thống.
Thơng qua truy xuất bộ nhớ để lấy lệnh, lấy dữ liệu, phân tích các phương pháp định
vị ơ nhớ trong cấu trúc lệnh.
Chương V: Trình bày khái niệm BUS trong ch c năng các kênh truyền dẫn
1



Khoa CNTT - ắrường Đại học ắhái Bình

Giáo trình KắMắ & QLHắMắ

thông tin, dữ liệu liên kết các thành phần ch c năng c a một máy tính. Nội dung
chương đề c p các mối liên kết thông qua hệ thống BUS giữa CPU với bộ nhớ, giữa
CPU với các thiết bị ngoại vi và các yêu cầu về định thời cho hoạt động trao đổi
thông tin, dữ liệu. Ch c năng truy c p trực tiếp bộ nhớ (Direct Memory Access),
ch c năng quản lý và điều khiển quá trình ng t cũng được phân tích trong
chương này. Trên cơ sở phân tích các nội dung trên, đưa ra yêu cầu thiết kế, xây
dựng hệ thống BUS nhằm đảm bảo cho hệ thống máy tính hoạt động ổn định.
Chương VI: Trình bày tổ ch c và quản lý bộ nhớ. Các khái niệm phần tử
nhớ, tạo từ nhớ từ các chip nhớ được đề c p cụ thể. Nội dung cũng đề c p phương
th c quản lý bộ nhớ theo phân đoạn, phân trang, quản lý bộ nhớ trong chế độ bảo
vệ, quản lý theo đ c quyền truy xuất. Các phương pháp tổ ch c và quản lý bộ nhớ
cache, thành phần nâng cao đáng kể hiệu suất hoạt động c a CPU, được khảo sát kỹ
trong chương này.
Chương VII: Phân tích yêu cầu cơ bản c a một vài thiết bị ngoại vi ch yếu
như thiết bị nh p liệu, thiết bị hiển thị kết quả xử lý.
Chương VIII: Giới thiệu tổng quan về bo mạch ch , các kiểu mainboard
chính, các chuẩn mainboard, các thành phần trên mainboard, giới thiệu cơng nghệ
tích hợp, chuẩn đốn và xử lý sự cố mainboard.
Chương IX: Hướng dẫn l p ráp một máy tính cá nhân, cách lựa chọn cấu
hình máy và chuẩn bị cho việc l p ráp, sử dụng kỹ thu t l p ráp máy tính, cách bảo
trì phần c ng, cách cấu hình CMOẮ Ắetup Ultility
Chương X: Hướng dẫn cài đ t và bảo trì hệ thống, lựa chọn hệ điều hành,
cách phân vùng và định dạng đĩa c ng, cách cài đ t hệ điều hành, cách cài đ t
trình điều khiển, cách cài đ t các phần mềm thông dụng, cách sao lưu và phục hồi
hệ điều hành, giới thiệu một số tiện ích thông dụng, cách cài đ t nhiều hệ điều

hành trên cùng một máy tính.
Nhóm tác giả xin chân thành cảm ơn các bạn đồng nghiệp đã trao đổi, góp ý
cho chúng tơi trong q trình hồn thiện giáo trình. M c dù có nhiều cố g ng tham
khảo và nghiên c u các tài liệu liên quan, nhưng sẽ khơng tránh được những thiếu
sót. Mong q bạn đọc đóng góp ý kiến để giáo trình ngày một hồn thiện hơn.
Xin chân thành cám ơn!
ắhái Bình, tháng 01 năm 2016
KhoaăCơngăngh ăthôngătin

2


Khoa CNTT - ắrường Đại học ắhái Bình

CH

Giáo trình KắMắ & QLHắMắ

NG I. NH NG KI NăTH CăC ăS

1. Một số phần tử Logic cơ bản
Các m ch logic cơ b n đ ợc t o ra từ liên kết các phần tử điện tửăthông
dụng là transistor, diode, điện tr , tụ điện,…ăTuỳătheo cơng nghệ chếăt o các phần
tửă đó mà chúng có những tên g i khác nhau nh ă logic TTL, logic CMOS, logic
HMOS, logic MOSFET v.v…Hình I.1 cho ta thấyă cấuă trúc m ch nguyên lý của
một phần tử TTL thực hiện chức nĕng đ o tích logic của hai giáă tr đầu vào
(NAND).

Hình I.1. Sơ đồ nguyên lý mạch tạo phần tử NAND


Phần tử logic cơ b n thực hiện cácă hàm của đ i số Boole nh NOT, AND,
NAND, OR, XOR, v.v…Từăcác phần tử này, ng i ta xây dựng đ ợcăcácăm ch t
hợp (Combinational Circuits) cácăm ch lật (FlipFlop) với những đ cătính chuyển đ i
tr ng thái khác nhau nh R-S FlipFlop, D-FlipFlop, T- FlipFlop, J-K FlipFlop mà
nh chúng, ta xâyă dựng đ ợc các m ch tuần tựă (Sequencial Circuits) và các máyă
hữu h n (Finite State Machine), những m ch tích hợp t o nên cácăđơn v chứcănĕng
cơăb n trong máy tính.

Hình I.2. Một số phần tử logic cơ bản
3


Khoa CNTT - ắrường Đại học ắhái Bình

Giáo trình KắMắ & QLHắMắ

Hình I.3 . Các phần tử mạch lật (FlipFlop) thông dụng

Đ c biệt, m ch logic 3 tr ng thái (Three-State Logic Circuit) là một m ch có
ứng dụng rất quan tr ng trong việc liên kếtă các phần tử chức nĕng của máy tính.
M ch logic 3 tr ng thái có thể minh ho theo mơ hình và b ng chân thực sau (Hình
I.4), tr ng thái có ký hiệu "HZ" là tr ng thái thứă3 của m ch, tr ng thái tr kháng cao
(High Impedance), khi màălối vào có thể coi nh đ ợc tách khỏi lối ra của m ch
(khơng kết nối). Có hai lo i m ch 3 tr ng thái:, lo i m ch có tín hiệu EN là tích
cực cao, ứng với EN = "1" (Active High), lo i thứ hai là m ch có tín hiệu EN tích
cực thấp ứng với EN
= "0" (Active Low).
4



Khoa CNTT - ắrường Đại học ắhái Bình

Giáo trình KắMắ & QLHắMắ

Hình I.4. Phần tử 3 trạng thái (Three-State component) và bảng chân lý

2. Một số khái niệm cơ sở
2.1. M ch logic tổ h p (Combinational Circuit)
M ch logic t hợp là một m ch điện tử số mà giá tr các biến
phụ thuộc vào t hợp giáătr của cácăbiến ăđầu vào (Hình I.5).

đầu ra chỉă

Hình I.5. Mạch logic tổ hợp

Cácăbiến vào i0, i1, …, in nhận giáătr làă"1" ho că"0" t ơng ứng với giáătr của
một biến nh phân, trong m ch điện, chúng đ ợc thể hiện bằng cácă tr ng thái "có
điện áp" ho că"khơng cóăđiện áp".
Các giá tr của đầu ra là hàmătrực tiếp của các biến đầu vào, và đ ợcăthay đ i
gần nh tức th i khi có sự thay đ i giá tr của biến đầu vào (chỉ trễămột kho ng th i
gian rất nhỏ - hàng nano giây - do sự trễăcủa các linh kiệnăt o nên m ch điện). Có
thể nói t p các giá trị đầu vào i0 ÷ in được áp vào các lối vào c a mạch tổ hợp
logic gây nên sự biến đổi trạng thái (giá trị) c a các biến đầu ra F0 ÷ Fm . Các
m ch t hợp thông dụng th ng thấy làă m ch mư hoá, m ch gi i mư, m ch d n
kênh, v.v…
5


Khoa CNTT - ắrường Đại học ắhái Bình


Giáo trình KắMắ & QLHắMắ

2.2. M ch tu năt (Sequencial Circuit)
M ch nàyă còn đ ợc g i là m ch dưy. Giá tr của biến ra phụ thuộc không
những vào giá tr các biến số đầu vào th i điểmăđang xét, mà cịn phụ thuộc vào
tr ng thái tr ớc đó của m ch. Để duy trì đ ợc tr ng thái củaăcác biến số vào tr ớc
đó, m ch cần thêm các phần tử nhớ. Mơ hình của m ch nh sau:
Zi = Fi (x1, x2,ă…,ăxn , y1 , y2 ,ă…,ăyp);
Yj = Gj (x1, x2,ă…,ăxn , Y1 , Y2 ,ă…,ăYp)
Trong đó: Fi là hàm truyền đ t của m ch và Gj là hàm truyền đ t tr ng thái;
xi (iă=ă1,ă2,ă…,n),ăZi (iă=ă1,ă2,ă…,ăm)ălàăcácătínăhiệuăvàoăvàătínăhiệuăraăcủaăm ch;
y1 , y2 , …, yp : tr ngăthái của m ch tr ớc khi biến đ i;
Y1 , Y2 , …, Yp: tr ng thái của m ch sau khi biến đ i.
Các phần tử nhớ là các phần tử logic có hai tr ng tháiă n đ nh ứng vớiăcác giá
tr của biến nh phân "0" và "1", th ng là các m ch FlipFlop lo i RS, JK ho căD.
Z1
Z2
Zm

x1
M ch

xn

t ăhợp
y1
Hình I.6. Mạch
logic tuần tự
yp


Y1
Cácă
phần tửă
nhớ

6

Yp


Khoa CNTT - ắrường Đại học ắhái Bình

Giáo trình KắMắ & QLHắMắ

2.3. Máy h u h n (Finite State Machine)
Máy hữu h n là một lo iăă m chăă logic khácăă có tr ng thái trong (internal
state), đầu ra của lo i m ch này là hàmăcủa giá tr ăđầu vào t i th i điểm đang xét
và tr ng thái trong hiện t i khi có tác động của tín hiệu vào. M ch đ ợcăt o thành
từ một m ch t hợp logic vàăcác phầnătử trễ, thông th ng là các phần tử FlipFlop trên m ch h i tiếp nh làănhững phần tử l u giữ tr ng thái trong của m ch.
2.4. Thanh ghi (Register)
Thanhăghiălàămộtăm chăđiệnătửăđ căbiệtăcóăkh ănĕngăl uăgiữăcácăgiáătr ăcủaămộtă
dữă liệuă nh ă phână đ ợcă biểuă diễnă bằngă tr ngă tháiă t nă t iă hayă khơngă t nă t iă điệnă áp.ă
Phầnătửăcơăb năt oănênămộtăthanhăghiălàăD-FlipFlop.ăTrênăhìnhăvẽămơăt ,ădữăliệuănh ă
phână4ăbităD3D2D1D0ă(t ăhợpăcủaăhaiăgiáătr ă"0"ăvàă"1"ătrênălốiăvàoăDăt ơngăứngăcủaă
cácăD-FlipFlop)ăsẽăđ ợcăchuyểnătớiălốiăraăQ3Q2Q1Q0ăvàăl uăgiữănh ăt ăhợpătínăhiệuă
điềuă khiểnă ghiă Writeă WR,ă tínă hiệuă xungă nh pă đ ngă h ă CLKă vàă tínă hiệuă choă phépă
EnableăENă(Hìnhă1.7).

Hình I.7. Mạch tạo thanh ghi 4 bit
L uăýărằng, tínăhiệu ra của thanh ghi đ ợcăđ a qua phần tử 3 tr ng thái đểăt o

kh ănĕng kết nối với những dữăliệu lối ra của cácăthành phần khác.
Cũng cần nói thêmărằng: Thanh ghi hồn tồn đ mănhậnăchức nĕng của một
ơ nhớădữăliệu, vì mỗi khi giá tr dữ liệu nh phân từ lối vào đ ợcăghi vào thanh ghi,
dữ liệu đó khơng thay đ i cho đến th i điểmămột dữ liệu mới đ ợc ghi vào. Dữ liệu
l uăgiữ trong ơănhớăcó thểăđ c ra đ ợc.
Hình I.9. là sơăđ ănguyên lý của một thanh ghi d ch cóăkh ănĕng ghi d ch theo
các h ớng trái, ph i ho c l u giữ (Load) các dữăliệu nh phân 4 bit D3D2D1D0 song
song.
2.5. M chăc ng hai s li uănh phơn (Binary Adder)
M ch cộng đầy đủ 2 bit nh phân có thể xây dựng nh một m ch t ăhợp
logic thực hiện phép cộng hai số nh phân theo quy tắc trong b ng sau, trong đó
Carry In là phần nhớ từ phép cộng của hàng bên ph i tr ớc đó, Operand A là giá
tr của bit trong toán h ng A, Operand B là giá tr của bit trong toán h ng B. Kết
qu phép cộng 2 bit cho ta t ng Sum vàăbit nhớ Carry Out.
7


Khoa CNTT - ắrường Đại học ắhái Bình

Giáo trình KắMắ & QLHắMắ

Hình I.8. Sơ đồ nguyên lý mạch tạo thanh ghi dịch 4 bit

Trongă víă dụă làă phépă cộngă haiă sốă nh ă phână 0100Bă (giáă tr ă bằngă 4ă trongă hệă thậpă
phân)ăvớiăsốă0110Bă(giáătr ăbằngă6ătrongăhệăthậpăphân).ăHàngătrênălàăgiáătr ăcủaăbitănhớă
theoăquyăluậtăcộngăđưănêu.ăKếtăqu ăchoătaălàă1010Bă(tứcăbằngă10ătrongăhệăthậpăphân).

Hình I.9. Sơ đồ mạch logic thực hiện phép cộng 2 bit nhị phân – Half Adder (HA)

Từăquyătắcătrên,ăgi ăthiếtătaăxâyădựngăđ ợcămộtăm chăcộngăđầyăđủăthựcăhiệnăphépă

toánăcộngănh ăb ngăgiáătr ăcủaăhàmăSi vàăCi vàăkýăhiệuălàămộtăm chăcộngăđầyăđủă(Fullă
adder)ăvớiăcácăđầuăvàoălàăAi , Bi vàăCi ,ăđầuăraălàăSi vàăCi+1,ătaăcóăthểăxâyădựngăm chă
cộngăhaiădữăliệuănh ăphână4ăbităbằngăcách nốiănốiătiếpă4ăm chăcộngăđầyăđủănh ăHình

I.11. ,ăho căm chăcộngăhaiăsốănh ăphânăn bităvớiăn m chăcộngăđầyăđủ.
8


Khoa CNTT - ắrường Đại học ắhái Bình

Giáo trình KắMắ & QLHắMắ

Hình I.10. Sơ đồ mạch logic thực hiện phép cộng 2 bit có nhớ từ hàng trước – FullAdder (FA)

Hình I.11. Sơ đồ mạch logic thực hiện phép cộng 2 dữ liệu 4 bit

Hình I.12. Sơ đồ mạch logic thực hiện phép giải mã chọn 1 trong 4 tổ hợp
9


Khoa CNTT - ắrường Đại học ắhái Bình

Giáo trình KắMắ & QLHắMắ

Ngồi ra, có thể tham kh o thêmăcác m ch d n kênh, m ch mư hoá vàă
gi i mư trong các tài liệu Kỹă thuật điện tử số đ ợc nêu trong tài liệu tham
kh o ăcuối giáo trình này.
L u đ trong Hình I.13 cho ta thấyăsơ l ợc các b ớc cơ b n trong quáă
trình thiết kế một máy tính và ph mă vi nghiên cứu về Kiến trúc và t chức
máy tính.


Hình I.13

10


Khoa CNTT - ắrường Đại học ắhái Bình

CH

Giáo trình KắMắ & QLHắMắ

NGăII. GI I THI U CHUNG

1. Máy tính và kiến trúc máy tính
1.1. M ăđ u
Máyătínhăđ ợcăcấuăthànhătừăcácăm chăđiệnătửătíchăhợpă(integratedăcircuitsă– IC)
rấtă phứcă t pă liênă kếtă vớiă
nhauăquaăhệăthốngăăăkênhăăă
truyềnă ă ă dẫnă đ ợcă g iă làă
hệăthốngăBUS.ăCácă khốiă
chứcă nĕngă cơă b nă đ ợcă
xâyă dựngă vớiă cơngă nghệă
tíchăhợpămậtăđộălớnăg măă
đơnăăv ăăxửăălýăătrungătâmă
(CPU

Central
Proccessingă Unit),ă khốiă
t oă xungă nh pă (Clock),ă

bộ nhớă (Memorry)ă vàă
cácă chipă t oă cácă c ngă
(Portă Chips)ă ghépă nốiă
thiếtă b ă ngo iă viă nh ă
minhăho ătrênăHình II.1
CPUăđ ợcăxâyădựngătừăcácăm chăđiệnătửăphứcăt p,ăcóăkh ănĕngăthựcăthiătấtăc ă
cácă lệnhă trongă tậpă lệnhă đ ợcă môă phỏngă tr ớc.ă Bộă nhớă đ ợcă xâyă dựngă từă cácă chipă
nhớ,ă cóă kh ă nĕngă l uă giữă cácă lệnhă củaă ch ơngă trìnhă vàă dữă liệu.ă Cácă chipă t oă c ngă
điềuăkhiểnăviệcătruyăxuấtăđếnăcácăthiếtăb ăngo iăviănh ăbànăphímă(Keyboard),ăchuột
(Mouse),ă mànă hìnhă (Monitor),ă máyă ină (Printer),ă cácă ă đĩaă (Diskă Drivers).ă CPUă chỉă
truyăxuấtădữăliệuăđếnătừă(input)ăvàăđiăraă(output)ăthiếtăb ăngo iăviăthôngăquaăcácăchipă
t oăc ng.
Cấuătrúcăchứcănĕngăcủaă máyă
tínhă đ ợcă mơă phỏngă trênă Hình
II.1, HệăđiềuăăhànhăăvàăăNgơnăăngữă
lậpă trìnhă bậcă caoă điềuă khiểnă ho tă
độngă củaă cácă m chă điệnă tửă trongă
máyă tính.ă Khiă cấpă ngu n,ă ch ơngă
trìnhă kh iă t oă hệă thốngă sẽă n pă hệă
điềuă hành (boot hệ thống), ngơn
ngữ lập trình sẽ đ ợc t i vào bộ
nhớ nh ăhệăđiều hành.
11


Khoa CNTT - ắrường Đại học ắhái Bình

Giáo trình KắMắ & QLHắMắ

mức trên cùng, máyă tính có thể thực thi các ch ơng trình ứng dụng.ă Các

ch ơng trình ứng dụng đ ợc sử dụng nhiều nh ăt o các b ng tính, t oăvĕn b n,ăcác
b năvẽ,ă…,ă đ ợc viếtăbằng các ngơn ngữălập trình khác nhau nh C, C++, ho c là
liên kết giữa các ngôn ngữ. Ng i ta sửădụng ngơn ngữălậpătrình trong mối liên kết
vớiăhệ điều hành để điều khiển ho t động chứcănĕng của phần cứng. Ngôn ngữ máy
là ngôn ngữ duy nhất bao g măcác chỉălệnh (Instruction) mà phần cứng có thểăhiểu
và thực thi, đ ợc t o ra từ cácăt ăhợp các số biểu diễn theo hệ nh phân. Các mư nh
phân nàyăđ ợc g i là mưălệnh, chúng t o nên tập lệnh của CPU, giá tr “0” ho c “1”
làm nhiệmăvụă“ngắt” ho c “đóng” dịng điện để điều khiển ho t động của các phần
tửălogic trong m ch điện. Cần hiểu rằng, tất c các CPU đều làmăviệc với mư máy.
Một khi sửădụng ngơn ngữălập trình bậc cao, sửădụng các phát biểu (Statements), các
ch ơng trình d ch (Compiler) sẽ chuyển đ i (d ch) chúngăra mư máy đểăCPU hiểu
vàăthực hiện.
M c dù vậy, vẫn có thể nói máy tính bao gi cũng đ ợc cấu thành từăcácăkhối
chức nĕng chính sau:
1. Bộ nhớ trung tâm (Central Memory ho c Main Memory). Bộănhớ
trung tâmă là nơi l u giữ ch ơng trình và dữ liệu tr ớc khi ch ơng
trình đ ợc thực hiện.
2. Đơn v điều khiển (CU - Control Unit), điều khiển m i ho t động
của tất c các thành phần trong hệ thống máy tính theo ch ơng trình
mà máy tính cần thực hiện.
3. Đơn v số h c và Logic (ALU – Arithmetic & Logic Unit), thực hiện
các thao tác xử lý dữ liệu thông qua các phép toán số h c và Logic
theo sự điều khiển của Đơn v điều khiển. Đơn vị điều khiển CU và
đơn vị số học-logic ALU được tích hợp trong một chip IC và được gọi
là Đơn vị xử lý Trung tâm (CPU-Central Proccessing Unit).
4. Thiết b vào (Input Device) thực hiện nhiệm vụ thu nhận cácăthông
tin, dữ liệu từ thế giớ bên ngoài, biến đ i thành d ng t ơng thích
với ph ơng thức biểu diễn trong máy tính, đ a vào CPU xử lýăho că
ghi vào bộ nhớ.
5. Thiết b ra (Output Device) thực hiện nhiệm vụ đ a thông tin, dữ

liệu từ CPU ho c bộ nhớ ra ngoài d ới các d ng thức đ ợcăng i sửă
dụng yêu cầu. Thiết bị vào và thiết bị ra được gọi chung là nhóm thiết
bị ngoại vi (Peripherals).

12


Khoa CNTT - ắrường Đại học ắhái Bình

Giáo trình KắMắ & QLHắMắ

Sau đâyă ta sẽ tìm hiểu nguyên lý kiến trúc và ho t động của một máy tính
thơng qua một máy tính đơn gi n nhất.
Máy tính,
b n sau:

d ng đơn gi n nhất, đ ợc cấu thành từ bốn khối chức nĕng cơă

Khối điều khiển và xử lý dữ liệu: Khối chức nĕng nàyăđ ợc tích hợp trong
cùng một vi m ch g i là Đơn vị xử lý trung tâm (CPU ậ Central
Proccessing Unit).
Khối l u trữădữăliệu đ ợcăg i là bộ nhớ (Memory).
Khối chức nĕng cung cấp dữ liệu cho máy tính xử lý, ho c ph n ánh dữ
liệu đư đ ợc xử lý do máy tính cung cấp, đ ợc g i là khối các thiết bị nhập
xuất (I/O devices).
Các kênh truyền dẫn cung cấp sựăliên l c và trao đ i dữ liệu giữa cácă khối
trên, đ ợc g i làăkênh liên kết hệ thống (BUS).
Trong một máy tính, mỗi khối thực hiện các chức nĕng nói trên có thểăt n t i
nhiều đơn v , d ới các d ng khácănhau, trong đó CPU là quan tr ng nhất.
Đơn v xử lý trung tâm (CPU) có thể xử lý đ ợc các lệnh với khuôn d ng từ

lệnh, giả sử với độ dài 8 bit, nh sau:
B7

B6
B5
B4
Phần chứaămưălệnh

B3
B2
B1
B0
Phần chứa đ a chỉ toán h ng

Lệnh đ ợcăt o từ hai phần: Mư lệnh vàăđ a chỉ toán h ng
Mư lệnh là một giáătr nh phân 4 bit, mỗi t hợp là một lệnh có chức nĕng khác
nhau, phần chứa đ a chỉ toán h ng cũng là một giá tr nh phân 4 bit, xácăđ nh v trí
của ơ nhớ trong bộ nhớ. Phần đ a chỉ xác đ nh toán h ng màălệnh trực tiếp xử lý.
Đơn v xử lý trung tâm g m hai thành phần chức nĕng: Đơn v số h c- logic
ALU (Arithmetic-Logic Unit) vàăđơn v điều khiển CU (Control Unit) (Hình II.2.).
Đơn v điều khiển CU cóăchức nĕng lấy lệnh theo tuần tự đ ợcăl u giữătừ trong
bộ nhớ, gi i mư lệnh và t o các tín hiệu điều khiển ho t động củaăcácăkhối chức
nĕng bên trong và bên ngồi CPU.
Lệnh đ c từ ơ nhớ đ ợc đ a vào thanh ghi lệnh IR, đ ợc gi i mư t iăkhối gi i
mưălệnhăIDăđểăxácăđ nh công việc CPU cần thực hiện.
13


Khoa CNTT - ắrường Đại học ắhái Bình


Giáo trình KắMắ & QLHắMắ

WR

Hình II.2. Sơ đồ cấu trúc máy tính đơn giản

Đơn v điều khiển CU g m thanh ghi lệnh IR (Instruction Register), làă nơi
chứa lệnh mà CPU đ c về từ ô nhớ lệnh, bao g măc phần mư lệnh vàăphần đ a chỉ
toán h ng, khối gi i mư lệnh ID (Instruction Decoder), m chăgi i mư này gi i mư
lệnh để xác đ nh nhiệm vụ mà lệnh yêu cấu CPU xử lý, t o các tín hiệu điều khiển
các tác vụ của CPU khi thực thi lệnh và thanh đếmă ch ơng trình PC (Program
Counter). Thanh đếmă ch ơng trình PC làm nhiệm vụ con trỏ lệnh (Instruction
Pointer), chứa đ a chỉ của ô nhớ chứa lệnh sẽ thực thi trong tuần tự thực hiện
ch ơng trình. Do vậy sau khi CPU đ c đ ợc một lệnh từăbộ nhớ ch ơng trình, sau
khi đ ợc gi i mư, thơng qua điều khiển của CU thì PC đ ợcătĕng nội dung lên để chỉ
vào ôănhớ chứa lệnh tiếp theo. Trong tr ng hợp g p lệnh rẽ nhánh hay lệnh g i
ch ơng trình con, nội dung thanh đếm PC thay đ i tuỳ theo giá tr ă đ a chỉ mà
ch ơng trình d ch gán cho nhưn hay tên ch ơng trình con đ ợc xác đ nh b i ng i
lập trình.
CPU có cácăthanh ghi: thanh ghi gộp (Acc – Accummulator), thanh ghi t măth i
TEMP (temporary), thanh ghi đệm đ a chỉ MAR (Memory Address Register), thanh
ghi đệm bộ nhớ MBR (Memory Buffer Register), và thanh ghi c Flags. Thanh ghi
Acc đ ợc sửădụng để chứa nội dung một toán h ng, và thông th ng là nơi chứa kết
qu thực hiện phép toán, thanh ghi t măth i chứa nội dung tốn h ng thứ hai trong
các phép tốn hai ngơi. Nội dung thanh ghi MAR là đ a chỉ của ô nhớ mà CPU
14


Khoa CNTT - ắrường Đại học ắhái Bình


Giáo trình KắMắ & QLHắMắ

đang truy xuất, còn nội dung thanh ghi MBR là dữăliệu đ c đ ợc từăbộ nhớ ho c sẽ
đ ợc ghi vào ô nhớ.ăThanh ghi c Flags g măcác bit biểu diễn tr ng thái của kết qu
thực hiện phép toán xử lý dữ liệu của CPU, Trong tr ng hợp đơn gi n, thanh ghi
c ă có 3 bit, đó làă bit dấu (S – Sign) biểu diễnă giáă tr dữ liệuă làă âm hay d ơng, bit
khơng (Z-Zero) biểu diễn kết qu phép tốn khác 0 hay bằng 0, bit nhớ (C – Carry)
biểu diễn tr ng thái kết qu phép tốn có bit nhớ hay khơng có bit nhớ.ăGiáătr
các bit c tr ng thái đ ợcăđ nh nghĩa nh sau:
Kết qu ălàămột số âm:

(S) = 1 ; dấu ngo căthểăhiện nội dung của bit

Kết qu ăbằng 0:

(Z) = 1

Kết qu ăcó nhớ:

(C) = 1

Ho t động thực thi một lệnh trong ch ơng trình của máy tính có thểătóm tắt
nh sau:
Ch ơng trình và số liệu ban đầu đ ợc l u giữ bộ nhớ trung tâm, đóălàăbộ
nhớăROM (Read Only Memory), RAM (Random Access Memory).
1. Bắt đầu ch ơng trình, lệnh đầu tiên của ch ơng trình trong
vùng nhớ ch ơng trình đ ợc đ a vào thanh ghi lệnh IR của đơnă v
điều khiển (CU). Tác vụ đ ợc g i là tác vụ nh n lệnh (Instruction
Fetch).
2. CU tiến hành gi i mư lệnh, xácăđ nh nội dung phép toán cần xửălý là

phép tính nào, trên các dữăliệu nào. Đâyălà tác vụ giải mã lệnh (ID –
Instruction Decoder).
3. Nếu lệnh đòi hỏi làm việc với các toán h ng (đ ợc xác đ nh trong
lệnh), CU xác đ nh đ a chỉ t ơng ứng của toán h ng trong vùng nhớ
dữ liệu ho c đ ợc nhập vào từ thiết b ngo i vi. Tácă vụ nàyăđ ợc
g i là tạo địa chỉ toán hạng (GOA - Generate Operand Address).
4. Sau khi đ a chỉ toán h ng đ ợc t o, CU phát các tín hiệu điềuăkhiển
tới các thành phần liên quan đểă nhận toán h ng, đ t vàoă các thanh
ghi xác đ nh trong CPU. Tác vụ đ ợc g i là nh n toán hạng
(Operand Fetch)
5. CU phát cácă tín hiệuă điều khiển tới Đơnă v ă Sốă h c-Logic
(ALU). ALU thực hiện phép toán đ ợc yêu cầu trong mư lệnh. Tácă
vụ này g i là thực hiện (Execute).
6. Kết qu xử lý đ ợc đ t trong thanh ghi gộp (Acc) ho c đ ợc l u
vào bộ nhớ trong tuỳă thuộc sự xác đ nh nơi l u giữă thể hiện đích
(destination) trong lệnh. Tácă vụ đ ợcă g i là Ghi lại kết quả (Write
Back).
15


Khoa CNTT - ắrường Đại học ắhái Bình

Giáo trình KắMắ & QLHắMắ

Trong tr ng hợp CU gi i mư lệnh và đó là lệnh rẽ nhánh ch ơng trình,
CU tính đ a chỉ ô nhớ chứa lệnh cần thực hiện tiếp và phát tín hiệu điều khiển để
nhận lệnh về, công việc đ ợc tiến hành tuần tựănh ătừ b ớc. Nếu khơng ph i làălệnh
rẽ nhánh ch ơng trình, CPU phát cácătín hiệu điều khiển để lấyăvề lệnh kế tiếp trong
ô nhớ đứng ngay sau lệnh vừ thực hiện, ho t động xẩy ra nh từ b ớc 2.
Khi máy tính đ ợc sử dụngă để giám sát hayă điều khiển một q trình thực,

việcăgiao tiếp giữa máy tính và con ng i đ ợc mô t đơn gi n hố nh
Hình
II.3. Thơng qua ch ơngătrình giao tiếp và các thiết b Vào/Ra, con ng
vụ giám sát ho căđiềuăkhiển ho tăđộng của máy mócăho c q trình.

i làm nhiệm

Hình II.3. Giao diện Máy tính - Con người - Máy móc

ă mứcă độă đơnă gi nă vàă ph ă biếnă nhất,ă conă ng

iă giaoă tiếpă trựcă tiếpă vớiă máyă

tínhăthơngăquaăcácăthiếtăb ăVàoăvàăthiếtăb ăRaăcủaănó.ăCácăthiếtăb ănàyăđ ợcăg iămộtă
tênăchungălàăthiếtăb ăngo iăviă(Peripheralsăho căI/OăDevices).ăConăng iăgửiăuăcầuă
(lệnhăho cădữăliệu)ăvàoămáyătínhăbằngăcáchăsửădụngăthiếtăb ănhậpădữăliệu,ămáyătínhă
xửă lýă dữ liệuă vàă sauă khiă thựcă hiệnă xongă gửiă tr ă kếtă qu ă raă thiếtă b ă xuấtă dữă liệu.ă ă
mứcă độă caoă hơnă conă ng iă sửă dụngă máyă tínhă đểă điềuă khiểnă mộtă đốiă t ợngă thứă baă
(máyămócăho căthiếtăb ).ăConăng iăgửiătínăhiệuăđiềuăkhiểnăvàoămáyătính,ămáyătínhă
xửălýăcácădữăliệuăđ ợc cung cấp vàătrực tiếp gửi yêu cầu tới thiết b để thiết b

thực hiện các thao tác đáp ứng yêu cầu của con ng
gửi kết qu xử lý ra thiếtăb xuất đểăcon ng
16

i. Máy tính cũng có thể

i kiểm tra l i u cầu của mình.



Khoa CNTT - ắrường Đại học ắhái Bình

Giáo trình KắMắ & QLHắMắ

Với một mức độ tựă động hóa cao hơn, con ng i chỉ gửi ch ơng trình điều
khiển thiết b vào máy tính một lần, máy tính nhận dữ liệu, xử lý dữ liệu và gửi yêu
cầu tới thiết b . Về phần mình, thiết b , sau khi đáp ứng yêu cầu của con ng i sẽ
gửi tr kết qu về máy tính và trên cơ s đó máyătính sẽ xửă lý vàă gửi các tín hiệu
điều khiển tiếp theo tới thiết b .
Nh ăvậy máy tính làămột thực thể có thểăt ơng tácăvới mơi tr ng bên ngồi.
Máy tính nhận thơng tin từ bên ngồi, xử lý thông tin nhận đ ợc vàăgửi tr l i kết
qu . Đây là mối quan hệ trao đ i hai chiều, song luôn luôn xuất phát từ yêu cầu
của con ng i. Máy tính khơng thể tự mình kh i đầu qătrình này.
1.2. Ch c nĕng c a máy tính
Chức nĕng của máy tính là thực hiện chương trình thơng qua xử lý một tập
lệnh do người lập trình cung cấp. Chương trình là t p hợp các lệnh được người l p
trình chọn lọc và s p xếp theo một tuần tự ch t chẽ thông qua nguyên t c xử lý,
giải quyết một vấn đề cụ thể (hay còn gọi là thu t giải).
Để thực hiện chức nĕng này, ch ơng trình đ ợc l u giữătrong bộ nhớ,ăviệc thực
hiện ch ơng trình thực chất làăcác tác vụ thực thi lệnh theo tuần tựăđư đ ợc ng i
lập trình quy đ nh. Quá trình thực thi 1 lệnh, nh đư trình bàyă ătrên, g m cácăgiai
đo n sau:
1.

Nhận lệnh IF-Instruction Fetch

2.

Gi i mưălệnh ID-Instruction Decoder


3.

T o đ a chỉ toán h ng GOA-Generate Operand Address

4.

Nhận toán h ng OF-Operand Fetch

5.

Xử lý lệnh EX-Execute

6.

L u kết qu WB-Write Back

Instruction
Fetch

Instruction
Decode

Generate
Operand
Address

Operand
Fetch

Execute


Write
Back

IF

ID

GOA

OF

EX

WB
Th iăgian

17


Khoa CNTT - ắrường Đại học ắhái Bình

Giáo trình KắMắ & QLHắMắ

Việc đ m b o thực hiện ch ơng trình theo tuần tự, nh đư nói trên, là do
CU đ m nhận thông qua việc điều khiển sự thay đ i nội dung của thanh đếm
ch ơng trình PC. Tuần tự cácă lệnh trong ch ơng trình làă do ng iă lập trình quyết
đ nh thơng qua việc viết ch ơng trình theo thuật gi i.
Khi thực hiện một ch ơng trình, thơng th
việc sau:


ng máy tính thực hiện các công

Thứ nhất, Xử lý dữ liệu: Xử lý các yêu cầu của con ng i/thiết b trênăcơ s các
dữ liệu đ ợc nhập vào. Đâyălà chức nĕng quan tr ng nhất. Dữ liệuăcó thể nhiều
d ng khác nhau và các yêu cầu xửălý cũng rất khác biệt. Tuy nhiên máy tính chỉ có
thể thực hiện đ ợcămột số l ợng hữu h n các thao tácăxửălý cơăb n, ng iălập trình
dựa trênăcác kh nĕng xử lý dó mà t o ra những kh nĕng xửălý các vấn đề lớn hơnă
và phức t p hơn thông qua công việc lập trình.
Thứăhai, Lưu trữ dữ liệu: Muốn cơng việc xửălý dữăliệu đ t hiệu qu ăcao, máy
tính ph i có kh nĕng l u trữă t mă th i dữ liệu vàă l u trữ dữă liệu dài h n để tái sử
dụng sau này.
Thứ ba, Di chuyển dữ liệu: Để phục vụ việc xử lý, dữă liệu ph i có thểă di
chuyển từ điểmănày tới điểmăkhác bên trong máy tính. Ngồi ra, để có dữăliệu cho
xử lý và gửi kết qu ra bên ngồi, máy tính ph i có kh nĕng trao đ i dữ liệu với
môi tr ng bên ngồi.
Thứ t , Điều khiển: Để thực hiện cóăhiệu qu ăba chức nĕng nói trên,ăcác tácăvụ
máy tính thực hiện ph iăđ ợc điều khiển một cách đ ng bộ vàăhợp lý. Quy trình điều
khiển nàyă sẽ đ ợc thực hiện nh con ng i cung cấp lệnh cho máy tính thi hành
thông qua một đơn v điều khiển bên trong máy tính.
Kiến trúc máy tính ph i đ ợc thiết kế đểă máy tính có kh nĕng thực hiện
những cơng việcănày.

Hình II.4. Kênh dữ liệu liên kết các thành phần chức năng
18


Khoa CNTT - ắrường Đại học ắhái Bình

Giáo trình KắMắ & QLHắMắ


1.3. Ki nătrúcămáy tính vƠ c u trúc máy tính
Để tìm hiểu kiến trúc máy tính, cần phân biệt rõ sự khác nhau cơ b n, thuộc vềă
nguyên lý giữa kiến trúc (architecture) và tổ ch c và cấu trúc (organization &
structure) của một máy tính:
Kiến trúc máy tính nghiên c u những thuộc tính c a một hệ thống màăng

i

lập trình có thể nhìn thấy đ ợc, những thuộc tính quyết định trực tiếp đến việc
thực thi một chương trình tính tốn, xử lý dữ liệu
Cấu trúc máy tính nghiên c u về các thành phần ch c năng và sự kết nối
giữa chúng để tạo nên một máy tính, nhằmăthực hiện những chức nĕng vàătính nĕng
kỹ thuật của kiến trúc.
Những thuộc tính liên quan đến kiến trúc bao g m tập lệnh cơ bản mà
CPU có thể thực hiện, số bit được sử dụng để biểu diễn các loại dữ liệu khác
nhau, cơ chế nhập/xuất dữ liệu, và các kỹ thuật đánh địa chỉ ô nhớ, v.v... Cấu trúc
máy tính l i bao g m các thuộc tính kỹ thuật mà ng iălập trình khơng nhận biết
đ ợc nh ăcác tín hiệu điều khiển, giao diện giữa máy tính và thiết b ngo i vi, cơng
nghệ xây dựng bộ nhớ,ăv.v…
19


Khoa CNTT - ắrường Đại học ắhái Bình

Giáo trình KắMắ & QLHắMắ

Chẳng h n việc quyết đ nh máy tính có cần một lệnh cơ b n để thực hiện phép
nhân hay khơng là vấn đề vềăkiến trúc. Cịn thể hiện lệnh nhân bằng các đơn v vật
lý cụ thể nào (chẳng h n, một đơn v thuộc phần cứng đ c biệt, hay thực hiện l p

nhiều phép cộng) l i làăvấn đềăvề cấu trúc.
Để làm ví dụ minh h a sự khác biệt đó ta có thể xemă các máy tính ă Trung
tâm nghiên cứu nào đó. Các máy tính này cóă thểă có kiến trúc rất giống nhau theo
quan điểmăcủa ng i lập trình. Chúng có cùng số thanh ghi (tức làăthiết b l u trữ
t măth i), có cùng một tập lệnh cơ b n và d ng các toán h ng đ ợc n p vào bộ nhớ
giống nhau. Tuy nhiên các hệ thống này khác nhau vềăm t cấu trúc: số bộ vi xử lýă
khác nhau, kích th ớc bộ nhớ của chúng cũng khácăhẳn nhau,ăcách thứcădữ liệu đ ợc
truyền từ bộănhớăđếnăbộ vi xử lý cũng khơng giống nhau.
Kiến trúc máy tính thường được ng dụng trong khoảng thời gian dài, hàng
chục năm; trong khi cấu trúc thường thay đổi cùng với sự phát triển c a công
nghệ. Trên cùng một kiến trúc, các hãng chế tạo máy tính có thể đưa ra nhiều loại
máy tính khác nhau về cấu trúc, do đó các đ c trưng về hiệu suất, giá thành cũng
khác nhau. Các sản phẩm c a IBM là một ví dụ điển hình. Kiến trúc máy tính c a
IBM vẫn cịn được ng dụng cho tới ngày nay và là ngọn cờ c a thương hiệu IBM.
Trong lĩnh vực máy PC, ng i ta th ng không phân biệt rõ ràng giữa kiến
trúc và cấu trúc vì sự khác biệt giữa hai khái niệmănày đư rút ngắn đáng kể. Sự phát
triển của công nghệăkhông chỉ tác động lên cấu trúc mà còn t oăđiều kiệnăphátătriển
các kiến trúc m nh hơn và nhiều tính nĕng hơn; vàădo đóătác động qua l i giữa kiến
trúcăvà cấu trúc th ng xuyên hơn.
Ngoài kiếnătrúc máy tính và cấu trúc máy tính cịn có một lĩnh vực làăkỹăthuật
máy tính nghiên cứu việc xâyădựng cụ thể các hệ thống: chẳng h n nh độ dài dây
dẫn t o BUS, kích cỡ các vi m ch, v.v. Ng i lập trình th ng cần đến kiến
thức về kiến trúc, đôi khi cần những hiểu biết về cấuătrúc, nh ng th ng rất ít khi
cần đến những hiểu biết vềăkỹ thuật máy tính.
Hiểu kiến trúc máy tính có thể giúp ng i lập trình nhận biết khi nàoăch ơng
trình của mình t o ra ch y ch a đ t hiệu suất tối đa của hệ thống, hiểu đ ợcăcác
kỹ nĕngălàm tĕng hiệu suất ch ơng trình, v.v.
1.4. Ki nătrúcămáy tính Von Neumann
John von Neumann (Neumann János, 28 tháng 12, 1903 – 8 tháng 2, 1957) là
một nhà toán h c ng i Hungary và là một nhà bác h c thơng th oănhiều lĩnh vực,

đư có nhiều đóng góp vào các chuyên ngành vật lý l ợng tử, gi i tích hàm, lý thuyết
tập hợp, kinh tế, khoa h c máy tính, gi i tích số, thủy động lực h c, thống kêă và
20


Khoa CNTT - ắrường Đại học ắhái Bình

Giáo trình KắMắ & QLHắMắ

nhiều lĩnh vực toán h c khác. Đáng chú ý nhất, von Neumann là nhà tiên phong của
máy tính kỹ thu t số hiện đ i vàăáp dụng củaălý thuyết tốn tử (operator theory)ăvào
cơăh căl ợng tử.
Nĕm 1945, ơng đưă đ a ra một đề
ngh vềăkiến trúc máy tính nh sau:
Lệnh (Instruction) và dữ liệu
(Data) phải được lưu giữ trong một bộ
nhớ ghi/đọc được.
ắừng ô nhớ trong bộ nhớ phải
được định vị bằng địa chỉ. Sự định địa
chỉ là tuần tự và không phụ thuộc vào
nội dung c a từng ơ nhớ.
Chương trình xử lý, giải bài tốn phải thực hiện tuần tự từ lệnh này đến
lệnh tiếp theo, từ lệnh b t đầu đến lệnh cuối cùng.
2. Tổng quan về kiến trúc máy tính
Trên cơ s nguyên lý kiến trúc Von Neumann, máy tính là một hệăthống bao
g m đơn v xử lý trung tâm, bộ nhớăvàăcácăthiết b vào/ra đ ợcăkết nối với nhau. Hệ
thống đ ng truyền dẫn liên kết các khối là một trong những vấn đề mà cácă
hưng chếăt o máy tính g p nhiều nan gi i nhất. Đểănắm đ ợcănhững kiến thức cơăb n
vềă kiến trúc, chúng ta sẽă bắt đầu bằng việcă tìm hiểu về h ớng phát triển kiến trúc
thơng qua liên kết CPU với những khối chức nĕng cơ b n nhất trong hệ thống: bộ

nhớ, thiết b vào/ra, đơn v điều khiển truy cập trựcătiếp bộ nhớ, đơn v điều khiển
ngắt, đơn v t o xung nh p, đơn v diều khiển, v.v…
2.1. Liênăk tăcác kh i kh i ch c nĕng
2.1.1. B x lỦ trung tơm (CPU) vƠ b nh
Nói đến máy tính tức là bàn luận về sự phối hợp giữa thực hiện xử lý
(processing) dữ liệu và đưa ra kết lu n (making decisions). Việc xử lý vàăđ a ra
kết luận đ ợc thực hiện b i Đơn vị xử lý trung tâm hay còn g i làă CPU của
máy tính. Vậy thì “bộ nưo” của máy tính chính là CPU. CPU khơng ph i là
một bộ phận chức nĕng biết suy nghĩ và biết thực hiện cơng việc, song nó có kh ă
nĕng thực hiện những ý đ và công việcă của ng i sửă dụng thông qua các lệnh.
Những ý t ng của ng i sử dụng đ ợc thể hiện qua ch ơng trình. Chương trình
là t p hợp các lệnh được chọn lọc và s p xếp theo một tuần tự ch t chẽ thông qua
nguyên t c xử lý, giải quyết một vấn đề cụ thể (hay còn gọi là thu t giải). Ch ơng
trình và dữ liệu t ơng ứng đ ợcăl u giữ trong bộ nhớ của máy tính. Bộ nhớ đ ợcă
chia ra thành 2 phần:
21


Khoa CNTT - ắrường Đại học ắhái Bình

Giáo trình KắMắ & QLHắMắ

Phần lưu giữ chương trình được gọi là bộ nhớ chương trình hay
Program Memory.
Phần lưu giữ dữ liệu (dữ liệu để xử lý và dữ liệu kết quả) được gọi là bộ
nhớ dữ liệu hay Data Memory.

Nh ăvậy,ăCPUăcầnăcóăbộănhớăđểăl uăgiữăch ơngătrìnhăvàădữăliệu.ăTheoăhìnhăvẽ,ă
thấyărằngăCPUăchỉăđ căch ơngătrình,ăsongăvớiădữăliệu,ănóăph iăđ căraăđểăxửălýăvàăph iă
ghiăl iăkếtăqu ,ăt ơngăứngăvớiăcácămũiătênămộtăchiềuăvàămũiătênăhaiăchiềuătrênăhình.

2.1.2. CPU, b nh vƠ thi t b vƠo/ra
CPU liênă l că với cácă thiết b bên ngồiă (hay cịn g iă là thiết bị ngoại vi –
peripherals) để đ c dữ liệu, lệnh và đ a ra kết qu đư đ ợc xử lý, ví dụănh bàn
phím, máy in, màn hình... Chức nĕng của các thiết b này là giao diện giữa ng i
sử dụng và máy tính. Các thiết b này đ ợc g i chung làăthiết bị vào/ra, hay thiết
bị nh p/xuất, (I/O device). Một máy tính có thể cóărất nhiều thiết b vào/ra.

Hình II.6. CPU trong liên kết với bộ nhớ, thiết bị vào/ra
và khả năng truy cập trực tiếp bộ nhớ
22


Khoa CNTT - ắrường Đại học ắhái Bình

Giáo trình KắMắ & QLHắMắ

Thông th ng,ăcác thiết b vào/ra không t ơng thích đ ợc với CPU vềăm t mức
tín hiệu (điện áp thể hiện mức logic “0” ho c “1”) và tốc độ v.v…,ădo đó ta cần ph i
b sung vào giữa chúngă các khối phối ghép (hay còn g i làă giao diện – I/O
interface).
2.1.3. CPU, b nh , thi t b vƠo ra vƠ kh nĕng truy c p tr c ti p b nh
Rõ ràng, việcătrao đ i dữăliệu giữa bộ nhớ và thiết b ngo i vi đều ph i thơng
qua CPU. M c dù có lúc nào đó CPU khơng cóău cầu dữ liệu, nh ng nó điều khiển
q trình trao đ i dữ liệu của m i thành phần trong máy tính.
Điều đó làm cho CPU tham gia vào m i ho t động và tốc độ xử lý của CPU
chậm đi rất nhiều.
Để gi i quyết vấn đềă này, kiến trúc máy tính đ a ra gi i pháp thiết b ă vào/ra
đ ợc phép truy cập trực tiếp bộ nhớ (DMA-Direct Memory Access). Để thay thế
CPU trong việc truy cập trực tiếp vào bộ nhớ, thiết b vào/ra đ ợc ghép thêmă
đơn v ă điều khiển truy cập trực tiếp bộ nhớ DMAC (DMA Controler). Cơ chế này

thực sự mang l i hiệu qu lớn trong các hệ thống máy tính thu thập và xử lý
những khối dữ liệu phức t p và đ ợc thực hiện nh sau:
Khi thiết b vào ra yêu cầu truyăcập vào bộ nhớ, thay vì CPU tham gia vào
tồn bộ q trình này, thiếtăb vào/ra đ a ra yêu cầu thựcăhiệnătruyăcập trực tiếp bộ
nhớ tới CPU thông qua DMA Request Line.
CPU nhận yêu cầu, thực hiện việc trao quyền sử dụng đ ng truyềnădẫn
dữăliệu cho thiết b vào/ra (tức là treo d ng truyền dẫn dữ liệu giữa bộ nhớ, thiết b
vào/ra và CPU), sau đó gửi thông báo nhận biết và đ ng ý cho thiết b vào/ra qua
DMA Acknowledge Line). Những tín hiệu trao đ i này đ ợcăg i là tín hiệu bắt tay
(Handshaking)
Thiết b vào/ra thực hiện việc Ghi ho c Đ c bộ nhớ trực tiếp qua
đ ng truyền dẫnădữăliệu không thông qua CPU. Nh ăvậy CPU có thểătiếp tục thực
hiện các thao tácăxử lý khác.

Hình II.7. CPU, bộ nhớ, thiết bị vào ra và khả năng sử dụng ngắt

23


Khoa CNTT - ắrường Đại học ắhái Bình

Giáo trình KắMắ & QLHắMắ

2.1.4. CPU, b nh , thi t b vƠo ra vƠ kh nĕng s d ng ng t
Khối chức nĕng tiếp theo thực hiện việc đáp ứng yêu cầu phục vụ của CPU
đối vớiă các thiết b ă vào/ra làă thiếtă b ă điều khiểnă ngắtă (Interrupt Controller).
Để hiểu ngắt cần thiết nh thế nào, ta xét những kh ănĕng sau:
Thiết b vào/ra chỉ cần đến CPU khi có sự trao đ i dữ liệu giữa CPU với
thiết b vào/ra.
Một số thiết b vào/ra ho t động rất chậmă so với kh nĕng xử lý của CPU,

do vậy, việc CPU ph i ch đợi để trao đ i dữ liệu làmămất rấtănhiều th i gian.
Dựa trên thực tế này, kiến trúc máy tính đề ngh một gi i pháp hữu hiệu
nhằm làm tĕng hiệuăsuất ho t động xửălýădữ liệuăcủa CPU cũng nh của máy tính nói
chung. Gi i pháp dựa trên quy trình sau:
Thiết b ngo i vi muốn làm việc với CPU ph i gửi yêu cầu ngắt đến CPU
thơng qua tín hiệu u cầu ngắt (Interrupt Request Signal).
CPU t mă dừng tiến trình đang thực hiện, gửi tín hiệu chấp nhận phục vụ
ngắt cho thiết b vào/ra.
CPU tiến hành phục vụ thiết b vào/ra thực chất là thực hiện việc trao đ i dữă
liệu, khi thực hiện xong thì quay về tiếp tục cơng việc đang bỏăd .
2.1.5. Kh i xung nh p (Clock) vƠ kh i điều khiển (Control)
Đư có thể nhìn thấy rằng, chỉ cần thêm vào 2 khối cơ b n nữa là ta cóămột cấu
trúc máy tính hồn chỉnh: Khối xung nh p (Clock) và khối điều khiển (Control).
Có thể nói khối điều khiển là sợi chỉ xuyên suốt, chỉ đ o m i ho t động của tất
c các khối chức nĕng nhằm đ m b o ho t động n đ nh cho một máy tính, khơng
bao gi xẩy ra bất cứă sựă tranh chấp nào. Khối t oă nh p Clock thực hiện việc đ nh
th i cho m i ho t động trong máyătính đ ợcăđ ng bộ hố.
2.2. Ki nătrúcămáy tính nhìnăt gócăđ c uătrúc c ăb n
Một hệ thống máy tính ph i cóăcácătính nĕng cơ b n sau:
1. Kh nĕng thực hiện Vào/Ra - là khâu nối hay giao diện giữa ng
vàămáy tính

i sửădụng

2.ăăKh ănĕngăNg t - choăphépămáyătínhăho tăđộngăhiệuăsuấtăhơnăvàămềmădẻoăhơn.
3. Kh nĕng Truy C p Trực tiếp Bộ Nhớ - cho phép các thiết b vào/ra làmă
việc với bộ nhớ mà không nh h ng đến tiến trình thực hiệnăch ơng trình
của CPU
24



×