Bài giảng Kiến trúc máy tính - Chương 1: Đại cương - Nguyễn Duy Phúc

Thế hệ máy tính cơ khí

• Blaise Pascal (1636-1662): chế tạo máy có thể tính

toán được đầu tiên (cộng, trừ) năm 1642

• Leibniz (1646-1716): chế được máy có thể tính được

phép nhân, chia

• Charles Babbage (1791-1871): nghiên cứu chế tạo

máy phân tích (analytical engine)

• Đưa ý tưởng về máy tính đa năng (general purpose)

• Không thành công do công nghệ phần cứng chưa đáp ứng

pdf101 trang | Chuyên mục: Kiến Trúc Máy Tính | Chia sẻ: yen2110 | Lượt xem: 343 | Lượt tải: 0download
Tóm tắt nội dung Bài giảng Kiến trúc máy tính - Chương 1: Đại cương - Nguyễn Duy Phúc, để xem tài liệu hoàn chỉnh bạn click vào nút "TẢI VỀ" ở trên
e.com
Vĩnh Long, 06/2013
Đường đi của dữ liệu
 Các thành phần:
• ALU
• PC (Program Counter)
• SR (Status Register)
• Thanh ghi tổng quát
• TEMP
• MAR (Memory Address Register)
• MBR (Memory Buffer Register)
• MUX (Multiplexor)
• S1, S2, Dest
Bộ điều khiển
 Nhiệm vụ:
• Giải mã lệnh
• Phát tín hiệu điều khiển các bộ phận chức năng thực 
hiện lệnh
 Có 2 loại:
• Dùng mạch điện tử: đơn giản, phù hợp với BXL RISC
• Dùng vi chương trình (microprogram): dễ sửa đổi, 
phù hợp với BXL CISC
Nguyên tắc hoạt động của bộ điều khiển dùng mạch điện tử
Nguyên tắc hoạt động của bộ điều khiển dùng vi chương trình
Diễn tiến thi hành lệnh mã máy
IF
• Đọc lệnh (Instruction Fetch)
ID
• Giải mã lệnh (Instruction Decode)
EX
• Thi hành lệnh (Execute)
MEM
• Thâm nhập bộ nhớ trong hoặc nhảy (Memory Access)
RS
• Lưu trữ kết quả (Result Storing)
Diễn tiến thi hành lệnh mã máy (2)
 Đọc lệnh (IF)
• MAR  PC
• IR M[MAR]
 Giải mã lệnh (ID)
• A  Rs1
• B  Rs2
• PC  PC + d
d: kích thước của lệnh
Diễn tiến thi hành lệnh mã máy (3)
 Thi hành lệnh (EX): tùy theo trường hợp
• Liên hệ tới bộ nhớ
• MAR  Địa chỉ cần liên hệ do ALU tính (Rs2)
• MBR  Dữ liệu cần lưu và bộ nhớ (Rs1)
• Một lệnh tính toán của ALU
• Ngã ra ALU  kết quả phép tính
• Lệnh nhảy
• Ngã ra ALU  địa chỉ cần nhảy đến
Diễn tiến thi hành lệnh mã máy (4)
 Thâm nhập bộ nhớ trong/nhảy lần cuối (MEM)
• Liên hệ tới bộ nhớ
• Đọc từ bộ nhớ: MBR M[MAR]
• Ghi vào bộ nhớ: M[MAR] MBR
• Nhảy
• Có điều kiện  nếu điều kiện đúng thì: PC  ngã ra ALU
• Không điều kiện thì: PC  ngã ra ALU
 Lưu trữ kết quả (RS)
• Rd  ngã ra ALU / MBR
Diễn tiến thi hành lệnh mã máy (5)
Ví dụ 1: diễn tiến thi hành lệnh ADD R1, R2, R3
 IF MAR  PC
IR M[MAR]
 ID A  R2
B  R3
PC  PC + d
 EX Ngã ra ALU  A + B
 MEM
 RS R1  C  Ngã ra ALU
Diễn tiến thi hành lệnh mã máy (6)
Ví dụ 2: diễn tiến thi hành lệnh LOAD R1, (R2)
 IF MAR  PC
