Professional Documents
Culture Documents
N2K-HUT
N2K-HUT N2K-HUT
3 4
N2K-HUT N2K-HUT
N2K-HUT N2K-HUT
Mô hình phân lớp của máy tính 2. Phân loại máy tính
7 8
N2K-HUT N2K-HUT
Phân loại máy tính hiện đại Máy tính để bàn (Desktop)
Là loại máy tính phổ biến nhất
Máy tính để bàn (Desktop Computers) Các loại máy tính để bàn:
Máy chủ (Servers) Máy tính cá nhân (Personal Computers - PC)
Máy tính nhúng (Embedded Computers) Máy tính trạm làm việc (Workstations)
1981 Æ IBM giới thiệu máy tính IBM-PC sử
dụng bộ xử lý Intel 8088
1984 Æ Apple đưa ra Macintosh sử dụng
bộ xử lý Motorola 68000
Giá thành: 500USD đến 10.000USD
9 10
N2K-HUT N2K-HUT
Thực chất là máy phục vụ Được đặt trong thiết bị khác để điều khiển
thiết bị đó làm việc
Dùng trong mạng theo mô hình
Client/Server (Khách hàng/Người phục vụ) Được thiết kế chuyên dụng
Tốc độ và hiệu năng tính toán cao Ví dụ:
Điện thoại di động
Dung lượng bộ nhớ lớn
Máy ảnh số
Độ tin cậy cao
Bộ điều khiển trong máy giặt, điều hoà nhiệt độ
Giá thành: hàng chục nghìn đến hàng chục Router – bộ định tuyến trên mạng
triệu USD.
Giá thành: vài USD đến hàng trăm nghìn
USD.
11 12
N2K-HUT N2K-HUT
Kiến trúc máy tính bao gồm hai khía cạnh: Kiến trúc tập lệnh của máy tính bao gồm:
Kiến trúc tập lệnh (Instruction Set Architecture): Tập lệnh: tập hợp các chuỗi số nhị phân
nghiên cứu máy tính theo cách nhìn của mã hoá cho các thao tác mà máy tính
người lập trình có thể thực hiện
Tổ chức máy tính (Computer Organization): Các kiểu dữ liệu: các kiểu dữ liệu mà
nghiên cứu cấu trúc phần cứng máy tính máy tính có thể xử lý
Æ Kiến trúc tập lệnh thay đổi chậm, tổ chức
máy tính thay đổi rất nhanh.
13 14
N2K-HUT N2K-HUT
Cấu trúc cơ bản của máy tính Các thành phần cơ bản của máy tính
Bộ xử lý trung tâm (Central Processing Unit):
CPU Bé nhí chÝnh Đ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.
Liªn kÕt hÖ thè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):
HÖ thèng vµo-ra
Kết nối và vận chuyển thông tin giữa các
thành phần với nhau.
15 16
N2K-HUT N2K-HUT
1.3. Sự tiến hoá của máy tính 1. Máy tính dùng đèn điện tử
17 18
N2K-HUT N2K-HUT
Máy tính von Neumann Đặc điểm chính của máy tính IAS
Bao gồm các thành phần: đơn vị điều khiển, đơn
Đó là máy tính IAS: vị số học và logic (ALU), bộ nhớ chính và các
Princeton Institute for Advanced Studies thiết bị vào-ra.
Bộ nhớ chính chứa chương trình và dữ liệu
Được bắt đầu từ 1947, hoàn thành1952
Bộ nhớ chính được đánh địa chỉ theo từng ngăn
Do John von Neumann thiết kế
nhớ, không phụ thuộc vào nội dung của nó.
Được xây dựng theo ý tưởng “chương ALU thực hiện các phép toán với số nhị phân
trình được lưu trữ” (stored-program
Đơn vị điều khiển nhận lệnh từ bộ nhớ, giải mã
concept) của von Neumann/Turing (1945)
và thực hiện lệnh một cách tuần tự.
Đơn vị điều khiển điều khiển hoạt động của các
thiết bị vào-ra
19 Trở thành mô hình cơ bản của máy tính 20
N2K-HUT N2K-HUT
21 22
N2K-HUT N2K-HUT
2. Máy tính dùng transistor 3. Máy tính dùng vi mạch SSI, MSI và LSI
N2K-HUT N2K-HUT
25 26
N2K-HUT N2K-HUT
Nội dung của chương 2 2.1. Các thành phần của máy tính
2.1. Các thành phần của máy tính Bộ xử lý trung tâm (Central Processing Unit)
2.2. Hoạt động của máy tính Bộ nhớ (Memory)
2.3. Liên kết hệ thống Hệ thống vào ra (Input/Output System)
Liên kết hệ thống (System Interconnection)
27 28
N2K-HUT N2K-HUT
Chức năng:
điều khiển hoạt động của máy tính
xử lý dữ liệu
Nguyên tắc hoạt động cơ bản:
CPU hoạt động theo chương trình nằm
trong bộ nhớ chính.
29 30
N2K-HUT N2K-HUT
N2K-HUT N2K-HUT
2. Bộ nhớ máy tính Các thành phần của bộ nhớ máy tính
33 34
N2K-HUT N2K-HUT
35 36
N2K-HUT N2K-HUT
N2K-HUT N2K-HUT
39 40
N2K-HUT N2K-HUT
Chức năng: chuyển đổi dữ liệu giữa Chức năng: nối ghép các thiết bị ngoại vi
bên trong và bên ngoài máy tính với máy tính
Các loại thiết bị ngoại vi cơ bản Mỗi mô-đun vào-ra có một hoặc một vài
Thiết bị vào: bàn phím, chuột, máy quét ... cổng vào-ra (I/O Port).
Thiết bị ra: màn hình, máy in ... Mỗi cổng vào-ra được đánh một địa chỉ
Thiết bị nhớ: các ổ đĩa ... xác định.
Thiết bị truyền thông: MODEM ... Các thiết bị ngoại vi được kết nối và trao
đổi dữ liệu với máy tính thông qua các
cổng vào-ra.
41 42
N2K-HUT N2K-HUT
43 44
N2K-HUT N2K-HUT
Bắt đầu mỗi chu trình lệnh, CPU nhận lệnh từ Bộ xử lý giải mã lệnh đã được nhận và
bộ nhớ chính. phát tín hiệu điều khiển thực hiện thao
Bộ đếm chương trình PC (Program Counter) tác mà lệnh yêu cầu.
của CPU giữ địa chỉ của lệnh sẽ được nhận. Các kiểu thao tác của lệnh:
CPU nhận lệnh từ ngăn nhớ được trỏ bởi PC. Trao đổi dữ liệu giữa CPU và bộ nhớ chính
Lệnh được nạp vào thanh ghi lệnh IR Trao đổi dữ liệu giữa CPU và mô-đun vào-ra
(Instruction Register).
Xử lý dữ liệu: thực hiện các phép toán số
Sau khi lệnh được nhận vào, nội dung PC tự học hoặc phép toán logic với các dữ liệu.
động tăng để trỏ sang lệnh kế tiếp.
Điều khiển rẽ nhánh
Kết hợp các thao tác trên.
45 46
N2K-HUT N2K-HUT
Cất ngữ cảnh (các thông tin liên quan đến chương trình
Ngắt do lỗi khi thực hiện chương trình, ví dụ: bị ngắt)
tràn số, chia cho 0. Thiết lập PC trỏ đến chương trình con phục vụ ngắt
Ngắt do lỗi phần cứng, ví dụ lỗi bộ nhớ RAM. Chuyển sang thực hiện chương trình con phục vụ ngắt
Ngắt do mô-đun vào-ra phát tín hiệu ngắt đến Cuối chương trình con phục vụ ngắt, khôi phục ngữ
CPU yêu cầu trao đổi dữ liệu. cảnh và tiếp tục chương trình đang bị tạm dừng
47 48
N2K-HUT N2K-HUT
49 50
N2K-HUT N2K-HUT
Xử lý với nhiều tín hiệu yêu cầu ngắt 3. Hoạt động vào-ra
Xử lý ngắt tuần tự
Hoạt động vào-ra: là hoạt động trao đổi
Khi một ngắt đang được thực hiện, các ngắt khác sẽ
bị cấm. dữ liệu giữa thiết bị ngoại vi với bên trong
Bộ xử lý sẽ bỏ qua các ngắt tiếp theo trong khi đang
máy tính.
xử lý một ngắt Các kiểu hoạt động vào-ra:
Các ngắt vẫn đang đợi và được kiểm tra sau khi
CPU trao đổi dữ liệu với mô-đun vào-ra
ngắt đầu tiên được xử lý xong
Các ngắt được thực hiện tuần tự
Mô-đun vào-ra trao đổi dữ liệu trực tiếp với
bộ nhớ chính.
Xử lý ngắt ưu tiên
Các ngắt được định nghĩa mức ưu tiên khác nhau
Ngắt có mức ưu tiên thấp hơn có thể bị ngắt bởi
ngắt ưu tiên cao hơn Æ xẩy ra ngắt lồng nhau 51 52
N2K-HUT N2K-HUT
53 54
N2K-HUT N2K-HUT
55 56
N2K-HUT N2K-HUT
N2K-HUT N2K-HUT
N2K-HUT N2K-HUT
Bus điều khiển Đặc điểm của cấu trúc đơn bus
Chức năng: vận chuyển các tín hiệu Bus hệ thống chỉ phục vụ được một yêu
điều khiển cầu trao đổi dữ liệu tại một thời điểm
Các loại tín hiệu điều khiển: Bus hệ thống phải có tốc độ bằng tốc
độ bus của mô-đun nhanh nhất trong hệ
Các tín hiệu phát ra từ CPU để điều khiển thống
mô-đun nhớ và mô-đun vào-ra
Bus hệ thống phụ thuộc vào cấu trúc
Các tín hiệu từ mô-đun nhớ hay mô-đun
bus (các tín hiệu) của bộ xử lý Æ các
vào-ra gửi đến yêu cầu CPU.
mô-đun nhớ và các mô-đun vào-ra cũng
phụ thuộc vào bộ xử lý.
Vì vậy cần phải phân cấp bus Æ đa bus
61 62
N2K-HUT N2K-HUT
3. Phân cấp bus trong máy tính Các bus điển hình trong PC
Bus của bộ xử lý (Front Side Bus - FSB): có tốc
Phân cấp bus cho các thành phần: độ nhanh nhất
Bus của bộ xử lý Bus của bộ nhớ chính (nối ghép với các mô-đun
Bus của bộ nhớ chính RAM)
Các bus vào-ra AGP bus(Accelerated Graphic Port) - Bus đồ họa
tăng tốc: nối ghép card màn hình tăng tốc.
Phân cấp bus khác nhau về tốc độ
PCI bus(Peripheral Component Interconnect): nối
Bus bộ nhớ chính và các bus vào-ra ghép với các thiết bị ngoại vi có tốc độ trao đổi dữ
không phụ thuộc vào bộ xử lý cụ thể. liệu nhanh.
USB (Universal Serial Bus): Bus nối tiếp đa năng
IDE (Integrated Device Electronics): Bus kết nối
63
với ổ đĩa cứng hoặc ổ đĩa CD, DVD 64
N2K-HUT N2K-HUT
Máy tính Pentium 4 dùng Chipset 845 4. Các vấn đề liên quan đến thiết kế bus
65 66
N2K-HUT N2K-HUT
N2K-HUT N2K-HUT
Phân xử bus tập trung Phối hợp các sự kiện trên bus
Có một Bộ điều khiển bus (Bus Controller) Bus đồng bộ
hay còn gọi là Bộ phân xử bus (Arbiter) Các sự kiện trên bus được xác định bởi
Có thể là một phần của CPU hoặc mạch một tín hiệu xung nhịp xác định (clock)
tách rời. Bus Điều khiển bao gồm cả đường Clock
Phân xử bus phân tán Tất cả các mô-đun có thể đọc đường clock
Mỗi một mô-đun có thể chiếm bus Bus không đồng bộ
Có đường điều khiển đến tất cả các mô- Không có đường tín hiệu Clock
đun khác Kết thúc một sự kiện này trên bus sẽ kích
hoạt cho một sự kiện tiếp theo
69 70
N2K-HUT N2K-HUT
71 72
N2K-HUT N2K-HUT
Cơ số 10
Hệ thập phân (Decimal System)
10 chữ số: 0,1,2,3,4,5,6,7,8,9
Æ con người sử dụng
Dùng n chữ số thập phân có thể biểu diễn
Hệ nhị phân (Binary System) được 10n giá trị khác nhau:
Æ máy tính sử dụng 00...000 = 0
Hệ mười sáu (Hexadecimal System) 99...999 = 10n - 1
73 74
N2K-HUT N2K-HUT
2. Hệ nhị phân Chuyển đổi số nguyên thập phân sang nhị phân
Cơ số 2
2 chữ số nhị phân: 0 và 1 Phương pháp 1: chia dần cho 2 rồi lấy
chữ số nhị phân gọi là bit (binary digit) phần dư
Bit là đơn vị thông tin nhỏ nhất Phương pháp 2: Phân tích thành tổng
Dùng n bit có thể biểu diễn được 2n giá trị của các số 2i Æ nhanh hơn
khác nhau:
00...000 = 0
11...111 = 2n - 1
75 76
N2K-HUT N2K-HUT
Chuyển đổi số lẻ thập phân sang nhị phân 3. Hệ mười sáu (Hexa)
77 78
N2K-HUT N2K-HUT
3.2. Mã hóa và lưu trữ dữ liệu trong máy tính Mã hoá dữ liệu nhân tạo
79 80
N2K-HUT N2K-HUT
N2K-HUT N2K-HUT
2. Thứ tự lưu trữ các byte của dữ liệu Ví dụ lưu trữ dữ liệu 32-bit
Bộ nhớ chính thường được tổ chức theo byte 0001 1010 0010 1011 0011 1100 0100 1101
Độ dài từ dữ liệu có thể chiếm từ một đến
nhiều byte
Æ cần phải biết thứ tự lưu trữ các byte trong
bộ nhớ chính với các dữ liệu nhiều byte.
Có hai cách lưu trữ:
Lưu trữ đầu nhỏ (Little-endian): Byte thấp được
lưu trữ ở ngăn nhớ có địa chỉ nhỏ hơn, byte cao
được lưu trữ ở ngăn nhớ có địa chỉ lớn hơn.
Lưu trữ đầu to (Big-endian): Byte cao được lưu
trữ ở ngăn nhớ có địa chỉ nhỏ hơn, byte thấp
được lưu trữ ở ngăn nhớ có địa chỉ lớn hơn.
83 84
N2K-HUT N2K-HUT
Lưu trữ của các bộ xử lý điển hình 3.3. Biểu diễn số nguyên
85 86
N2K-HUT N2K-HUT
87 88
N2K-HUT N2K-HUT
89 90
N2K-HUT N2K-HUT
N2K-HUT N2K-HUT
N2K-HUT N2K-HUT
Quy tắc tìm Số bù một và Số bù hai c. Biểu diễn số nguyên có dấu bằng mã bù hai
N2K-HUT N2K-HUT
0 a n −2 ... a 2 a1 a0 1a n − 2 ... a 2 a1 a0
Giá trị của số dương A: Giá trị của số âm A:
n−2 n−2
A = ∑ ai 2 i A = −2 n −1
+ ∑ ai 2 i
i =0 i =0
Dải biểu diễn cho số dương: 0 đến 2n-1-1 Dải biểu diễn cho số âm: -1 đến -2n-1
97 98
N2K-HUT N2K-HUT
N2K-HUT N2K-HUT
Trục số học số nguyên có dấu với n = 8 bit Với n = 16 bit, 32 bit, 64 bit
N2K-HUT N2K-HUT
3. Biểu diễn số nguyên theo mã BCD Các kiểu lưu trữ số BCD
Binary Coded Decimal Code BCD không gói (Unpacked BCD):Mỗi số BCD
Dùng 4 bit để mã hóa cho các chữ số 4-bit được lưu trữ trong 4-bit thấp của mỗi
thập phân từ 0 đến 9: byte.
0 Æ 0000 5 Æ 0101 Ví dụ: Số 35 được lưu trữ như sau:
1 Æ 0001 6 Æ 0110
2 Æ 0010 7 Æ 0111
3 Æ 0011 8 Æ 1000 BCD gói (Packed BCD): Hai số BCD
4 Æ 0100 9 Æ 1001 được lưu trữ trong 1 byte.
Ví dụ: Số 35 được lưu trữ như sau:
có 6 tổ hợp không sử dụng:
1010, 1011, 1100, 1101, 1110, 1111
103 104
N2K-HUT N2K-HUT
3.4. Thực hiện các phép toán số học với số nguyên Nguyên tắc cộng số nguyên không dấu
1. Phép cộng số nguyên không dấu Khi cộng hai số nguyên không dấu n-bit,
Bộ cộng n-bit kết quả nhận được là n-bit:
Nếu không có nhớ ra khỏi bit cao nhất
thì kết quả nhận được luôn luôn đúng
(Cout=0).
Nếu có nhớ ra khỏi bit cao nhất thì kết
quả nhận được là sai, ta nói có tràn nhớ
ra ngoài (Cout=1)
Tràn nhớ ra ngoài (Carry Out) xảy ra khi
tổng > 2n - 1
105 106
N2K-HUT N2K-HUT
N2K-HUT N2K-HUT
4. Nguyên tắc thực hiện phép trừ 5. Nhân số nguyên không dấu
109 110
N2K-HUT N2K-HUT
111 112
N2K-HUT N2K-HUT
113 114
N2K-HUT N2K-HUT
Sử dụng thuật giải nhân không dấu 7. Chia số nguyên không dấu
Bước 1. Chuyển đổi số bị nhân và số nhân
thành số dương tương ứng
Số bị chia 10010011 1011 Số chia
Bước 2. Nhân hai số dương bằng thuật giải 1011 00001101 Thương
nhân số nguyên không dấu, được tích của hai 001110
số dương. 1011
001111
Bước 3. Hiệu chỉnh dấu của tích như sau: 1011
Nếu hai thừa số ban đầu cùng dấu thì tích nhận 100 Phần dư
được ở bước 2 là kết quả cần tính.
Nếu hai thừa số ban đầu là khác dấu thì ta đảo dấu
của tích bằng cách lấy bù hai của tích đã nhận
được bởi bước 2, vì tích thực sự là âm.
115 116
N2K-HUT N2K-HUT
117 118
N2K-HUT N2K-HUT
N2K-HUT N2K-HUT
Cơ số R = 2
Các dạng:
Dạng 32-bit
Dạng 44-bit
Dạng 64-bit
Dạng 80-bit
121 122
N2K-HUT N2K-HUT
N2K-HUT N2K-HUT
125 126
N2K-HUT N2K-HUT
S là bit dấu
X1 = M1 * RE1
e (15 bit): mã excess-16383 của phần X2 = M2 * RE2
mũ E Æ E = e – 16383 Ta có
m (64 bit): phần lẻ của phần định trị M X1 * X2 = (M1* M2) * RE1+E2
X1 / X2 = (M1 / M2) * RE1-E2
Giá trị số thực:
127 128
N2K-HUT N2K-HUT
N2K-HUT N2K-HUT
131 132
N2K-HUT N2K-HUT
HEXA 0 1 2 3 4 5 6 7
Các ký tự chuẩn 0 <NUL>
0
<DLE>
16
<space>
32
0
48
@
64
P
80
`
96
p
112
1 <SOH> <DC1> ! 1 A Q a q
1 17 33 49 65 81 97 113
5 <ENQ> <NAK> % 5 E U e u
các dấu câu: . , : ; ... 5 21 37 53 69 85 101 117
B <VT> <ESC> + ; K [ k {
Các mã điều khiển định dạng văn bản 11 27 43 59 75 91 107 123
D <CR>
13
<GS>
29
- = M ] m }
Các mã điều khiển phân tách thông tin 45 61 77 93 109 125
E <SO>
14
<RS>
30
. > N ^ n ~
46 62 78 94 110 126
Các mã điều khiển khác F <SI> <US> / ? O - o <DEL>
133 15 31 47 63 79 95 111 127 134
N2K-HUT N2K-HUT
26 chữ cái hoa ‘A’ đến ‘ Z’ có mã từ 41(16) đến 5A(16) 10 chữ số thập phân từ 0 đến 9 có mã
(65 đến 90):
'A' Æ 0100 0001 = 41(16) từ 30(16) đến 39(16) (48 đến 57):
'B' Æ 0100 0010 = 42(16)
'0' Æ 0011 0000 = 30(16)
'C' Æ 0100 0011 = 43(16)
... '1' Æ 0011 0001 = 31(16)
'Z' Æ 0101 1010 = 5A(16)
‘2' Æ 0011 0010 = 32(16)
26 chữ cái thường ‘a’ đến ‘z’ có mã từ 61(16) đến
7A(16) (97 đến 122): ...
'a' Æ 0110 0001 = 61(16) '9' Æ 0011 1001 = 39(16)
'b' Æ 0110 0010 = 62(16)
'c' Æ 0110 0011 = 63(16)
...
'z' Æ 0111 1010 = 7A(16)
135 136
N2K-HUT N2K-HUT
Các ký tự hiển thị chuẩn (tiếp) Các mã điều khiển: có mã 0016 ÷ 1F16 và 7F16
Các mã ký tự điều khiển định dạng (điều khiển màn hình, máy in …)
Các ký hiệu khác: BS Backspace – Lùi lại một vị trí: Ký tự điều khiển con trỏ lùi lại
một vị trí.
các dấu câu: . , : ; ...
HT Horizontal Tab - Tab ngang: Ký tự điều khiển con trỏ dịch tiếp
các dấu phép toán: + - * / % ... một khoảng đã định trước.
một số ký hiệu thông dụng: &, $,@, # LF Line Feed – Xuống một dòng: Ký tự điều khiển con trỏ chuyển
xuống dòng dưới.
dấu cách
VT Vertical Tab – Tab đứng: Ký tự điều khiển con trỏ chuyển qua
một số dòng đã định trước.
FF Form Feed - Đẩy sang đầu trang: Ký tự điều khiển con trỏ di
chuyển xuống đầu trang tiếp theo.
CR Carriage Return – Về đầu dòng: Ký tự điều khiển con trỏ di
chuyển về đầu dòng hiện hành.
137 138
N2K-HUT N2K-HUT
N2K-HUT N2K-HUT
ESC Escape – Thoát: Ký tự được dùng để cung cấp các mã mở rộng bằng cách kết hợp
Có thể thay đổi các ký tự mở rộng để mã
với ký tự sau đó. hoá cho các ký tự riêng của tiếng Việt, ví
DEL Delete – Xoá: Dùng để xoá các ký tự không mong muốn.
dụ như bộ mã TCVN3.
141 142
N2K-HUT N2K-HUT
N2K-HUT N2K-HUT
Nội dung của chương 4 4.1. Cấu trúc cơ bản của CPU
1. Nhiệm vụ và cấu trúc của CPU
4.1. Cấu trúc cơ bản của CPU
Nhiệm vụ của CPU:
4.2. Tập lệnh Nhận lệnh (Fetch Instruction): CPU đọc lệnh từ bộ
4.3. Hoạt động của CPU nhớ.
Giải mã lệnh (Decode Instruction): xác định thao tác
4.4. Kiến trúc của các bộ xử lý tiên tiến mà lệnh yêu cầu.
4.5. Kiến trúc Intel Nhận dữ liệu (Fetch Data): nhận dữ liệu từ bộ nhớ
hoặc các cổng vào-ra.
Xử lý dữ liệu (Process Data): thực hiện phép toán số
học hay phép toán logic với các dữ liệu.
Ghi dữ liệu (Write Data): ghi dữ liệu ra bộ nhớ hay
cổng vào-ra
145 146
N2K-HUT N2K-HUT
N2K-HUT N2K-HUT
149 150
N2K-HUT N2K-HUT
Mô hình kết nối đơn vị điều khiển Các phương pháp thiết kế đơn vị điều khiển
151 152
N2K-HUT N2K-HUT
Đơn vị điều khiển vi chương trình Đơn vị điều khiển vi chương trình (tiếp)
N2K-HUT N2K-HUT
Đơn vị điều khiển nối kết cứng Đơn vị điều khiển nối kết cứng (tiếp)
155 156
N2K-HUT N2K-HUT
N2K-HUT N2K-HUT
159 160
N2K-HUT N2K-HUT
Thanh ghi con trỏ dữ liệu Minh hoạ thanh ghi con trỏ dữ liệu
161 162
N2K-HUT N2K-HUT
bởi SP
Đỉnh ngăn xếp có thể bị thay đổi Nội dung của SP tự động tăng
Khi ngăn xếp rỗng, SP trỏ vào đáy
163 164
N2K-HUT N2K-HUT
Minh họa con trỏ ngăn xếp SP Thanh ghi cơ sở và thanh ghi chỉ số
165 166
N2K-HUT N2K-HUT
Minh họa thanh ghi cơ sở và thanh ghi chỉ số Các thanh ghi dữ liệu
167 168
N2K-HUT N2K-HUT
N2K-HUT N2K-HUT
171 172
N2K-HUT N2K-HUT
Các thành phần của lệnh máy 2. Các kiểu thao tác
Chuyển dữ liệu
Xử lý số học với số nguyên
Mã thao tác (operation code Æ opcode): Xử lý logic
mã hóa cho thao tác mà bộ xử lý phải thực
hiện
Điều khiển vào-ra
Địa chỉ toán hạng: chỉ ra nơi chứa các toán Chuyển điều khiển (rẽ nhánh)
hạng mà thao tác sẽ tác động Điều khiển hệ thống
Toán hạng nguồn: dữ liệu vào của thao tác
Xử lý số dấu phẩy động
Toán hạng đích: dữ liệu ra của thao tác
Xử lý các dữ liệu chuyên dụng
173 174
N2K-HUT N2K-HUT
175 176
N2K-HUT N2K-HUT
177 178
N2K-HUT N2K-HUT
Các lệnh vào ra chuyên dụng Các lệnh chuyển điều khiển
JUMP (BRANCH) Lệnh nhảy không điều kiện:
INPUT Copy dữ liệu từ một cổng xác nạp vào PC một địa chỉ xác định
định đến đích JUMP CONDITIONAL Lệnh nhảy có điều kiện:
điều kiện đúng Æ nạp vào PC một địa chỉ xác định
OUTPUT Copy dữ liệu từ nguồn đến điều kiện sai Æ không làm gì cả
một cổng xác định CALL Lệnh gọi chương trình con:
Cất nội dung của PC (địa chỉ trở về) ra một vị trí xác
định (thường ở Stack)
Nạp vào PC địa chỉ của lệnh đầu tiên của chương trình
con
RETURN Lệnh trở về từ chương trình con:
Khôi phục địa chỉ trở về trả lại cho PC để trở về
chương trình chính
179 180
N2K-HUT N2K-HUT
Các lệnh điều khiển hệ thống 3. Các phương pháp định địa chỉ (addressing modes)
181 182
N2K-HUT N2K-HUT
Các phương pháp định địa chỉ thông dụng Sơ đồ định địa chỉ tức thì
183 184
N2K-HUT N2K-HUT
Sơ đồ định địa chỉ thanh ghi Sơ đồ định địa chỉ trực tiếp
M· thao t¸c Tªn thanh ghi
To¸n h¹ng
185 186
N2K-HUT N2K-HUT
Sơ đồ định địa chỉ gián tiếp qua thanh ghi Sơ đồ định địa chỉ gián tiếp qua ngăn nhớ
187 188
N2K-HUT N2K-HUT
Sơ đồ định địa chỉ dịch chuyển 4.3. Hoạt động của CPU
189 190
N2K-HUT N2K-HUT
Giản đồ trạng thái chu trình lệnh 2. Đường ống lệnh (Instruction Pipelining)
191 192
N2K-HUT N2K-HUT
Biểu đồ thời gian của đường ống lệnh Các xung đột của đường ống lệnh
193 194
N2K-HUT N2K-HUT
4.4. Các kỹ thuật tiên tiến của bộ xử lý 1. Cấu trúc chung của các bộ xử lý tiên tiến
195 196
N2K-HUT N2K-HUT
197 198
N2K-HUT N2K-HUT
Đơn vị quản lý bộ nhớ 2. Các kiến trúc song song mức lệnh
Chuyển đổi địa chỉ ảo thành địa chỉ vật lý Siêu đường ống (Superpipeline &
Cung cấp cơ chế phân trang/phân đoạn Hyperpipeline)
Cung cấp chế độ bảo vệ bộ nhớ Siêu vô hướng (Superscalar)
VLIW (Very Long Instruction Word)
199 200
N2K-HUT N2K-HUT
Superpipeline Superscalar
201 202
N2K-HUT N2K-HUT
CISC và RISC
CISCÆComplex Instruction Set Computer:
Máy tính với tập lệnh phức tạp
Các bộ xử lý truyền thống: x86, 680x0
RISCÆReduced Instruction Set Computer:
Máy tính với tập lệnh rút gọn
RISC đối nghịch với CISC
203 204
N2K-HUT N2K-HUT
Các đặc trưng của RISC Các đặc trưng của RISC (tiếp)
205 206
N2K-HUT N2K-HUT
207 208
N2K-HUT N2K-HUT
209 210
N2K-HUT N2K-HUT
211 212
N2K-HUT N2K-HUT
Bộ nhớ trong:
5.4. Bộ nhớ cache bộ nhớ chính
5.5. Bộ nhớ ngoài bộ nhớ cache
Bộ nhớ ngoài: các thiết bị nhớ
5.6. Bộ nhớ ảo
Dung lượng
5.7. Hệ thống nhớ trên máy tính cá nhân Độ dài từ nhớ (tính bằng bit)
Số lượng từ nhớ
213 214
N2K-HUT N2K-HUT
Các đặc trưng của hệ thống nhớ (tiếp) Các đặc trưng của hệ thống nhớ (tiếp)
215 216
N2K-HUT N2K-HUT
Các đặc trưng của hệ thống nhớ (tiếp) 2. Phân cấp hệ thống nhớ
N2K-HUT N2K-HUT
3. Phát hiện và hiệu chỉnh lỗi trong bộ nhớ Sơ đồ phát hiện và hiệu chỉnh lỗi
Nguyên tắc chung: cần tạo ra và lưu trữ thêm
thông tin dư thừa.
Từ dữ liệu cần ghi vào bộ nhớ: m bit
Cần tạo ra và lưu trữ từ mã: k bit
Æ Lưu trữ (m+k) bit
Khi đọc ra có các khả năng sau:
Không phát hiện thấy dữ liệu lỗi
Phát hiện thấy dữ liệu lỗi và có thể hiệu chỉnh dữ
liệu thành đúng
Phát hiện thấy lỗi nhưng không có khả năng hiệu
chỉnh Æ cần phát ra tín hiệu báo lỗi.
219 220
N2K-HUT N2K-HUT
N2K-HUT N2K-HUT
N2K-HUT N2K-HUT
225 226
N2K-HUT N2K-HUT
Các bit được lưu trữ bằng các Flip-Flop Các bit được lưu trữ trên tụ điện
Æ thông tin ổn định Æ cần phải có mạch làm tươi
Cấu trúc phức tạp Cấu trúc đơn giản
Dung lượng chip nhỏ Dung lượng lớn
Tốc độ nhanh Tốc độ chậm hơn
Đắt tiền Rẻ tiền hơn
Dùng làm bộ nhớ cache Dùng làm bộ nhớ chính
227 228
N2K-HUT N2K-HUT
229 230
N2K-HUT N2K-HUT
N2K-HUT N2K-HUT
233 234
N2K-HUT N2K-HUT
m=8bit Æ một băng nhớ tuyến tính m = 16bit Æ hai băng nhớ đan xen
235 236
N2K-HUT N2K-HUT
m = 32bit Æ bốn băng nhớ đan xen m = 64bit Æ tám băng nhớ đan xen
237 238
N2K-HUT N2K-HUT
5.4. Bộ nhớ đệm nhanh (cache memory) Nguyên tắc chung của cache (tiếp)
Cache có tốc độ nhanh hơn bộ nhớ chính
1. Nguyên tắc chung của cache
Cache được đặt giữa CPU và bộ nhớ chính
Nguyên lý cục bộ hoá tham chiếu bộ nhằm tăng tốc độ truy cập bộ nhớ của CPU
nhớ: Trong một khoảng thời gian đủ nhỏ Cache có thể được đặt trên chip CPU
CPU thường chỉ tham chiếu các thông
tin trong một khối nhớ cục bộ
Ví dụ:
Cấu trúc chương trình tuần tự
Vòng lặp có thân nhỏ
Cấu trúc dữ liệu mảng
239 240
N2K-HUT N2K-HUT
Cấu trúc chung của cache / bộ nhớ chính Cấu trúc chung của cache / bộ nhớ chính (tiếp)
241 242
N2K-HUT N2K-HUT
Cấu trúc chung của cache / bộ nhớ chính (tiếp) 2. Các phương pháp ánh xạ
243 244
N2K-HUT N2K-HUT
N2K-HUT N2K-HUT
Đặc điểm của ánh xạ trực tiếp Ánh xạ liên kết toàn phần
Mỗi một địa chỉ N bit của bộ nhớ chính gồm Mỗi Block có thể nạp vào bất kỳ Line
ba trường:
nào của cache.
Trường Word gồm W bit xác định một từ nhớ
trong Block hay Line: Địa chỉ của bộ nhớ chính bao gồm hai
2W = kích thước của Block hay Line trường:
Trường Line gồm L bit xác định một trong số các Trường Word giống như trường hợp ở
Line trong cache:
trên.
2L = số Line trong cache = m
Trường Tag dùng để xác định Block của
Trường Tag gồm T bit:
bộ nhớ chính.
T = N - (W+L)
Bộ so sánh đơn giản Tag xác định Block đang nằm ở Line đó
Xác suất cache hit thấp
247 248
N2K-HUT N2K-HUT
Minh hoạ ánh xạ liên kết toàn phần Đặc điểm của ánh xạ liên kết toàn phần
249 250
N2K-HUT N2K-HUT
Ánh xạ liên kết tập hợp Minh hoạ ánh xạ liên kết tập hợp
251 252
N2K-HUT N2K-HUT
Đặc điểm của ánh xạ liên kết tập hợp 3. Thuật giải thay thế (1): Ánh xạ trực tiếp
253 254
N2K-HUT N2K-HUT
Thuật giải thay thế (2): Ánh xạ liên kết 4. Phương pháp ghi dữ liệu khi cache hit
Được thực hiện bằng phần cứng (nhanh)
Ghi xuyên qua (Write-through):
Random: Thay thế ngẫu nhiên
ghi cả cache và cả bộ nhớ chính
FIFO (First In First Out): Thay thế Block nào
nằm lâu nhất ở trong Set đó tốc độ chậm
LFU (Least Frequently Used): Thay thế Block Ghi trả sau (Write-back):
nào trong Set có số lần truy nhập ít nhất trong chỉ ghi ra cache
cùng một khoảng thời gian
tốc độ nhanh
LRU (Least Recently Used): Thay thế Block ở
trong Set tương ứng có thời gian lâu nhất không khi Block trong cache bị thay thế cần phải
được tham chiếu tới. ghi trả cả Block về bộ nhớ chính
Tối ưu nhất: LRU 255 256
N2K-HUT N2K-HUT
N2K-HUT N2K-HUT
259 260
N2K-HUT N2K-HUT
261 262
N2K-HUT N2K-HUT
N2K-HUT N2K-HUT
N2K-HUT N2K-HUT
N2K-HUT N2K-HUT
5.7. Hệ thống nhớ trên PC hiện nay Hệ thống nhớ trên PC (tiếp)
Bộ nhớ cache: tích hợp trên chip vi ROM BIOS chứa các chương trình sau:
xử lý Chương trình POST (Power On Self Test)
Chương trình CMOS Setup
Bộ nhớ chính: Tồn tại dưới dạng các
Chương trình Bootstrap loader
mô-đun nhớ RAM Các trình điều khiển vào-ra cơ bản (BIOS)
SIMM – Single Inline Memory Module CMOS RAM:
30 chân: 8 đường dữ liệu Chứa thông tin cấu hình hệ thống
72 chân: 32 đường dữ liệu Đồng hồ hệ thống
DIMM – Dual Inline Memory Module Có pin nuôi riêng
168 chân: 64 đường dữ liệu Video RAM: quản lý thông tin của màn hình
RIMM – Rambus DRAM Các loại bộ nhớ ngoài
269 270
N2K-HUT N2K-HUT
271 272
N2K-HUT N2K-HUT
N2K-HUT N2K-HUT
275 276
N2K-HUT N2K-HUT
Bộ chuyển đổi tín hiệu: chuyển đổi dữ Chức năng của mô-đun vào-ra:
liệu giữa bên ngoài và bên trong máy Điều khiển và định thời
tính Trao đổi thông tin với CPU
Bộ đệm dữ liệu: đệm dữ liệu khi truyền Trao đổi thông tin với thiết bị ngoại vi
giữa mô-đun vào-ra và thiết bị ngoại vi Đệm giữa bên trong máy tính với thiết bị
Khối logic điều khiển: điều khiển hoạt ngoại vi
động của thiết bị ngoại vi đáp ứng theo Phát hiện lỗi của thiết bị ngoại vi
yêu cầu từ mô-đun vào-ra
277 278
N2K-HUT N2K-HUT
Cấu trúc chung của mô-đun vào-ra Các thành phần của mô-đun vào-ra
Thanh ghi đệm dữ liệu: đệm dữ liệu
trong quá trình trao đổi
Các cổng vào-ra (I/O Port): kết nối với
thiết bị ngoại vi, mỗi cổng có một địa chỉ
xác định
Thanh ghi trạng thái/điều khiển: lưu giữ
thông tin trạng thái/điều khiển cho các
cổng vào-ra
Khối logic điều khiển: điều khiển mô-
đun vào-ra
279 280
N2K-HUT N2K-HUT
4. Địa chỉ hóa cổng vào-ra Không gian địa chỉ của bộ xử lý (tiếp)
a. Không gian địa chỉ của bộ xử lý
Một số bộ xử lý chỉ quản lý duy nhất một
không gian địa chỉ:
không gian địa chỉ bộ nhớ: 2N địa chỉ
Ví dụ: Các bộ xử lý 680x0 (Motorola)
281 282
N2K-HUT N2K-HUT
Không gian địa chỉ của bộ xử lý (tiếp) b. Các phương pháp địa chỉ hoá cổng vào-ra
N2K-HUT N2K-HUT
Cổng vào-ra được đánh địa chỉ theo Cổng vào-ra được đánh địa chỉ theo
không gian địa chỉ vào-ra không gian địa chỉ bộ nhớ
CPU trao đổi dữ liệu với cổng vào-ra Vào-ra giống như đọc/ghi bộ nhớ
thông qua các lệnh vào-ra chuyên dụng CPU trao đổi dữ liệu với cổng vào-ra
(IN, OUT) thông qua các lệnh truy nhập dữ liệu bộ
Chỉ có thể thực hiện trên các hệ thống có nhớ
quản lý không gian địa chỉ vào-ra riêng Có thể thực hiện trên mọi hệ thống
biệt
285 286
N2K-HUT N2K-HUT
6.2. Các phương pháp điều khiển vào-ra 1. Vào-ra bằng chương trình
287 288
N2K-HUT N2K-HUT
Hoạt động của vào-ra bằng chương trình Lưu đồ chương trình
CPU yêu cầu thao tác vào-ra
Mô-đun vào-ra thực hiện thao tác
Mô-đun vào-ra thiết lập các bit trạng
thái
CPU kiểm tra các bit trạng thái:
Nếu chưa sẵn sàng thì quay lại kiểm tra
Nếu sẵn sàng thì chuyển sang trao đổi dữ
liệu với mô-đun vào-ra
289 290
N2K-HUT N2K-HUT
291 292
N2K-HUT N2K-HUT
Chuyển điều khiển đến chương trình con ngắt Các phương pháp nối ghép ngắt
293 294
N2K-HUT N2K-HUT
Nhiều đường yêu cầu ngắt Kiểm tra vòng bằng phần mềm
N2K-HUT N2K-HUT
Kiểm tra vòng bằng phần cứng Kiểm tra vòng bằng phần cứng (tiếp)
CPU phát tín hiệu chấp nhận ngắt (INTA) đến
mô-đun vào-ra đầu tiên
Nếu mô-đun vào-ra đó không gây ra ngắt thì
nó gửi tín hiệu đến mô-đun kế tiếp cho đến khi
xác định được mô-đun gây ngắt
Mô-đun vào-ra gây ngắt sẽ đặt vector ngắt lên
bus dữ liệu
CPU sử dụng vector ngắt để xác định nơi
chứa chương trình con điều khiển ngắt
Thứ tự các mô-đun vào-ra kết nối trong chuỗi
xác định thứ tự ưu tiên
297 298
N2K-HUT N2K-HUT
Bộ điều khiển ngắt lập trình được Đặc điểm của vào-ra điều khiển bằng ngắt
N2K-HUT N2K-HUT
N2K-HUT N2K-HUT
N2K-HUT N2K-HUT
N2K-HUT N2K-HUT
N2K-HUT N2K-HUT
309 310
N2K-HUT N2K-HUT
N2K-HUT N2K-HUT
N2K-HUT N2K-HUT
6.4. Các cổng vào-ra thông dụng trên PC Kiến trúc máy tính
N2K-HUT N2K-HUT
Nội dung của chương 7 7.1. Phân loại kiến trúc máy tính
7.1. Phân loại kiến trúc máy tính Phân loại của Michael Flynn (1966)
SISD - Single Instruction Stream, Single Data Stream
7.2. Một số kiến trúc song song thông
317 318
N2K-HUT N2K-HUT
SISD SIMD
319 320
N2K-HUT N2K-HUT
321 322
N2K-HUT N2K-HUT
Tập các bộ xử lý
Các bộ xử lý đồng thời thực hiện các
dãy lệnh khác nhau trên các dữ liệu
khác nhau
Các mô hình MIMD
Multiprocessors (Shared Memory)
Multicomputers (Distributed Memory)
323 324
N2K-HUT N2K-HUT
MIMD - Distributed Memory 7.2. Một số kiến trúc MIMD thông dụng
1.SMP (Symmetric Multiprocessors)
325 326
N2K-HUT N2K-HUT
327 328
N2K-HUT N2K-HUT
Nhiều máy tính được kết nối với nhau Dễ dàng xây dựng và mở rộng
bằng mạng liên kết tốc độ cao (~ Gbps)
Tính sẵn sàng cao
Mỗi máy tính có thể làm việc độc lập
Khả năng chịu lỗi
Mỗi máy tính được gọi là một node
Giá thành rẻ với hiệu năng cao
Các máy tính có thể được quản lý làm
việc song song theo nhóm (cluster)
Toàn bộ hệ thống có thể coi như là một
máy tính song song
329 330
N2K-HUT N2K-HUT
331 332
N2K-HUT
Hết
333