!"#$%&'(
2 / 50
)*+
I. Biểu diễn dữ liệu trong máy tính
II. Tổ chức hệ thống máy tính
I. Kiến trúc chung của máy tính điện tử
II. Bộ xử lý
III. Bộ nhớ
IV. Tổ chức vào ra
!"#$%&'(
3 / 50
ĐƠN VỊ ĐIỀU KHIỂN
(Control Unit)
%, /(01234-50#+)
(ALU)
CÁC THANH GHI
(Register)
Bus địa chỉ
Bus dữ liệu
Bus điều khiển
6789 9:&;&
!"#$%&'(
4 / 50
<<<<6=>?@AB89CDD98D
!"#$%&'(
5 / 50
Các thành phần cơ bản của máy tính
Bộ xử lý trung tâm (Central Processing Unit): điều
khiển hoạt động của máy tính và xử lý dữ liệu
Bộ nhớ chính (Main Memory): chứa các chương trình
và dữ liệu đang được sử dụng
Hệ thống vào ra (Input/Output System): trao đổi
thông tin giữa máy tính với bên ngoài.
Liên kết hệ thống (System Interconnection): kết nối
và vận chuyển thông tin giữa các thành phần với
nhau
!"#$%&'(
6 / 50
<E&F8GHIJK&>
!"#$%&'(
7 / 50
<E&F8GHIJK&>
•
Trước tiên số liệu được đưa vào bộ nhớ trong
•
Lệnh đầu tiên trong bộ nhớ đưa vào CU
•
CU giải mã lệnh, nếu cần toán hạng xác
định địa chỉ toán hạng
•
CU phát tín hiệu tới các thành phần cần thiết
để lấy toán hạng về, đưa vào thanh ghi trong
ALU
•
CU phát tín hiệu điều khiển ALU thực hiện
phép toán. Kết quả đặt tại ALU/Bộ nhớ trong
•
Thực hiện lệnh tiếp theo tương tự.
!"#$%&'(
8 / 50
<<E2L&MNO
1. Lấy (Fetch) chỉ thị tiếp theo từ trong bộ nhớ đặt vào thanh ghi chỉ thị
(IR).
2. Thay đổi con đếm chương trình (PC) để trỏ tới chỉ thị tiếp theo.
3. Xác định kiểu của chỉ thị vừa lấy về.
4. Nếu chỉ thị sử dụng dữ liệu trong bộ nhớ thì xác định vị trí của dữ liệu.
5. Lấy dữ liệu về nếu có, đặt vào các thanh ghi bên trong CPU.
6. Thi hành chỉ thị.
7. Chứa kết quả vào nơi thích hợp.
8. Trở lại bước 1 để bắt đầu thi hành chỉ thị tiếp theo
Chu kỳ lấy lệnh - giải mã lệnh - thi hành lệnh.
!"#$%&'(
9 / 50
<<B
%PQR?&HIJ6BKJL&STS6
9:$;M
!"#$%&'(
10 / 50
<<<<<B"SU?9:&NOC99:
9:: nằm trong tập các thanh ghi đệm hoặc trong bộ nhớ
•
J&"V67: Lấy một toán hạng trong bộ nhớ về, đặt vào
một thanh ghi đệm nhất định, còn toán hạng thứ hai đang nằm trong
một thanh ghi nào đó, sau đó chúng sẽ được ALU sử dụng.
•
J&"J& Các lệnh sẽ nhận 2 toán hạng từ các thanh
ghi đệm, đưa chúng vào các thanh ghi vào của ALU, thực hiện các
thao tác trên các toán hạng này sau đó đưa kết quả trở lại các thanh
ghi đệm.
•
67AV67 Các lệnh sẽ nhận các toán hạng từ bộ nhớ vào
trong các thanh ghi vào của ALU, thực hiện các thao tác tính toán
trên các toán hạng này rồi gửi kết quả trở lại bộ nhớ.
!"#$%&'(
11 / 50
&F8GW)2;M)2
•
Kiến trúc CISC: (Complex Instructions Set Computer - Máy tính với tập
lệnh phức tạp)
•
Tập lệnh có nhiều lệnh
•
Dạng lệnh phức: mỗi lệnh có thể thực hiện nhiều thao tác đơn. Lệnh được
thực hiện trong nhiều chu kỳ đồng hồ.
•
Độ dài của lệnh thay đổi.
•
Sự phức tạp của lệnh nằm trong mã vi lệnh (MicroCode). Trình biên dịch ít
làm việc hơn (để chuyển các câu lệnh HLL thành ngôn ngữ Assembly)
•
Có thể sử dụng nhiều lệnh để truy cập bộ nhớ
•
Có nhiều chế độ địa chỉ
•
Tập thanh ghi ít hơn
!"#$%&'(
12 / 50
&F8GW)2;M)2
•
Kiến trúc RISC: (Reduced Instructions Set Computer - Máy tính với tập
lệnh đơn giản hóa)
•
Tập lệnh có ít lệnh
•
Dạng lệnh đơn (tất cả các lệnh): mỗi lệnh chỉ thực hiện được một thao tác
dơn. Và chỉ trong một chu kỳ đồng hồ, có thể thực hiện được nhiều lệnh
trong cùng một chu kỳ đồng hồ.
•
Độ dài của lệnh cố định (32bit)
•
Sự phức tạp của lệnh nằm trong trình biên dịch
•
Các bộ vi xử lý RISC phổ biến là ARM, SuperH, MIPS, SPARC, DEC
Alpha, PA-RISC, PIC, và PowerPC của IBM.
!"#$%&'(
13 / 50
&F8GW)2;M)2
? Trong hai loại kiến trúc RISC và CISC:
•
Bộ điều khiển của kiến trúc nào phức tạp hơn?
•
Chi phí thiết kế của loại nào đắt hơn?
•
Loại nào có tốc độ tính toán cao hơn? Vì sao?
•
Chương trình của kiến trúc nào dài hơn? Vì sao?
•
Loại nào hỗ trợ cho ngôn ngữ bậc cao tốt hơn?
•
Chương trình dịch của loại nào đơn giản hơn?
!"#$%&'(
14 / 50
<<<<<X2LL&D9D9?
•
YKTăng tốc độ thực hiện
•
&FSZ[: XD máy tính nhiều ALU tốc độ thấp hoặc nhiều
CPU để đạt công suất tính toán cao, giá thấp
J\D9D9
E< 2)2* (Single Instruction stream, Single Data stream): Máy tính có một
dòng chảy của lệnh và một dòng chảy của dữ liệu.
< 2)* (Single Instruction stream, Multiple Data stream): Máy tính có một
dòng chảy của lệnh và nhiều dòng chảy của dữ liệu.
X< )* (Multiple Instruction stream, Multiple Data stream): Máy tính có
nhiều dòng chảy của lệnh và nhiều dòng chảy của dữ liệu.
!"#$%&'(
15 / 50
<<X<E?9:&2)2*"*]]^^
•
2 ALU để thực hiện phép toán cộng, 1 ALU thực hiện phép toán trừ, 1
ALU thực hiện phép toán nhân, 1 ALU thực hiện phép toán chia.
•
Hiệu quả cao khi thời gian thực hiện một lệnh lớn hơn nhiều thời gian
lấy lệnh về (fetch). VD trong các tính toán số dấu phảy động.
!"#$%&'(
16 / 50
<<<<<X<E?9:&2)2*"KP
•
Ý tưởng: chia việc thực hiện mỗi lệnh thành nhiều giai đoạn,
CPU bao gồm một số đơn vị chức năng, mỗi đơn vị chức năng
sẽ thực hiện một giai đoạn của quá trình thực hiện một lệnh.
•
Tốc độ tăng lên 5 lần.
!"#$%&'(
17 / 50
<<<<<X<E?9:&2)2*"KP
•
UH_&Tại sao máy tính pipeline có sử dụng cơ
chế song song bên trong nhưng nó vẫn thuộc loại
SISD
!"#$%&'(
18 / 50
<<X<?9:&2)*";C98
•
Thao tác song song trên nhiều tập dữ liệu vd giải các bài
toán dự báo thời tiết, chẳng hạn tính toán nhiệt độ trung bình
hàng ngày trong suốt 24 giờ của nhiều địa điểm; Đối với mỗi
địa điểm công việc tính toán là như nhau, nhưng tập dữ liệu
là khác nhau.
!"#$%&'(
19 / 50
<<X<X?9:&)*
•
Nhiều CPU, mỗi CPU thực hiện một chương trình khác nhau,
các CPU cùng chia sẻ một vùng nhớ chung
•
VD hệ thống máy tính phục vụ việc đặt chỗ trong ngành hàng
không.
!"#$%&'(
20 / 50
<X67
<X<E6DK;OQH?`V67
•
Đơn vị cơ sở - Bit
•
Bộ nhớ bao gồm các ô nhớ có cùng kích thước (tức là
cùng số bit), Mỗi ô nhớ được gán một địa chỉ duy nhất.
•
Bộ nhớ có n ô nhớ miền địa chỉ từ 0 tới n-1.
•
Hầu hết các máy vi tính có kích thước ô nhớ là 8 bit (1
VCa, các byte lại được nhóm lại thành word (từ).
•
Mỗi word gồm số byte mà hầu hết các lệnh của bộ xử
lý thao tác như một đơn vị (thao tác làm một lần).
!"#$%&'(
21 / 50
<X<X8ZLVC89b98QcV&CQ&J;M
?&?CCQ&J9SHC8
Các byte trong một word được đánh số từ trái phải/ phải
trái.
!"#$%&'(
22 / 50
B67
de?H8R8f;MQR
?&H<
dJ9Vg;7&V67
d%hiWCJQa
d+&ij8&Ca
dMSk
d6789i)C8J?C98a
d679M&il=C8J?C98a
!"#$%&'(
23 / 50
6789
de;MKmK&n
dJo&MB\n8J9K&
8L&FS
dK68pJ
d*H?`[o?7
d2>QYV67VQqW#cW$
d?9:&V6789
d67
d67JCiV67KJa
!"#$%&'(
24 / 50
67
dJ8f;M
QR?&HKJK`BD>
QY<
dMe
7K`KKOJN<
de7PK`
C9VC<
d6&QHIJe7\
nJK&cD9KOJN;Z
?@IJe7?HoKO<
!"#$%&'(
25 / 50
67JC
d67\K6JK`KmK
&RJB;MV67re
K6B8HZSV67
d*H?`_V67
dK6J
dJCPK`&JM6D
dJC\nK``S8s&S
-/0<
dJC\n\9m[o<