Một mảng kx mbit (k= 2n)
Address(Địa chỉ)
• Giá trị địa chỉlà duy nhất
cho mỗi vịtrí trong bộnhớ
Contents (Nội dung)
• m-bit value stored in location
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ớ
18 trang |
Chia sẻ: lylyngoc | Lượt xem: 1663 | Lượt tải: 1
Bạn đang xem nội dung tài liệu Chương 5 Đại cương về kiến trúc máy tính, để tải tài liệu về máy bạn click vào nút DOWNLOAD ở trên
1CHƯƠNG 5
ĐẠI CƯƠNG VỀ KIẾN
TRÚC MÁY TÍNH
Nguyễn Văn Thọ
Khoa Điện tử viễn thông
Đại học Duy Tân – 2010
ĐẠI HỌC DUY TÂN
KHOA ĐIỆN TỬ VIỄN THÔNG
2-2
Nguyen Van Tho – Duy Tan University.
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ị
22-3
Nguyen Van Tho – Duy Tan University.
MÁY TÍNH VON NEUMANN
MEMORY
CONTROL UNIT
MAR MDR
IR
PROCESSING UNIT
ALU TEMP
PC
OUTPUT
Monitor
Printer
LED
Disk
INPUT
Keyboard
Mouse
Scanner
Disk
2-4
Nguyen Van Tho – Duy Tan University.
1
MEMORY - BỘ NHỚ
Một mảng k x m bit (k = 2n)
Address(Địa chỉ)
• Giá trị địa chỉ là duy nhất
cho mỗi vị trí trong bộ nhớ
Contents (Nội dung)
• m-bit value stored in location
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ớ
•••
0000
0001
0010
0011
0100
0101
0110
1101
1110
1111
00101101
10100010
32-5
Nguyen Van Tho – Duy Tan University.
1
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ớ
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ớ.
MEMORY
MAR MDR
2-6
Nguyen Van Tho – Duy Tan University.
1
Control Unit - Đơn vị điều khiển
Điều khiển thi hành chương trình
IR - Instruction Register
Thanh ghi chỉ thị
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
CONTROL UNIT
IRPC
42-7
Nguyen Van Tho – Duy Tan University.
1
Processing Unit – Đơn vị xử lý
Functional Units
• ALU = Arithmetic and Logic Unit
• Có nhiều đơn vị chức năng,
trong đó có 1 số chức năng đặc biệt
(nhân, căn bậc 2, …)
• 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, …, 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
PROCESSING UNIT
ALU TEMP
2-8
Nguyen Van Tho – Duy Tan University.
1
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
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
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)
OUTPUT
Monitor
Printer
LED
Disk
52-9
Nguyen Van Tho – Duy Tan University.
1-9
Instruction Processing - Xử lý chỉ thị
Giải mã chỉ thịi i ỉ ị
Tính toán địa chỉị ỉ
Lấy các toán hạng từ bộ nhớ
Xử lý tính toánl
Lưu trữ kết quả
Lấy chỉ thị từ bộ nhớỉ ị
EVALUATE ADDRESS
FETCH OPERANDS
EXECUTE
STORE
DECODE
FETCH
2-10
Nguyen Van Tho – Duy Tan University.
1
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ừ …)
• 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).
62-11
Nguyen Van Tho – Duy Tan University.
1
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.”
2-12
Nguyen Van Tho – Duy Tan University.
1
Instruction Processing: FETCH
Lấy chỉ thị kế tiếp từ PC
đư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.
Thanh ghi PC chỉ đến chỉ thị kế tiếp
• PC = PC+1.
EA
OP
EX
S
F
D
72-13
Nguyen Van Tho – Duy Tan University.
1
Instruction Processing: DECODE
Nhận dạng opcode.
• 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:
¾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
EA
OP
EX
S
F
D
2-14
Nguyen Van Tho – Duy Tan University.
1
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ớ.
EA
OP
EX
S
F
D
82-15
Nguyen Van Tho – Duy Tan University.
1
Instruction Processing: FETCH OPERANDS
Lấy các toán hạng nguồn để thi hành tác vụ.
Examples:
• Lấy dữ liệu từ bộ nhớ (LDR)
• Đọc dữ liệu từ thanh ghi
EA
OP
EX
S
F
D
2-16
Nguyen Van Tho – Duy Tan University.
1
Instruction Processing: EXECUTE
Thi hành tác vụ với các toán hạng nguồn
Examples:
• Gửi toán hạng tới ALU và tín hiệu xác định ADD
EA
OP
EX
S
F
D
92-17
Nguyen Van Tho – Duy Tan University.
1
Instruction Processing: STORE
Lưu trữ kết quả ra bộ nhớ hoặc thanh ghi
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
F
D
2-18
Nguyen Van Tho – Duy Tan University.
Ideal Pipelining
WMXRDFi+4
WMXRDFi+3
WMXRDFi+2
WMXRDFi+1
WMXRDFi
1
3
1
2
1
1
1
0
987654321Cycle:
Instr:
10
2-19
Nguyen Van Tho – Duy Tan University.
VON NEUMAN VS. HARDVARD
2-20
Nguyen Van Tho – Duy Tan University.
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)
• Multiple processor cores per chip
• Multiple processor chips per system
11
2-21
Nguyen Van Tho – Duy Tan University.
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-22
Nguyen Van Tho – Duy Tan University.
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%)
12
2-23
Nguyen Van Tho – Duy Tan University.
BỘ XỬ LÝ ĐA NHÂN
AS
Tài nguyên
thực thi
AS
Tài nguyên
thực thi
Bộ xử lý đa nhân được kiến
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ự .
9CPU 2 nhân (Core 2 Duo) tăng 40% hiệu năng
9CPU 4 nhân (Quad Core) tăng 50% hiệu năng hệ
thống so với CPU 2 nhân.
2-24
Nguyen Van Tho – Duy Tan University.
Multiple Processor Cores per Chip
Increased level of integration per package/chip
Perception of 2x performance (not always reality)
Can share nothing (Intel), Bus interface (AMD), L2 (IBM)
Processor
Core & L1
L2 Cache
Bus I/F
Processor
Core & L1
L2 Cache
Bus I/F
Processor
Core & L1
L2 Cache
Bus I/F
Processor
Core & L1
L2 Cache
Processor
Core & L1
L2 Cache
Bus I/F
Processor
Core & L1
Intel Pentium D AMD Athlon X2 IBM Power5
Intel Core2 Duo
13
2-25
Nguyen Van Tho – Duy Tan University.
Multiple Processor Cores per Chip
2-26
Nguyen Van Tho – Duy Tan University.
Multiple processor chips per system
14
2-27
Nguyen Van Tho – Duy Tan University.
Đ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-28
Nguyen Van Tho – Duy Tan University.
1
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
15
2-29
Nguyen Van Tho – Duy Tan University.
1
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 ?
2-30
Nguyen Van Tho – Duy Tan University.
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
16
2-31
Nguyen Van Tho – Duy Tan University.
KiẾN TRÚC MÁY TÍNH HiỆN ĐẠI Cầu Bắc
North Bridge
Cầu Nam
Sound Bridge
2-32
Nguyen Van Tho – Duy Tan University.
DUAL CHANNEL MEMORY
Sử dụng 2 kênh truyền để tăng tốc độ truy xuất RAM
North
Bridge
DDR2
DDR2
Chanel A
Chanel B
Main Memory
Để tận dụng công nghệ này phải có cặp RAM cắm theo
quy định
17
2-33
Nguyen Van Tho – Duy Tan University.
DUAL CHANNEL MEMORY
2-34
Nguyen Van Tho – Duy Tan University.
SERIAL VS. PARALLEL
Parallel : Cổng Printer, giao tiếp ổ cứng ATA , khe cắm
mở rộng PCI , chuẩn đồ hoạ AGP…
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
A
Truyền
0
1
0
0
0
0
0
1
B
Nhận
A
Truyền
B
Nhận
01000001
Parallel Serial
18
2-35
Nguyen Van Tho – Duy Tan University.
VI KIẾN TRÚC NAHALEM (CORE I7)
2-36
Nguyen Van Tho – Duy Tan University.