Chương II: Các thành phần cơ
bản của máy tính số
2.1. Bộ xử lý
2.2. Bộ nhớ và thiết bị lưu trữ
ngoài
2.3. Thiết bị nhập xuất dữ liệu
2.1 Bộ xử lý (Processor)
Đơn vị điều khiển (CU) và đơn vị thực hiện
các thao tác tính toán (ALU) được nhóm
trong một đơn vị duy nhất còn gọi là bộ xử lý
(Processor/ processing unit) hay còn được gọi
là đơn vị xử lý trung tâm CPU (Central
Processing Unit).
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ý. CPU thực thi lệnh/ điều khiển việc thực thi
lệnh
2.1 Bộ xử lý (Processor)
2.1.1. Chức năng
2.1.2. Thành phần cơ bản
2.1.3. Cơ chế hoạt động
2.1.4. Một số chỉ tiêu đánh giá hiệu
năng
h2
Slide 3
h2 Chương I Chức năng
Chương II Thành phần cơ bản
II. 1 Đơn vị điều khiển (CU)
II. 2 Đơn vị số học và logic (ALU)
II. 3 Thanh ghi
Chương III Cơ chế hoạt động
III. 1 Chu trình xử lý lệnh
III. 1. 1Lấy chỉ lệnh và giải mã
III. 1. 2Thực thi chỉ lệnh
III. 2 Tập lệnh
Chương IV Tăng hiệu năng
IV. 1 Tăng hiệu năng Bộ xử lý
IV. 1. 1 Kiến trúc song song
a. Đường ống
b. Siêu đường ống
c. Siêu vô hướng
d. Tăng độ dài từ lệnh (VLIW)
IV. 1. 2 CISC và RISC
IV. 2 Tăng hiệu năng và độ tin cậy hệ thống
(nhiều ALU và nhiều CPU)
a. Máy tính SISD
b. Máy tính SIMD
c. Máy tính MIMD
Han Minh Phuong, 5/12/2007
2.1.1. Chức năng
Điều khiển: điều khiển tất cả các đơn vị còn
lại của máy tính, việc điều khiển này được
thực hiện bởi đơn vị điều khiển CU
• Lấy chỉ lệnh, dữ liệu từ bộ nhớ và ghi dữ liệu vào bộ
nhớ
• Điều khiển ALU thực hiện các tính toán
• Điều khiển vào ra
Tính toán: thực hiện hầu hết các phép tính
toán số học, các phép logic, việc tính toán
được thực hiện bởi đơn vị số học ALU
2.1.2. Thành phần cơ bản
1. Đơn vị điều khiển (CU)
2. Đơn vị số học và logic
(ALU)
3. Thanh ghi
Các thành phần khác
• Đơn vị xử lý dấu chám
động (FPU)
• Bộ nhở đệm tốc độ cao
(Cache)
• Đường truyền (Bus )
• v..v
Chip vi xử lý Intel 80486DX2
Kích thước 12×6.75 mm
Chân cắm chíp vi
xử lý trong bo
mạch chủ của PC,
chíp vxl được đi
kèm với quạt làm
mát
Chỉ lệnh /Lệnh mã máy
Chỉ lệnh xác định các thao tác mà máy tính
phải thực hiện. Chỉ lệnh có thể thực hiện các
công việc như:
• Cộng hai số
• Kiểm tra xem một số có bằng 0 ?
• Vận chuyển một nhóm dữ liệu từ vùng này của bộ
nhớ sang vùng khác.
• …
Chỉ lệnh được biểu diễn theo hệ nhị phân
và được gọi là chỉ lệnh ngôn ngữ máy/lệnh
mã máy (machine language instructions).
Chỉ lệnh /Lệnh mã máy(t)
• Mỗi lệnh mã máy thông thường chứa: mã
lệnh/tác vụ, địa chỉ toán hạng nguồn, địa chỉ
toán hạng kết quả, lệnh kế tiếp (thông thường
thì thông tin này ẩn).
• Ví dụ về một lệnh mã máy cộng 32 bit một giá trị tức
thời vào thanh ghi và lưu vào một thanh ghi khác
trong kiến trúc MIPS (Microprocessor without
Interlocked Pipeline Stages
Chỉ lệnh (t)
Chương trình được viết bằng ngôn ngữ cấp
cao sẽ được chuyển đổi sang ngôn ngữ máy
(Mỗi lệnh của ngôn ngữ cấp cao được xây
dựng bằng một lệnh mã máy hoặc một chuỗi
nhiều lệnh mã máy), các chỉ lệnh này được
giải mã và được thực thi.
Các chỉ lệnh thuộc vào một tập lệnh được
cài đặt sẵn trong CPU. Các chỉ lệnh trong tập
lệnh khác nhau về số lượng và định dạng và
phụ thuộc vào từng máy tính.
a. Thanh ghi
Là bộ nhớ đặc biệt có tốc độ cao dung lượng
nhỏ được cấu tạo từ những vi mạch điện tử
nằm ngay trong bộ xử lý nhằm lưu trữ những
dữ liệu đang được thao tác bởi CPU.
Kích thước của thanh ghi, đo bằng bits, là bội
số của 8 (8, 16, 32, 64 ) chỉ dung lượng mà
thanh ghi đó có thể lưu trữ đồng thời cũng là
lượng dữ liệu mà bộ xử lý có thể tính toán tại
một thời điểm. Trong một số trường hợp người
ta sử dụng kích thước thanh ghi để đo “kích
cỡ” của bộ xử lý. Ví dụ bộ vi xử lý 32 bits.
a.Thanh ghi (t)
IR: Thanh ghi chỉ lệnh (IR_Instruction Register) chứa
nội dung chỉ lệnh
PC: Thanh ghi đếm chương trình/Con đếm chương trình
(PC_Program Counter) : Tự động tăng để trỏ tới lệnh kế
tiếp trong chương trình.
Thanh ghi lưu trữ dữ liệu
Thanh ghi lưu trữ địa chỉ
…
Ý nghĩa của thanh ghi được gắn liền với các thiết kế của
bộ vi xử lý cụ thể, nên không thể có một chuẩn chung về
thanh ghi cho các thế hệ bộ xử lý khác nhau.
b. Đơn vị điều khiển (CU)
Điều khiển mọi hoạt động của máy tính:
• Nhận chỉ lệnh được lưu trong bộ nhớ
• Giải mã chỉ lệnh nhờ bộ giải mã chỉ lệnh (Instruction decoder)
• Thực hiện : Đảm bảo thi hành các chỉ lệnh một cách tuần tự và tác
động các mạch chức năng để thi hành các lệnh.
Modul cần thiết:
• Thanh ghi: IR, PC
• Giải mã chỉ lệnh: Giải mã ý nghĩa của chỉ lệnh
• Tuần tự (sequencer/microsequencer): Trong các máy sử dụng
chỉ lệnh phức hợp (CISC), một chỉ lệnh có thể được thực
hiện thông qua việc thực hiện một chuỗi các vi chỉ lệnh
(microcode/microinstruction). Các vi chỉ lệnh này được lưu
trữ trong một vùng nhớ đặc biệt của CU gọi là control
store. Bộ tuần tự điều khiền việc thực hiện vi chỉ lệnh một
cách tuần tự
c. Đơn vị số học và logic (ALU)
Thực hiện thao tác đơn giản
• Số học( với số nguyên *) giữa hai số : +,-,*,
• Logic thực hiện trên các bits: OR, AND, NOT,
dịch bit
• So sánh
• Rẽ nhánh: thay đổi thứ tự thực thi các chỉ lệnh
tuần tự dựa trên điều kiện.
c. Đơn vị số học và logic (ALU)(t)
Thực hiện các thao tác phức hợp
• Mạch cứng: Thiết kế ALU phức hợp có các mạch phần cứng cho
phép thực hiện phép toán phức hợp chỉ trong một chu kỳ đồng hồ.
• Thiết kê ALU phức hợp thực hiện phép toán phức hợp thông qua
việc thực hiện một số bước nhỏ. Cần sự hỗ trợ của đơn vị điều
khiển với một tập vi lệnh thiết kế sẵn.
• Thiết kế ALU đơn giản đồng thời thiết kế một bộ xử lý kèm theo có
thể xử lý theo hai cách tiếp cận 1 và 2. Bộ xử lý đó gọi là đồng xử
lý (co-processor)
• Giả lập việc thực thi phép toán phức hợp bằng một số các giải
thuật phần mềm được cung cấp sẵn bởi hệ điều hành (còn gọi là
software emulation).
• Người sử dụng phải tự mình tạo ra một thư viện phần mềm chứa
các hàm tính toán các phép toán phức hợp còn gọi là software
libraries.
Đường dữ liệu
Dữ liệu chuyển từ bộ nhớ tới các
thanh ghi trong processor. ALU lấy dữ
liệu từ các thanh ghi, xử lý và lưu kết
quả vào một thanh ghi đầu ra. Kết quả
này có thể được đưa ra ngoài bộ nhớ
hoặc được sử dụng làm dữ liệu vào
cho tính toán khác.
CU điều khiển ALU bằng cách gửi tới
ALU những tín hiệu xác định phép
toán nào sẽ được thực hiện trên dữ
liệu.
Trong rất nhiều thiết kế ALU nhận từ
đầu vào hoặc tạo ra ở đầu ra một tập
các mã điều kiện (condition
code),được lưu trong thanh ghi trạng
thái (status registry). Các mã này
được sử dụng để xác định các tình
huống như: nhớ (carry-in, carry-out),
tràn bộ đệm (overflow), chia cho 0
(divide by zero) v..v.
Đường dữ liệu (Data Path): Tập
hợp các đơn vị chức nămg (ALU
+ thanh ghi + bus nối kết) thực
hiện các thao tác xử lý dữ liệu
2.1.3. Cơ chế hoạt động
Việc thi hành một lệnh mã máy có thể chia thành các
bước:
• Đọc chỉ lệnh (IF: Instruction Fetch)
• Giải mã chỉ lệnh (ID: Instruction Decode)
• Thi hành chỉ lệnh (EX: Execute)
• Lưu trữ kết quả (RS: Result Storing).
Mỗi bước được thi hành trong một hoặc nhiều chu
kỳ xung nhịp.
Bộ xử lý thực thi chương trình bằng cách lặp đi lặp
lại những bước này cho tới chỉ lệnh cuối cùng.
2.1.3. Cơ chế hoạt động (t)
Đọc chỉ lệnh: Chỉ lệnh được đọc từ bộ nhớ
trong dựa vào thanh ghi PC và được đưa
vào thanh ghi chỉ lệnh IR
Giải mã chỉ lệnh: Chỉ lệnh trong IR được
giải mã nhờ bộ giải mã. Bộ giải mã sẽ giải
mã dạng công việc và gửi các tín hiệu ra
lệnh thực hiện các thao tác tới từng đơn vị.
2.1.3. Cơ chế hoạt động (t)
Thi hành chỉ lệnh: Dựa trên kiểu của chỉ lệnh được
giải mã, một trong các tác vụ sau có thể được thực
hiện:
• Liên hệ tới bộ nhớ (ghi dữ liệu ra bộ nhớ trong hoặc lấy dữ liệu
từ bộ nhớ vào thanh ghi)
• ALU thực hiện một phép tính
• ALU thực hiện một phép nhảy (tính toán đưa ra địa chỉ tới lệnh
kế tiếp)
Lưu kết quả: Lưu trữ kết quả trong thanh ghi cùa
ALU, kết quả này có thể được chuyển tới bộ nhớ
trong.
Tổ chức của máy tính đơn giản sử
dụng một bộ xử lý dựa trên mô hình
cổ điển của Von Neumann
Đặc điểm hoạt động:
Một chương trình sẽ được sao
chép từ đĩa cứng vào bộ nhớ
trong cùng với các thông tin
cần thiết cho chương trình
hoạt động, các thông tin này
được nạp vào bộ nhớ trong từ
các bộ phận cung cấp thông
tin (ví dụ như một bàn phím
hay một đĩa từ).
Bộ xử lý trung tâm sẽ đọc các
lệnh và dữ liệu từ bộ nhớ,
thực hiện các lệnh và lưu các
kết quả trở lại bộ nhớ trong
hay cho xuất kết quả ra bộ
phận xuất thông tin (màn hình
hay máy in).