IR M[MAR]
 ID B  R2
PC  PC + d
 EX MAR  Ngã ra ALU  B
 MEM MBR M[MAR]
 RS R1  C  Ngã ra ALU MBR
Diễn tiến thi hành lệnh mã máy (7)
Ví dụ 3: diễn tiến thi hành lệnh STORE R3, (R4)
 IF MAR  PC
IR M[MAR]
 ID A  R3 B  R4
PC  PC + d
 EX MAR  Ngã ra ALU  B
MBR  Ngã ra ALU  A
 MEM M[MAR] MBR
 RS
Diễn tiến thi hành lệnh mã máy (8)
Ví dụ 4: diễn tiến thi hành lệnh JMP R1
 IF MAR  PC
IR M[MAR]
 ID B  R1
PC  PC + d
 EX Ngã ra ALU  B
 MEM PC  Ngã ra ALU
 RS
Kỹ thuật ống dẫn (Pipeline)
 Là kỹ thuật làm cho các giai đoạn khác nhau của 
nhiều lệnh được thi hành cùng một lúc.
 Thực thi lệnh bình thường
Lệnh
Xung nhịp
1 2 3 4 5 6 7 8 9 10
i IF ID EX MEM RS
i + 1 IF ID EX MEM RS
Kỹ thuật ống dẫn (2)
 Áp dụng kỹ thuật ống dẫn
Lệnh
Xung nhịp
1 2 3 4 5 6 7 8 9 10
i IF ID EX MEM RS
i + 1 IF ID EX MEM RS
i + 2 IF ID EX MEM RS
i + 3 IF ID EX MEM RS
i + 4 IF ID EX MEM RS
i + 5 IF ID EX MEM RS
Kỹ thuật ống dẫn (3)
 Yêu cầu:
• Có mạch điện riêng để thi hành từng giai đoạn của 
lệnh
• Có nhiều thanh ghi khác nhau dùng cho đọc và ghi 
dữ liệu
• Giải mã phải hoàn tất trong một chu kỳ xung nhịp
• Có nhiều thanh IR, PC, ALU
Kỹ thuật ống dẫn (4)
 Khó khăn do cấu trúc
• Do thiếu bộ phận chức năng
 Khó khăn do số liệu
• Do trong đường ống có lệnh sử dụng kết quả của 
lệnh trước nó
 Khó khăn do điều khiển
• Do có lệnh nhảy làm mất tính tuần tự của chương 
trình
Các kỹ thuật khác
 Siêu vô hướng (SuperScalar)
 Máy tính có lệnh thật dài (VLIW)
 Máy tính vector
 Máy tính song song: SISD, SIMD, MISD, MIMD
 Kiến trúc IA-64
KIẾN TRÚC MÁY TÍNH
Chương 4: Bộ nhớ
Nguyễn Duy Phúc
duyphucit@live.com
Vĩnh Long, 06/2013
Các loại bộ nhớ
 Bộ nhớ trong: ROM, RAM
 Bộ nhớ ngoài: đĩa, băng từ, thẻ nhớ, 
 Công nghệ chế tạo RAM
• RAM tĩnh (SRAM – Static RAM)
• RAM động (DRAM – Dynamic RAM)
 Các loại DRAM
• SDRAM
• DDR SDRAM
• RDRAM
SRAM và DRAM
SRAM DRAM
- Công nghệ ECL
- Kích thước lớn, phức tạp
- Tốc độ nhanh
- Không cần làm tươi bộ nhớ
- Đắt tiền
- Dùng làm bộ nhớ cache, 
thanh ghi
- Công nghệ MOS
- Nhỏ gọn, đơn giản
- Tốc độ chậm
- Cần phải làm tươi
- Rẻ tiền
- Dùng làm bộ nhớ chính 
(các thanh RAM)
Các cấp bộ nhớ
Toán hạng (Operand)
Khối (Block)
Trang (Page)
File
Từ trên xuống: dung lượng tăng, giá thành và tốc độ giảm
Bộ nhớ Cache
 Là bộ nhớ nhanh (thường là SRAM), hoạt động 
