Tổ chức CPU – bộ nhớKTMT & Hệ điều hành 3 một hệ thống máy tính • Định nghĩa được kiến trúc máy tính là gì • Trình bày được kiến trúc phần mềm của bộ xử lý • Trình bày được các cấp tổ c
Trang 1Tổ chức CPU – bộ nhớ
Chương 02
CBGD: Nguyễn Trần Thi Văn
KIẾN TRÚC MÁY TÍNH & HỆ ĐIỀU HÀNH
Trang 3Tổ chức CPU – bộ nhớ
KTMT & Hệ điều hành 3
một hệ thống máy tính
• Định nghĩa được kiến trúc máy tính là gì
• Trình bày được kiến trúc phần mềm của
bộ xử lý
• Trình bày được các cấp tổ chức bộ nhớ
Trang 4Tổ chức CPU – bộ nhớ
KTMT & Hệ điều hành 4
và các thiết bị nhập/xuất thông tin
Trang 5Tổ chức CPU – bộ nhớ
KTMT & Hệ điều hành 5
– Là một tập hợp các ô nhớ, mỗi ô nhớ có một số
bit nhất định chứa thông tin.
– Các thông tin này là các lệnh hay số liệu
– Mỗi ô nhớ của bộ nhớ trong đều có một địa chỉ – Thời gian thâm nhập vào một ô nhớ bất kỳ
trong bộ nhớ là như nhau
– Còn được gọi là bộ nhớ truy cập ngẫu nhiên
(RAM: Random Access Memory)
Trang 6– Gồm có hai phần: phần thi hành lệnh (ALU)
và phần điều khiển (CU) Ngoài ra còn có
các thanh ghi
Trang 7Tổ chức CPU – bộ nhớ
KTMT & Hệ điều hành 7
– Dùng để nhập/xuất thông tin.
– Giao tiếp người-máy, hoặc giao tiếp
máy-máy trong hệ thống mạng
– Có thể là thiết bị lưu trữ ngoài, màn hình, bàn
phím, máy in, …
Trang 8Tổ chức CPU – bộ nhớ
KTMT & Hệ điều hành 8
thông qua hệ thống bus:
– Bus địa chỉ: chuyển các thông tin là địa chỉ – Bus dữ liệu: chuyển dữ liệu chung
– Bus điều khiển: chuyển các tín hiệu điều
khiển, ra lệnh
Trang 9Tổ chức CPU – bộ nhớ
KTMT & Hệ điều hành 9
Trang 10Tổ chức CPU – bộ nhớ
KTMT & Hệ điều hành 10
– Kiến trúc phần mềm : chủ yếu là kiến trúc
BXL, gồm tập lệnh, dạng lệnh và các kiểu định vị.
– Tổ chức của máy tính : liên quan đến cấu
trúc BXL, các bus và cách tổ chức bộ nhớ
– Lắp đặt phần cứng : các thiết bị điện tử cần thiết để tạo nên một máy tính hoàn chỉnh.
Trang 11Tổ chức CPU – bộ nhớ
KTMT & Hệ điều hành 11
1 Các kiểu thi hành 1 lệnh máy
2 Kiến trúc thanh ghi đa dụng
3 Tập lệnh
4 Các kiểu định vị
5 Toán hạng
6 Kiến trúc RISC.
Trang 13Tổ chức CPU – bộ nhớ
KTMT & Hệ điều hành 13
– Vị trí của toán hạng cũng cần xem xét.
– Có 3 kiểu cơ bản:
Trang 14Tổ chức CPU – bộ nhớ
KTMT & Hệ điều hành 14
– Ví dụ: chuỗi lệnh cần thực hiện để tính
C := A + B trong 3 kiến trúc phần mềm
Trang 15Tổ chức CPU – bộ nhớ
KTMT & Hệ điều hành 15
– Kiến trúc thanh ghi dùng chung được sử
dụng rộng rãi vì tốc độ truy xuất nhanh, ít giao tiếp bộ nhớ thường xuyên và tăng
hiệu quả của các trình dịch.
– (Ưu khuyết điểm của từng kiến trúc, xem tr
26, 27, chương II, giáo trình KTMT)
Trang 16Tổ chức CPU – bộ nhớ
KTMT & Hệ điều hành 16
– Một lệnh ALU có 2 hoặc 3 toán hạng
– Nếu có 3 toán hạng thì 1 sẽ chứa kết quả
thực hiện phép tính của 2 toán hạng còn lại
– Số toán hạng bộ nhớ trong 1 lệnh có thể từ
0 tới 3
– Do đó 1 lệnh có thể chia thành: thanh
ghi-thanh ghi, ghi-thanh ghi-bộ nhớ, bộ nhớ-bộ
nhớ.
Trang 17• Rdest: thanh ghi đích
• Rsource1: thanh ghi nguồn thứ nhất
• Rsource2: thanh ghi nguồn thứ hai
Trang 18• Lệnh logic: AND, OR, XOR, NEG
• Các lệnh dịch chuyển: SLL, SRL, SLA, SRA
Trang 19Tổ chức CPU – bộ nhớ
KTMT & Hệ điều hành 19
Trang 21Tổ chức CPU – bộ nhớ
KTMT & Hệ điều hành 21
– Vòng lặp:
• Cho phép lặp đi lặp lại 1 đoạn lệnh nhiều lần
• Được hiện thực hóa bằng cách sử dụng lệnh
nhảy (quay lại vị trí lệnh đã đi qua)
Trang 22• Dùng ngăn xếp để lưu địa chỉ trở về (quay về
thủ tục đang thực hiện dang dở)
Trang 23Tổ chức CPU – bộ nhớ
KTMT & Hệ điều hành 23
– Định nghĩa cách thức thâm nhập các toán
hạng (bộ nhớ hoặc thanh ghi)
– 2 kiểu định địa chỉ liên quan đến ô nhớ:
big-endian và little-endian
Trang 24Tổ chức CPU – bộ nhớ
KTMT & Hệ điều hành 24
Trang 25Tổ chức CPU – bộ nhớ
KTMT & Hệ điều hành 25
– Kiểu: địa chỉ, dạng số, dạng chuỗi, logic.
– Chiều dài: xác định bởi kiểu (8bit, 16bit,
32bit hoặc 64bit)
Trang 26Tổ chức CPU – bộ nhớ
KTMT & Hệ điều hành 26
– R educed I nstruction S et C omputer
– (Xem thêm ở các trang 35 đến 38, chương
II, giáo trình KTMT)
Trang 28Tổ chức CPU – bộ nhớ
KTMT & Hệ điều hành 28
– Gồm ALU, các mạch dịch, các thanh ghi
và đường nối giữa chúng.
– Nhiệm vụ chính là:
• Đọc toán hạng từ thanh ghi dùng chung
• Thực hiện phép tính trên ALU
• Lưu kết quả trở lại thanh ghi dùng chung
– Là phần tương đối dễ cài đặt và xử lý.
Trang 29Tổ chức CPU – bộ nhớ
KTMT & Hệ điều hành 29
– Tạo tín hiệu di chuyển số liệu
– Điều khiển ALU, điều khiển đọc ghi bộ
Trang 30Tổ chức CPU – bộ nhớ
KTMT & Hệ điều hành 30
1 Đọc lệnh ( IF : Instruction Fetch)
2 Giải mã lệnh ( ID : Instruction Decode) và
đọc các thanh ghi nguồn
3 Thi hành lệnh ( EX : Execute)
4 Thâm nhập bộ nhớ trong hoặc nhảy
( MEM : Memory access)
5 Lưu trữ kết quả ( RS : Result Storing)
Trang 31Tổ chức CPU – bộ nhớ
KTMT & Hệ điều hành 31
– Xảy ra khi có một sự kiện nào đó đột ngột
làm gián đoạn tính tuần tự của chương trình:
• Ngoại vi đòi hỏi nhập hoặc xuất số liệu
• Báo tràn số liệu trong tính toán số học
• Trang bộ nhớ thực sự không có trong bộ nhớ
• Báo vi phạm vùng cấm của bộ nhớ
• Báo dùng một lệnh không có trong tập lệnh
• Báo phần cứng máy tính bị hư, …
Trang 32Tổ chức CPU – bộ nhớ
KTMT & Hệ điều hành 32
– Cơ chế xử lý:
1 Thực hiện xong lệnh đang làm
2 Lưu trữ trạng thái hiện tại
3 Nhảy đến chương trình phục vụ ngắt
4 Khi chương trình phục vụ chấm dứt, bộ xử lý khôi phục lại trạng thái cũ của nó và tiếp tục thực hiện chương trình mà nó đang thực hiện khi bị ngắt
Trang 33Tổ chức CPU – bộ nhớ
KTMT & Hệ điều hành 33
– Cho phép các phần của nhiều lệnh máy
được thực hiện đồng thời.
Trang 34• Về mặt cấu trúc : cần nhiều ALU, nhiều bộ
đếm chương trình PC, nhiều con trỏ lệnh IR
• Về mặt số liệu : lệnh sau sử dụng kết quả của
lệnh trước đó, trong khi lệnh này chưa thực hiện xong.
• Về mặt điều khiển : (tương tự số liệu)
Trang 35– Siêu vô hướng (superscalar): trong cùng
1 chu kỳ máy tính có thể thực hiện n lệnh cùng lúc.
Trang 36Tổ chức CPU – bộ nhớ
KTMT & Hệ điều hành 36
Trang 37Tổ chức CPU – bộ nhớ
KTMT & Hệ điều hành 37
Trang 38Tổ chức CPU – bộ nhớ
KTMT & Hệ điều hành 38
– VLIW (Very Long Instruction Work): là máy
tính theo kiểu siêu vô hướng, thay vì xử lý
1 lúc nhiều lệnh ngắn, người ta chuyển thành lệnh dài.
– Máy tính vector : có thể tính toán vô
hướng (dùng pipeline) và tính toán vector.
– Máy tính song song : tăng số lượng bộ xử
lý trong một máy tính để tăng tốc độ.
Trang 40Tổ chức CPU – bộ nhớ
KTMT & Hệ điều hành 40
– Bộ nhớ RAM (truy xuất ngẫu nhiên): tất cả
các ô có thể đọc/ghi với thời gian bằng nhau.
– Bộ nhớ ROM (chỉ đọc, không ghi được)
– Bộ nhớ ngoài (đĩa từ, đĩa quang): có thể
cất giữ dữ liệu lâu dài, ngay cả khi đã cắt nguồn.
Trang 41• SDRAM (Synchronous DRAM)
• DDRAM - DDR SDRAM (Double Data Rate)
• RDRAM (Rambus RAM)
Trang 42Tổ chức CPU – bộ nhớ
KTMT & Hệ điều hành 42
– Các loại ROM:
• PROM (Programmable ROM)
• EPROM (Erasable Programmable ROM)
• EEPROM (Electrically Erasable
Programmable ROM)
Trang 43Tổ chức CPU – bộ nhớ
KTMT & Hệ điều hành 43
– Phân chia theo thời gian truy cập
– Phân chia theo khả năng lưu trữ
– Phân chia theo giá thành
– Phân chia theo chu kỳ bộ nhớ
Trang 44Tổ chức CPU – bộ nhớ
KTMT & Hệ điều hành 44
Trang 45Tổ chức CPU – bộ nhớ
KTMT & Hệ điều hành 45
Trang 46– Việc luân chuyển dữ liệu qua lại giữa RAM và
cache được thực hiện theo từng khối (blocks)
Trang 47Tổ chức CPU – bộ nhớ
KTMT & Hệ điều hành 47
– Cache hit : phần tử cần đọc/ghi được BXL
tìm thấy trong cache
– Cache miss : phần tử cần đọc/ghi không
có trong cache
– Cache penalty : là thời gian thâm nhập bộ
nhớ trong (RAM) và chuyển khối cần đọc vào cache
Trang 48Tổ chức CPU – bộ nhớ
KTMT & Hệ điều hành 48
– Cơ chế hoạt động: (xem giáo trình KTMT,
trang 67 - 72)
Trang 49Tổ chức CPU – bộ nhớ
KTMT & Hệ điều hành 49
– Hiệu quả của cache:
TimeAVG = TimeHit + Tỉ lệFail*Penalty
với:
Tỉ lệ Fail = số lần Fail/Tổng số lần truy cập
Trang 50Tổ chức CPU – bộ nhớ
KTMT & Hệ điều hành 50
– Các mức cache:
• L1 (Level1 cache): on-chip cache
• L2 (Level2 cache): off-chip cache
• Một số hệ thống chuyên biệt còn có L3 cache
Trang 51– Thời gian truy cập chậm hơn so với
cache, nhưng vẫn nhanh hơn nhiều so với
bộ nhớ ngoài.
Trang 52Tổ chức CPU – bộ nhớ
KTMT & Hệ điều hành 52
– Trước đây, người ta dùng kỹ thuật overlay
trong trường hợp chương trình có kích thước lớn hơn dung lượng bộ nhớ
– Hiện nay, bộ nhớ ảo cho phép nhiều tiến
trình (process) thực hiện cùng lúc.
– Bộ nhớ ảo bao gồm 1 phần bộ nhớ trong
và 1 phần bộ nhớ ngoài (đĩa cứng)
Trang 53Tổ chức CPU – bộ nhớ
KTMT & Hệ điều hành 53
Trang 54Tổ chức CPU – bộ nhớ
KTMT & Hệ điều hành 54
– Cơ chế hoạt động (xem thêm trong giáo
trình KTMT, trang 76 - 69)
Trang 56Tổ chức CPU – bộ nhớ
KTMT & Hệ điều hành 56
hoạt động của bộ xử lý.
• Các kỹ thuật tăng tốc BXL có thể kể
đến ống dẫn, siêu ống dẫn, siêu vô
hướng, xử lý song song,…
• Bộ nhớ được phân chia thành nhiều
loại: cache, RAM, ROM, bộ nhớ ngoài
Trang 57trong và 1 phần đĩa cứng, phân chia
và bảo vệ các tiến trình hoạt động
cùng lúc.
Trang 58Tổ chức CPU – bộ nhớ
KTMT & Hệ điều hành 58
HẾT CHƯƠNG 02
(còn tiếp…)