Bài giảng Cấu trúc máy tính - Chương 4: Đại cương về kiến trúc máy tính
ĐẠI HỌC DUY TÂN
KHOA CÔNG NGHỆ THÔNG TIN
CHƯƠNG 4
ĐẠI CƯƠNG VỀ KIẾN
TRÚC MÁY TÍNH
VON NEUMANN & MÁY TÍNH VON NEUMANN
John Louis von Neumann (1903-
1957)
Nhà toán học, vật lý học người
Hungari
Người đề xuất khái niệm chương
trình được lưu trữ qua bản phác
thảo đầu tiên cho EDVAC (1945)
Bản phác thảo cấu trúc cơ bản
trở thành Máy tính Von Neumann.
• memory, chứa đựng chỉ thị và dữ
liệu
• processing unit, xử lý các phép
tính số học và logic
• a control unit, cung cấp chỉ thị
2-2
1
MÁY TÍNH VON NEUMANN
MEMORY
MAR
MDR
INPUT
OUTPUT
Keyboard
Mouse
Scanner
Disk
Monitor
Printer
LED
PROCESSINGUNIT
Disk
TEMP
ALU
CONTROL UNIT
PC
IR
2-3
MEMORY - BỘ NHỚ
n
Một mảng k x m bit (k = 2 )
Address(Địa chỉ)
0000
0001
0010
0011
0100
0101
0110
• Giá trị địa chỉ là duy nhất
cho mỗi vị trí trong bộ nhớ
00101101
Contents (Nội dung)
• m-bit value stored in location
•
•
•
10100010
1101
1110
1111
Hoạt động cơ bản:
LOAD
• Đọc 1 giá trị từ 1 vị trí trong bộ nhớ
STORE
• Ghi 1 giá trị vào 1 vị trí trong bộ nhớ
21-4
2
GIAO TIẾP VỚI BỘ NHỚ
Đơn vị xử lý làm gì để đọc/ghi ở bộ nhớ ?
MAR: Memory Address Register
Thanh ghi địa chỉ bộ nhớ
MEMORY
MAR
MDR
MDR: Memory Data Register
Thanh ghi dữ liệu bộ nhớ
Đọc từ 1 vị trí có địa chỉ (A):
1. Ghi địa chỉ (A) vào MAR.
2. Gửi tín hiệu điều khiển đọc tới bộ nhớ.
3. Đọc dữ liệu từ MDR.
Ghi giá trị (X) vào vị trí (A):
1. Ghi giá trị (X) vào MDR.
2. Ghi địa chỉ (A) vào MAR.
3. Gửi tín hiệu điều khiển ghi vào bộ nhớ.
21-5
Control Unit - Đơn vị điều khiển
Điều khiển thi hành chương trình
IR - Instruction Register
CONTROL UNIT
Thanh ghi chỉ thị
PC
IR
PC - Program Counter
Thanh ghi Bộ đếm chương trình
IR chứa chỉ thị hiện tại.
PC chứa địa chỉ của chỉ thị kế tiếp sẽ xử lý
Control unit:
• Đọc 1 chỉ thị từ bộ nhớ (địa chỉ của chỉ thị nằm trong PC)
• Căn cứ vào chỉ thị nhận được, phát tín hiệu điều khiển để gọi thành
phần tương ứng thực hiện tác vụ
1 chỉ thị có thể mất nhiều chu kỳ máy để thực hiện xong
21-6
3
Processing Unit – Đơn vị xử lý
Functional Units
PROCESSINGUNIT
• ALU = Arithmetic and Logic Unit
• Có nhiều đơn vị chức năng,
TEMP
ALU
trong đó có 1 số chức năng đặc biệt
(nhân, căn bậc 2, O)
• LC-2 thực hiện được ADD, AND, NOT
Registers ( Thanh ghi)
• Dung lượng nhỏ, lưu trữ tạm thời
• Chứa toán hạng và kết quả của các đơn vị chức năng
• LC-2 có 8 thanh ghi (R0, O, R7)
Word Size (Độ dài từ)
• Số bit ALU có thể xử lý trong 1 chỉ thị
• Khác với độ rộng của thanh ghi
• LC-2 là 16 bits
21-7
Input & Output
Dùng để đưa dữ liệu vào bộ nhớ máy tính hoặc lấy dữ
liệu ra từ bộ nhớ máy tính
OUTPUT
Các thiết bị thường sử dụng giao diện là các
thanh ghi giống như 2 thanh ghi MAR và MDR
Monitor
Printer
LED
Disk
của bộ nhớ
• LC-2 hỗ trợ keyboard (input) và bảng điện tử (output)
• keyboard: thanh ghi dữ liệu KBDR( data register) & thanh ghi
trạng thái KBSR (status register)
• console: data register (CRTDR) & status register (CRTSR)
Một vài thiết bị có thể vừa là input , vừa là output
disk, network
Chương trình truy cập thiết bị thường sử dụng thông
qua trình điều khiển thiết bị (driver)
21-8
4
Instruction Processing - Xử lý chỉ thị (lệnh)
FETCH
Lấy chỉ thị từ bộ nhớ
DECODE
Giải mã chỉ thị
EVALUATE ADDRESS
Tính toán địa chỉ
FETCH OPERANDS
EXECUTE
Lấy các toán hạng từ bộ nhớ
Xử lý tính toán
STORE
Lưu trữ kết quả
2-9
Instruction - Chỉ thị
Chỉ thị là đơn vị cơ bản của công việc
Thành phần :
• opcode: tác vụ cần thi hành (cộng , trừ I)
• operands: (toán hạng) số liệu hoặc địa chỉ số liệu cần cho tác vụ
1 chỉ thị được mã hóa thành 1 chuỗi các bit
(Just like data!)
• Chỉ thị thường có chiều dài 16, 32 bit.
• Control unit thể hiện chỉ thị : phát 1 chuỗi các tín hiệu điều khiển để thi
hành tác vụ.
• Operation is either executed completely, or not at all.
Chỉ thị của computer và định dạng của nó được gọi là Instruction
Set Architecture (ISA).
21-10
5
Ví dụ : LC-3 ADD Instruction
LC-3 có chỉ thị là 16-bit
• Mỗi chỉ thị có 4 bit opcode [15:12].
LC-3 có 8 thanh ghi (R0-R7) .
• Nguồn và đích của chỉ thị ADD là các thanh ghi.
“Cộng nội dung của thanh ghi R2 với thanh ghi R6,
lưu trữ kết quả trong thanh ghi R6.”
21-11
Instruction Processing: FETCH
Lấy chỉ thị kế tiếp từ PC
F
đưa vào Instruction Register (IR).
• Lấy nội dung của PC đưa vào MAR.
• Gửi tín hiệu điều khiển đọc tới bộ nhớ
• Đọc nội dung của MDR, đưa vào IR.
D
EA
OP
EX
S
Thanh ghi PC chỉ đến chỉ thị kế tiếp
• PC = PC+2.
21-12
6
Instruction Processing: DECODE
Nhận dạng opcode.
F
D
• LC-3 : 4 bit [12-15] của chỉ thị. [0001]
Xác định giá trị các toán hạng từ các bit còn lại
• Example:
EA
OP
EX
S
ꢀADD 3 bit [6-8] toán hạng nguồn 1 : 010
3 bit [0-2] toán hạng nguồn 2 : 110
3 bit [9-10] toán hạng đích : 110
21-13
Instruction Processing: EVALUATE ADDRESS
Trong những chỉ thị cần truy cập bộ nhớ,
tính toán địa chỉ sử dụng cho việc truy cập
bộ nhớ.
F
D
EA
OP
EX
S
21-14
7
Instruction Processing: FETCH OPERANDS
Lấy các toán hạng nguồn để thi hành tác vụ.
F
D
Examples:
• Lấy dữ liệu từ bộ nhớ (LDR)
• Đọc dữ liệu từ thanh ghi
EA
OP
EX
S
21-15
Instruction Processing: EXECUTE
Thi hành tác vụ với các toán hạng nguồn
F
D
Examples:
• Gửi toán hạng tới ALU và tín hiệu xác định ADD
EA
OP
EX
S
21-16
8
Instruction Processing: STORE
Lưu trữ kết quả ra bộ nhớ hoặc thanh ghi
F
D
Examples:
• result of ADD is placed in destination register
• result of memory load is placed in destination register
• for store instruction, data is stored to memory
ꢀwrite address to MAR, data to MDR
ꢀassert WRITE signal to memory
EA
OP
EX
S
21-17
Ideal Pipelining
Cycle:
Instr:
i
1
2
3
4
5
6
7
8
9
1
0
1
1
1
1
2
3
F
D
F
R
D
F
X
R
D
F
M
X
R
D
F
W
M
X
i+1
i+2
i+3
i+4
W
M
X
W
M
X
R
D
W
M
R
W
2-18
9
VON NEUMAN VS. HARDVARD
2-19
3 MỨC ĐỘ XỬ LÝ SONG SONG
Many applications have thread-level parallelism
• Web server: 100s of users connected simultaneously
• O/S has many threads to choose from
Could run more than one thread at the same time
Possible approaches
• Multithreading (Intel hyperthreading): đa tuyến đoạn
• Multiple processor cores per chip
• Multiple processor chips per system
2-20
10
Multithreading (Intel hyperthreading)
Bản chất của siêu phân luồng ?
Mô phỏng mỗi bộ xử lý vật lý
như là 2 bộ xử lý logic, tài
nguyên vật lý sẽ được chia sẻ
và có cấu trúc chung giống hệt
nhau cho cả 2 bộ xử lý logic.
Hệ điều hành và phần mềm
coi nó như 2 bộ xử lý song
song
AS
AS
Tài nguyên
thực thi
Kết quả là tốc độ trung bình tăng lên khoảng 20-30%.
2-21
Multithreading (Intel hyperthreading)
Hạn chế của siêu phân luồng ?
Khi CPU thực hiện đồng thời 2 chuỗi lệnh đơn
giản (add, load,store) ꢀ xung đột do cả hai chuỗi
lệnh đều cùng dùng đến một đơn vị thực thi. Khi
đó CPU sử dụng kỹ thuật siêu phân luồng hoá ra
chậm hơn so với CPU thông thường (10%)
2-22
11
BỘ XỬ LÝ ĐA NHÂN
Bộ xử lý đa nhân được kiến
AS
AS
trúc bởi 2 hay nhiều CPU
vật lý thực sự, có khả năng
thực hiện đồng thời 2 chuỗi
lệnh song song thực sự .
Tài nguyên
thực thi
Tài nguyên
thực thi
ꢀCPU 2 nhân (Core 2 Duo) tăng 40% hiệu năng
ꢀCPU 4 nhân (Quad Core) tăng 50% hiệu năng hệ
thống so với CPU 2 nhân.
2-23
Multiple Processor Cores per Chip
Processor Processor
Core & L1 Core & L1
Processor Processor
Core & L1 Core & L1
Processor Processor
Core & L1 Core & L1
L2 Cache L2 Cache
L2 Cache L2 Cache
Bus I/F
L2 Cache
Bus I/F
Bus I/F
Bus I/F
Intel Pentium D
AMD Athlon X2
IBM Power5
Intel Core2 Duo
Increased level of integration per package/chip
Perception of 2x performance (not always reality)
Can share nothing (Intel), Bus interface (AMD), L2 (IBM)
2-24
12
Multiple Processor Cores per Chip
ĐA NHIỆM VS SONG SONG
Xử lý đa nhiệm :
- Máy tính có khả năng thực hiện nhiều công việc cùng 1
lúc nhưng có thể không đồng thời
- Các công việc được chia nhỏ ra và máy tính luân phiên
thực hiện
Xử lý song song :
-Xử lý đồng thời 2 hoặc nhiều hơn các công việc cùng 1
lúc.
- Phải có phần cứng có khả năng xử lý song song
2-26
13
Clock (xung nhịp ) – Đơn vị đo tốc độ
Clock là tín hiệu để giữ cho đơn vị điều khiển hoạt động.
• Tại mỗi nhịp clock, control unit chuyển tới chu kỳ kế tiếp
ꢀ có thể là chỉ thị kế tiếp hoặc bước(phase) kế tiếp của chỉ thị.
(1 chỉ thị có thể thực hiện trong 1 hoặc vài chu kỳ)
Mạch phát xung nhịp (Clock):
• Dao động thạch anh
• Phát ổn định liên tục các mức logic 0 và 1
• Chu kỳ - Clock cycle (or machine cycle)
“1”
“0”
time→
Machine
Cycle
21-27
Instructions & Clock Cycles
MIPS & MHz
• MIPS = millions of instructions per second
số triệu chỉ thị thực hiện được trong 1 giây
Ví dụ: Máy tính có tốc độ 1 MIPS nghĩa là máy tính có khả năng
thực hiện 1 triệu chỉ thị trong 1 giây
• MHz = millions of clock cycles per second
số triệu chu kỳ lệnh trong 1 giây
Ví dụ : Máy tính có tốc độ 1MHz nghĩa là máy tính có 1 triệu chu
kỳ lệnh trong 1 giây
MIPS và MHz có khác nhau không ?
21-28
14
CISC & RISC
• CISC (complex Instruction Set computer): máy tính có tập lệnh
phức tạp
ꢀnhiều lệnh
ꢀcấu trúc phức tạp
ꢀmỗi lệnh: có độ dài khác nhau và thực hiện trong 1 đến chục
chu kỳ xung nhịp
ꢀVí dụ: Intel x86, AMD
• RISC (reduced instruction Set computer): máy tính có tập lệnh rút
gọn
ꢀít lệnh
ꢀmỗi lệnh có độ dài cố định và thực hiện trong 1 đến 2 chu ký
xung nhịp
ꢀcấu trúc vi xử lý đơn giản, có nhiều thanh ghi
ꢀtốc độ xung nhịp lớn và tiêu thụ năng lượng thấp
ꢀVí dụ: ARM, PowerPC
2-29
KiẾN TRÚC MÁY TÍNH HiỆN ĐẠI
Cầu Bắc
North Bridge
Cầu Nam
Sound Bridge
-30
15
DUAL CHANNEL MEMORY
Sử dụng 2 kênh truyền để tăng tốc độ truy xuất RAM
Chanel A
DDR2
North
Chanel B
Bridge
DDR2
Main Memory
Để tận dụng công nghệ này phải có cặp RAM cắm theo
2-31
quy định
DUAL CHANNEL MEMORY
2-32
16
SERIAL VS. PARALLEL
Parallel : Cổng Printer, giao tiếp ổ cứng ATA , khe cắm
mở rộng PCI , chuẩn đồ hoạ AGPy
Serial : Cổng COM, USB , S-ATA, PCI-Express
Xu hướng công nghệ : chuyển từ song song sang nối tiếp
PCI,AGP ꢀ PCI Express
ATA ꢀ S-ATA
0
1
0
01000001
0
A
B
A
B
0
0
0
1
Truyền
Nhận
Truyền
Nhận
Serial
Parallel
2-33
VI KIẾN TRÚC NAHALEM (CORE I7)
2-34
17
Bạn đang xem tài liệu "Bài giảng Cấu trúc máy tính - Chương 4: Đại cương về kiến trúc máy tính", để tải tài liệu gốc về máy hãy click vào nút Download ở trên
File đính kèm:
- bai_giang_cau_truc_may_tinh_chuong_4_dai_cuong_ve_kien_truc.pdf