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 hoạt động theo chương trình nằm trong bộ nhớ chính.
Trang 1Chươ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
Trang 22.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 hoạt động theo chương trình nằm trong
bộ nhớ chính
Trang 4Slide 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 1 Lấy chỉ lệnh và giải mã
III 1 2 Thự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)
Trang 52.1.1 Chức năng
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
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
Trang 62.1.2 Thành phần cơ bản
Trang 7 Đơ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à phép toán logic.
Tập thanh ghi (Register File - RF): lưu giữ các
thông tin tạm thời phục vụ cho hoạt động của CPU.
Đơn vị nối ghép bus (Bus Interface Unit - BIU) kết
nối và trao đổi thông tin giữa bus bên trong(internal
bus) và bus bên ngoài (external bus).
Trang 8Cấu trúc bus cơ bản
Bus: tập hợp các đường kết nối dùng để vậnchuyển thông tin giữa các mô-đun của máy
tính với nhau
Các bus chức năng:
• Bus địa chỉ
• Bus dữ liệu
• Bus điều khiển
Độ rộng bus: là số đường dây của bus có thểtruyền các bit thông tin đồng thời (chỉ dùng chobus địa chỉ và bus dữ liệu)
Trang 9Bus địa chỉ
Chức năng: vận chuyển địa chỉ để xác định
ngăn nhớ hay cổng vào-ra
Độ rộng bus địa chỉ: cho biết số lượng
ngăn nhớ tối đa được đánh địa chỉ.
• N bit: AN-1, AN-2, A2, A1, A0 có thể đánh địa chỉ tối
đa cho 2 N ngăn nhớ (không gian địa chỉ bộ nhớ)
Trang 10có thể được trao đổi đồng thời.
• M bit: DM-1, DM-2, D2, D1, D0
• M thường là 8, 16, 32, 64,128 bit.
bit
Trang 11Bus điều khiển
điều khiển
• Các tín hiệu điều khiển đọc/ghi
• Các tín hiệu điều khiển ngắt
• Các tín hiệu điều khiển bus
Trang 12 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)
• v v
Trang 13Chip vi xử lý Intel 80486DX2
Kích thước 12×6.75 mm
Chíp vi xử lý Intel Pentium 4
Chip vi xử lý của máy tính PC
Trang 14Đế 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
Trang 15Đế cắm (Socket) và khe cắm (Slot)
Chíp vi xử lý của máy tính PC được gắn vào
bo mạch chủ tại đế cắm hoặc khe cắm trên bomạch chủ
• Socket 1, 2, 3, 6: các bộ VXL Intel 486
• Socket 4, 5, 7, 8: Pentium và Pentium Pro
• Socket PGA-370: Celeron, PII và PIII
• Slot 1: Celeron, PII và PIII
• Slot 2: PII và PIII Xeon
• Socket 478: Pentium 4
• …
Trang 16• 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).
Trang 17Chỉ 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ườngthì 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
Trang 18Chỉ 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
Trang 19a Thanh ghi
Là bộ nhớ đặc biệt có tốc độ cao dung lượngnhỏ đượ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.
Trang 20a.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.
Trang 21b Đơ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
cách tuần tự
Trang 22c Đơ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.
Trang 23c Đơn vị số học và logic (ALU)(t)
• 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ử
Trang 24Đườ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
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
Trang 252.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.
Trang 262.1.3 Cơ chế hoạt động (t)
trong dựa vào thanh ghi PC và được đưa vào thanh ghi chỉ lệnh IR
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ị
Trang 272.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.
Trang 28Tổ 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ừ
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)
Trang 29Cơ chế điều khiển tuần tự theo mô hình VonNeumann
Trang 301 Đọc chỉ lệnh
1
Trang 312 Giải mã chỉ lệnh
a Phần lệnh
2
Trang 322 Giải mã lệnh (t)
Phần địa chỉ
2
Trang 333 Thực thi chỉ lệnh
Lấy dữ liệu
3
Trang 344 Lưu kết quả
4
Trang 352.1.4 Một số chỉ tiêu đánh giá hiệu năng
Hiệu năng của bộ xử lý được đo bằng số lượng các chỉ lệnh có thể được thực thi
trong một đơn vị thời gian thể hiện qua các chỉ số sau:
• Triệu lệnh trên giây (Millons Intructions Per
Second _MIPS)
• Tần số xung nhịp đồng hồ (Clock)
• Số chu kỳ xung nhịp đồng hồ cho một lệnh
(CPI) hoặc IPC
Trang 36 Ví dụ: Khi có lệnh thực hiện một công việc nào
đó Sau 2 xung nhịp thì ổ cứng sẽ copy dữ liệuvào trong RAM Sau 5 xung nhịp thì RAM bắtđầu copy dữ liệu vào bộ nhớ đệm Sau 7 xungnhịp thì CPU bắt đầu tìm dữ liệu trong bộ nhớđệm và xử lý
Trang 37 Ví dụ: Máy tính dùng bộ xử lý 2GHz
• Ta có f0 = 2GHz = 2x109Hz
T0 = 1/f0 = 1/(2x109) = 0,5 ns
Trang 38 Tốc độ xử lý của CPU được tính bằng MHz hoặc GHz
• 1MHz = 1.000.000 Hz
• 1GHz = 1.000.000.000 Hz
Trang 39Một số yếu tố khác ảnh hưởng tới
hiệu năng
Độ rộng bus (địa chỉ/dữ liệu)
Tốc độ bus (tốc độ dữ liệu vào/ra chân CPU) FSB (Front Side Bus)
Dung lượng bộ nhớ đệm Cache
• Cache nằm bên trong của CPU, có tốc độ truy cập dữ liệu theo kịp tốc độ xủa lý của CPUCPU trong lúc
xử lý không phải chờ dữ liệu từ bộ nhớ chính.
• Dung lượng cache lớn, khả năng đệm dữ liệu lớn tăng tốc độ xử lý CPU
Trang 412.1.5.Tăng hiệu năng bộ xử lý
a.Kỹ thuật song song: các giai đoạn khác
nhau của nhiều lệnh được thi hành cùng một lúc
• Siêu đường ống
• Siêu vô hướng
• Tăng độ dài từ lệnh (VLIW)
b.CISC và RISC
Trang 42Kỹ thuật đường ống
Mỗi chỉ lệnh thành nhiều bước
CPU được thiết kế bao gồm một số đơn vị chức năng, mỗi đơn vị chức năng sẽ thực hiện một bước.
Kỹ thuật này khiến các lệnh được thực hiện song song, đồng thời và làm tăng tốc độ xử lý
Trang 43Kỹ thuật siêu đường ống
Là một cải tiến của kiến trúc đường ống, chỉlệnh tiếp theo được bắt đầu trước khi kết thúcmột bước của chỉ lệnh hiện tại
Trang 44Kỹ thuật siêu vô hướng
Trang 45Tăng độ dài từ lệnh
Chiều dài củamột chỉ lệnh sẽdài ra bởi rấtnhiều tác vụđược địnhnghĩa trong đó
Trang 46b RISC và CISC
Các chỉ lệnh ở dạng phức hợp
Các chỉ lệnh được phân tích nhỏ thành vi chỉ lệnh để thực thi nhờ vi chương trình
Độ dài cũng như kích thước các chỉ lệnh thay đổi
Trang 472.1.6.Tăng hiệu năng và độ tin cậy hệ thống
Nhiều ALU
Nhiều CPU: Nhiều bộ xử lý song song
và mỗi bộ xử lý có một nhiệm vụ (chức năng) định sẵn Khi có một sai sót xảy
ra, bộ xử lý sẽ thực hiện việc chuyển đổi
và những bộ xử lý còn lại sẽ chia nhau công việc đang được thực hiện dở
Trang 49b Máy tính SIMD (Vectơ)
Trang 50b Máy tính SIMD (Vectơ)
Không phải chỉ có một biến đơn cho mỗi lối vào ALU mà có một vector n lối vào.
ALU thực sự là một ALU vector, nó có khả năng thực hiện một phép toán như
là phép cộng vector đối với 2 vector lối vào và đưa ra vector kết quả.
Ứng dụng giải các bài toán dự báo thời tiết.
Trang 51c Máy tính SIMD (Mảng)
Trang 53d Máy tính MIMD
Trang 54 Máy tính có nhiều CPU, mỗi CPU thực hiện một chương trình khác nhau, các CPU có thể cùng chia sẻ một vùng nhớ chung (shared memory).
Mỗi bộ xử lý có thể được trang bị một bộ nhớ
cục bộ riêng, các bộ xử lý khác không truy cập được, Bộ nhớ cục bộ được sử dụng để chứa
các đoạn mã chương trình hoặc các phần tử dữ liệu không được sử dụng chung Các bộ xử lý
khi truy cập bộ nhớ cục bộ riêng của mình không
sử dụng bus chính dùng chung, nhờ vậy làm
giảm rất nhiều việc truyền thông trên bus chính.
Trang 56• Intel: Pentium, Celeron
• AMD: Athlon, Duron
Trang 57 Tốc độ CPU từ 150 MHz đến 233 MHz
Trang 58 Tốc độ CPU từ 233 MHz đến 450 MHz
Tốc độ Bus ( FSB ) là 66
và 100 MHz
Bộ nhớ Cache 128K 256K
- Năm sản xuất : 1997
-1998
Mainboard hỗ trợ : sử dụng Mainboard có khe cắm Slot
Trang 59 Tốc độ CPU từ 500 MHz đến 1.300 MHz
Tốc độ Bus ( FSB ) 100 MHz và 133 MHz
Bộ nhớ Cache từ 512K
256K- Năm sản xuất : 1999
-2000
Đế cắm trên Mainboard
là Socket 370
Trang 61 Tốc độ xử lý từ 1.400 MHz đến 3.800 MHz , 2006
Tốc độ Bus ( FSB ) 266,
333, 400, 533, 666, 800 MHz
Bộ nhớ Cache từ 256 đến 512K
Năm sản xuất từ 2002 đến nay ( 2006) vẫn tiếp tục sản xuất
Sử dụng Mainboard có đế cắm CPU là Socket 478
Trang 63 Pentum Dual-Core
E8600
Tốc độ xử lý: 3.33 GHz L2 CACHE : 6 MB
FRONT SIDE BUS :
1333 MHz
Kiến trúc: 45nm
Trang 65CPUZ v.1.46
Trang 66 CPI (Cycles Per Instruction): Chu kỳ cho một lệnh
CPU (Central Processing Unit): Đơn vị xử lý trung tâm
FPU (Floating Point Unit): Đơn vị xử lý dấu chấm động
Instruction Set: Tập lệnh
IR (Instruction Register): Thanh ghi chỉ lệnh
Machine Language Instruction: Chỉ lệnh ngôn ngữ máy
Microcode/ Microinstruction: Vi chỉ lệnh
Microprogram: Vi chương trình
Trang 67Chỉ mục
MIMD (Multiple Intruction stream Multiple Data stream):
Máy tính nhiều dòng chảy lệnh nhiều dòng chảy dữ liệu
MIPS (Million Instruction Per Second): Triệu lệnh trên
SIMD ( Single Intruction stream Multiple Data stream):
Máy tính một dòng chảy lệnh và nhiều dòng chảy dữ liệu
SISD (Single Intruction stream Single Data stream): Máy
tính một dòng chảy lệnh và một dòng chảy dữ liệu
Trang 68Chỉ mục
ống
lệnh dài
Trang 69cao thành chương trình mã máy của
máy tính đang sử dụng
Ví dụ C, PASCAL …