Các thành phần cơ bản của máy tính• Bộ xử lý trung tâm – Khối điều khiển CU – Đường dẫn dữ liệu thanh ghi, ALU • Bộ nhớ chính/trong • Thiết bị vào và ra... • Các thanh ghi đa năng Gene
Trang 1Posts and Telecommunications Institute of Technology
KIẾN TRÚC MÁY TÍNH
Chương II: Tổ chức hệ thống máy tính
Giảng viên: TS Nguyễn Quý Sỹ
Email: synq@ptit.edu.vn
Trang 2Hà nội, 17 December 2009 Học viện Công nghệ Bưu chính Viễn thông
1 Các thành phần cơ bản của máy tính
2 Khối xử lý trung tâm (Bộ xử lý)
Trang 31 Các thành phần cơ bản của máy tính
• Bộ xử lý trung tâm
– Khối điều khiển
(CU) – Đường dẫn dữ liệu
(thanh ghi, ALU)
• Bộ nhớ chính/trong
• Thiết bị vào và ra
Trang 4Hà nội, 17 December 2009 Học viện Công nghệ Bưu chính Viễn thông
1 Các thành phần cơ bản của máy tính (t)
• C ấu trúc hoạt động điển hình của một máy tính
Trang 52 Khối xử lý trung tâm (Bộ xử lý)
Trang 6Hà nội, 17 December 2009 Học viện Công nghệ Bưu chính Viễn thông
2 Khối xử lý trung tâm (t)
Trang 71 Chức năng
• Nạp các toán hạng vào các thanh ghi
• Thực hiện các phép toán số học và logic trên ALU theo điều khiển
của CU
• Lưu kết quả của ALU vào các thanh ghi
2 Các thành phần chính
• Các thanh ghi (Registers)
• Khối số học và logic (ALU)
• Các đường/bus kết nối
2.1 Đường dẫn dữ liệu
Trang 8Hà nội, 17 December 2009 Học viện Công nghệ Bưu chính Viễn thông
• Đường dẫn dữ liệu của một máy tính Von Neumman
thông dụng thực hiện phép toán A+B
2.1 Đường dẫn dữ liệu (t)
Trang 9• Các thanh ghi đa năng (General)
• Các thanh ghi tích luỹ (Accumulator)
• Thanh ghi đếm chương trình (PC: Program Counter),
• Thanh ghi trạng thái (SR: Status Register),
• Thanh ghi đệm TEMP (Temporary),
• Các thanh ghi địa chỉ bộ nhớ (MAR: Memory Address
Register),
• Thanh ghi số liệu bộ nhớ (MDR: Memory Data Register),
• Thanh ghi lệnh (thuộc về CU).
2.1 Đường dẫn dữ liệu – Các thanh ghi
Trang 10Hà nội, 17 December 2009 Học viện Công nghệ Bưu chính Viễn thông
2.1 Đường dẫn dữ liệu – Các thanh ghi (t)
Trang 11• Lưu trữ địa chỉ của lệnh tiếp theo
• Đôi lúc, PC được gọi là thanh ghi điều khiển trình tự mà lệnh
được thi hành
– Được tăng lên (lưu trữ địa chỉ của lệnh tiếp theo) sau khi các nội
dung được sao chép vào MAR.
– Được thay đổi cho các lệnh nhảy
2.1 Đường dẫn dữ liệu – PC
Trang 12Hà nội, 17 December 2009 Học viện Công nghệ Bưu chính Viễn thông
• Sử dụng để lưu giữ địa chỉ bộ nhớ, địa chỉ bộ nhớ chứa hoặc
một phần dữ liệu hoặc lệnh sẽ được dùng tiếp theo
• MAR giữ địa chỉ của lệnh tiếp theo trong khi PC hiện tại giữa
ffịa chỉ của lệnh tiếp theo lệnh có địa chỉ hiện tại trong MAR đang được thi hành
2.1 Đường dẫn dữ liệu – MAR
Trang 13• MDR-Hoạt động như bộ đệm và nắm giữ bất kỳ dữ liệu gì mà
nó sao chép được từ bộ nhớ, sẵn sàng cho bộ xử lý sử dụng
• CIR:
– Nắm giữ lệnh đang được thi hành.
– Chia mã nhị phân thành mã và địa chỉ hoạt động
2.1 Đường dẫn dữ liệu – MDR & CIR
Trang 14Hà nội, 17 December 2009 Học viện Công nghệ Bưu chính Viễn thông
Trang 15Op1 Op2
General-purpose Registers
ALU i/p registers
ALU o/p register
Bus
Trang 16Hà nội, 17 December 2009 Học viện Công nghệ Bưu chính Viễn thông
Trang 171 74LS181-Sơ đồ chân
2.1 Đường dẫn dữ liệu-ALU (t)
181
A3 A2 A1 A0 B3 B2 B1 B0 Cn M S3 S2 S1 S0
F3 F2 F1 F0 A=B
G P
Cn+4 1
2
3 4 5 6
7 8
9 10 11 13
14
15
16 17 18
19
20
21
22 23
Trang 18Hà nội, 17 December 2009 Học viện Công nghệ Bưu chính Viễn thông
F = A plus (A + not B) plus 1
F = A B plus (A + not B) plus 1
Trang 191 Chức năng
– Thực hiện chu kỳ Lấy-Thi hành (Fetch-Execute Cycle)
– Lấy lệnh từ bộ nhớ, giải mã và đồng bộ các hoạt động trước khi gửi
tín hiệu tới các phần của máy tính – Tạo ra các tín hiệu điều khiển
• Di chuyển số liệu
• Thực hiện các thao tác số liệu – Điều khiển thực hiện các lệnh tuần tự
– Chứa các thanh ghi IR (CIR-Thanh ghi lệnh hiện tại) và PC
(SCR-thanh ghi điều khiển trình tự)
2 Phân loại
• Khối điều khiển bằng mạch điện tử
2.2 Khối điều khiển (CU)
Trang 20Hà nội, 17 December 2009 Học viện Công nghệ Bưu chính Viễn thông
2.2 Khối điều khiển (t)
Trang 211 Sử dụng Automate trạng thái hữu hạn: có nhiều hệ thống
hay nhiều thành phần mà ở mỗi thời điểm xem xét đều có một trạng thái (state).
2 Có số trạng thái hữu hạn
3 Tài nguyên cố định: các mạch điện cố định trong máy
tính, chương trình đơn giản
4 Có thể sử dụng PLA để thực hiện.
5 Thường sử dụng trong các bộ xử lý RISC
2.2 CU-Khối điều khiển bằng mạch điện tử
Trang 22Hà nội, 17 December 2009 Học viện Công nghệ Bưu chính Viễn thông
2.2 CU-Khối điều khiển bằng mạch điện tử (t)
Trang 23• Điều khiển các tác vụ của một lệnh mã máy được thực hiện
bằng một chuỗi các vi lệnh
• Các tác vụ của lệnh mã máy cũng tuỳ thuộc vào trạng thái của
phần đường dẫn dữ liệu
• Bộ điều khiển bằng vi chương trình được dùng rộng rãi trong
các bộ xử lý CISC Bộ xử lý này có tập lệnh phức tạp với các lệnh có chiều dài khác nhau và có dạng thức phức tạp
• Trong các bộ xử lý CISC, người ta cài đặt một lệnh mã máy
bằng cách viết một vi chương trình Như vậy công việc khá đơn giản và rất hữu hiệu Các sai sót trong thiết kế automat điều khiển cũng dễ sửa đổi
2.2 CU-Khối điều khiển bằng vi chương trình
Trang 24Hà nội, 17 December 2009 Học viện Công nghệ Bưu chính Viễn thông
2.2 CU-Khối điều khiển bằng vi chương trình
Trang 251 Lấy lệnh (IF)
2 Thay đổi bộ đếm chương trình (PC)
3 Xác định kiểu của chỉ thị vừa tải về (ID)
4 Xác định vị trí dữ liệu của toán hạng (trong thanh ghi, bộ
nhớ)
5 Nạp dữ liệu vào thanh ghi (trường hợp dữ liệu ở bộ nhớ)
6 Thi hành lệnh (IE)
7 Lưu kết quả vào nơi thích hợp (Restore)
8 Quay lại bước 1
• Kỹ thuật đường ống (Pipeline)- Xử lý song song các lệnh
2.2 CU-Chu kỳ thực hiện lệnh
Trang 26Hà nội, 17 December 2009 Học viện Công nghệ Bưu chính Viễn thông
1 Tập lệnh mà người lập trình có thể sử dụng
2 Các tập lệnh khác nhau có số lượng lệnh khác nhau
3 Thông thường 20-300 lệnh/1 tập lệnh
4 Các lệnh không sử dụng thường xuyên như nhau
5 Các máy tính có tập lệnh nhỏ, mạch điện tử-RISC
6 Các máy tính có tập lệnh lớn, vi chương trình-CISC
2.2 CU-Tập lệnh
Trang 27• CU như một máy tính, được vi chương trình hoá
• Tập lệnh có số lượng lên tới 300 lệnh và có các cách đánh địa
chỉ phức tạp
• Thực hiện lệnh chậm nhưng đa năng
• Kiến trúc máy tính với tập lệnh phức tạp CISC được nghĩ ra
từ những năm 1960
• CISC phù hợp:
– Các kiểu toán hạng ô nhớ-ô nhớ, ô nhớ-thanh ghi
– Các lệnh phức tạp với nhiều kiểu định vị
– Các lệnh có độ dài thay đổi
2.2 CU-Tập lệnh CISC
Trang 28Hà nội, 17 December 2009 Học viện Công nghệ Bưu chính Viễn thông
2.2 CU-Tập lệnh CISC (t)
Trang 29• Có một số ít lệnh (thông thường dưới 100 lệnh )
• Có ít các kiểu định vị (thông thường hai kiểu: định vị tức thì
và định vị gián tiếp thông qua một thanh ghi)
• Có một số ít dạng lệnh (một hoặc hai)
• Các lệnh đều có cùng chiều dài
• Chỉ có các lệnh ghi hoặc đọc ô nhớ mới thâm nhập vào bộ
nhớ
• Dùng bộ tạo tín hiệu điều khiển bằng mạch điện
• Sử dụng nhiều thanh ghi để giảm bớt việc thâm nhập vào bộ
nhớ trong
• Bộ xử lý RISC thực hiện tất cả các lệnh trong một chu kỳ
2.2 CU-Tập lệnh RISC
Trang 30Hà nội, 17 December 2009 Học viện Công nghệ Bưu chính Viễn thông
2.2 CU-Tập lệnh RISC (t)
Trang 31• Diện tích giảm từ 60% (CISC) xuống 10% Như vậy có thể
tích hợp thêm vào bên trong bộ xử lý các thanh ghi, các cổng vào ra và bộ nhớ cache
• Tốc độ tính toán cao nhờ vào việc giải mã lệnh đơn giản, nhờ
có nhiều thanh ghi (ít thâm nhập bộ nhớ), và nhờ thực hiện kỹthuật ống dẫn liên tục và có hiệu quả (các lệnh đều có thời gian thực hiện giống nhau và có cùng dạng)
• Bộ điều khiển trở nên đơn giản và gọn, ít rủi ro
2.2 CU-Tập lệnh RISC-lợi ích
Trang 32Hà nội, 17 December 2009 Học viện Công nghệ Bưu chính Viễn thông
• Các chương trình dài ra so với chương trình viết cho bộ xử lý
CISC
• Tập lệnh có ít lệnh nên các lệnh không có sẵn phải được thay
thế bằng một chuỗi lệnh của bộ xử lý RISC
• Xây dựng các chương trình biên dịch phức tạp
• Có ít lệnh trợ giúp cho ngôn ngữ cấp cao (Bộ xử lý CISC trợ
giúp mạnh hơn các ngôn ngữ cao cấp nhờ có tập lệnh phức tạp)
→ Nâng cao hiệu quả bộ xử lý: Sử dụng kết hợp RISC và CISC?
2.2 CU-Tập lệnh RISC-bất lợi
Trang 33• Thuật ngữ: memory, store, storage
• Lưu trữ chương trình và dữ liệu
• Lưu trữ dưới dạng mã nhị phân (đơn vị thông tin-bit)
• Bộ nhớ bao gồm các ô nhớ có cùng kích thước, mỗi ô nhớ có
một địa chỉ duy nhất-đơn vị bộ nhớ (byte)
• Word: số byte mà hầu hết các lệnh của bộ xử lý thao tác như
một đơn vị
→ Lưu trữ các byte trong Word như thế nào?
3 Bộ nhớ
Trang 34Hà nội, 17 December 2009 Học viện Công nghệ Bưu chính Viễn thông
3 Bộ nhớ-Thứ tự các byte trong word
2 3
16 3
2 1
0 12
32-bit word 32-bit word
0 1
2 3
12 3
2 1
0 8
0 1
2 3
8 3
2 1
0 4
0 1
2 3
4 3
2 1
0 0
Little Edian Địa chỉ
Big Edian Địa chỉ
Trang 35– Rẻ hơn → Dung lượng lớn hơn
• Thuật ngữ liên quan
– Cache, I-Cache, D-Cache
– Bộ nhớ sơ cấp (primary)
– Bộ nhớ thứ cấp (secondary)
– Khối thông tin chuyển giao giữa cache-sơ cấp là KHỐI (Block), giữa sơ
cấp-thứ cấp: TRANG (Page)
Trang 36Hà nội, 17 December 2009 Học viện Công nghệ Bưu chính Viễn thông
– Rẻ hơn → Dung lượng lớn hơn
• Thuật ngữ liên quan
– Cache, I-Cache, D-Cache
– Bộ nhớ sơ cấp (primary)
– Bộ nhớ thứ cấp (secondary)
– Khối thông tin chuyển giao giữa cache-sơ cấp là KHỐI (Block), giữa sơ
cấp-thứ cấp: TRANG (Page) – Đường cache (Cache Line), Hit, Miss, Hit Rate
– Chiến lược thay thế: ngẫu nhiên, FIFO, LRU
Trang 37• Mục tiêu:
– Đưa thông tin vào-Lấy thông tin ra
– Ghép nối các thiết bị ngoại vi
• Các phương pháp tổ chức vào/ra
1 Phương pháp I/O được lập trình với việc luôn đợi (Programmed I/O
with busy waiting)
2 Phương pháp I/O được điều khiển bởi ngắt (Interrupt-driven I/O)
3 Phương pháp I/O sử dụng DMA (DMA I/O)
4 Phương pháp I/O sử dụng kênh dữ liệu (I/O using data channel)
4 Tổ chức vào ra
Trang 38Hà nội, 17 December 2009 Học viện Công nghệ Bưu chính Viễn thông
• Thường được sử dụng trong các bộ xử lý nhúng
• Ưu điểm:
– Đơn giản
– Không đắt
• Nhược điểm:
– Phải chờ đợi ở trạng thái bận: CPU phải chờ trả lời (phản ứng) từ
thiết bị ngoại vi (luôn luôn sẵn sàng)
• Chương trình ví dụ: Liên tục kiểm tra một bit ở một cổng nào
đó (While-Do)
4.1 Phương pháp I/O được lập trình
Trang 39• Thường sử dụng cho các máy tính yêu cầu thiết bị ngoại vi
– Sử dụng nhiều chu kỳ: ngắt cần thiết cho mọi ký tự được truyền đi
• Các giao diện I/O:
– Bộ điều khiển: trên card ngoại vi
– Cắm vào các khe (slots)/cổng (ports): PCI, ISA, AGP, USB, COM,
LPT,
4.2 Phương pháp I/O được điều khiển bởi ngắt
Trang 40Hà nội, 17 December 2009 Học viện Công nghệ Bưu chính Viễn thông
• Bộ điều khiển DMA giúp CPU giám sát xử lý các ngắt (dắt
tiền-xa xỉ)
• Nhược điểm
– Cạnh tranh bus giữa DMA và CPU
• Trộm chu kỳ bus (DMA lấy chu kỳ bus khỏi CPU) do tham chiếu
(thăm hỏi) bộ nhớ thường xuyên và thiết bị I/O thường xuyên bởi DMA
• Ưu điểm
– Chỉ ngắt CPU khi yêu cầu hoàn thành hơn cho từng bit, byte, word
4.3 Phương pháp I/O sử dụng DMA (DMA I/O)
Trang 414.3 DMA I/O (t)
Bộ điều khiển DMA ghi 1 khối 32 bytes từ
địa chỉ bộ nhớ 100 tới thiết bị (Terminal)
Trang 42Hà nội, 17 December 2009 Học viện Công nghệ Bưu chính Viễn thông
• Thường sử dụng cho các máy tính lớn-MainFrame
• MainFrame thường trang bị nhiều bus, ít nhất là ba:
– Bus bộ nhớ: cho phép các bộ điều khiển I/O đọc/viết trực tiếp bộ
nhớ chính – I/O bus: cho phép CPU truyền các lệnh tới các bộ điều khiển I/O và
bộ điều khiển I/O ngắt CPU – Bus thứ ba: Cho phép CPU truy cập bộ nhớ không qua 2 bus trên
4.4 Phương pháp I/O sử dụng kênh dữ liệu
Trang 43Kết thúc bài 2