trung gian giữa bộ nhớ trong và CPU, chứa lệnh 
và dữ liệu thường xuyên hoặc sẽ sử dụng đến
CPUMain
Memory
Cache
Xác xuất truy cập dữ liệu trong bộ nhớ 
trong
 Một chương trình mất 90% thời gian của nó để 
thi hành 10% số lệnh của chương trình.
 Nguyên tắc về thời gian
• Chương trình luôn có phần được truy xuất thường 
xuyên nhất.
 Nguyên tắc về không gian
• Khả năng thập nhập ô nhớ kế tiếp là cao do tính 
tuần tự của chương trình.
Vận hành của Cache
CPUMain
Memory
Cache
Trao đổi dữ liệu giữa CPU – Cache – Bộ nhớ trong
Blocks Words
Vận hành của Cache (2)
 Thành công Cache (Cache hit)
• Dữ liệu cần truy xuất có trong cache
 Thất bại Cache (Cache miss)
• Dữ liệu cần truy xuất không tìm thấy trong cache
 Trừng phạt thất bại Cache (Cache penalty)
• Thời gian cần thiết để xử lý một thất bại cache
• Bao gồm: thời gian truy xuất bộ nhớ trong + thời 
gian chuyển khối cần đọc từ bộ nhớ trong đến cache
Sắp xếp khối trong Cache
Tương ứng trực tiếp
 Vị trí đặt khối tính theo công thức
K = i mod n
 Trong đó
• K : Vị trí đặt khối trong cache
• i : số thứ tự của khối trong bộ nhớ trong
• n : số lượng khối của cache
Sắp xếp khối trong Cache (2)
Hoàn toàn phối hợp
 Một khối trong bộ nhớ trong có thể đặt ở khối 
có vị trí bất kỳ trong cache
Sắp xếp khối trong Cache (3)
Phối hợp theo tập hợp
 Cache được chia thành nhiều tập hợp, mỗi tập 
hợp có nhiều khối, số lượng khối của các tập 
hợp bằng nhau
 Cách đặt khối trong bộ nhớ vào cache
• Tính K = i mod s
• Trong đó s là số lượng tập hợp của cache
• Khối sẽ được đặt vào bất kỳ vị trí nào trong tập hợp 
thứ K
0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15
Bộ nhớ trong
Bộ nhớ cache
16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31
0 1 2 3 4 5 6 7
Hoàn toàn phối hợp
0 1 2 3 4 5 6 7
Tương ứng trực tiếp
0 1 2 3 4 5 6 7
0 0 1 1 2 2 3 3
Phối hợp theo tập hợp
Cách tìm khối trong Cache
 Ứng với một thao tác truy xuất một từ trong bộ 
nhớ, cần phải xác định được:
• Số thứ tự khối cần truy xuất
• Vị trí của từ trong khối
 Vị trí của từ trong khối được xác định dựa vào 
địa chỉ của từ và kích thước của một khối
 Ví dụ: Địa chỉ bộ nhớ là 10 bit, kích thước khối là 
16 (4 bit)
Chỉ số khối trong bộ nhớ 
(6 bit)
Địa chỉ của từ trong 
khối (4 bit)
Cách tìm khối trong Cache (2)
 Nhận dạng chỉ số khối – tương ứng trực tiếp
• Chỉ số khối cache: xác định khối cần xét
• Nhãn: dùng so sánh xem khối đang xét có phải khối 
cần tìm hay không
Chỉ số khối trong bộ nhớ
Địa chỉ của từ 
trong khối
Nhãn Chỉ số khối cache
Cách tìm khối trong Cache (3)
 Nhận dạng chỉ số khối – hoàn toàn phối hợp
• Chỉ số khối: được so sánh với nhãn của tất cả các 
khối trong cache để xác định khối cần tìm có trong 
cache hay không
Chỉ số khối trong bộ nhớ
Địa chỉ của từ 
trong khối
Cách tìm khối trong Cache (4)
 Nhận dạng chỉ số khối – tương ứng trực tiếp
