Tổ chức CPU – bộ nhớ
Chương 02
CBGD: Nguyễn Trần Thi Văn
KIẾN TRÚC MÁY TÍNH & HỆ ĐIỀU HÀNH
Đại học Sư phạm Kỹ thuật TP. HCM
Khoa Công nghệ Thông tin
o0o
Tổ chức CPU – bộ nhớ
KTMT & Hệ điều hành
2
Sunday, July 13, 2014
Nội dung của chương
1. Thành phần cơ bản của máy tính
2. Kiến trúc phần mềm của bộ xử lý
3. Tổ chức bộ xử lý
4. Các cấp bộ nhớ
Tổ chức CPU – bộ nhớ
KTMT & Hệ điều hành
3
Sunday, July 13, 2014
Mục tiêu của chương
•
Trình bày được các thành phần cơ bản của
một hệ thống máy tính
•
Định nghĩa được kiến trúc máy tính là gì
•
Trình bày được kiến trúc phần mềm của
bộ xử lý
•
Trình bày được các cấp tổ chức bộ nhớ
Tổ chức CPU – bộ nhớ
KTMT & Hệ điều hành
4
Sunday, July 13, 2014
Các thành phần của máy tính
•
Gồm bộ xử lý trung tâm, bộ nhớ trong
và các thiết bị nhập/xuất thông tin
Tổ chức CPU – bộ nhớ
KTMT & Hệ điều hành
5
Sunday, July 13, 2014
Các thành phần của máy tính
•
Bộ nhớ trong:
–
Là một tập hợp các ô nhớ, mỗi ô nhớ có một số
bit nhất định chứa thông tin.
–
Các thông tin này là các lệnh hay số liệu.
–
Mỗi ô nhớ của bộ nhớ trong đều có một địa chỉ.
–
Thời gian thâm nhập vào một ô nhớ bất kỳ
trong bộ nhớ là như nhau
–
Còn được gọi là bộ nhớ truy cập ngẫu nhiên
(RAM: Random Access Memory)
Tổ chức CPU – bộ nhớ
KTMT & Hệ điều hành
6
Sunday, July 13, 2014
Các thành phần của máy tính
•
Bộ xử lý trung tâm (CPU):
–
Là bộ phận thi hành lệnh.
–
CPU lấy lệnh từ bộ nhớ trong và lấy các số
liệu mà lệnh đó xử lý.
–
Gồm có hai phần: phần thi hành lệnh (ALU)
và phần điều khiển (CU). Ngoài ra còn có
các thanh ghi.
Tổ chức CPU – bộ nhớ
KTMT & Hệ điều hành
7
Sunday, July 13, 2014
Các thành phần của máy tính
•
Bộ phận vào/ra:
–
Dùng để nhập/xuất thông tin.
–
Giao tiếp người-máy, hoặc giao tiếp máy-
máy trong hệ thống mạng
–
Có thể là thiết bị lưu trữ ngoài, màn hình, bàn
phím, máy in, …
Tổ chức CPU – bộ nhớ
KTMT & Hệ điều hành
8
Sunday, July 13, 2014
Các thành phần của máy tính
•
Các bộ phận được kết nối với nhau
thông qua hệ thống bus:
–
Bus địa chỉ: chuyển các thông tin là địa chỉ
–
Bus dữ liệu: chuyển dữ liệu chung
–
Bus điều khiển: chuyển các tín hiệu điều
khiển, ra lệnh
Tổ chức CPU – bộ nhớ
KTMT & Hệ điều hành
9
Sunday, July 13, 2014
Các thành phần của máy tính.
•
Hoạt động điển hình của 1 máy tính:
Tổ chức CPU – bộ nhớ
KTMT & Hệ điều hành
10
Sunday, July 13, 2014
Kiến trúc máy tính
•
Kiến trúc máy tính bao gồm 3 phần:
–
Kiến trúc phần mềm: chủ yếu là kiến trúc
BXL, gồm tập lệnh, dạng lệnh và các kiểu
định vị.
–
Tổ chức của máy tính: liên quan đến cấu
trúc BXL, các bus và cách tổ chức bộ nhớ
–
Lắp đặt phần cứng: các thiết bị điện tử cần
thiết để tạo nên một máy tính hoàn chỉnh.
Tổ chức CPU – bộ nhớ
KTMT & Hệ điều hành
11
Sunday, July 13, 2014
Kiến trúc phần mềm của BXL
•
Nội dung chính của phần:
1. Các kiểu thi hành 1 lệnh máy
2. Kiến trúc thanh ghi đa dụng
3. Tập lệnh
4. Các kiểu định vị
5. Toán hạng
6. Kiến trúc RISC.
Tổ chức CPU – bộ nhớ
KTMT & Hệ điều hành
12
Sunday, July 13, 2014
Kiến trúc phần mềm của BXL
•
Các kiểu thi hành 1 lệnh máy
–
Một lệnh máy bao gồm: mã tác vụ và các
toán hạng.
–
Số toán hạng cần chọn phù hợp, thường từ
0 đến 3.
–
Ví dụ: Y := A + B + C + D
1 lệnh máy, 4 toán hạng >> 3 mạch cộng
3 lệnh máy, 2 toán hạng >> 1 mạch cộng
Tổ chức CPU – bộ nhớ
KTMT & Hệ điều hành
13
Sunday, July 13, 2014
Kiến trúc phần mềm của BXL
•
Các kiểu thi hành 1 lệnh máy
–
Vị trí của toán hạng cũng cần xem xét.
–
Có 3 kiểu cơ bản:
Tổ chức CPU – bộ nhớ
KTMT & Hệ điều hành
14
Sunday, July 13, 2014
Kiến trúc phần mềm của BXL
•
Các kiểu thi hành 1 lệnh máy
–
Ví dụ: chuỗi lệnh cần thực hiện để tính
C := A + B trong 3 kiến trúc phần mềm
Tổ chức CPU – bộ nhớ
KTMT & Hệ điều hành
15
Sunday, July 13, 2014
Kiến trúc phần mềm của BXL
•
Các kiểu thi hành 1 lệnh máy.
–
Kiến trúc thanh ghi dùng chung được sử
dụng rộng rãi vì tốc độ truy xuất nhanh, ít
giao tiếp bộ nhớ thường xuyên và tăng
hiệu quả của các trình dịch.
–
(Ưu khuyết điểm của từng kiến trúc, xem tr.
26, 27, chương II, giáo trình KTMT)
Tổ chức CPU – bộ nhớ
KTMT & Hệ điều hành
16
Sunday, July 13, 2014
Kiến trúc phần mềm của BXL
•
Kiến trúc thanh ghi đa dụng.
–
Một lệnh ALU có 2 hoặc 3 toán hạng
–
Nếu có 3 toán hạng thì 1 sẽ chứa kết quả
thực hiện phép tính của 2 toán hạng còn lại
–
Số toán hạng bộ nhớ trong 1 lệnh có thể từ
0 tới 3
–
Do đó 1 lệnh có thể chia thành: thanh ghi-
thanh ghi, thanh ghi-bộ nhớ, bộ nhớ-bộ
nhớ.
Tổ chức CPU – bộ nhớ
KTMT & Hệ điều hành
17
Sunday, July 13, 2014
Kiến trúc phần mềm của BXL
•
Tập lệnh
–
Cú pháp chung:
Mã lệnh Rdest, Rsource1, Rsource2
–
Trong đó:
•
Rdest: thanh ghi đích
•
Rsource1: thanh ghi nguồn thứ nhất
•
Rsource2: thanh ghi nguồn thứ hai
Tổ chức CPU – bộ nhớ
KTMT & Hệ điều hành
18
Sunday, July 13, 2014
Kiến trúc phần mềm của BXL
•
Tập lệnh
–
Các lệnh gán trị:
•
Lệnh bộ nhớ: LOAD, STORE
•
Lệnh số học: ADD, ADDD, SUB, SUBD, MUL,
DIV
•
Lệnh logic: AND, OR, XOR, NEG
•
Các lệnh dịch chuyển: SLL, SRL, SLA, SRA
Tổ chức CPU – bộ nhớ
KTMT & Hệ điều hành
19
Sunday, July 13, 2014
Kiến trúc phần mềm của BXL
•
Tập lệnh
Tổ chức CPU – bộ nhớ
KTMT & Hệ điều hành
20
Sunday, July 13, 2014
Kiến trúc phần mềm của BXL
•
Tập lệnh
–
Các lệnh điều kiện:
Nếu <điều kiện> thì <chuỗi lệnh 1> nếu không
<chuỗi lệnh 2>
(IF <condition> THEN <instructions1> ELSE
<instructions2>)
•
Được hiện thực hóa bằng cách sử dụng lệnh
nhảy (di chuyển đến lệnh cần thực hiện 1 cách
không tuần tự)
Tổ chức CPU – bộ nhớ
KTMT & Hệ điều hành
21
Sunday, July 13, 2014
Kiến trúc phần mềm của BXL
•
Tập lệnh
–
Vòng lặp:
•
Cho phép lặp đi lặp lại 1 đoạn lệnh nhiều lần
•
Được hiện thực hóa bằng cách sử dụng lệnh
nhảy (quay lại vị trí lệnh đã đi qua)
Tổ chức CPU – bộ nhớ
KTMT & Hệ điều hành
22
Sunday, July 13, 2014
Kiến trúc phần mềm của BXL
•
Tập lệnh.
–
Truy cập bộ nhớ ngăn xếp:
•
PUSH và POP
–
Các thủ tục:
•
CALL
•
Dùng ngăn xếp để lưu địa chỉ trở về (quay về
thủ tục đang thực hiện dang dở)
Tổ chức CPU – bộ nhớ
KTMT & Hệ điều hành
23
Sunday, July 13, 2014
Kiến trúc phần mềm của BXL
•
Các kiểu định vị
–
Định nghĩa cách thức thâm nhập các toán
hạng (bộ nhớ hoặc thanh ghi)
–
2 kiểu định địa chỉ liên quan đến ô nhớ:
big-endian và little-endian
Tổ chức CPU – bộ nhớ
KTMT & Hệ điều hành
24
Sunday, July 13, 2014
Kiến trúc phần mềm của BXL
•
Các kiểu định vị.
Tổ chức CPU – bộ nhớ
KTMT & Hệ điều hành
25
Sunday, July 13, 2014
Kiến trúc phần mềm của BXL
•
Toán hạng.
–
Kiểu: địa chỉ, dạng số, dạng chuỗi, logic.
–
Chiều dài: xác định bởi kiểu (8bit, 16bit,
32bit hoặc 64bit)