Giáo trình Kiến trúc máy tính & quản lý hệ thống máy tính (Phần 1)

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 - Trường Đại học Thái Bình  
Giáo trình KTMT & QLHTMT  
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 - Trường Đại học Thái Bình  
Giáo trình KTMT & QLHTMT  
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 đoá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 CMOS Setup 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 quá trình hoà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 quý bạn đọc đóng góp ý kiến để giáo trình ngày một hoàn thiện hơn.  
Xin chân thành cám ơn!  
Thái Bình, tháng 01 năm 2016  
Khoa Công nghệ thông tin  
2
Khoa CNTT - Trường Đại học Thái Bình  
Giáo trình KTMT & QLHTMT  
CHƢƠ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 - Trường Đại học Thái Bình  
Giáo trình KTMT & QLHTMT  
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 - Trường Đại học Thái Bình  
Giáo trình KTMT & QLHTMT  
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 ở đầu ra chỉ  
phụ thuộc vào tổ hợp giá trị của các biến ở đầu vào (Hình I.5).  
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 - Trường Đại học Thái Bình  
2.2. Mạch tuần tự (Sequencial Circuit)  
Giáo trình KTMT & QLHTMT  
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:  
Z = F (x x , …, x , y , y , …, y );  
i 1, 2 n 1 2  
i
p
Y = G (x x , …, x , Y , Y , …, Y )  
j 1, 2  
j
n
1
2
p
Trong đó: F là hàm truyền đạt của mạch và G là hàm truyền đạt trạng thái;  
i
j
x (i = 1, 2, …,n), Z (i = 1, 2, …, m) là các tín hiệuvào và tín hiệu ra của mạch;  
i
i
y , y , …, y : trạng thái của mạch trước khi biến đổi;  
1
2
p
Y
Y , …, Y : trạng thái của mạch sau khi biến đổi.  
1 , 2  
p
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  
x1  
xn  
Mạch  
Zm  
tổ hợp  
y1  
Y1  
Các  
phần tử  
nhớ  
Hình I.6. Mạch  
logic tuần tự  
yp  
Yp  
6
Khoa CNTT - Trường Đại học Thái Bình  
2.3. Máy hữu hạn (Finite State Machine)  
Giáo trình KTMT & QLHTMT  
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ử Flip-  
Flop 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.  
thêm rằng: Thanh ghi hoàn toàn đảm nhận chức năng của một  
Cũng cần nói  
ô 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 - Trường Đại học Thái Bình  
Giáo trình KTMT & QLHTMT  
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 S và C và ký hiệu là một mạch cộng đầy đủ (Full  
i
i
adder) với các đầu vào là A , B và C , đầu ra là S và C , ta có thể xây dựng mạch  
i+1  
i
i
i
i
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 - Trường Đại học Thái Bình  
Giáo trình KTMT & QLHTMT  
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 - Trường Đại học Thái Bình  
Giáo trình KTMT & QLHTMT  
Ngoà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 - Trường Đại học Thái Bình  
Giáo trình KTMT & QLHTMT  
CHƢƠ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 - Trường Đại học Thái Bình  
Giáo trình KTMT & QLHTMT  
Ở 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 - Trường Đại học Thái Bình  
Giáo trình KTMT & QLHTMT  
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, ở dạng đơn giản nhất, được cấu thành từ bốn khối chức năng cơ  
bản sau:  
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  
B3  
B2  
B1  
B0  
Phần chứa mã lệnh  
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 ngoà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 - Trường Đại học Thái Bình  
Giáo trình KTMT & QLHTMT  
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 toán hạng thứ hai trong  
các phép toán hai ngôi. Nội dung thanh ghi MAR là địa chỉ của ô nhớ mà CPU  
14  
Khoa CNTT - Trường Đại học Thái Bình  
Giáo trình KTMT & QLHTMT  
đ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 toá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 toá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:  
Kết quả bằng 0:  
(S) = 1 ; dấu ngoặc thể hiện nội dung của bit  
(Z) = 1  
(C) = 1  
Kết quả có nhớ:  
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 - Trường Đại học Thái Bình  
Giáo trình KTMT & QLHTMT  
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 quá 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 hoá 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ười làm nhiệm  
vụ giám sát hoặc điều khiển hoạt động của máy móc hoặc quá trình.  
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 yê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ười. Máy tính cũng có thể  
gửi kết quả xử lý ra thiết bị xuất để con người kiểm tra lại yêu cầu của mình.  
16  
Khoa CNTT - Trường Đại học Thái Bình  
Giáo trình KTMT & QLHTMT  
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 ngoài.  
Máy tính nhận thông tin từ bên ngoà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 quá 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.  
2.  
3.  
4.  
5.  
6.  
Nhận lệnh IF-Instruction Fetch  
Giải mã lệnh ID-Instruction Decoder  
Tạo địa chỉ toán hạng GOA-Generate Operand Address  
Nhận toán hạng OF-Operand Fetch  
Xử lý lệnh EX-Execute  
Lưu kết quả WB-Write Back  
Generate  
Operand  
Address  
Instruction Instruction  
Operand  
Fetch  
Write  
Back  
Execute  
Fetch  
Decode  
IF  
ID  
GOA  
OF  
EX  
WB  
Thời gian  
17  
Khoa CNTT - Trường Đại học Thái Bình  
Giáo trình KTMT & QLHTMT  
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ường máy tính thực hiện các công  
việc sau:  
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. Ngoài ra, để có dữ liệu cho  
xử lý và gửi kết quả ra bên ngoài, máy tính phải có khả năng trao đổi dữ liệu với  
môi trường bên ngoà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 - Trường Đại học Thái Bình  
Giáo trình KTMT & QLHTMT  
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 toá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  
Tải về để xem bản đầy đủ
pdf 104 trang yennguyen 21100 Free
Bạn đang xem 20 trang mẫu của tài liệu "Giáo trình Kiến trúc máy tính & quản lý hệ thống máy tính (Phần 1)", để tải tài liệu gốc về máy hãy click vào nút Download ở trên

File đính kèm:

  • pdfgiao_trinh_kien_truc_may_tinh_quan_ly_he_thong_may_tinh.pdf