• Chỉ số khối cache: xác định tập hợp cần xét
• Nhãn: dùng so sánh với nhãn của tất cả khối trong 
tập hợp đang xét để xác định khối cần tìm
Chỉ số khối trong bộ nhớ
Địa chỉ của từ 
trong khối
Nhãn Chỉ số tập hợp
Thay thế khối trong Cache
 Thay thế ngẫu nhiên
 Khối xưa nhất (LRU – Least Recently Used)
 Vào trước ra trước (FIFO)
 Tần số sử dụng ít nhất (LFU – Least Frequently 
Used)
Chiến thuật ghi Cache
 Ghi đồng thời
• Dữ liệu được ghi cùng lúc vào khối trong cache và bộ 
nhớ trong
 Ghi lại
• Chỉ ghi lại trong cache, khi nào thay thế khối mới ghi 
lại trong bộ nhớ trong
Hiệu quả của Cache
 Thường đánh giá bằng thời gian thâm nhập 
trung bình của cache
 Công thức tính
Thời gian
thâm nhập
trung bình
của cache
=
Thời gian
thâm nhập
thành công
+
Tỷ lệ
thất bại
∗
Trừng phạt
thất bại
Cache duy nhất và Cache riêng lẻ
 Cache duy nhất
• Chứa cả lệnh và dữ liệu
 Cache riêng lẻ
• Phân biệt cache chứa lệnh và cache chứa dữ liệu
 Cache riêng lẻ giúp tránh tranh chấp khi cùng 
đọc lệnh và dữ liệu, tối ưu về mặt kích thước và 
phối hợp giữa các khối
Các mức Cache
 Số mức tùy thuộc vào thiết kế, chênh lệch giữa 
CPU và bộ nhớ trong
 Ký hiệu: L1, L2, L3, 
 Ví dụ: các mức cache của một CPU có 2 nhân
Các kỹ thuật tăng băng thông của 
bộ nhớ trong
 Nới rộng chiều dài ô nhớ (kích thước từ nhớ)
 Bộ nhớ đan chéo đơn giản
• Dùng chung đường địa chỉ với điều khiển ô nhớ
 Bộ nhớ đan chéo tổ chức độc lập
• Dùng riêng đường địa chỉ, có thể dùng riêng đường 
dữ liệu
 Tránh xung đột giữa các dãy bộ nhớ
• Thường xử lý bằng cách tăng số lượng dãy
Bộ nhớ ảo (Virtual Memory)
 Là cơ chế tự động hoán chuyển (swapping) dữ 
liệu giữa bộ nhớ trong và bộ nhớ ngoài để tăng 
dung lượng bộ nhớ có thể sử dụng của tiến 
trình (process)
 Bộ nhớ ảo giúp tiến trình không phụ thuộc vào 
kích thước của bộ nhớ RAM có trong máy
 Tăng khả năng đa chương, giảm nhẹ gánh nặng 
về bộ nhớ cho người lập trình
Mô hình bộ nhớ ảo
KIẾN TRÚC MÁY TÍNH
Chương 5: Nhập – Xuất
Nguyễn Duy Phúc
duyphucit@live.com
Vĩnh Long, 06/2013
Đĩa từ
 Lưu trữ dài hạn các tập tin
 Tham gia làm bộ nhớ ảo lúc chạy chương trình
 Các thông số:
• Dung lượng (GB)
• Giao tiếp (PATA, SATA, SCSI)
• Tốc độ quay (rpm)
• Bộ nhớ đệm – cache (MB)
Cấu tạo của đĩa cứng
Tổ chức lưu trữ thông tin trong đĩa cứng
Đĩa quang
Thẻ nhớ
Thẻ nhớ CompactFlash, MemoryStick, Secure Digital (SD) và xD
Các chuẩn bus
 ISA
 PCI
 AGP
 PCI-Express
 USB
 e-SATA
 IEEE 1394
 Thunderbolt
 
Hệ thống đĩa dự phòng (RAID)
 RAID – Redundant Arrays of Inexpensive Disks
 Các mức RAID
• RAID 0: tăng tốc độ, an toàn thấp
• RAID 1: tăng an toàn
• RAID 5: tăng tốc độ, tăng an toàn

File đính kèm:

  • pdfbai_giang_kien_truc_may_tinh_chuong_1_dai_cuong_nguyen_duy_p.pdf