Các kiểu bộ nhớ ngoài
– Trống từ (Drum): Ngày nay không còn sử dụng
– Băng từ (Tape): Chuyên dùng cho backup dữ liệu
– Đĩa từ: Đang sử dụng rộng rãi nhất
– Đĩa quang: Dùng để trao đổi dữ liệu giữa các máy tính và
phân phối phần mềm
– Flash Disk: Loại bộ nhớ bán dẫn gắn ngoài qua cổng USB,
nhỏ gọn và thuận tiện để trao đổi dữ liệu
– SSD (Solid State Disk): Cũng là bộ nhớ bán dẫn có dung
lượng lớn giao tiếp với máy tính tương tự ổ đĩa cứng, tốc
độ truy cập cao, ít tốn điện, không ồn, chống sốc tốt rất
phù hợp với máy xách tay. Nhược điểm giá thành đắt.
66 trang |
Chia sẻ: huyhoang44 | Lượt xem: 775 | Lượt tải: 0
Bạn đang xem trước 20 trang tài liệu Tin học văn phòng - Chương 2: Bộ xử lý trung tâm cpu (central processing unit), để xem tài liệu hoàn chỉnh bạn click vào nút DOWNLOAD ở trên
suất truy cập bộ nhớ
chính
Cấu trúc bộ xử lý tiên tiến
10/01/2017
11
• Đơn vị quản lý bộ nhớ
– Thường gọi là đơn vị MMU (Memory
Management Unit) dùng để quản lý bộ nhớ ảo
– Chuyển đổi địa chỉ ảo (trong chương trình) thành
địa chỉ vật lý (trong bộ nhớ)
– Cung cấp cơ chế phân trang/phân đoạn
– Cung cấp chế độ bảo vệ bộ nhớ
• Mục đích : Tăng dung lượng bộ nhớ chính
bằng cách sử dụng bộ nhớ phụ
Cấu trúc bộ xử lý tiên tiến
• Các kiến trúc máy tính song song
– Nhu cầu giải các bài toán lớn ngày càng nhiều, cần những
máy tính cực mạnh có khả năng xử lý tốc độ cao
– Kiến trúc máy tính tuần tự (Von-Neumann) tiến đến giới
hạn tốc độ, một bộ xử lý duy nhất khó nâng cao hơn nữa
khả năng xử lý
– Các kiến trúc máy tính song song giúp tăng hiệu suất tính
toán cho máy tính:
– Kiến trúc song song mức lệnh IPL (Instruction-level parallelism) :
Tăng số lượng lệnh thi hành được trên cùng 1 đơn vị thời gian
– Kiến trúc song song mức xử lý (Machine parallelism) : Tăng số
lượng đơn vị xử lý phần cứng
– Cần kết hợp cả 2 kiến trúc song song để tạo ra các máy tính
có hiệu suất cao
Cấu trúc bộ xử lý tiên tiến
• Kiến trúc song song mức lệnh
– Siêu đường ống (Superpipeline)
• Chia mỗi thao tác trong chu trình lệnh ra n bước nhỏ ống
lệnh dài hơn
• Cần 1/n chu kỳ máy cho mỗi thao tác
– Siêu hướng (Superscalar)
• Sử dụng nhiều ống lệnh CPU gồm nhiều đơn vị chức
năng, cho phép thi hành nhiều lệnh đồng thời
• Mỗi chu kỳ máy thực hiện được nhiều lệnh
– VLIW (Very Long Instruction Word)
• Ghép nhiều lệnh đơn vào 1 từ máy để thực hiện đồng thời
• Ví dụ : CPU Itanium họ IA-64 của Intel cho phép ghép 3
lệnh/từ máy gọi là bundle gồm 128 bit
Cấu trúc bộ xử lý tiên tiến
10/01/2017
12
• Superpipeline
Cấu trúc bộ xử lý tiên tiến
Chu kỳ 1 2 3 4 5 6 7
Lệnh 1 I1 I2 D1 D2 F1 F2 E1 E2 W1 W2
Lệnh 2 I1 I2 D1 D2 F1 F2 E1 E2 W1 W2
Lệnh 3 I1 I2 D1 D2 F1 F2 E1 E2 W1 W2
Lệnh 4 I1 I2 D1 D2 F1 F2 E1 E2 W1 W2
Lệnh 5 I1 I2 D1 D2 F1 F2 E1 E2 W1 W2
Chu kỳ 1 2 3 4 5 6 7 8 9
Lệnh 1 I D F E W
Lệnh 2 I D F E W
Lệnh 3 I D F E W
Lệnh 4 I D F E W
Lệnh 5 I D F E W
Lệnh 6 I D F E W
Lệnh 7 I D F E W
Lệnh 8 I D F E W
Lệnh 9 I D F E W
Lệnh 10 I D F E W
• Super-
scalar
• VLIW
Cấu trúc bộ xử lý tiên tiến
• Ví dụ: Khuôn dạng lệnh của CPU Intel Itanium
• Kiến trúc song song mức xử lý
– Tích hợp nhiều bộ xử lý đồng thời để tăng khả
năng thi hành chương trình
– Các xu hướng phát triển:
• Đa chương (multi-programming)
• Đa luồng (multi-threading)
• Đa nhân (multi-core)
• Đa xử lý (multi-processing)
• Đa máy tính (multi-computer)
Cấu trúc bộ xử lý tiên tiến
10/01/2017
13
• Kiến trúc song song mức xử lý (tiếp)
Cấu trúc bộ xử lý tiên tiến
(a) On-chip parallelism (b) Coprocessor (c) Multiprocessor (d) Multicomputer (e) Grid
• Multi-core
Cấu trúc bộ xử lý tiên tiến
• Ví dụ : CPU Intel Core i7 gồm 4 nhân
Cấu trúc bộ xử lý tiên tiến
10/01/2017
14
• Multi-processor
– Sử dụng bus chung hoặc switch
– Sử dụng bộ nhớ chung hoặc riêng biệt
Cấu trúc bộ xử lý tiên tiến
Sơ đồ UMA (Uniform Memory Access) dùng
bus chung và bộ nhớ chung
• Multi-processor (tiếp)
– Sơ đồ NUMA (Non-Uniform Memory Access)
dùng bus chung và bộ nhớ riêng
Cấu trúc bộ xử lý tiên tiến
• Multi-processor (tiếp)
– Sơ đồ UMA (Uniform Memory Access) dùng switch và bộ nhớ riêng
– Còn gọi là hệ thống đa xử lý đối xứng SMP (Symmetric Multi-
Processors)
Cấu trúc bộ xử lý tiên tiến
10/01/2017
15
• Multi-processor (tiếp)
– Sơ đồ multi-processor dùng bộ nhớ chung
Cấu trúc bộ xử lý tiên tiến
• Ví dụ: Hệ thống SUN E25K (NUMA multi-processor)
Cấu trúc bộ xử lý tiên tiến
72 CPU Dual-core
UltraSPARC IV+
1.95GHz
32MB Cache L3
1.15 TB RAM
250TB HDD
• Multi-computer
– Phân loại theo Flynn (1966): Căn cứ vào số lượng
lệnh và số lượng dữ liệu có thể xử lý là 1 hay nhiều
• Single instruction, single data stream – SISD
• Single instruction, multiple data stream – SIMD
• Multiple instruction, single data stream – MISD
• Multiple instruction, multiple data stream- MIMD
Cấu trúc bộ xử lý tiên tiến
10/01/2017
16
• Sơ đồ phân loại Flynn
Cấu trúc bộ xử lý tiên tiến
• Ví dụ về SIMD
Cấu trúc bộ xử lý tiên tiến
• Cluster
– Là 1 dạng máy tính loại MIMD gồm nhiều máy tính độc
lập kết nối qua mạng tốc độ cao, mỗi máy có CPU, BN và
IO riêng
– Dùng phương pháp truyền thông báo (Message Passing) để
trao đổi thông tin (bằng phần mềm)
• MPI (Message Passing Interface)
• PVM (Parallel Virtual Machine)
– Gồm 2 loại
• NOW (Network of Workstations) hoặc COW (Cluster of
Workstations) : Kết nối qua LAN
• Grid : Kết nối qua Internet
Cấu trúc bộ xử lý tiên tiến
10/01/2017
17
Cấu trúc bộ xử lý tiên tiến
• Cluster (tiếp)
• Message-passing multi-computer
Cấu trúc bộ xử lý tiên tiến
• Ví dụ: Siêu máy tính Bluegen của IBM
Cấu trúc bộ xử lý tiên tiến
2 core
PowerPC 440
700 MHz
4MB L3
500 TFLOPS
(teraFLOPS)
10/01/2017
18
• Ví dụ: Siêu máy tính Red Storm của Cray
Cấu trúc bộ xử lý tiên tiến
• So sánh 2 siêu máy tính Bluegen & Red Storm
Cấu trúc bộ xử lý tiên tiến
• Top 10 siêu máy tính 06/2010 trên trang top500.org
Cấu trúc bộ xử lý tiên tiến
Rank Site Computer
1
Oak Ridge National Laboratory
United States
Jaguar - Cray XT5-HE Opteron Six Core 2.6 GHz
Cray Inc.
2
National Supercomputing Centre in Shenzhen
China (Thâm Quyến)
Nebulae (Tinh Vân) - Dawning TC3600 Blade, Intel X5650
Dawning
3
DOE/NNSA/LANL
United States
Roadrunner - BladeCenter QS22/LS21 Cluster, PowerXCell 8i 3.2 Ghz /
Opteron DC 1.8 GHz, Voltaire Infiniband
IBM
4
National Institute for Computational
Sciences/University of Tennessee
United States
Kraken XT5 - Cray XT5-HE Opteron Six Core 2.6 GHz
Cray Inc.
5
Forschungszentrum Juelich (FZJ)
Germany
JUGENE - Blue Gene/P Solution
IBM
6
NASA/Ames Research Center/NAS
United States
Pleiades - SGI Altix ICE 8200EX/8400EX, Xeon HT QC 3.0 Ghz
SGI
7
National SuperComputer Center in Tianjin/NUDT
China (Thiên Tân)
Tianhe-1 (Tinh Hà) - NUDT TH-1 Cluster, Xeon E5540/E5450
NUDT
8
DOE/NNSA/LLNL
United States
BlueGene/L - eServer Blue Gene Solution
IBM
9
Argonne National Laboratory
United States
Intrepid - Blue Gene/P Solution
IBM
10
National Renewable Energy Laboratory
United States
Red Sky - Sun Blade x6275, Xeon X55xx 2.93 Ghz, Infiniband
Sun
10/01/2017
19
Rank Site Computer
1
RIKEN Advanced Institute for Computational
Science - Japan
K computer, SPARC64 VIIIfx 2.0GHz
Fujitsu
2
National Supercomputing Center in Tianjin
(Thiên Tân) – China
Tianhe-1A (Tinh Hà) X5670 2.93Ghz 6C, NVIDIA GPU
NUDT
3
DOE/SC/Oak Ridge National Laboratory
United States
Jaguar - Cray XT5-HE Opteron 6-core 2.6 GHz
Cray Inc.
4
National Supercomputing Centre in Shenzhen
(Thâm Quyến) – China
Nebulae (Tinh Vân) Intel X5650, NVidia Tesla C2050 GPU
Dawning
5
GSIC Center, Tokyo Institute of Technology
Japan
TSUBAME 2.0 G7 Xeon 6C X5670, Nvidia GPU,
NEC/HP
6
DOE/NNSA/LANL/SNL
United States
Cielo - Cray XE6 8-core 2.4 GHz
Cray Inc.
7
NASA/Ames Research Center/NAS
United States
Pleiades Xeon HT QC 3.0/Xeon 5570/5670 2.93 Ghz
SGI
8
DOE/SC/LBNL/NERSC
United States
Hopper - Cray XE6 12-core 2.1 GHz
Cray Inc.
9
Commissariat a l'Energie Atomique (CEA)
France
Tera-100 - Bull bullx super-node S6010/S6030
Bull SA
10
DOE/NNSA/LANL
United States
Roadrunner - PowerXCell 8i 3.2 Ghz / Opteron DC 1.8 GHz
IBM
• Top 10 siêu máy tính 06/2011 trên trang top500.org
Cấu trúc bộ xử lý tiên tiến
Rank Site Computer
1
DOE/NNSA/LLNL
United States
Sequoia - BlueGene/Q, Power BQC 16C 1.60 GHz, Custom
IBM
2
RIKEN Advanced Institute for Computational
Science Japan
K computer, SPARC64 VIIIfx 2.0GHz, Tofu interconnect
Fujitsu
3
DOE/SC/Argonne National Laboratory
United States
Mira - BlueGene/Q, Power BQC 16C 1.60GHz, Custom
IBM
4
Leibniz Rechenzentrum
Germany
SuperMUC - iDataPlex DX360M4, Xeon E5-2680 8C
2.70GHz, Infiniband FDR IBM
5
National Supercomputing Center in Tianjin
China
Tianhe-1A - NUDT YH MPP, Xeon X5670 6C 2.93 GHz,
NVIDIA 2050 NUDT
6
DOE/SC/Oak Ridge National Laboratory
United States
Jaguar - Cray XK6, Opteron 6274 16C 2.200GHz, Cray
Gemini interconnect, NVIDIA 2090 Cray Inc.
7
CINECA
Italy
Fermi - BlueGene/Q, Power BQC 16C 1.60GHz, Custom
IBM
8
Forschungszentrum Juelich (FZJ)
Germany
JuQUEEN - BlueGene/Q, Power BQC 16C 1.60GHz, Custom
IBM
9
CEA/TGCC-GENCI
France
Curie thin nodes - Bullx B510, Xeon E5-2680 8C 2.700GHz,
Infiniband QDR Bull
10
National Supercomputing Centre in Shenzhen
(NSCS) China
Nebulae - Dawning TC3600 Blade System, Xeon X5650 6C
2.66GHz, Infiniband QDR, NVIDIA 2050 Dawning
• Top 10 siêu máy tính 06/2012 trên trang top500.org
Cấu trúc bộ xử lý tiên tiến
• Top 10 siêu máy tính 11/2012 trên trang top500.org
Cấu trúc bộ xử lý tiên tiến
Rank Site System Cores
1
DOE/SC/Oak Ridge National Laboratory
United States
Titan - Cray XK7 , Opteron 6274 16C 2.200GHz,
Cray Inc.
560.640
2
DOE/NNSA/LLNL
United States
Sequoia - BlueGene/Q, Power BQC 16C 1.60 Hz,
IBM
1.572.864
3
RIKEN Advanced Institute for Computational Science
Japan
K computer, SPARC64 VIIIfx 2.0GHz,
Fujitsu
705.024
4
DOE/SC/Argonne National Laboratory
United States
Mira - BlueGene/Q, Power BQC 16C 1.60GHz,
IBM
786.432
5
Forschungszentrum Juelich (FZJ)
Germany
JUQUEEN - BlueGene/Q, Power BQC 16C
1.60GHz, IBM
393.216
6
Leibniz Rechenzentrum
Germany
SuperMUC - iDataPlex DX360M4, Xeon E5-2680
8C 2.70GHz, IBM
147.456
7
Texas Advanced Computing Center/Univ. of Texas
United States
Stampede - PowerEdge C8220, Xeon E5-2680 8C
2.700GHz, Intel Xeon Phi Dell
204.900
8
National Supercomputing Center in Tianjin
China
Tianhe-1A - NUDT YH MPP, Xeon X5670 6C 2.93
GHz, NVIDIA 2050 NUDT
186.368
9
CINECA
Italy
Fermi - BlueGene/Q, Power BQC 16C 1.60GHz,
IBM
163.840
10
IBM Development Engineering
United States
DARPA Trial Subset - Power 775, POWER7 8C
3.836GHz IBM
63.360
10/01/2017
20
Bộ nhớ
(Memory)
Nội dung
• Tổng quan về hệ thống nhớ
• Bộ nhớ bán dẫn
• Bộ nhớ chính
• Bộ nhớ cache
• Bộ nhớ ngoài
• Bộ nhớ ảo
Tổng quan về hệ thống nhớ
• Các đặc trưng của hệ thống nhớ
– Vị trí
• Bên trong CPU:
– Tập thanh ghi
• Bộ nhớ trong:
– Bộ nhớ chính
– Bộ nhớ cache
• Bộ nhớ ngoài: các thiết bị lưu trữ
– Dung lượng
• Độ dài từ nhớ (tính bằng bit)
• Số lượng từ nhớ
10/01/2017
21
• Các đặc trưng của hệ thống nhớ (tiếp)
– Đơn vị truyền
• Từ nhớ (word)
• Khối nhớ (block)
– Phương pháp truy cập
• Truy cập tuần tự (băng từ)
• Truy cập trực tiếp (các loại đĩa)
• Truy cập ngẫu nhiên (bộ nhớ bán dẫn)
• Truy cập kết hợp (cache)
Tổng quan về hệ thống nhớ
• Các đặc trưng của hệ thống nhớ (tiếp)
– Hiệu năng (performance)
• Thời gian truy cập
• Tốc độ truyền
– Kiểu vật lý
• Bộ nhớ bán dẫn
• Bộ nhớ từ
• Bộ nhớ quang
– Các đặc tính vật lý
• Tự mất/ Không tự mất (volatile/ nonvolatile)
• Xoá được/ không xoá được
Tổng quan về hệ thống nhớ
• Phân cấp hệ thống nhớ
Tổng quan về hệ thống nhớ
10/01/2017
22
• Độ tin cậy bộ nhớ
– Nguyên tắc chung: cần tạo ra và lưu trữ thêm thông tin dư
thừa.
• Từ dữ liệu cần ghi vào bộ nhớ: m bit
• Cần tạo ra và lưu trữ từ mã: k bit
• Lưu trữ (m+k) bit
– Phát hiện lỗi
• Kiểm tra chẵn/ lẻ (parity): Mỗi byte dữ liệu cần 1 bit kiểm tra
• Checksum
• CRC (Cyclic Redandancy Check)
– Phát hiện và sửa lỗi
• Dữ liệu được mã hoá bằng các bộ mã có khả năng sửa lỗi ECC
(Error Correction Code), ví dụ : Mã Hamming
• Mỗi byte hoặc block dữ liệu cần nhiều bit kiểm tra hơn
Tổng quan về hệ thống nhớ
• Độ tin cậy bộ nhớ (tiếp)
Tổng quan về hệ thống nhớ
Bộ nhớ bán dẫn
• Phân loại
– ROM (Read Only Memory)
• Bộ nhớ chỉ đọc
• Không tự mất dữ liệu khi cắt nguồn điện
– RAM (Random Access Memory)
• Bộ nhớ đọc/ ghi
• Tự mất dữ liệu khi cắt nguồn điện
– Cache
• Bộ nhớ có tốc độ cao nhưng dung lượng thấp
• Trung gian giữa bộ nhớ chính và thanh ghi trong CPU
• Ngày nay thường được tích hợp sẵn trong CPU
10/01/2017
23
• ROM
– Thông tin được ghi khi sản xuất
– Không xoá/ sửa được nội dung khi sử dụng
– Ứng dụng:
• Thư viện các chương trình con
• Các chương trình điều khiển hệ thống nhập xuất cơ bản
BIOS (Basic Input Output System)
• Phần mềm kiểm tra khi bật máy POST (Power On Self Test)
• Phần mềm khởi động máy tính (OS loader)
• Vi chương trình
Bộ nhớ bán dẫn
• Phân loại ROM
– Mask ROM
• Thông tin được ghi khi sản xuất
• Không xoá/ sửa được nội dung
• Giá thành rất đắt
– PROM (Programmable ROM)
• Khi sản xuất chưa có nội dung (ROM trắng)
• Cần thiết bị chuyên dụng để ghi
• Cho phép ghi được một lần, gọi là OTP (One Time Programmable)
hoặc WORM (Write-Once-Read-Many)
– EPROM (Erasable PROM)
• Có thể xóa bằng tia cực tím UV (Ultra Violet)
• Cần thiết bị chuyên dụng để ghi
• Ghi/ xoá được nhiều lần
Bộ nhớ bán dẫn
• Phân loại ROM (tiếp)
– EEPROM (Electrically EPROM)
• Xóa bằng mạch điện, không cần tia UV Không cần tháo
chip ROM ra khỏi máy tính
• Có thể ghi theo từng byte
• 2 chế độ điện áp:
– Điện áp cao : Ghi + Xoá
– Điện áp thấp : Chỉ đọc
– Flash memory (Bộ nhớ cực nhanh)
• EEPROM sản xuất bằng công nghệ NAND, tốc độ truy cập
nhanh, mật độ cao
• Xóa bằng mạch điện; Ghi theo từng block
• Ngày nay được sử dụng rộng rãi dưới dạng thẻ nhớ (CF,
SD,) , thanh USB, ổ SSD (thay thế cho ổ đĩa cứng)
Bộ nhớ bán dẫn
10/01/2017
24
• RAM
– Bộ nhớ đọc-ghi (Read/Write Memory)
– Có thể ghi/ xoá trong quá trình sử dụng Làm bộ nhớ
chính trong máy tính
– Tự mất dữ liệu khi cắt nguồn điện. Chỉ lưu trữ thông
tin tạm thời khi chạy chương trình, khi kết thúc
chương trình cần lưu trữ dữ liệu ra bộ nhớ ngoài
– Có hai loại:
• SRAM (Static RAM): RAM tĩnh
• DRAM (Dynamic RAM): RAM động
Bộ nhớ bán dẫn
• SRAM
– Các bit được lưu trữ bằng các Flip-Flop
– Thông tin ổn định, không tự mất dữ liệu theo thời
gian
– Cấu trúc phức tạp
– Dung lượng chip nhỏ
– Tốc độ truy cập nhanh
– Đắt tiền
– Dùng làm bộ nhớ cache
Bộ nhớ bán dẫn
• DRAM
– Các bit được lưu trữ trên mạch tụ điện
– Tự mất dữ liệu theo thời gian cần phải có mạch
làm tươi (refresh)
– Cấu trúc đơn giản
– Dung lượng lớn
– Tốc độ chậm hơn
– Rẻ tiền hơn
– Dùng làm bộ nhớ chính
Bộ nhớ bán dẫn
10/01/2017
25
• Phân loại DRAM theo cơ chế hoạt động
– FPM (Fast Page Mode)
• Truy cập theo từng trang bộ nhớ (cùng hàng khác cột)
– EDO (Enhanced Data Out)
• Khi xuất dữ liệu có thể đồng thời đọc địa chỉ của ô nhớ kế
tiếp
• Cho phép đọc nhanh gấp đôi so với RAM thường
– SDRAM (Synchronous DRAM)
• Đồng bộ với system clock CPU không cần chu kỳ chờ
• Truyền dữ liệu theo block
– RDRAM (Rambus DRAM)
• Bộ nhớ tốc độ cao, truyền dữ liệu theo block
• Do công ty Rambus và Intel sản xuất để sử dụng cho CPU
Pentium 4 khi mới xuất hiện năm 2000
• Giá thành đắt nên ngày nay ít sử dụng
Bộ nhớ bán dẫn
• Phân loại DRAM theo cơ chế hoạt động (tiếp)
– DDR-SDRAM (Double Data Rate-SDRAM)
• Phiên bản cải tiến của SDRAM nhằm nâng cao tốc độ truy
cập nhưng có giá thành rẻ hơn RDRAM
• Gởi dữ liệu 2 lần trong 1 chu kỳ clock
– DDR2/ DDR3: Gởi dữ liệu 4 hoặc 8 lần trong 1 chu kỳ
clock
Bộ nhớ bán dẫn
• Phân loại DRAM theo hình thức đóng gói
– SIMM (Single Inline Memory Module)
– DIMM (Dual Inline Memory Module)
– RIMM (Rambus Inline Memory Module)
– SO-DIMM (Small Outline DIMM)
– SO-RIMM (Small Outline RIMM)
Bộ nhớ bán dẫn
10/01/2017
26
• Tổ chức của chip nhớ
– Các đường địa chỉ: An-1 ÷ A0 có 2
n
từ nhớ
– Các đường dữ liệu: Dm-1 ÷ D0 độ
dài từ nhớ = m bit
– Dung lượng chip nhớ = 2n * m bit
– Các đường điều khiển:
• Tín hiệu chọn chip CS (Chip Select)
• Tín hiệu điều khiển đọc OE (Output Enable)
• Tín hiệu điều khiển ghi WE (Write Enable)
• Các tín hiệu điều khiển thường tích cực với
mức 0
Bộ nhớ bán dẫn
• Tổ chức bộ nhớ 1 chiều và 2 chiều
Bộ nhớ bán dẫn
• Tổ chức bộ nhớ hai chiều
– Có n đường địa chỉ: n = n1 + n2
• 2n1 hàng,
• mỗi hàng có 2n2 từ nhớ,
– Có m đường dữ liệu:
• mỗi từ nhớ có độ dài m-bit.
– Dung lượng của chip nhớ:
• [2n1 x (2n2 x m)] bit = (2n1+n2 x m) bit = (2n x m) bit.
– Hoạt động giải mã địa chỉ:
• Bước 1: bộ giải mã hàng chọn 1 trong 2n1 hàng.
• Bước 2: bộ giải mã cột chọn 1 trong 2n2 từ nhớ (cột) của hàng
đã được chọn.
Bộ nhớ bán dẫn
10/01/2017
27
• Tổ chức của DRAM
– Dùng n đường địa chỉ dồn
kênh cho phép truyền 2n
bit địa chỉ
– Tín hiệu chọn địa chỉ hàng
RAS (Row Address Strobe)
– Tín hiệu chọn địa chỉ cột CAS
(Column Address Strobe)
– Dung lượng DRAM = 22n x m
bit
Bộ nhớ bán dẫn
• Thiết kế mô-đun nhớ bán dẫn
– Dung lượng chip nhớ 2n x m bit
– Cần thiết kế để tăng dung lượng:
• Thiết kế tăng độ dài từ nhớ
• Thiết kế tăng số lượng từ nhớ
• Thiết kế kết hợp: tăng cả độ dài và số lượng từ nhớ
– Qui tắc: ghép nối các chip nhớ song song (tăng độ
dài) hoặc nối tiếp bằng mạch giải mã (tăng số
lượng)
Bộ nhớ bán dẫn
• Tăng độ dài từ nhớ
– VD:
• Cho chip nhớ SRAM 4K x 4 bit
• Thiết kế mô-đun nhớ 4K x 8 bit
– Giải:
• Dung lượng chip nhớ = 212 x 4 bit
• chip nhớ có:
– 12 chân địa chỉ
– 4 chân dữ liệu
• mô-đun nhớ cần có:
– 12 chân địa chỉ
– 8 chân dữ liệu
– Tổng quát
• Cho chip nhớ 2n x m bit
• Thiết kế mô-đun nhớ 2n x (k.m) bit
• Dùng k chip nhớ
Bộ nhớ bán dẫn
10/01/2017
28
Bộ nhớ bán dẫn
• Ví dụ: Tăng độ dài từ nhớ
• Tăng số lượng từ nhớ
– VD:
• Cho chip nhớ SRAM 4K x 8 bit
• Thiết kế mô-đun nhớ 8K x 8 bit
– Giải:
• Dung lượng chip nhớ = 212 x 8 bit
• Chip nhớ có:
– 12 chân địa chỉ
– 8 chân dữ liệu
• Dung lượng mô-đun nhớ = 213 x 8 bit
– 13 chân địa chỉ
– 8 chân dữ liệu
Bộ nhớ bán dẫn
Bộ nhớ bán dẫn
• Ví dụ: Tăng số lượng từ nhớ
10/01/2017
29
• Bài tập
– Tăng số lượng từ gấp 4 lần:
• Cho chip nhớ SRAM 4K x 8 bit
• Thiết kế mô-đun nhớ 16K x 8 bit
• Gợi ý: Dùng mạch giải mã 2 4
– Tăng số lượng từ gấp 8 lần:
• Cho chip nhớ SRAM 4K x 8 bit
• Thiết kế mô-đun nhớ 32K x 8 bit
• Gợi ý: Dùng mạch giải mã 3 8
– Thiết kế kết hợp:
• Cho chip nhớ SRAM 4K x 4 bit
• Thiết kế mô-đun nhớ 8K x 8 bit
Bộ nhớ bán dẫn
Bộ nhớ chính
• Các đặc trưng cơ bản
– Chứa các chương trình đang thực hiện và các dữ liệu
đang được sử dụng
– Tồn tại trên mọi hệ thống máy tính
– Bao gồm các ô nhớ được đánh địa chỉ trực tiếp bởi
CPU
– Dung lượng của bộ nhớ chính trên thực tế thường nhỏ
hơn không gian địa chỉ bộ nhớ mà CPU có thể quản lý.
– Việc quản lý logic bộ nhớ chính tuỳ thuộc vào hệ điều
hành người lập trình chỉ sử dụng bộ nhớ logic.
• Tổ chức bộ nhớ đan xen
(interleaved memory)
– Độ rộng của bus dữ liệu để
trao đổi với bộ nhớ: m = 8,
16, 32, 64,128 bit ...
– Các ô nhớ được tổ chức theo
byte tổ chức bộ nhớ vật lý
khác nhau
– m=8 bit một băng nhớ
tuyến tính
Bộ nhớ chính
10/01/2017
30
• Tổ chức bộ nhớ đan xen (tiếp)
– m = 16 bit hai băng nhớ đan xen
Bộ nhớ chính
• Tổ chức bộ nhớ đan xen (tiếp)
– m = 32 bit bốn băng nhớ đan xen
Bộ nhớ chính
• Tổ chức bộ nhớ đan xen (tiếp)
– m = 64 bit tám băng nhớ đan xen
Bộ nhớ chính
10/01/2017
31
Bộ nhớ cache
• Nguyên tắc chung của cache
– Nguyên lý cục bộ : Một chương trình thường sử
dụng 90% thời gian chỉ để thi hành 10% câu lệnh
– Cache được đặt giữa CPU và bộ nhớ chính nhằm
tăng tốc độ truy cập bộ nhớ của CPU
– Ví dụ:
• Cấu trúc chương trình tuần tự
• Vòng lặp có thân nhỏ
• Cấu trúc dữ liệu mảng
• Thao tác trên bộ nhớ cache
– CPU yêu cầu nội dung của ô nhớ
– CPU kiểm tra trên cache với dữ liệu này
– Nếu có, CPU nhận dữ liệu từ cache (nhanh)
– Nếu không có thực hiện 2 bước sau:
• Đọc Block chứa dữ liệu từ bộ nhớ chính vào cache
(chậm hơn)
• Chuyển dữ liệu từ cache vào CPU
Bộ nhớ cache
• Cấu trúc chung của cache
– Bộ nhớ chính có 2N byte
nhớ
• Bộ nhớ chính và cache được
chia thành các khối có kích
thước bằng nhau
• Bộ nhớ chính: B0, B1, B2, ... ,
Bp-1 (p Blocks)
• Bộ nhớ cache: L0, L1, L2, ... ,
Lm-1 (m Lines)
• Kích thước của Block =
8,16,32,64,128 byte
Bộ nhớ cache
10/01/2017
32
• Cấu trúc chung của cache (tiếp)
– Một số Block của bộ nhớ chính được nạp vào các
Line của cache.
– Nội dung Tag (thẻ nhớ) cho biết Block nào của bộ
nhớ chính hiện đang được chứa ở Line đó.
– Khi CPU truy cập (đọc/ghi) một từ nhớ, có hai khả
năng xảy ra:
• Từ nhớ đó có trong cache (cache hit)
• Từ nhớ đó không có trong cache (cache miss)
Bộ nhớ cache
• Tổ chức bộ nhớ cache
– Kích thước cache
• Cache càng lớn càng hiệu quả nhưng đắt tiền
• Cần nhiều thời gian để giải mã và truy cập
– Kỹ thuật ánh xạ : Phương pháp xác định vị trí dữ liệu trong
cache
• Ánh xạ trực tiếp (Direct mapping)
• Ánh xạ kết hợp toàn phần (Fully associative mapping)
• Ánh xạ kết hợp theo bộ (Set associative mapping)
– Giải thuật thay thế
• Phương pháp chọn lựa vùng nhớ nào lưu trong cache để tăng hiệu
suất sử dụng cache
Bộ nhớ cache
• Ánh xạ trực tiếp
– Mỗi Block của bộ nhớ chính chỉ có thể được nạp vào một
Line của cache:
• B0 L0
• B1 L1
• ....
• Bm-1 Lm-1
• Bm L0
• Bm+1 L1
• ....
– Tổng quát
• Bj chỉ có thể nạp vào L(j mod m)
• m là số Line của cache.
Bộ nhớ cache
Cache line Main Memory blocks s
0 0, m, 2m, 3m2s–m
1 1, m+1, 2m+12s–m+1
m–1 m–1, 2m–1, 3m–12s–1
10/01/2017
33
• Ánh xạ trực tiếp (tiếp)
Bộ nhớ cache
• Đặc điểm của ánh xạ trực tiếp
– Mỗi một địa chỉ N bit của bộ nhớ chính gồm ba vùng:
• Vùng Word gồm W bit xác định một từ nhớ trong Block hay Line:
– 2W = kích thước của Block hay Line
• Vùng Line gồm L bit xác định một trong số các Line trong cache:
– 2L = số Line trong cache = m
• Vùng Tag gồm T bit:
– T = N - (W+L)
– Bộ so sánh đơn giản
– Giá thành rẻ
– Tỷ lệ cache hit thấp (vd: 2 block cùng map vào 1 line)
Bộ nhớ cache
10/01/2017
34
• Ánh xạ kết hợp toàn phần
– Mỗi Block có thể nạp vào bất kỳ Line nào của cache.
– Địa chỉ của bộ nhớ chính bao gồm hai vùng:
• Vùng Word giống như trường hợp ánh xạ trực tiếp.
• Vùng Tag dùng để xác định Block của bộ nhớ chính.
– Tag xác định Block đang nằm ở Line đó
• Đặc điểm
– So sánh đồng thời Block nhớ với tất cả các Tag mất
nhiều thời gian
– Tỷ lệ cache hit cao.
– Bộ so sánh phức tạp.
Bộ nhớ cache
• Ánh xạ kết hợp toàn phần (tiếp)
Bộ nhớ cache
10/01/2017
35
• Ánh xạ kết hợp theo bộ
– Cache đươc chia thành các bộ (Set)
– Mỗi một Set chứa một số Line
– Ví dụ:
• 4 Line/Set 4-way associative mapping
– Ánh xạ theo nguyên tắc sau:
• B0 S0
• B1 S1
• B2 S2
• .......
Bộ nhớ cache
• Ánh xạ kết hợp theo bộ (tiếp)
Bộ nhớ cache
10/01/2017
36
• Đặc điểm ánh xạ kết hợp theo bộ
– Kích thước Block = 2W Word
– Vùng Set có S bit dùng để xác định một trong số V
= 2S Set (dùng để xác định Set nào trong cache)
– Vùng Tag có T bit: T = N - (W+S) dùng để xác
định Line nào có trong Set
– Mỗi Block bộ nhớ có thể ánh xạ vào Line bất kỳ
trong 1 Set tương ứng
– Là phương pháp tổng hợp từ hai phương pháp trên
– Thông thường sử dụng 2, 4, 8, 16 Lines/Set
Bộ nhớ cache
• Ví dụ về ánh xạ địa chỉ
– Không gian địa chỉ bộ nhớ chính = 4GB
– Dung lượng bộ nhớ cache là 256KB
– Kích thước Line (Block) = 32byte.
– Xác định số bit của các trường địa chỉ cho ba
trường hợp tổ chức:
• Direct mapping
• Fully associative mapping
• 4-way set associative mapping
Bộ nhớ cache
• Ví dụ: Direct mapping
– Bộ nhớ chính : 4GB = 232 byte N = 32 bit
– Cache : 256 KB = 218 byte.
– Line : 32 byte = 25 byte W = 5 bit
– Line trong cache : 218/ 25 = 213 Line L = 13 bit
– T = 32 - (13 + 5) = 14 bit
Bộ nhớ cache
10/01/2017
37
• Ví dụ: Fully associative mapping
– Bộ nhớ chính : 4GB = 232 byte N = 32 bit
– Line : 32 byte = 25 byte W = 5 bit
– Số bit của vùng Tag : T = 32 - 5 = 27 bit
Bộ nhớ cache
• Ví dụ: 4-way set associative mapping
– Bộ nhớ chính : 4GB = 232 byte N = 32 bit
– Line : 32 byte = 25 byte W = 5 bit
– Line trong cache = 218/ 25 = 213 Line
– Một Set có 4 Line = 22 Line
– Set trong cache = 213/ 22 = 211 Set S = 11 bit
– Số bit của vùng Tag : T = 32 - (11 + 5) = 16 bit
Bộ nhớ cache
• Giải thuật thay thế cache
– Mục đích: Giải thuật thay thế dùng để xác định
Line nào trong cache sẽ được chọn để đưa dữ liệu
vào cache khi không còn chỗ trống
– Thường được cài đặt bằng phần cứng để tăng tốc
độ xử lý
– Đối với ánh xạ trực tiếp:
• Không phải lựa chọn
• Mỗi Block chỉ ánh xạ vào một Line xác định
Bộ nhớ cache
10/01/2017
38
• Giải thuật thay thế với ánh xạ kết hợp
– FIFO (First In First Out): Thay thế Block nào nằm
lâu nhất ở trong Set đó
– LFU (Least Frequently Used): Thay thế Block nào
trong Set có số lần truy cập ít nhất trong cùng một
khoảng thời gian
– LRU (Least Recently Used): Thay thế Block ở
trong Set tương ứng có thời gian lâu nhất không
được tham chiếu tới.
– Giải thuật tối ưu nhất: LRU
Bộ nhớ cache
• Đặc điểm ghi dữ liệu ra cache
– Chỉ ghi vào 1 block trong cache khi nội dung trong
bộ nhớ chính thay đổi
– Nếu CPU ghi ra cache, ô nhớ tương ứng bị lạc hậu
(invalid) cần update ra BN chính. Ngược lại,
nếu ghi vào BN chính, nội dung trong cache sẽ bị
invalid cần update lại cache
– Trong hệ đa xử lý có nhiều CPU với cache riêng,
khi ghi vào 1 cache, các cache khác sẽ bị invalid
Bộ nhớ cache
• Phương pháp ghi dữ liệu khi cache hit
– Write-through:
• Ghi cả cache và cả bộ nhớ chính
• Tốc độ chậm
• Cho phép CPU khác hoặc IO truy cập dữ liệu đã ghi từ BN
– Write-back:
• Chỉ ghi ra cache
• Tốc độ nhanh
• CPU khác hoặc IO không đọc được dữ liệu mới trong BN
• Khi Block trong cache bị thay thế cần phải ghi Block này về bộ nhớ
chính
Bộ nhớ cache
10/01/2017
39
• Cache tách biệt và cache đồng nhất
– Cache tách biệt (Split Cache): Tổ chức cache riêng
cho dữ liệu và cache riêng cho lệnh chương trình
• Tối ưu cho từng loại cache
• Hỗ trợ kiến trúc pipeline
• Phần cứng phức tạp
– Cache đồng nhất (Unified Cache): Sử dụng 1
cache chung cho cả dữ liệu lẫn lệnh chương trình
• Cân bằng về tỷ lệ cache hit
• Phần cứng đơn giản
Bộ nhớ cache
• Ví dụ: Hệ thống cache trong CPU Intel Pentium 4
Bộ nhớ cache
• Ví dụ: Hệ thống cache trong CPU Intel Core i7
Bộ nhớ cache
10/01/2017
40
Bộ nhớ ngoài
• Các kiểu bộ nhớ ngoài
– Trống từ (Drum): Ngày nay không còn sử dụng
– Băng từ (Tape): Chuyên dùng cho backup dữ liệu
– Đĩa từ: Đang sử dụng rộng rãi nhất
– Đĩa quang: Dùng để trao đổi dữ liệu giữa các máy tính và
phân phối phần mềm
– Flash Disk: Loại bộ nhớ bán dẫn gắn ngoài qua cổng USB,
nhỏ gọn và thuận tiện để trao đổi dữ liệu
– SSD (Solid State Disk): Cũng là bộ nhớ bán dẫn có dung
lượng lớn giao tiếp với máy tính tương tự ổ đĩa cứng, tốc
độ truy cập cao, ít tốn điện, không ồn, chống sốc tốt rất
phù hợp với máy xách tay. Nhược điểm giá thành đắt.
• Đĩa từ
– Bao gồm đĩa mềm (floppy disk) và đĩa cứng (hard
disk)
– Các đặc tính đĩa từ
• Đầu từ cố định hay đầu từ di động
• Đĩa cố định hay thay đổi được (removable)
• Một mặt hay hai mặt
• Một tấm đĩa (đĩa mềm) hay nhiều tấm đĩa (đĩa cứng)
• Cơ chế đầu từ
– Tiếp xúc (đĩa mềm)
– Không tiếp xúc
Bộ nhớ ngoài
• Đĩa từ (tiếp)
– Đĩa mềm
• 8”, 5.25”, 3.5”
• Dung lượng nhỏ: chỉ tới 1.44MB
• Tốc độ chậm
• Hiện nay không sản xuất nữa
– Đĩa cứng
• Thường có nhiều tấm đĩa
• Đang sử dụng rộng rãi
• Dung lượng lớn (hiện nay có ổ 3TB – 2011)
• Tốc độ đọc/ghi nhanh
• Rẻ tiền
Bộ nhớ ngoài
10/01/2017
41
• Cấu trúc vật lý đĩa cứng
– Mặt đĩa
– Track (cylinder)
– Sector
Bộ nhớ ngoài
• Cấu trúc vật lý đĩa cứng (tiếp)
Bộ nhớ ngoài
• Track là các vòng tròn
đồng tâm
• Đơn vị đọc ghi: từng
sector (~ 512Byte), có thể
đọc ghi theo block nhiều
sector (cluster)
• Thời gian đọc ghi:
• Seek time
• Latency time
• Transfer time
• Đĩa quay với vận tốc góc
không đổi CAV (constant
angular velocity)
• Cấu trúc vật lý đĩa cứng (tiếp)
– Longitudial recording: Ghi tuyến tính
– Perpendicular recording: Ghi trực giao
– Cluster: Một bộ gồm nhiều sector
Bộ nhớ ngoài
10/01/2017
42
• Định dạng sector
Bộ nhớ ngoài
• Kỹ thuật RAID
– RAID: Redundant Array of Independent Disks
– Ghép nhiều ổ đĩa vật lý để truy cập như 1 ổ luận lý
• Tăng tốc độ truy cập (đọc ghi luân phiên và song song)
• Tăng độ an toàn dữ liệu khi đĩa hư hỏng (ghi dư thừa
hoặc ghi thêm thông tin ECC/parity)
• Tăng dung lượng tối đa của đơn vị lưu trữ (nhiều đĩa)
– Hiện có 7 loại thông dụng: RAID0 – RAID6
Bộ nhớ ngoài
• RAID 0, 1 và 2
Bộ nhớ ngoài
10/01/2017
43
• RAID 3 và 4
Bộ nhớ ngoài
• RAID 5 và 6
Bộ nhớ ngoài
• Tóm tắt kỹ thuật RAID
Bộ nhớ ngoài
10/01/2017
44
• Đĩa quang (optical disk)
– CD (compact disk)
• Khả năng đọc/ghi: CD-ROM, CD-R, CD-RW
• Đường kính: 12cm, 8cm
• Dung lượng: 700MB, 200MB
• Track: Ghi theo các vòng hướng tâm, tốc độ dài không đổi CLV
(constant linear velocity)
• Tốc độ đọc ghi: 1x – 52x (1x= ??)
• Chuẩn định dạng: ISO 9660, UDF (Universal Disk Format)
Bộ nhớ ngoài
• Đĩa quang (tiếp)
– DVD (Digital Versatile Disk): Loại đĩa dung lượng cao (so
với CD), xuất phát từ đĩa phim video (Digital Video Disk)
– Khả năng đọc ghi: DVD-ROM, DVD±R, DVD±RW,
DVD-RAM
– Số mặt/ số lớp: 1-2 mặt, 1-2 lớp/mặt
– Đường kính: 12cm, 8cm
– Tốc độ: 1x – 24x (1x=?)
– Đĩa DVD dung lượng cao
• HD-DVD (15-60GB)
• Blue ray (25-50GB)
Bộ nhớ ngoài
Sides Layers
Diameter
(cm)
Capacity
(GB)
1 1 8 1.46
1 2 8 2.66
2 2 8 2.92
2 4 8 5.32
1 1 12 4.7
1 2 12 8.54
2 2 12 9.4
2 4 12 17.08
Bộ nhớ ảo
• Bộ nhớ thật
– Không gian địa chỉ trong chương trình trùng với không gian địa chỉ
trong bộ nhớ. Cho phép người lập trình truy cập trực tiếp vào 1 ô nhớ
Khó bảo vệ bộ nhớ.
– Khi thi hành, hệ điều hành nạp toàn bộ chương trình vào bộ nhớ (nạp
trước) bộ nhớ máy tính phải đủ lớn để chạy các CT lớn
– Chương trình được cấp phát 1 vùng nhớ có địa chỉ liên tục (cấp phát
liên tục). HĐH sẽ thu hồi vùng nhớ sau khi chương trình kết thúc
– Để thực hiện đa chương, HĐH cần chia BN ra nhiều vùng (partition),
mỗi vùng cấp phát cho 1 CT
– Khi bộ nhớ đầy
• HĐH không cấp tiếp, các CT phải chờ đến khi có 1 vùng nhớ trống
• HĐH cấp tiếp: Cần kỹ thuật tráo đổi (swapping) để ghi tạm vùng nhớ của 1 CT khác
ra BN ngoài, lấy chỗ trống cấp cho CT mới
10/01/2017
45
• Bộ nhớ thật (tiếp)
Bộ nhớ ảo
• Bộ nhớ ảo (Virtual Memory)
– Không gian địa chỉ trong CT (địa chỉ ảo) được tách biệt với
không gian địa chỉ trong BN (địa chỉ thực) CPU và
HĐH sẽ phối hợp để ánh xạ (mapping) địa chỉ ảo trong CT
thành địa chỉ thật trong BN
– Việc ánh xạ và quản lý BN ảo được thực hiện qua đơn vị
MMU (Memory Management Unit)
Bộ nhớ ảo
• Bộ nhớ ảo (tiếp)
– Khi thi hành, hệ điều hành chỉ nạp các phần cần thiết của
CT vào bộ nhớ (nạp theo yêu cầu), không cần nạp toàn bộ
CT tránh lãng phí BN
– Các CT được cấp phát nhiều vùng nhớ có địa chỉ tách biệt
nhau (cấp phát không liên tục).
– Sử dụng kỹ thuật tráo đổi (swapping) để ghi tạm thời các
vùng nhớ chưa cần đến ra BN ngoài (swap-out) để lấy chỗ
trống nạp thông tin cần thiết vào BN (swap-in) khi cần đến
– BN ngoài thông dụng là đĩa cứng
– Có 2 kỹ thuật BN ảo:
• Kỹ thuật phân trang : Kích thước các vùng nhớ cố định
• Kỹ thuật phân đoạn : Kích thước các vùng nhớ thay đổi
Bộ nhớ ảo
10/01/2017
46
• Kỹ thuật phân trang (paging)
– Không gian địa chỉ ảo trong CT được chia đều ra các trang ảo (virtual
page, gọi tắt là page) có kích thước bằng nhau, mỗi trang là 1 đơn vị
cấp phát BN của HĐH
– Không gian địa chỉ thật trong BN cũng được chia đều thành các khung
trang (page frame, gọi tắt là frame) có kích thước bằng 1 trang (thường
là 4KB)
– Khi có yêu cầu cấp phát BN, HĐH có thể nạp 1 trang theo yêu cầu vào
bất cứ frame nào trong BN thật
– Khi CT truy cập vào 1 trang chưa được cấp phát sẽ gây ra lỗi trang
(page fault) HĐH phải xử lý bằng cách swapping với 1 trang khác
chưa cần sử dụng đến (chậm)
– HĐH cần 1 bảng quản lý để theo dõi trang nào đang được nạp vào
frame nào trong BN cho mỗi CT, gọi là bảng trang (page table)
Bộ nhớ ảo
• Kỹ thuật phân trang (tiếp)
Bộ nhớ ảo
• Ví dụ về BN phân trang
– BN ảo trong CT gồm 64KB
được chia ra 16 trang, mỗi
trang 4KB
– BN thực gồm 32KB được chia
ra 8 frame
– BN đang được cấp phát như
thể hiện trong bảng trang
Bộ nhớ ảo
Bài tập: Hãy tính địa chỉ
thật từ các địa chỉ ảo
• 10.000
• 20.000
• 30.000
10/01/2017
47
• Kỹ thuật phân đoạn (segmentation)
– Quan điểm người lập trình về BN
• Chương trình bao gồm nhiều module
• Dữ liệu bao gồm nhiều array, chuỗi,
• Khi truy cập sẽ căn cứ vào địa chỉ tương đối của module (lệnh thứ
mấy) hay array (phần tử thứ mấy)
Bộ nhớ ảo
• Kỹ thuật phân đoạn (tiếp)
– HĐH sẽ cấp phát BN theo từng đoạn (segment) có kích thước theo yêu
cầu lập trình, người lập trình truy cập BN theo offset trong từng
segment
– Địa chỉ ảo có dạng (segment, offset)
– Khi có yêu cầu cấp phát BN, HĐH có thể nạp 1 segment theo yêu cầu
vào vùng trống trong BN thật. Nếu không có vùng trống đủ lớn HĐH
cần dồn BN để tạo ra vùng trống đủ lớn.
– Khi CT truy cập vào 1 segment chưa được cấp phát sẽ gây ra lỗi
segment (segment fault) HĐH phải xử lý bằng cách swapping với 1
hoặc vài segment khác chưa cần sử dụng đến (chậm)
– HĐH cần 1 bảng quản lý để theo dõi segment nào đang được nạp vào
vị trí nào trong BN cho mỗi CT, gọi là bảng segment (segment table)
Bộ nhớ ảo
• Ví dụ về BN phân đoạn
Bộ nhớ ảo
Ban đầu S1 swap-out S4 swap-out S3 swap-out Dồn bộ nhớ
S7 swap-in S5 swap-in S6 swap-in
10/01/2017
48
• Tổng quát việc truy cập bộ nhớ trong máy tính
Bộ nhớ ảo
• Ưu điểm BN ảo
– Cho phép CT lớn hơn BN vẫn chạy được
– Chỉ nạp phần CT nào cần đến vào BN tiết kiệm BN
• Nhược điểm BN ảo
– Tăng phí tổn hệ thống (overhead): Tốn thời gian tính toán địa chỉ ảo
sang địa chỉ thật, tốn không gian BN chứa bảng trang/ segment
– Truy cập BN chậm hơn so với quản lý BN thực: Cần gấp đôi thời gian
truy cập BN. Khi có page/ segment fault việc truy cập BN biến thành
truy cập IO
• Cách khắc phục
– Cần phần cứng đặc biệt hỗ trợ HĐH để quản lý BN
– Cần giải thuật thay trang/ segment tối ưu
Bộ nhớ ảo
• Ví dụ: BN ảo trong CPU Intel Pentium 4
– Phân segment kết hợp phân trang 2 cấp
• Phân segment: Segment 16 bit, Offset: 32 bit.
• Phân trang: Địa chỉ tuyến tính 32 bit chia ra: Directory 10 bit, page 10 bit
và offset 12 bit (4KB/trang)
Bộ nhớ ảo
10/01/2017
49
Hệ thống IO
(Input Output System)
Nội dung
• Tổng quan về hệ thống IO
• Điều khiển IO
• Nối ghép thiết bị ngoại vi
• Các thiết bị ngoại vi thông dụng
Tổng quan về hệ thống IO
• Giới thiệu chung
– Chức năng của hệ thống IO: Trao đổi thông tin giữa
máy tính với thế giới bên ngoài
– Các thao tác cơ bản:
• Nhập dữ liệu (Input)
• Xuất dữ liệu (Output)
– Các thành phần chính:
• Các thiết bị ngoại vi
• Các mô-đun IO (IO module)
– Tất cả các thiết bị ngoại vi đều chậm hơn CPU và
RAM Cần có các mô-đun IO để nối ghép các thiết
bị ngoại vi với CPU và bộ nhớ chính
10/01/2017
50
• Cấu trúc cơ bản của hệ thống IO
Tổng quan về hệ thống IO
• Các thiết bị ngoại vi
– Chức năng: chuyển đổi dữ liệu giữa bên trong và
bên ngoài máy tính
– Phân loại:
• Thiết bị ngoại vi giao tiếp người-máy (người đọc): Bàn
phím, Màn hình, Máy in,...
• Thiết bị ngoại vi giao tiếp máy-máy (máy đọc): Đĩa
cứng, CDROM, USB,
• Thiết bị ngoại vi truyền thông: Modem, Network
Interface Card (NIC)
Tổng quan về hệ thống IO
• Tốc độ 1 số TBNV
Tổng quan về hệ thống IO
10/01/2017
51
• Các thành phần của thiết bị ngoại vi
– Bộ chuyển đổi tín hiệu: chuyển đổi dữ liệu giữa bên
ngoài và bên trong máy tính
– Bộ đệm dữ liệu: đệm dữ liệu khi truyền giữa mô-đun
IO và thiết bị ngoại vi
– Khối logic điều khiển: điều khiển hoạt động của thiết
bị ngoại vi đáp ứng theo yêu cầu từ mô-đun IO
Tổng quan về hệ thống IO
• Chức năng của mô-đun
IO:
– Điều khiển và định thời
– Trao đổi thông tin với
CPU hoặc bộ nhớ chính
– Trao đổi thông tin với
thiết bị ngoại vi
– Đệm giữa bên trong
máy tính với thiết bị
ngoại vi
– Phát hiện lỗi của thiết
bị ngoại vi
Tổng quan về hệ thống IO
• Không gian địa chỉ của CPU
– Một số CPU quản lý duy nhất một không gian địa chỉ:
• Không gian địa chỉ bộ nhớ: 2M địa chỉ
– Một số CPU quản lý hai không gian địa chỉ tách biệt:
• Không gian địa chỉ bộ nhớ: 2M địa chỉ
• Không gian địa chỉ IO: 2I địa chỉ
• Có tín hiệu điều khiển phân biệt truy nhập không gian địa chỉ
• Tập lệnh có các lệnh IO chuyên dụng
– Ví dụ: CPU Intel Pentium 4
• Không gian địa chỉ bộ nhớ = 236 byte = 64GB
• Không gian địa chỉ IO = 216 byte = 64KB
• Lệnh IO chuyên dụng: IN, OUT
Tổng quan về hệ thống IO
10/01/2017
52
• Các phương pháp địa chỉ hoá cổng IO
– IO riêng biệt (Isolated IO, IO mapped IO)
• Cổng IO được đánh địa chỉ theo không gian địa chỉ IO
• CPU trao đổi dữ liệu với cổng IO thông qua các lệnh IO
chuyên dụng (IN, OUT)
• Chỉ có thể thực hiện trên các hệ thống có quản lý không gian
địa chỉ IO riêng biệt
– IO theo bộ nhớ (Memory mapped IO)
• Cổng IO được đánh địa chỉ theo không gian địa chỉ bộ nhớ
• IO giống như đọc/ghi bộ nhớ
• CPU trao đổi dữ liệu với cổng IO thông qua các lệnh truy
nhập dữ liệu bộ nhớ
• Có thể thực hiện trên mọi hệ thống
Tổng quan về hệ thống IO
• Ví dụ: So sánh 2 phương pháp IO
Tổng quan về hệ thống IO
• Các phương pháp điều khiển IO
– IO bằng chương trình (Programmed IO)
– IO điều khiển bằng ngắt (Interrupt Driven IO)
– Truy nhập bộ nhớ trực tiếp DMA (Direct Memory
Access)
Điều khiển IO
10/01/2017
53
Điều khiển IO
• IO bằng chương trình
– Nguyên tắc chung: CPU điều khiển trực tiếp IO
bằng chương trình cần phải lập trình IO.
– Với IO riêng biệt: sử dụng các lệnh IO chuyên
dụng (IN, OUT).
– Với IO theo bản đồ bộ nhớ: sử dụng các lệnh trao
đổi dữ liệu với bộ nhớ để trao đổi dữ liệu với cổng
IO.
Điều khiển IO
• Các tín hiệu điều khiển IO
– Tín hiệu điều khiển (Control): kích hoạt & khởi động
thiết bị ngoại vi
– Tín hiệu kiểm tra (Test): kiểm tra trạng thái của mô-
đun IO và thiết bị ngoại vi
– Tín hiệu điều khiển đọc (Read): yêu cầu môđun IO
nhận dữ liệu từ thiết bị ngoại vi và đưa vào thanh ghi
đệm dữ liệu, rồi CPU nhận dữ liệu đó
– Tín hiệu điều khiển ghi (Write): yêu cầu môđun IO lấy
dữ liệu trên bus dữ liệu đưa đến thanh ghi đệm dữ liệu
rồi chuyển ra thiết bị ngoại vi
Điều khiển IO
10/01/2017
54
• Hoạt động của IO bằng chương trình
– CPU yêu cầu thao tác IO
– Mô-đun IO thực hiện thao tác
– Mô-đun IO thiết lập các bit trạng thái
– CPU kiểm tra các bit trạng thái:
• Nếu chưa sẵn sàng thì quay lại kiểm tra
• Nếu sẵn sàng thì chuyển sang trao đổi dữ liệu với mô-đun IO
• Đặc điểm
– IO do ý muốn của người lập trình
– CPU trực tiếp điều khiển IO
– CPU đợi mô-đun IO tiêu tốn thời gian của CPU
Điều khiển IO
• IO điều khiển bằng ngắt
– Sau khi gửi yêu cầu IO, CPU
không phải đợi trạng thái sẵn
sàng của mô-đun IO, CPU thực
hiện một chương trình nào đó
– Khi mô-đun IO sẵn sàng thì nó
phát tín hiệu ngắt CPU
– CPU thực hiện chương trình
con IO tương ứng để trao đổi
dữ liệu (trình xử lý ngắt)
– CPU trở lại tiếp tục thực hiện
chương trình đang bị ngắt
Điều khiển IO
• Hoạt động nhập dữ liệu: nhìn từ mô-đun IO
– Mô-đun IO nhận tín hiệu điều khiển đọc từ CPU
– Mô-đun IO nhận dữ liệu từ thiết bị ngoại vi, trong
khi đó CPU làm việc khác
– Khi đã có dữ liệu mô-đun IO phát tín hiệu ngắt
CPU
– CPU yêu cầu dữ liệu
– Mô-đun IO chuyển dữ liệu đến CPU
Điều khiển IO
10/01/2017
55
• Hoạt động nhập dữ liệu: nhìn từ CPU
– Phát tín hiệu điều khiển đọc
– Làm việc khác
– Cuối mỗi chu trình lệnh, kiểm tra tín hiệu ngắt
– Nếu bị ngắt:
• Cất ngữ cảnh (nội dung các thanh ghi)
• Thực hiện chương trình con ngắt để nhập dữ liệu
• Khôi phục ngữ cảnh của chương trình đang thực hiện
Điều khiển IO
• Các vấn đề nảy sinh khi có ngắt:
– Xác định được mô-đun IO nào phát tín hiệu ngắt ?
– Có nhiều yêu cầu ngắt cùng xảy ra ?
• Các phương pháp nối ghép ngắt
– Sử dụng nhiều đường yêu cầu ngắt
– Hỏi vòng bằng phần mềm (Software Poll)
– Hỏi vòng bằng phần cứng (Daisy Chain or Hardware
Poll)
– Sử dụng bộ điều khiển ngắt lập trình được PIC
(Programmable Interrupt Controller)
Điều khiển IO
• Nhiều đường yêu cầu ngắt
– Mỗi mô-đun IO được nối với một đường yêu cầu ngắt
– CPU phải có nhiều đường tín hiệu yêu cầu ngắt
– Hạn chế số lượng mô-đun IO
– Các đường ngắt được qui định mức ưu tiên
Điều khiển IO
10/01/2017
56
• Hỏi vòng bằng phần mềm
– CPU thực hiện phần mềm hỏi lần lượt từng mô-
đun IO
– Chậm
– Thứ tự các mô-đun được hỏi vòng chính là thứ tự
ưu tiên
Điều khiển IO
• Hỏi vòng bằng phần cứng
– CPU phát tín hiệu chấp nhận ngắt (INTA) đến mô-đun IO
đầu tiên
– Nếu mô-đun IO đó không gây ra ngắt thì nó gửi tín hiệu
đến mô-đun kế tiếp cho đến khi xác định được mô-đun gây
ngắt
– Thứ tự các mô-đun IO kết nối trong chuỗi xác định thứ tự
ưu tiên
Điều khiển IO
• Bộ điều khiển ngắt lập trình được PIC
– PIC có nhiều đường vào yêu cầu ngắt có qui định
mức ưu tiên
– PIC chọn một yêu cầu ngắt không bị cấm có mức
ưu tiên cao nhất gửi tới CPU
Điều khiển IO
10/01/2017
57
• Đặc điểm của IO điều khiển bằng ngắt
– Có sự kết hợp giữa phần cứng và phần mềm
– Phần cứng: gây ngắt CPU
– Phần mềm: trao đổi dữ liệu
– CPU trực tiếp điều khiển IO
– CPU không phải đợi mô-đun IO hiệu quả sử
dụng CPU tốt hơn
Điều khiển IO
• Ví dụ: Hệ thống ngắt
trên máy PC
– CPU Intel x86 có 1
chân tín hiệu ngắt
– PIC 8259A có 8
đường ngắt
– Có thể đấu nối nhiều
PIC theo chế độ
master/ slaver để
tăng số lượng đường
ngắt phục vụ cho
nhiều thiết bị
• DMA (Direct Memory Access)
– IO bằng chương trình và bằng ngắt do CPU trực
tiếp điều khiển:
• Chiếm thời gian của CPU
• Tốc độ truyền bị hạn chế vì phải chuyển dữ liệu qua
CPU (thanh ghi có dung lượng nhỏ)
– Để khắc phục dùng DMA
• Thêm mô-đun phần cứng trên bus DMAC (DMA
Controller)
• DMAC điều khiển trao đổi dữ liệu giữa môđun IO với
bộ nhớ chính
Điều khiển IO
10/01/2017
58
• Sơ đồ cấu trúc của
DMAC
– Thanh ghi dữ liệu: chứa
dữ liệu trao đổi
– Thanh ghi địa chỉ: chứa
địa chỉ ô nhớ dữ liệu
– Bộ đếm dữ liệu: chứa số
từ dữ liệu cần trao đổi
– Logic điều khiển: điều
khiển hoạt động của
DMAC
Điều khiển IO
• Hoạt động DMA
– CPU gửi tín hiệu cho DMAC
• Vào hay Ra dữ liệu
• Địa chỉ thiết bị IO (cổng IO tương ứng)
• Địa chỉ đầu của mảng nhớ chứa dữ liệu nạp vào thanh ghi địa
chỉ
• Số từ dữ liệu cần truyền nạp vào bộ đếm dữ liệu
– CPU làm việc khác
– DMAC điều khiển trao đổi dữ liệu
– Sau khi truyền được một từ dữ liệu thì:
• nội dung thanh ghi địa chỉ tăng
• nội dung bộ đếm dữ liệu giảm
– Khi bộ đếm dữ liệu = 0, DMAC gửi tín hiệu ngắt CPU để
báo kết thúc DMA
Điều khiển IO
• Các kiểu thực hiện DMA
– DMA truyền theo khối (Block-transfer DMA):
DMAC sử dụng bus để truyền xong cả khối dữ liệu
– DMA lấy lén chu kỳ (Cycle Stealing DMA):
DMAC cưỡng bức CPU treo tạm thời từng chu kỳ
bus, DMAC chiếm bus thực hiện truyền một từ dữ
liệu.
– DMA trong suốt (Transparent DMA): DMAC nhận
biết những chu kỳ nào CPU không sử dụng bus thì
chiếm bus để trao đổi một từ dữ liệu.
Điều khiển IO
10/01/2017
59
• Cấu hình DMA 1: Bus chung, DMA tách biệt
– Mỗi lần trao đổi một dữ liệu, DMAC sử dụng bus
hai lần
• Giữa mô-đun IO với DMAC
• Giữa DMAC với bộ nhớ
– CPU bị treo khỏi bus 2 lần
Điều khiển IO
• Cấu hình DMA 2: Bus chung, DMA tích hợp
– DMAC điều khiển một hoặc vài mô-đun IO
– Mỗi lần trao đổi một dữ liệu, DMAC sử dụng bus
một lần
• Giữa DMAC với bộ nhớ
– CPU bị treo khỏi bus 1 lần
Điều khiển IO
Điều khiển IO
• Cấu hình DMA 3: Bus IO riêng
– Bus IO tách rời hỗ trợ tất cả các thiết bị cho phép
DMA
– Mỗi lần trao đổi một dữ liệu, DMAC sử dụng bus một
lần
• Giữa DMAC với bộ nhớ
– CPU bị treo khỏi bus 1 lần
10/01/2017
60
• Đặc điểm của DMA
– CPU không tham gia trong quá trình trao đổi dữ liệu
– DMAC điều khiển trao đổi dữ liệu giữa bộ nhớ chính
với mô-đun IO (hoàn toàn bằng phần cứng) tốc độ
nhanh
– Phù hợp với các yêu cầu trao đổi mảng dữ liệu có kích
thước lớn (Block devices)
• Phân loại TBNV
– Character devices
– Block devices
Điều khiển IO
• Ví dụ: Chip DMA trong máy PC
– Intel 8237A DMA Controller
– Giao tiếp với CPU Intel x86 và DRAM
– Khi DMA cần bus, nó gửi tín hiệu HRQ cho CPU
– CPU trả lời bằng tín hiệu HLDA
– DMA bắt đầu sử dụng bus
Điều khiển IO
• Kênh IO (IO channel)
– Việc điều khiển IO được thực hiện bởi một bộ xử
lý IO chuyên dụng
– Bộ xử lý IO hoạt động theo chương trình của riêng
nó
– Chương trình của bộ xử lý IO có thể nằm trong bộ
nhớ chính hoặc nằm trong một bộ nhớ riêng
– Hoạt động theo kiến trúc đa xử lý
• CPU gửi yêu cầu IO cho kênh IO
• Kênh IO tự thực hiện việc truyền dữ liệu
Điều khiển IO
10/01/2017
61
Nối ghép thiết bị ngoại vi
• Các kiểu nối ghép
– Nối ghép song song (parallel)
– Nối ghép nối tiếp (serial)
• Nối ghép song song
– Truyền nhiều bit song song
– Cần nhiều đường truyền dữ
liệu
– Tốc độ nhanh
– Dễ bị nhiễu giữa các tín hiệu
• Nối ghép nối tiếp
– Truyền lần lượt từng bit
– Cần có bộ chuyển đổi từ
dữ liệu song song sang
nối tiếp hoặc/và ngược
lại
– Cần ít đường truyền dữ
liệu
– Tốc độ chậm hơn
Nối ghép thiết bị ngoại vi
• Các cấu hình nối ghép
– Điểm tới điểm (Point to Point)
• Mỗi cổng IO nối ghép với một thiết bị ngoại vi
• Ví dụ:
– SATA (Serial ATA)
– SAS (Serial Atache SCSI)
– Điểm tới đa điểm (Point to Multipoint)
• Mỗi cổng IO cho phép nối ghép với nhiều thiết bị ngoại vi
• Ví dụ:
– SCSI (Small Computer System Interface): 7 hoặc 15 thiết bị
– USB (Universal Serial Bus): 127 thiết bị
– IEEE 1394 (FireWire): 63 thiết bị
Nối ghép thiết bị ngoại vi
10/01/2017
62
• Ví dụ: Các cổng nối ghép ngoại vi trên PC
– PS/2: nối ghép bàn phím và chuột – MiniDIN 6 chân
– RJ45: nối ghép mạng
– LPT (Line Printer): nối ghép với máy in, là cổng song
song (Parallel Port) – 25 chân
– COM (Communication): nối ghép với Modem, là cổng
nối tiếp (Serial Port) - 9 hoặc 25 chân
– USB (Universal Serial Bus): Cổng nối tiếp đa năng,
cho phép nối ghép tối đa 127 thiết bị
Nối ghép thiết bị ngoại vi
• Ví dụ: Các cổng nối ghép trên card màn hình
– VGA: Cổng nối ghép màn hình Analog– 15 chân
– DVI: Cổng nối ghép màn hình Digital
– S-Video
– HDMI
Nối ghép thiết bị ngoại vi
• Ví dụ: Hệ thống bus ngoại vi trên máy PC
Nối ghép thiết bị ngoại vi
10/01/2017
63
• Hệ thống bus ngoại vi trên máy PC (tiếp)
– ISA (Industry Standard Architecture): Sử dụng trên
máy PC 8086 (8 bit) và AT 80286 (16 bit)
– MCA (Micro Channel Architecture): Sử dụng trên
máy 80386 của IBM (32 bit)
– EISA (Extended ISA) Sử dụng trên các máy 80386
tương thích (32 bit)
– VL bus (VESA Local bus): Sử dụng trên các máy
80486 (32 bit)
Nối ghép thiết bị ngoại vi
• Hệ thống bus ngoại vi trên máy PC (tiếp)
– AGP (Accelerated Graphics Port): Bus dành riêng
cho card màn hình trên máy Pentium. Bao gồm các
mức tốc độ 1x, 2x, 4x và 8x (1x=266MB/s).
– PCI (Peripheral Component Interconnect): Sử
dụng trên các máy Pentium (32 & 64 bit)
• PCI-X: Sử dụng tần số xung nhịp cao hơn (66-133
MHz) so với PCI 33 MHz
• PCI-E (PCI-Express): Cho phép truyền dữ liệu tốc độ
cao, được sử dụng trong các máy PC đời mới. Gồm
nhiều mức tốc độ: 1x, 2x, , 32x (1x: 1 Lane có 4
đường truyền nối tiếp 250 MB/s)
Nối ghép thiết bị ngoại vi
• Các cổng điều khiển đĩa
– Đĩa mềm : Dùng cáp 34 chân kết nối tối đa 2 ổ
mềm
– Đĩa cứng/CD/DVD/SSD :
• Chuẩn ST506
• Chuẩn ESDI
• Chuẩn IDE/UDMA/PATA
• Chuẩn SCSI
• Chuẩn SATA
• Chuẩn SAS
Nối ghép thiết bị ngoại vi
10/01/2017
64
Các thiết bị ngoại vi thông dụng
• Thiết bị nhập
– Bàn phím, chuột, scanner, digitizer, micro, đọc vân
tay, đọc bar-code, camera,
• Thiết bị xuất
– Màn hình, máy in, máy vẽ, loa, projector,
• Thiết bị mạng & truyền thông
– Modem, Router,
• Thiết bị lưu trữ
– Đĩa mềm, đĩa cứng, SSD, CD, DVD, thẻ nhớ,
Chuong 2 : Tổ chức CPU 191
Cahï hoûi ohn taäê
• Bïí æaø ár? Troná caùc æoaïi Bïí, Bïí naøo æaø Bïí
2 chiefï.
• Cho 1 oh nhzù coù ñòa chæ vaät æyù æaø 1256Â, cho
bieát ñòa chæ daïná íeáment:offíet vzùi caùc ñoaïn
1256Â vaø 1240Â.
• OÂ nhzù coù ñòa chæ vaät æyù 80FD2Â, zû troná ñoaïn
naøo thr noù coù offíet = BFD2Â?
• Xaùc ñònh ñòa chæ vaät æyù cïûa oh nhzù coù ñòa chæ
æoáic 0A51Â:CD90Â
Chuong 2 : Tổ chức CPU 192
Cahï hoûi ohn taäê
• Theá naøo æaø biehn áizùi ñoaïn?
• Sö ï åhaùc nhaï cz baûn áiö õa boä vi òö û æyù 8086 vaø
80286?
• Thïyeát minh trrnh tö ï CPU thö ïc hieän cahï æeänh
Mem(b) Not Mem(a)
• Chï åyø æeänh, chï åyø maùy. Cho bieát qïan heä
áiö õa chï åyø cæocå, chï åyø maùy vaø chï åyø æeänh.
• Qïan heä áiö õa taäê æeänh vaø åieán trïùc cïûa CPU
10/01/2017
65
Chuong 2 : Tổ chức CPU 193
Cahï hoûi ohn taäê
• Giaûi thích taïi íao åhi taêná tafn íoá òïná cæocå,
áiaûm chï åyø ñait ítate cïûa boä nhzù, thehm cache
cho CPU æaïi æaøm cho heä thoáná chaïy vzùi hieäï
íïaát cao hzn. ?
• Trrnh baøy chieán æö zïc chính æö ï trö õ thohná tin
troná Cache?
• Tính toác ñoä chïyeån áiao dö õ æieäï cïûa maùy tính
coù CPU 486DX-66MÂz vaø maùy Pentiïm
100MÂz.
• Phahn bieät RISC vaø CISC.
• Trrnh baøy cz cheá ñö zøná oáná troná thö ïc thi cïûa
CPU
Chuong 2 : Tổ chức CPU 194
BÀI TẬP
Bài 1 : Cho biết giá trị chuổi ‘XY’ được lưu trữ
trong MT dướI dạng số hex và dạng số bin?
Bài 2 : Cho biết giá trị ở hệ 10 của các số
nguyên có dấu sau :
a.10000000b b.01111111b
Bài 3 : Cho đoạn code sau :
MOV AH,7F INT 20H
MOV AX,1234 Hãy cho biết giá trị của
MOV BH,AL các thanh ghi AX,BX ?
MOV BL,AH
Chuong 2 : Tổ chức CPU 195
BÀI TẬP
Bài 4: Cho đoạn code sau :
MOV AL,81
ADD AL, 0FE
INT 20H
Giả sử các số đều là số có dấu. Giải thích kết quả
chứa trong thanh ghi AL khi đoạn code trên được
thực thi. Sử dụng giá trị ở hệ 10 để giải thích.
10/01/2017
66
Chuong 2 : Tổ chức CPU 196
BÀI TẬP
Bài 5: Giả sử thanh ghi trong MT của bạn dài
24 bits, cho biết giá trị của số dương lớn nhất
mà thanh ghi này có thể chứa ở 2 hệ 2 và hệ
16?
Bài 6 : Biến đổI địa chỉ sau thành địa chỉ tuyệt đối
a. 0950:0100
b. 08F1:0200
Câu hỏi
Các file đính kèm theo tài liệu này:
- chuong_2_bo_xu_ly_cpu_2074.pdf