Phân tích nhiệm vụ của BXL Nhận lệnh Fetch Instructions - FI bộ đệm địa chỉ, qua bus địa chỉ để tìm ra ngăn nhớ chứa lệnh Tiếp theo, BXL phát ra tín hiệu đọc ngăn nhớ vừa tìm được
Trang 1Kiến trúc máy tính
Chương 4
Trang 2Phan Trung Kiên 2
Nội dung chương 4
Cấu trúc chung của bộ xử lý
Khối điều khiển
Khối số học & logic
RISC & CISC
Trang 3Sơ đồ cấu trúc cơ bản của CPU
Trang 4Phan Trung Kiên 4
(BXL)
Cấu trúc
Đơn vị điều khiển (Control Unit - CU)
Đơn vị số học và logic (Arithmetic and Logic Unit
-ALU)
Tập thanh ghi (Register File - RF)
Đơn vị nối ghép bus (Bus Interface Unit - BIU)
Bus bên trong (Internal Bus)
Các thanh ghi (Registers)
Trang 5Cấu trúc chung của bộ xử lý
Trang 6Phan Trung Kiên 6
(BXL)
vào
nào đó
Ngoài ra, trong quá trình thực hiện chương trình còn
nhận các yêu cầu từ bên ngoài, xử lý các yêu cầu đó
Trang 7BXL với bus hệ thống
Trang 8Phan Trung Kiên 8
Cấu trúc bên trong của BXL
Trang 9Phân tích nhiệm vụ của BXL
Nhận lệnh (Fetch Instructions - FI)
bộ đệm địa chỉ, qua bus địa chỉ để tìm ra ngăn nhớ
chứa lệnh
Tiếp theo, BXL phát ra tín hiệu đọc ngăn nhớ vừa tìm
được
Nội dung của ngăn nhớ được chuyển qua bus dữ liệu
và đưa đến thanh ghi lệnh (Instruction Reg.)
Trang 10Phan Trung Kiên 10
Giải mã lệnh (Interpret Instructions - II)
Lệnh từ thanh ghi lệnh được đưa đến khối điều khiển
Tại đây, lệnh được giải mã để xác định thao tác mà
lệnh yêu cầu
Khi đó, khối điều khiển sẽ phát ra tín hiệu điều khiển
tương ứng với lệnh đó.
Trang 11Phân tích nhiệm vụ của BXL
Nhận dữ liệu (Fetch Data - FD)
BXL phát ra địa chỉ của ngăn nhớ/cổng vào ra chứa
dữ liệu cần nhận
BXL phát ra tín hiệu điều khiển đọc ngăn nhớ/cổng vào ra tương ứng
Dữ liệu được chuyển qua bus dữ liệu đưa vào tập
Trang 12Phan Trung Kiên 12
Xử lý dữ liệu (Process Data - PD)
Dữ liệu được chuyển từ các thanh ghi vào ALU
ALU sẽ thực hiện các phép toán dưới sự điều khiển của khối điều khiển
Kết quả phép toán được cất tạm thời vào thanh ghi
Trang 13Khối điều khiển (CU)
ĐK nhận lệnh tiếp theo từ bộ nhớ, đưa vào thanh ghi lệnh
Tăng nội dung của PC để trỏ sang lệnh tiếp theo
Giải mã lệnh nằm trong thanh ghi lệnh để xác định thao tác mà lệnh yêu cầu
Phát ra các tín hiệu điều khiển thực hiện lệnh đó
Nhận tín hiệu yêu cầu từ bên ngoài, xử lý các tín hiệu đó.
Trang 14Phan Trung Kiên 14
Mô hình kết nối KĐK
Khối điều khiển
Thanh ghi lệnh
Các t/h điều khiển bên trong BXL
Các t/h điều khiển từ bus hệ thống
Các t/h điều khiển đến bus
Trang 15Các tín hiệu đưa đến KĐK
Nhịp : tín hiệu đồng hồ từ mạch tạo nhịp bên ngoài:
T0 là chu kỳ của xung nhịp
Mỗi thao tác của BXL cần k.T0 , k ? N
Tần số xung đồng hồ: f0 = 1/T0
Ví dụ: máy tính dùng BXL có tốc độ 5GHz
Ta có: f0 = 5GHz = 5*10 9 Hz ? T0 = 1/f0 = 1/(5*10 9 ) = 0.2 ns
Mã lệnh từ thanh ghi lệnh đưa đến để giải mã
Các cờ từ thanh ghi cờ cho biết trạng thái của BXL
T0
Trang 16Phan Trung Kiên 16
Các tín hiệu phát ra từ KĐK
Các tín hiệu điều khiển bên trong BXL:
Điều khiển các thanh ghi
Điều khiển ALU
Các tín hiệu điều khiển bên ngoài BXL:
Điều khiển bộ nhớ
Điều khiển các modul vào-ra
Trang 18Phan Trung Kiên 18
Đơn vị điều khiển vi chương trình
Trang 19Đơn vị điều khiển vi chương trình
Trang 20Phan Trung Kiên 20
Đơn vị điều khiển nối kết cứng
Trang 21Đơn vị điều khiển nối kết cứng
Trang 22Phan Trung Kiên 22
phép toán logic
Số học: cộng, trừ, nhân, chia, tăng, giảm, đảo dấu
Logic: AND, OR, NOT, XOR, dịch bit, quay bit
Trang 23Mô hình kết nối ALU
ALU
Thanh ghi cờ
Dữ liệu ra đến các thanh ghi
Dữ liệu vào từ các
thanh ghi
T/h điều khiển từ
KĐK
Trang 24Phan Trung Kiên 24
Hoạt động của CPU
Trang 25Giản đồ trạng thái của chu kỳ lệnh
Tính toán
địa chỉ
lệnh
Giải mã thao tác lệnh
Tính toán địa chỉ toán hạng
Xử lý dữ liệu
Tính toán địa chỉ toán hạng
Nhận lệnh Nhận toánhạng Cất toánhạng
Nhiều toán hạng
Nhiều kết quả
DL dạng xâu hoặc vectơ
Kết thúc lênh,
nhận lệnh tiếp theo
Kiểm tra ngắt Ngắt
Không
có ngắt
Trang 26Phan Trung Kiên 26
Nhận lệnh
chương trình PC ra bus địa chỉ
CPU phát tín hiệu điều khiển đọc bộ nhớ
được CPU copy vào thanh ghi lệnh IR
CPU tăng nội dung PC để trỏ sang lệnh kế tiếp
Trang 27Sơ đồ mô tả quá trình nhận lệnh
Trang 28Phan Trung Kiên 28
Trang 29Nhận dữ liệu
CPU đưa địa chỉ của toán hạng ra bus địa chỉ
CPU phát tín hiệu điều khiển đọc
Trang 30Phan Trung Kiên 30
CPU đưa địa chỉ ra bus địa chỉ
CPU phát tín hiệu điều khiển đọc
chính là địa chỉ của toán hạng
Địa chỉ này được CPU phát ra bus địa chỉ để tìm
ra toán hạng
CPU phát tín hiệu điều khiển đọc
Trang 31Sơ đồ tả nhận toán hạng gián tiếp
Trang 32Phan Trung Kiên 32
Trang 33Ghi toán hạng
CPU đưa địa chỉ ra bus địa chỉ
CPU đưa dữ liệu cần ghi ra bus dữ liệu
CPU phát tín hiệu điều khiển ghi
Dữ liệu trên bus dữ liệu được copy đến vị trí xác định
Trang 34Phan Trung Kiên 34
Sơ đồ mô tả quá trình ghi toán hạng
Trang 35trở về sau khi ngắt) được đưa ra bus dữ liệu
CPU đưa địa chỉ (thường được lấy từ con trỏ
ngăn xếp SP) ra bus địa chỉ
CPU phát tín hiệu điều khiển ghi bộ nhớ
Địa chỉ trở về trên bus dữ liệu được ghi ra vị trí
xác định (ở ngăn xếp)
Địa chỉ lệnh đầu tiên của chương trình con điều
khiển ngắt được nạp vào PC
Trang 36Phan Trung Kiên 36
Trang 37Đường ống lệnh (Instruction Pipelining)
Chia chu trình lệnh thành các công đoạn và cho phép thực hiện gối lên nhau (như dây chuyền lắp ráp)
Nhận lệnh (Fetch Instruction - FI)
Giải mã lệnh (Decode Instruction - DI)
Thực hiện lệnh (Execute Instruction - EI)
Trang 38Phan Trung Kiên 38
Biểu đồ thời gian của đường ống lệnh
Trang 39Các xung đột của đường ống lệch:
chung 1 tài nguyên
Xung đột dữ liệu: lệnh sau sử dụng kết quả của lệnh trước
Xung đột điều khiển: do rẽ nhánh gây ra
Trang 40Phan Trung Kiên 40
Trang 41Các kỹ thuật tiên tiến của bộ xử lý
Cấu trúc chung của các bộ xử lý tiên tiến
Các kiến trúc song song mức lệnh
Kiến trúc RISC
Trang 42Phan Trung Kiên 42
Trang 43Các đơn vị xử lý dữ liệu
Các đơn vị số nguyên
Các đơn vị chức năng đặc biệt
Đơn vị xử lý dữ liệu âm thanh
Đơn vị xử lý dữ liệu hình ảnh
Đơn vị xử lý dữ liệu vector
Trang 44Phan Trung Kiên 44
Được tích hợp trên chip vi xử lý
Cache L1 gồm hai phần tách rời:
giải quyết xung đột khi nhận lệnh và dữ liệu
Cache L2: chung cho lệnh và dữ liệu
Trang 45Đơn vị quản lý bộ nhớ (MMU)
Chuyển đổi địa chỉ ảo thành địa chỉ vật lý
Trang 46Phan Trung Kiên 46
Các kiến trúc song song mức lệnh
Siêu đường ống (Superpipeline &
Hyperpipeline)
VLIW (Very Long Instruction Word)
Trang 47Superpipeline
Trang 48Phan Trung Kiên 48
Superscalar
Trang 49VLIW (Very Long Instruction Word)
Trang 50Phan Trung Kiên 50
Máy tính với tập lệnh thu gọn
SunSPARC, Power PC,
RISC đối nghịch với CISC
Trang 51Các đặc trưng của RISC
Trang 52Phan Trung Kiên 52
Các đặc trưng của RISC
Số lượng khuôn dạng lệnh là ít (<=4)
CPU có tập thanh ghi lớn
Có ít mode địa chỉ (<=4)
Hỗ trợ các thao tác của ngôn ngữ bậc cao
Đều được thiết kế kiểu pipeline lệnh
Trang 53Cửa sổ thanh ghi
Trang 54Phan Trung Kiên 54
Kiến trúc 64-bit: Itanium, Core 2 Duo
Trang 55Kiến trúc 16-bit (IA-16)
Các thanh ghi bên trong: 16-bit
Xử lý các phép toán số nguyên với 16-bit
Trang 56Phan Trung Kiên 56
Kiến trúc 32-bit (IA-32)
Các thanh ghi bên trong: 32-bit
Xử lý các phép toán số nguyên với 32-bit
Có ba chế độ làm việc:
lý 8086
lý 8086 (đa nhiệm 16-bit)
Đa nhiệm 32-bit
Quản lý bộ nhớ ảo
Xử lý các phép toán số dấu phẩy động (từ 80486)
Trang 57Kiến trúc 64-bit (IA-64)
Các thanh ghi bên trong: 64-bit
Xử lý các phép toán số nguyên với 64-bit
trước đó
trường
Trang 58Phan Trung Kiên 58
Trang 59Minh häa mét sè BXL
Intel 4004 - 1970s
(First Microprocessor)
Intel 8088 (LSI Microprocessor)
Trang 60Phan Trung Kiên 60
Trang 61Minh häa mét sè BXL
Co l¹i
Trang 62Phan Trung Kiên 62
PowerPC® 940 (G5)
58M transistors / 2GHz / 97W L=0.13µm Area=118mm 2
Image courtesy International Business Machines
All Rights Reserved
Trang 63Minh häa mét sè BXL
Trang 64Phan Trung Kiên 64
Trang 66Phan Trung Kiên 66