2. Phan Trung Kiên – ĐH Tây Bắc 2
1.2. SỰ TIẾN HÓA CỦA MÁY TÍNH
Thế hệ thứ nhất: Máy tính dùng đèn
điện tử chân không (1943-1956)
Thế hệ thứ hai: Máy tính dùng transistor
(1957-1965)
Thế hệ thứ ba: Máy tính dùng vi mạch
SSI, MSI và LSI (1966-1980)
Thế hệ thứ tư: Máy tính dùng vi mạch
VLSI, SLSI (1981-nay)
3. Phan Trung Kiên – ĐH Tây Bắc 3
1.2.1. Máy tính dùng đèn điện tử chân
không
ENIAC - Máy tính điện tử đầu tiên
Electronic Numerical Intergator And Computer
Dự án của Bộ Quốc phòng Mỹ
Do John Mauchly và John Presper Eckert ở
Đại học Pennsylvania thiết kế.
Bắt đầu từ năm 1943, hoàn thành năm 1946
4. Phan Trung Kiên – ĐH Tây Bắc 4
ENIAC
Nặng 30 tấn
Kích thước 140 m2
18000 đèn điện tử và 1500 rơle
5000 phép cộng/giây
Xử lý theo số thập phân
Bộ nhớ chỉ lưu trữ dữ liệu
Lập trình bằng cách thiết lập vị trí của
các chuyển mạch và các cáp nối.
5. Phan Trung Kiên – ĐH Tây Bắc 5
ENIAC
Nặng 30 tấn
Kích thước 140 m2
18000 đèn điện tử và 1500 rơle
5000 phép cộng/giây
Xử lý theo số thập phân
Bộ nhớ chỉ lưu trữ dữ liệu
Lập trình bằng cách thiết lập vị trí của
các chuyển mạch và các cáp nối.
7. Phan Trung Kiên – ĐH Tây Bắc 7
Máy tính Von Neumann
Còn gọi là máy tính IAS: Princeton Institute
for Advanced Studies
Được bắt đầu từ 1947, hoàn thành 1952
Do John von Neumann thiết kế
Được xây dựng theo ý tưởng “chương trình
được lưu trữ” (stored-program concept)
của Von Neumann/Turing (1945)
8. Phan Trung Kiên – ĐH Tây Bắc 8
Đặ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 vị
số học và logic (ALU), bộ nhớ chính và các thiết bị vào
ra.
Bộ nhớ chính chứa chương trình và dữ liệu.
Bộ nhớ chính được đánh địa chỉ theo từng ngăn
nhớ không phụ thuộc vào nội dung của nó.
ALU thực hiện các phép toán với số nhị phân.
Đơn vị điều khiển nhận lệnh từ bộ nhớ, giải mã 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.
Trở thành mô hình cơ bản của máy tính.
10. Phan Trung Kiên – ĐH Tây Bắc 10
Các máy tính thương mại ra đời
1947 - Eckert-Mauchly Computer Corporation
UNIVAC I (Universal Automatic Computer)
1950s - UNIVAC II
Nhanh hơn
Bộ nhớ lớn hơn
11. Phan Trung Kiên – ĐH Tây Bắc 11
Hãng IBM
IBM – International Business Machine
1952 – IBM 701
Máy tính lưu trữ chương trình đầu tiên của IBM
Sử dụng cho tính toán khoa học
1955 – IBM 702
Các ứng dụng thương mại
13. Phan Trung Kiên – ĐH Tây Bắc 13
1.2.2. Máy tính dùng transistor
Máy tính PDP-1 của DEC (Digital
Equipment Corporation) máy tính mini đầu tiên
IBM 7000
Hàng trăm nghìn phép cộng trong một giây
Các ngôn ngữ lập trình bậc cao ra đời.
16. Phan Trung Kiên – ĐH Tây Bắc 16
1.2.3. Máy tính dùng vi mạch SSI, MSI
và LSI
Vi mạch (Integrated Circuit – IC): nhiều
transistor và các phần tử khác được tích hợp
trên một chip bán dẫn.
SSI (Small Scale Integratinon)
MSI (Medium Scale Integration)
LSI (Large Scale Integration)
VLSI (Very Large Scale Integration) (dùng cho máy
tính hệ thứ tư)
Siêu máy tính xuất hiện: CRAY-1, VAX
Bộ vi xử lý (microprocessor) ra đời
Bộ xử lý đầu tiên: Intel 4004 (1971).
17. Phan Trung Kiên – ĐH Tây Bắc 17
Luật Moore
Gordon Moore - người đồng sáng lập Intel
Số transistors trên chip sẽ gấp đôi sau 18 tháng
Giá thành của chip hầu như không thay đổi
Mật độ cao hơn, do vậy đường dẫn ngắn hơn
Kích thước nhỏ hơn dẫn tới độ phức tạp tăng lên
Điện năng tiêu thụ ít hơn
Hệ thống có ít các chip liên kết với nhau, do đó
tăng độ tin cậy
25. Phan Trung Kiên – ĐH Tây Bắc 25
1.2.4. Máy tính dùng vi mạch VLSI
Các sản phẩm chính của công nghệ VLSI:
Bộ vi xử lý (Microprocessor): CPU được chế tạo
trên một chip.
Vi mạch điều khiển tổng hợp (chipset): một
hoặc một vài vi mạch thực hiện được nhiều
chức năng điều khiển và nối ghép.
Bộ nhớ bán dẫn (Semiconductor Memory):
ROM, RAM
Các bộ vi điều khiển (Microcontroller): máy
tính chuyên dụng được chế tạo trên một chip.
26. Phan Trung Kiên – ĐH Tây Bắc 26
Các hệ thống máy tính hiện đại
Máy tính nhúng
Máy tính cá nhân (PC)
Máy trạm làm việc
Máy chủ (Servers)
Mạng máy tính
Internet - Mạng máy tính toàn cầu
30. Phan Trung Kiên – ĐH Tây Bắc 30
Siêu máy tính Roadrunner của IBM (2008)
31. Phan Trung Kiên – ĐH Tây Bắc 31
Roadrunner
6 tỷ người trên trái đất dùng máy tính nhỏ thực
hiện các phép toán liên tục 24 giờ/ngày, 7 ngày/
tuần ròng rã 46 năm mới bằng Roadrunner làm
việc trong 1 ngày.
6.948 chip vi xử lý lõi kép AMD Opteron trên các
phiến IBM LS21 Blades
12.960 chip Cell trên các phiến IBM QS22
Blades.
Tổng dung lượng bộ nhớ 80-terabyte.
Diện tích: 1,800 mét vuông
90km cáp quang.
3,9 megawatt
Hơn 1 triệu tỉ phép tính/s
33. Phan Trung Kiên – ĐH Tây Bắc 33
Các thành phầ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.
34. Phan Trung Kiên – ĐH Tây Bắc 34
Kiến trúc Von Neumann
Bao gồm các thành phần: CPU, bộ nhớ
chính và các thiết bị vào ra, liên kết hệ
thống.
Các lệnh (chương trình) và dữ liệu nằm
trong cùng một bộ nhớ đọc ghi.
Bộ nhớ chính được đánh địa chỉ theo
từng ngăn nhớ không phụ thuộc vào nội
dung của nó.
Lệnh được thực hiện một cách tuần tự.
35. Phan Trung Kiên – ĐH Tây Bắc 35
1.3. Các thành phần cơ bản của máy
tính
Bộ xử lý trung tâm
Hệ thống nhớ
Hệ thống vào ra
Bus liên kết hệ thống
Phần mềm
36. Phan Trung Kiên – ĐH Tây Bắc 36
Mức cao nhất
Computer
Main
Memory
Input
Output
Systems
Interconnection
Peripherals
Communication
lines
Central
Processing
Unit
Computer
37. Phan Trung Kiên – ĐH Tây Bắc 37
1.3.1. Bộ xử lý trung tâm CPU
(Central Processing Unit)
Computer Arithmetic
and
Login Unit
Control
Unit
Internal CPU
Interconnection
Registers
CPU
I/O
Memory
System
Bus
CPU
38. Phan Trung Kiên – ĐH Tây Bắc 38
Chức năng
Điều khiển hoạt động của toàn bộ hệ thống
máy tính.
Xử lý dữ liệu.
39. Phan Trung Kiên – ĐH Tây Bắc 39
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 bằng cách nhận lần
lượt từng lệnh từ bộ nhớ chính, sau đó
tiến hành giải mã lệnh và phát các tín hiệu
điều khiển thực thi lệnh.
Trong quá trình thực thi lệnh, CPU có thể
trao đổi dữ liệu với bộ nhớ chính hay hệ
thống vào – ra.
40. Phan Trung Kiên – ĐH Tây Bắc 40
Các thành phần cơ bản của CPU:
Đơn vị điều khiển
(CU)
Đơn vị số học
và logic(ALU)
Bus bên trong
Tập các thanh ghi
(RF)
Đơn vị nối ghép bus (BIU)
Bus bên ngoài
41. Phan Trung Kiên – ĐH Tây Bắc 41
Các thành phần cơ bản của CPU:
Đơn vị điều khiển (Control Unit – CU): điều khiển hoạt
động của máy tính theo chương trình đã định sẵn.
Đơn vị số học và logic (Arithmetic and Logic Unit –
ALU): thực hiện các phép toán số học và các phép toán
logic trên các dữ kiệu cụ thể.
Tập thanh ghi (Register File – RF): lưu trữ thông tin tạm
thời phục vụ cho hoạt động của CPU.
Bus bên trong (Internal Bus): kết nối các thành phần
bên trong CPU với nhau.
Đơn vị nối ghép bus (Bus Interface Unit – BIU): kết nối
và trao đổi thông tin với nhau giữa bus bên trong
(Internal bus) với bus bên ngoàI (external bus).
42. Phan Trung Kiên – ĐH Tây Bắc 42
Khái niệm bộ vi xử lý (Microprocessor)
Là CPU được chế tạo trên một vi mạch
(chip).
VD: Các hệ vi xử lý của Intel:
4 bit : 4004 ( 1971)
8 bit : 8080 (1972 – 1977)
16 bit : 8086/ 8088 80286(1978 - …)
32 bit : 80386 P4 (1983 - …)
64 bit : Itanium (1992 - …)
43. Phan Trung Kiên – ĐH Tây Bắc 43
Bộ vi xử lý
Tốc độ của bộ vi xử lý: được đánh giá
gián tiếp thông qua tần số của xung đồng
hồ (clock) cần thiết cung cấp cho bên
trong bộ xử lý làm việc.
T0
44. Phan Trung Kiên – ĐH Tây Bắc 44
Bộ vi xử lý
Một thao tác của CPU mất một số nguyên
lần chu kỳ T0 T0 càng nhỏ thì CPU càng
nhanh.
Tần số xung đồng hồ: f0 = 1/T0 gọi là tần
số làm việc của CPU.
VD: Máy tính dùng bộ xử lý Pentium IV
12GHz.
Ta có: f0 = 2GHz = 2 * 109Hz
T0 = 1/f0 = 1(2*109) = 0.5 ns
45. Phan Trung Kiên – ĐH Tây Bắc 45
1.3.2. Bộ nhớ máy tính (Memory System)
Chức năng: lưu trữ chương trình và dữ
liệu
Các thao tác cơ bản với bộ nhớ:
Thao tác đọc (Read)
Thao tác ghi (Write)
Các thành phần chính:
Bộ nhớ trong (Internal Memory)
Bộ nhớ ngoài (External Memory)
46. Phan Trung Kiên – ĐH Tây Bắc 46
a. Bộ nhớ trong
Chức năng và đặc điểm:
Chứa các thông tin mà CPU có thể trao đổi trực
tiếp
Tốc độ rất nhanh
Dung lượng không lớn
Sử dụng bộ nhớ bán dẫn: ROM và RAM
Các loại bộ nhớ trong:
Bộ nhớ chính
Bộ nhớ cache (bộ nhớ đệm thanh)
47. Phan Trung Kiên – ĐH Tây Bắc 47
Bộ nhớ chính (Main Memory)
Là thành phần nhớ tồn tại trên mọi hệ thống
máy tính.
Chứa các chương trình và dữ liệu đang được
CPU sử dụng.
Tổ chức thành các ngăn nhớ được đánh địa chỉ.
Ngăn nhớ thường được tổ chức theo byte.
Nội dung của ngăn nhớ có thể thay đổi, song địa
chỉ vật lý của ngăn nhớ luôn cố định.
48. Phan Trung Kiên – ĐH Tây Bắc 48
Bộ nhớ chính (Main Memory)
Nội dung Địa chỉ
00101011 0000
11010101 0001
01011000 0011
11111011 0100
00001000 0101
11101010 0110
00000000 0111
10011101 1000
00101010 1001
11101011 1010
00000010 1011
00001010 0010
00101011 1100
00101011 1101
11111111 1110
10101010 1111
49. Phan Trung Kiên – ĐH Tây Bắc 49
Bộ nhớ chính (Main Memory)
Thông thường bộ nhớ chính bao gồm 2
phần:
Bộ nhớ RAM
Bộ nhớ ROM
50. Phan Trung Kiên – ĐH Tây Bắc 50
Bộ nhớ đệm nhanh (Cache Memory)
Là thành phần nhớ tố độ nhanh được đặt đệm
gữa CPU và bộ nhớ chính nhằm tăng tốc độ truy
cập bộ nhớ của CPU.
Tốc độ của cache nhanh hơn bộ nhớ chính
nhưng dung lượng nhỏ hơn.
Cache thường được chia thành một số mức:
cache L1, cache L2, …
Hiện nay cache được tích hợp trên các chíp vi
xử lý.
Cache có thể có hoặc không.
51. Phan Trung Kiên – ĐH Tây Bắc 51
b. Bộ nhớ ngoài
+ Chức năng và đặc điểm:
Lưu giữ tài nguyên phần mềm của máy tính, bao gồm :
hệ điều hành. Các chương trình và dữ liệu.
Bộ nhớ ngoài đựơc kết nối với hệ thống dưới dạng các
thiết bị vào – ra.
Dung lượng lớn.
Tốc độ chậm.
Các loại bộ nhớ ngoài:
Bộ nhớ từ: đĩa cứng, đĩa mềm
Bộ nhớ quang: đĩa CD, DVD
Bộ nhớ bán dẫn: Flash disk
52. Phan Trung Kiên – ĐH Tây Bắc 52
3. Hệ thống vào - ra (Input/Output
System)
Chức năng: Trao đổi thông tin với thế giới
bên ngoài.
Các thao tác cơ bản:
Vào dữ liệu(Input)
Ra dữ liệu(Output)
Các thành phần chính:
Các thiết bị ngoại vi
Các mô - đun nối ghép vào – ra
53. Phan Trung Kiên – ĐH Tây Bắc 53
Cấu trúc cơ bản của hệ thống vào – ra:
Thiết bị
ngoại vi
Cổng
vào
ra
Thiết bị
ngoại vi
Thiết bị
ngoại vi
Cổng
vào
ra
Cổng
vào
ra
Mô - đun
vào - ra
Nối ghép
với CPU
va
bô nhớ
chính
54. Phan Trung Kiên – ĐH Tây Bắc 54
Các thiết bị ngoại vi (Peripheral
Devices):
Chức năng: chuyển đổi dữ liệu giữa bên
trong và bên ngoài máy tính.
Các loại thiết bị ngoại vi cơ bản:
Thiết bị vào: bàn phím, chuột, máy quét …
Thiết bị ra: màn hình, máy in …
Thiết bị nhớ: các ổ đĩa …
Thiết bị truyền thông: modem …
55. Phan Trung Kiên – ĐH Tây Bắc 55
Các mô - đun vào – ra (IO Modules)
Chức năng: nối ghép thiết bị ngoại vi với máy
tính
Khái niệm cổng vào – ra
Trong mỗi mô đun vào – ra có một hoặc vài cổng
vào – ra (IO/Port). Mỗi cổng vào ra cũng được đánh
một địa chỉ xác định
Thiết bị ngoại vi đựơc kết nối và trao đổi dữ liệu với
bên trong máy tính thông qua các cổng vào - ra
56. Phan Trung Kiên – ĐH Tây Bắc 56
Truyền dữ liệu giữa thiết bị và máy
tính:
Phải có kết nối vật lý
Trên kết nối vật lý đó tồn tại quy tắc về
trao đổi dữ liệu (phần mềm) gọi là giao
thức.
58. Phan Trung Kiên – ĐH Tây Bắc 58
1.4. Các hoạt động cơ bản của máy
tính
Thực hiện chương trình
Ngắt
Chuyển nhượng quyền điều khiển hệ
thống
59. Phan Trung Kiên – ĐH Tây Bắc 59
1.4.1. Thực hiện chương trình
Nguyên tắc hoạt động:
Chương trình đang thực hiện phải nằm trong bộ nhớ
chính của máy tính.
Thực hiện chương trình là lặp đi lặp lại chu trình lệnh
gồm 2 bước:
Nhận lệnh
Thực thi lệnh
Việc thực hiện chương trình chỉ bị dừng nếu
như tắt máy tính, bị lỗi nghiêm trọng khi thực thi
lệnh hoặc gặp lệnh dừng chương trình.
60. Phan Trung Kiên – ĐH Tây Bắc 60
1.4.1. Thực hiện chương trình
Bắt đầu
Nhận lệnh
Thực thi lệnhh
Dừng
61. Phan Trung Kiên – ĐH Tây Bắc 61
Nhận lệnh:
Bắt đầu mỗi chu trình lệnh, CPU sẽ nhận lệnh
từ bộ nhớ chính đưa vào bên trong CPU.
Bên trong CPU có 2 thanh ghi liên quan trực
tiếp đến quá trình nhận lệnh:
Thanh ghi bộ đếm chương trình (Program Count –
PC): chứa địa chỉ của lệnh sẽ được nhận vào.
Thanh ghi lệnh (Instruction Register – IR): lệnh được
nhận từ bộ nhớ chính sẽ được nạp vào IR.
62. Phan Trung Kiên – ĐH Tây Bắc 62
Nhận lệnh:
Hoạt động nhận lệnh diễn ra như sau:
CPU phát địa chỉ của lệnh cần nhận từ PC đến bộ
nhớ chính
CPU phát tín hiệu điều khiển đọc bộ nhớ
chính(MEMR – Memory Read)
Lệnh từ bộ nhớ chính được chuyển vào IR
Nội dung của PC tự động tăng để trỏ sang lệnh kế
tiếp nằm ngay sau lệnh vừa được nhận.
63. Phan Trung Kiên – ĐH Tây Bắc 63
Minh họa quá trình nhận lệnh
CPU
302
Lệnh
Lệnh
Lệnh i
Lệnh i+1
Lệnh
Lệnh
Lệnh
CPU
PC
Lệnh
Lệnh
Lệnh i
Lệnh i+1
Lệnh
Lệnh
Lệnh
302
PC
IR
IR
3020
3030
3010
3040
3020
3030
3010
3040
Lệnh i
303
64. Phan Trung Kiên – ĐH Tây Bắc 64
Thực thi lệnh:
Lệnh nằm ở IR sẽ được chuyển sang đơn vị
điều khiển (Control Unit). Đơn vị điều khiển sẽ
tiến hành giải mã lệnh và phát các tín hiệu điều
khiển thực thi thao tác mà lệnh yêu cầu.
Các kiểu thao tác của lệnh:
Trao đổi dữ liệu giữa CPU và bộ nhớ chính
Trao đổi dữ liệu giữa CPU và mô - đun vào – ra.
Xử lý dữ liệu thực hiện các phép toán số họchoặc phép
toán logic với các dữ liệu
Điều khiển rẽ nhánh
Kết hợp các thao tác trên
67. Phan Trung Kiên – ĐH Tây Bắc 67
Sơ đồ chu trình thực hiện lệnh
68. Phan Trung Kiên – ĐH Tây Bắc 68
1.4.2. Hoạt động ngắt
Khái niệm chung về ngắt (Interrupt): Ngắt
là cơ chế cho phép CPU tạm dừng
chương trình đang thực hiện để chuyển
sang thực hiện chương trình khác, gọi là
chương trình con phục vụ ngắt.
69. Phan Trung Kiên – ĐH Tây Bắc 69
Các loại ngắt:
Ngắt do lỗi thực hiện chương trình, ví dụ : tràn
số, chia cho 0
Ngắt do lỗi phần cứng, ví dụ lỗi kiểm tra phần
cứng RAM
Ngắt do tín hiệu yêu cầu từ mô - đun vào – ra
gửi đến CPU, yêu cầu CPU ngắt để chuyển
sang thực hiện chương trình con ngắt phục vụ
vào – ra tương ứng.
Ngắt do bộ TIMER (bộ định thời) ngắt định kỳ
CPU để phục vụ cho chế độ hoạt động đa
chương trình
70. Phan Trung Kiên – ĐH Tây Bắc 70
Chu trình xử lý ngắt:
Được thêm vào cuối chu trình lệnh
Sau khi hoàn thành một lệnh, CPU kiểm tra xem
có yêu cầu ngắt gửi đến hay không.
Nếu không có tín hiệu yêu cầu ngắt thì CPU
nhận lệnh kế tiếp.
Nếu có yêu cầu ngắt và ngắt đó được chấp
nhận thì:
CPU cất ngữ cảnh hiện tại của chương trình đang thực
hiện (các thông tin liên quan đến chương trình bị ngắt)
CPU chuyển sang thực hiện chương trình con phục vụ
ngắt tương ứng.
Kết thúc chương trình con đó, CPU khôi phục lại ngữ
cảnh và trở về tiếp tục thực hiện chương trình đang tạm
dừng
72. Phan Trung Kiên – ĐH Tây Bắc 72
Chu trình thực hiện lệnh khi với ngắt
73. Phan Trung Kiên – ĐH Tây Bắc 73
Các chương trình con phục vụ ngắt
ISR (Interrupt Service Routine):
Là tập hợp các chương trình con đã có
sẵn trong bộ nhớ chính của máy tính:
Nằm ở bộ nhớ ROM BIOS
Nằm ở bộ nhớ RAM( chương trình phục
vụ ngắt của hệ điều hành hay của người
lập trình hệ thống, được nạp từ bộ nhớ
ngoài vào trong RAM).
74. Phan Trung Kiên – ĐH Tây Bắc 74
Hoạt động với nhiều ngắt:
Ngắt xảy ra tuần tự
Ngắt xảy ra lồng nhau
77. Phan Trung Kiên – ĐH Tây Bắc 77
Trình tự thời gian khi có nhiều ngắt
78. Phan Trung Kiên – ĐH Tây Bắc 78
1.4.3. Chuyển nhượng quyền điều
khiển hệ thống
Nguyên tắc chung:
Trong hệ thống, ngoài CPU còn có một số thành phần
khác có khả năng điều khiển hệ thống.
VD:
1 bộ xử lý khác
1 bộ điều khiển vào – ra
CPU có thể trao quyền điều khiển hệ thống cho một thành
phần khác. Khi đó CPU thả nổi bus và tách khỏi hệ thống,
còn bộ điều khiển được trao quyền sẽ có toàn quyền sử
dụng bus hệ thống để điều khiển các thành phần khác.
79. Phan Trung Kiên – ĐH Tây Bắc 79
Các bộ điều khiển vào – ra có khả
năng điều khiển hệ thống:
Bộ điều khiển DMA(Direct Memory Access
Controller)
Bộ xử lý vào – ra (IO Processor)
80. Phan Trung Kiên – ĐH Tây Bắc 80
1.5. Liên kết hệ thống
1.5.1. Luồng thông tin trong máy tính
1.5.2. Cấu trúc bus cơ bản
1.5.3. Phân cấp bus trong máy tính
1.5.4. Các vấn đề liên quan đến thiết kế
bus
81. Phan Trung Kiên – ĐH Tây Bắc 81
1.5.1. Luồng thông tin trong máy tính:
Các module trong máy tính:
CPU
Module nhớ
Module vào – ra
→ Cần được kết nối với nhau
85. Phan Trung Kiên – ĐH Tây Bắc 85
→ Có 4 loại thông tin:
Địa chỉ
Dữ liệu
Lệnh
Thông tin điều khiển
86. Phan Trung Kiên – ĐH Tây Bắc 86
1.5.2. Cấu trúc bus cơ bản:
Khái niệm chung về bus:
Bus: tập hợp các đường kết nối dùng để vận
chuyển thông tin giữa các thành phần của máy
tính với nhau.
Độ rộng bus: là số đường dây của bus có thể
truyền thông tin đồng thời (chỉ dùng cho bus địa
chỉ và bus dữ liệu).
88. Phan Trung Kiên – ĐH Tây Bắc 88
Bus địa chỉ (Address bus)
Chức năng: vận chuyển địa chỉ từ CPU
đến mô - đun nhớ hay mô - đun vào – ra
để xác định ngăn nhớ hay cổng vào – ra
mà CPU cần trao đổi thông tin.
Độ rộng bus địa chỉ: xác định dung lượng
bộ nhớ cực đại của hệ thống.
89. Phan Trung Kiên – ĐH Tây Bắc 89
Bus địa chỉ (Address bus)
Nếu độ rộng bus địa chỉ là N bit (gồm N
đường dây A0, A1, A2, …AN-1 ) thì:
→ Có khả năng vận chuyển đựơc N bit địa
chỉ đồng thời
→ Có khả năng đánh địa chỉ tối đa được
2N ngăn nhớ = 2N byte → gọi là không
gian địa chỉ bộ nhớ.
90. Phan Trung Kiên – ĐH Tây Bắc 90
Ví dụ
Độ rộng bus địa chỉ của một số bộ xử lý của
Intel
8088/8086 : N = 20 bit → KGĐCBN = 220 byte =
1MB
80286 : N = 24 bit → KGĐCBN = 224 byte = 16
MB
80386, 80486, Pentium : N = 32 bit → KGĐCBN
= 232 byte = 4 GB
Pentium II, III, 4 : N = 36 bit → KGĐCBN = 236
byte = 64 GB
91. Phan Trung Kiên – ĐH Tây Bắc 91
Bus dữ liệu(Data bus)
Chức năng :
Vận chuyển lệnh từ bộ nhớ đến CPU
Vận chuyển dữ liệu giữa CPU, các mô-đun nhớ
và mô-đun vào - ra với nhau
Độ rộng bus dữ liệu: Xác định số bít dữ
liệu có thể được trao đổi đồng thời
92. Phan Trung Kiên – ĐH Tây Bắc 92
Bus dữ liệu(Data bus)
Nếu độ rộng bus dữ liệu là M bit (gồm M
đường dây D0, D1, …DM-1) thi: nghĩa là
đường bus dữ liệu đó có thể vận chuyển
đồng thời được M bit dữ liệu.
M thường là 8, 16, 32, 64 bit.
93. Phan Trung Kiên – ĐH Tây Bắc 93
Ví dụ
Độ rộng bus dữ liệu của một số bộ xử lý
của Intel:
8088 : M = 8 bit
8086, 80286: M = 16 bit
80386, 80486: M = 32 bit
Các Pentium: M = 64 bit
94. Phan Trung Kiên – ĐH Tây Bắc 94
Bus điều khiển(Control bus)
Chức năng: vận chuyển các tín hiệu điều
khiển
Các loại tín hiệu điều khiển:
Các tín hiệu điều khiển phát ra từ CPU để điều
khiển mô - đun nhớ hay mô - đun vào – ra.
Các tín hiệu yêu cầu từ mô đun nhớ hay mô
đun vào – ra gửi đến CPU
Tín hiệu Clock
95. Phan Trung Kiên – ĐH Tây Bắc 95
Một số tín hiệu điều khiển điển hình:
Các tín hiệu phát ra từ CPU để điều khiển
đọc/ghi:
Memory Read (MEMR): điều khiển đọc dữ liệu từ một
ngăn nhớ có địa chỉ xác định lện bus dữ liệu.
Memory Write (MEMW): điều khiển ghi dữ liệu có sẵn
trên bus dữ liệu đến một ngăn nhớ có địa chỉ xác định.
I/O Read (IOR): điều khiển đọc dữ liệu từ một cổng vào
– ra có địa chỉ xác định trên bus dữ liệu.
I/O Write (IOW): điều khiển ghi dữ liệu có sẵn trên bus
dữ liệu ra một cổng có địa chỉ xác định.
96. Phan Trung Kiên – ĐH Tây Bắc 96
Một số tín hiệu điều khiển điển hình:
Các tín hiệu điều khiển ngắt:
Interrupt Request (INTR): Tín hiệu từ bộ điều khiển vào
– ra gửi đến yêu cầu ngắt CPU để trao đổi vào – ra. Tín
hiệu INTR có thể bị che.
Interrupt Acknowledge (INTA): Tín hiệu phát ra từ CPU
báo cho bộ điều khiển vào - ra biết CPU chấp nhận
ngắt.
Non Maskable Interrupt (NMI): tín hiệu ngắt không che
được gửi đến ngắt CPU.
Reset: Tín hiệu từ bên ngoài gửi đến CPU và các thành
phần khác để khởi động lại máy tính.
97. Phan Trung Kiên – ĐH Tây Bắc 97
Một số tín hiệu điều khiển điển hình:
Các tín hiệu điều khiển bus :
Bus Requet (BRQ): Tín hiệu từ bộ điều khiển
vào – ra chuyên dụng gửi đến yêu cầu CPU
chuyển nhượng quyền sử dụng bus.
Bus Grant (BGT): Tín hiệu phát ra từ CPU chấp
nhận chuyển nhượng quyền sử dụng bus.
Lock: tín hiệu khóa không cho xin chuyển
nhượng bus.
Unlock: tín hiệu mở khóa cho xin chuyển
nhượng bus.
98. Phan Trung Kiên – ĐH Tây Bắc 98
1.5.3. Phân cấp bus trong máy tính:
Cấu trúc đơn bus:
Cấu trúc đa bus:
100. Phan Trung Kiên – ĐH Tây Bắc 100
Đặc điểm của cấu trúc đơn bus:
Tất cả các chương trình cùng nối vào một
đường bus chung.
Tại một thời điểm, bus chỉ phục vụ được yêu
cầu trao đổi dữ liệu.
Bus phải có tốc độ bằng tốc độ của thành phần
nhanh nhất trong hệ thống.
Bus phụ thuộc vào cấu trúc bus của bộ xử lý →
các mô đun nhớ và mô đun vào – ra cũng phụ
thuộc vào bộ xử lý cụ thể.
→ Cần phải thiết kế bus phân cấp hay cấu trúc
đa bus
103. Phan Trung Kiên – ĐH Tây Bắc 103
Đặc điểm của cấu trúc đa bus:
Phân cấp thành nhiều bus khác nhau cho
các thành phần:
Bus của bộ xử lý
Bus bộ nhớ
Bus vào – ra
Phân cấp bus khác nhau về tốc độ
Các bus nối ghép với mô đun nhớ và mô
đun vào – ra không phụ thuộc vào bộ xử lý
cụ thể.
104. Phan Trung Kiên – ĐH Tây Bắc 104
Các bus điển hình trong PC
Bus của bộ xử lý (Front Side Bus - FSB): có tốc độ
nhanh nhất.
Bus của bộ nhớ chính (nối ghép với các mô đun RAM).
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.
PCI bus (Peripheral Component Interconnection): nối
ghép với các TBNV có tốc độ trao đổi dữ liệu nhanh.
USB (Universal Serial Bus): Bus nối tiếp đa năng
IDE (Integrated Driver Electronics): Bus kết nối với ổ đĩa
cứng hoặc ổ đĩa CD, DVD.
105. Phan Trung Kiên – ĐH Tây Bắc 105
Máy tính Pentium IV dùng Chipset 925
106. Phan Trung Kiên – ĐH Tây Bắc 106
1.5.4. Các vấn đề liên quan đến thiết kế
bus:
Các kiểu bus:
Phân xử bus:
Định thời bus (Timing)
107. Phan Trung Kiên – ĐH Tây Bắc 107
Các kiểu bus:
Bus đường riêng (Dedicated):
Các đường địa chỉ và dữ liệu tách rời nhau
Ưu điểm: điều khiển đơn giản
Nhược điểm: Có nhiều đường kết nối
Bus dồn kênh(Multiplexed):
Các đường dùng chung cho địa chỉ và dữ liệu
Có đường điều khiển riêng biệt lhi có địa chỉ hay dữ liệu
Ưu điểm : ít đường dây
Nhược điểm:
Điều khiển phức tạp hơn
Hiệu năng hạn chế
108. Phan Trung Kiên – ĐH Tây Bắc 108
Phân xử bus:
Nếu có nhiều module có khả năng điều khiển bus (VD :
CPU và bộ điều khiển vào – ra ) thì cần phải có cơ chế
phân xử bus
Tại một thời điểm chỉ cho phép một module điều khiển
bus
Có 2 cơ chế phân xử bus:
Phân xử bus tập trung:
Có một bộ điều khiển bus (Bus Controller) hay còn gọi là bộ phân
xử bus(Bus Arbiter)
Có thể là một phần của bộ xử lý hay là mạch tách rời
Phân xử phân tán:
Mỗi module có thể chiếm bus
Có đường điều khiển tới tất cả các module khác
109. Phan Trung Kiên – ĐH Tây Bắc 109
Định thời bus (Timing):
Phối hợp các sự kiện trên bus
Bus đồng bộ :
Các sự kiện xảy ra trên bus được xác định bởi một tín
hiệu xung clock.
Bus điều khiển bao gồm cả đường clock
Tất cả các module có thể đọc đường clock
Bus không đồng bộ:
Không có đường tín hiệu clock
Kết thúc 1 sự kiện này trên bus sẽ kích hoạt 1 sự kiện
tiếp theo
111. Phan Trung Kiên – ĐH Tây Bắc 111
Lược đồ thời gian đọc không đồng bộ
112. Phan Trung Kiên – ĐH Tây Bắc 112
Lược đồ thời gian ghi không đồng bộ
113. Phan Trung Kiên – ĐH Tây Bắc 113
Bài tập
Giả sử với máy tính giả định, cho các mã lệnh
như sau:
0011: Nạp vào AC từ I/O
0111: Lưu AC ra I/O
Hãy chỉ ra các câu lệnh thực hiện chương trình
sau:
Nạp vào AC từ thiết bị 5
Cộng AC với giá trị trong ô nhớ có địa chỉ 940
Đưa giá trị AC ra thiết bị 6.
(Giả sử giá trị sẽ đọc vào từ thiết bị 5 là 3 và ô nhớ 940
có giá trị là 2)