KIEN TRUC PC 1
CẤU TRÚC MÁY TÍNH
(Computer Structure)
Giới thiệu
Cấu trúc Máy tính
(Computer Structure)
Trình bầy: Đinh Đồng Lưỡng.
ĐT: 058.832078
Mobile: 0914147520
Email: [email protected]
Mục đích và yêu cầu
Mục đích:
Tìm hiểu cấu trúc và tổ chức các máy tính.
Tìm hiểu nguyên lý hoạt động cơ bản Máy tính.
Giới thiệu cấu trúc máy tính tiên tiến của Intel.
Yêu cầu:
Có kiến thức lập trình cơ bản.
Sinh viên đọc tài liệu và làm việc theo nhóm để thực
hiện báo cáo trên lớp.
Tài liệu tham khảo (sách)
1.Willian Stallings - Computer Organization and Architecture.
2.Andrew Stamenbaum – Structure Computer Organization.
3.Cẩm nang sữa chữa và nâng cấp máy tính cá nhân
Nguyễn Đăng Khoa
4.Giáo trình bảo trì và nâng cấp máy tính
(Trường KHTN - TPHCM )
Lê Công Bảo
5. Cấu tạo và nguyên lý hoạt động của hệ thông máy
RON WHITE - Nguyễn Trọng Tuấn (Dịch)
Tài liệu tham khảo (trang web)
@www.williamstallings.com
@ocw.mit.edu
@www.intel.com
@www.asus.com
@www.gigabyte.com
@www .guidePC.com
Nội dung môn học
1. Giới thiệu chung.
2. Hệ thống máy tính.
3. Biểu diễn dữ liệu và số học máy tính.
4. Bộ xử lý trung tâm.
5. Bộ nhớ Máy tính.
6. Hệ thống vào ra.
Chương 1
Giới thiệu chung
1.1 Khái niệm chung máy tính
1.2 Phân loại máy tính
1.3 Sự tiến hóa của máy tính
1.1 Khái niệm chung
Máy tính(compute r) là thiết bị điện tử thực hiện công
việc sau:
nhận thông tin vào.
xử lý thông tin theo chương trình nhớ sẵn bên trong bộ
nhớ máy tính.
đưa thông tin ra.
Chương trình (Program): chương trình là dãy các câu
lệnh nằm trong bộ nhớ, nhằm mục đích hướng dẫn
máy tính thực hiện một công việc cụ thể nào đấy. Máy
tính thực hiện theo chương trình.
GV: Đinh Đồng Lưỡng Cấu trúc Máy tính 8
----------------------- Page 9-----------------------
1.1 Khái niệm chung
Ph n mềm (Software): Bao gồm chương trình và dữ
liệu.
Ph n cứng (Hardware): Bao gồm tất cả các thành phần
vật lý cấu thành lên hệ thống Máy tính.
Phần dẻo (Firmware): Là thành phần chứa cả hai thành
phần trên.
Kiến trúc máy tính(Compute r Architecture) đề cập đến
các thuộc tính của hệ thống máy tính dưới cái nhìn của
người lập trình. Hay nói cách khác, là những thuộc tính
ảnh hưởng trực tiếp đến quá trình thực hiện logic của
chương trình. Bao gồm: tập lệnh, biểu diễn dữ liệu, các
cơ chế vào ra, kỹ thuật đánh địa chỉ,…
1.1 Khái niệm chung
Tổ chức máy tính(Compute r Organization): đề cập đến
các khối chức năng và liên hệ giữa chúng để thực hiện
những đặc trưng của kiến trúc.
Ví dụ: trong kiến trúc bộ nhân: đây là thuộc tính của
hệ thống xử lý. Bộ nhân này sẽ được tổ chức riêng bên
trong máy tính hoặc nó được tính toán nhiều lần trên bộ
cộng để cũng được một kết qủa nhân tương ứng.
Cấu trúc máy tính(Comp uter Structure): là những thành
phần của máy tính và những liên kết giữa các thành phần.
Ở mức cao nhất máy tính bao gồm 4 thành phần:
GV: Đinh Đồng Lưỡng Cấu trúc Máy tính 10
Bộ xử lý : điều khiển và xử lý số liệu.
Bộ nhớ : chứa chương trình và dữ liệu.
Hệ thống vào ra : trao đổi thông tin giữa máy tính
với bên ngoài.
Liên kết giữa các hệ thống : liên kết các thành phần
của máy tính lại với nhau.
1.1 Khái niệm chung
Mô hình phân lớp của hệ thống
Người dùng
Người dùng
CÁC TRÌNH ỨNG
CÁC TRÌNH ỨNG
DỤNG
DỤNG
Nhà lập trình
CÁC PHẦN MỀM TRUNG GIAN Nhà lập trình
CÁC PHẦN MỀM TRUNG GIAN
HỆ Đ ỀU HÀNH
HỆ Đ ỀU HÀNH
Nhà Tkế OS
Nhà Tkế OS
PHẦN CỨNG MÁY TÍNH
PHẦN CỨNG MÁY TÍNH
1.1 Khái niệm chung
Mô hình cơ bản
XỬ LÝ
XỬ LÝ
TRUNG TÂM
TRUNG TÂM
Các thiết bị
Các thiết bị Các thiết bị
Các thiết bị
nhập
nhập xuất
xuất
BỘ NHỚ
BỘ NHỚ
CHÍNH
CHÍNH
GV: Đinh Đồng Lưỡng Cấu trúc Máy tính 13
----------------------- Page 14-----------------------
1.1 Khái niệm chung
Sơ đồ cấu trúc máy tính
Peripherals Computer
Central
Main
Processing Memory
Unit
Computer
Systems
Interconnection
Input
Output
Communication
lines
GV: Đinh Đồng Lưỡng Cấu trúc Máy tính 14
----------------------- Page 15-----------------------
1.1 Khái niệm chung
Sơ đồ cấu trúc CPU
CPU
Arithmetic
Computer Arithmetic
Registers
Registers and
and
I/O Login Unit
Login Unit
System CPU
Bus
Internal CPU
Internal CPU
Interconnection
Memory Interconnection
Control
Control
Unit
Unit
GV: Đinh Đồng Lưỡng Cấu trúc Máy tính 15
----------------------- Page 16-----------------------
1.1 Khái niệm chung
Chức năng(Compute r Function): là mô tả hoạt động của
hệ thống hay từng thành phần của hệ thống.
Chức năng chung của một hệ thống bao gồm:
Xử lý dữ liệu.
Lưu trữ dữ liệu.
Vận chuyển dữ liệu.
Điều khiển
GV: Đinh Đồng Lưỡng Cấu trúc Máy tính 16
----------------------- Page 17-----------------------
1.1 Khái niệm chung
Sơ đồ chức năng máy tính
Data
Data
Storage
Storage
Facility
Facility
Data
Data
Control
Control
Movement
Movement
Mechanism
Mechanism
Apparatus
Apparatus
ata
ata
Processing
Processing
Facility
Facility
GV: Đinh Đồng Lưỡng Cấu trúc Máy tính 17
----------------------- Page 18-----------------------
1.2 Phân loại máy tính
Phân loại theo phương pháp truyền thống
Máy vi tính ( Microcomputer)
Máy tính nhỏ (Minicomp uter)
Máy tính lớn (Mainf rame Comput er)
Siêu máy tính (Super Comput er)
Phân loại theo phương pháp hiện đại
Máy tính để bàn (Desktop C ompu ter)
Máy chủ (Servers)
Máy tính nhúng (Embedded Comput er)
GV: Đinh Đồng Lưỡng Cấu trúc Máy tính 18
----------------------- Page 19-----------------------
1.2 Phân loại máy tính
Máy để bàn:
là loại máy thông dụng nhất hiện nay.
bao gồm máy tính cá nhân (PC: Persional Computer)
và trạm (Workstation Computer).
giá mua 100$ đến 10.000$
Máy chủ
là máy phục vụ(server)
dùng trong mạng theo mô hình Clent/Server
có tốc độ, hiệu năng, bộ nhớ và độ tin cậy cao
giá vài chục nghìn đến vài chục triệu đô
GV: Đinh Đồng Lưỡng Cấu trúc Máy tính 19
----------------------- Page 20-----------------------
1.2 Phân loại máy tính
Máy tính nhúng
được đặt trong nhiều thiết bị khác nhau để điều khiển
thiết bị làm việc
được thiết kế chuyên dụng
ví dụ: điện thoại di động, bộ điều khiển các thiết gia
đình, Router định tuyến,…
GV: Đinh Đồng Lưỡng Cấu trúc Máy tính 20
----------------------- Page 21-----------------------
1.3 Sự tiến hóa của máy tính
Sự phát triển của máy tính chia ra 4 thế hệ:
Thế hệ 1: Máy tính dùng đèn chân không (Vacumm
Tube) 1946-1955
Thế hệ 2: Máy tính dùng Transitor (1955-1965)
Thế hệ 3: Máy tính dùng mạch tích hợp IC
(Intergrated Circuit) 1966 – 1980
Thế hệ 4: Máy tính dùng mạch tích hợp cực lớn
VLSI (Very Large Scale Intergrated )1980 đến nay
GV: Đinh Đồng Lưỡng Cấu trúc Máy tính 21
----------------------- Page 22-----------------------
Máy tính EN AC
Electronic Numerical Integrator And Computer
GV: Đinh Đồng Lưỡng Cấu trúc Máy tính 22
----------------------- Page 23-----------------------
1.3 Sự tiến hóa của máy tính
Đề xuất năm 943 và hoàn thành 946 được sử dụng
đến 955 do thầy trò Eckert và Mauchly Trường đại học
Pennsylvania của Mỹ
Đặc điểm chính:
2
Nặng 30 tấn, chiến diện tích 50m và sử dụng 40KW.
5000 nghìn phép cộng trên giây.
Sử dụng hệ thập phân.
Lập trình bằng công tắc.
Sử dụng 8000 bóng đèn điện tử (vacuum tubes)
GV: Đinh Đồng Lưỡng Cấu trúc Máy tính 23
----------------------- Page 24-----------------------
Máy tính Von Neumann
Máy tính IAS(Institute for Advanced Studies)
Máy có mô hình cơ bản là máy tính này nay
Thế kế 1947 hoàn thành 1952
Xây dựng dựa trên ý tưởng của Turring (Mỹ) và Von
Neumann(Anh)
Arithmetic and
ogic Unit
Main
Input Memory
Output
Equipment
Program Control Unit
GV: Đinh Đồng Lưỡng Cấu trúc Máy tính 24
----------------------- Page 25-----------------------
1.3 Sự tiến hóa của máy tính
Các sản phẩm của công nghệ VLSI(Very Large Scale
Integrated)
Bộ vi xử lý được chế tạo trên một con chip
Vi mạch điều khiển tổng hợp (Chipset)
Bộ nhớ bán dẫn độc lập( ROM, RAM) thiết kế
thành Module
Các bộ vi điều khiển chuyên dụng.
Bộ vi xử lý đầu tiên của Intel 4004 năm197
Bộ xử lý được coi hoàn thiện nhất là 8088/8086 năm
1978,1979 đây được coi là ngày sinh nhật của các
máy tính sau này
GV: Đinh Đồng Lưỡng Cấu trúc Máy tính 25
----------------------- Page 26-----------------------
Máy Micral, André Trương Trọng Thi sáng chế
Micral Pháp, máy vi tính lắp ráp hoàn toàn đầu tiên
GV: Đinh Đồng Lưỡng Cấu trúc Máy tính 26
----------------------- Page 27-----------------------
1.3 Sự tiến hóa của máy tính
Lịch sử phát triển máy tính thế hệ thứ 4
Lịch sử phát triển máy tính thế hệ thứ 4
1978
1978 8086 (Intel)
1979
1979 8088 (Intel)
1980
1980 80286 (Intel)
1993
1993 Pentium (Intel)
1997 Celeron
1997 Pentium II (Intel)
1999 Celeron
1999 Pentium III (Intel)
2003 Celeron
2003 Pentium 4 (Intel)
GV: Đinh Đồng Lưỡng Cấu trúc Máy tính 27
----------------------- Page 28-----------------------
Chương 2
Hệ thống máy tính
2.1 Các thành phần cơ bản của máy tính
2.2 Hoạt động cơ bản của máy tính
2.3 Liên kết hệ thống
GV: Đinh Đồng Lưỡng Cấu trúc Máy tính 28
----------------------- Page 29-----------------------
2.1 Các thành phần cơ bản của máy tính
Mô hình cơ bản của máy tính.
Các mô hình máy tính hiện nay được thiết kế dựa trên
kiến trúc Von Neumann.
Các đặc điểm kiến trúc của Von Neumann:
Dữ liệu và chương trình chứa trong bộ nhớ đọc ghi.
Bộ nhớ được đánh địa chỉ cho các ngăn nhớ không phụ
thuộc vào nội dung của chúng.
Máy tính thực hiện lệnh một cách tuần tự.
GV: Đinh Đồng Lưỡng Cấu trúc Máy tính 29
----------------------- Page 30-----------------------
2.1 Các thành phần cơ bản của máy tính
Sơ đồ cấu trúc cơ bản của máy tính
Bộ xử lý trung tâm (CPU): Điều khiển hoạt động của máy tính
và xử lý số liệu
Hệ thống nhớ: chứa chương trình và dữ liệu đang được xử lý.
Hệ thống vào/ra (I/O: Input/Output) : trao đổi thông tin giữa
bên ngoài và bên trong máy tính
Liên kết hệ thống (Interconnection): kết nối và vận chuyển
thông tin giữa các thành phần với nhau
GV: Đinh Đồng Lưỡng Cấu trúc Máy tính 30
----------------------- Page 31-----------------------
1.Bộ xử lý trung tâm
(CPU: Central Processing Unit)
Chức năng: Điều khiển toàn bộ hoạt động của máy tính.
Xử lý dữ liệu (vd: các phép toán số học và logic)
Nguyên tắc hoạt động: CPU hoạt động theo chương trình nằm
trong bộ nhớ chính.
Cấu trúc cơ bản CPU
Đơn vị điều khiển (CU:Control Unit): Điều khiển hoạt động của
máy tính theo chương trình đã định sẵn.
Đơn vị số học và logic (ALU: Arithmetic And Logic Unit): thực
hiện các phép toán số học và logic trên các dữ liệu cụ thể.
Tập thanh ghi (RF: Register File): Lưu trữ các thông tin tạm thời
phục vụ cho hoạt động của CPU.
Đơn vị nối ghép BUS(BIU: Bus Interface Unit): kết nối và trao
đổi thông tin giữa Bus bên trong và Bus bên ngoài CPU.
GV: Đinh Đồng Lưỡng Cấu trúc Máy tính 31
----------------------- Page 32-----------------------
1.Bộ xử lý trung tâm
(CPU: Central Processing Unit)
Bộ vi xử lý hoạt động theo xung nhịp(clock) có tần số
xác định.
Tốc độ vi xử lý được đánh giá gián tiếp thông qua tần
số xung nhịp.
Gọi T : chu kỳ xung nhịp, f =1/T tần số xung nhịp.
o o o
Mỗi thao tác của bộ xử lý cần kT . T càng nhỏ thì bộ
o o
xử lý chạy càng nhanh
Ví dụ: Một máy tính Pentium 4 tốc độ 2GHz
9
Ta có f =2GHz=2.10 Hz
o
9
T = 1/f =1/2.10 = 0.5ns
o o
GV: Đinh Đồng Lưỡng Cấu trúc Máy tính 32
----------------------- Page 33-----------------------
2. Bộ nhớ máy tính
Chức năng: Lưu trữ chương trình và dữ liệu.
Các thao tác cơ bản:
Thao tác đọc dữ liệu (Read)
Thao tác ghi dữ liệu (Write)
Các thành phần chính
Bộ nhớ trong (Internal Memory)
Bộ nhớ ngoài (External Memory)
GV: Đinh Đồng Lưỡng Cấu trúc Máy tính 33
----------------------- Page 34-----------------------
Bộ nhớ trong( nternal Memory)
Chức năng và đặc điểm:
Chứa thông tin mà CPU có thể trao đổi trực tiếp
Tốc độ rất nhanh
Dung lượng không lớn
Sử dụng bộ nhớ bán dẫn RAM, ROM
Các loại bộ nhớ
Bộ nhớ chính (Main memory)
Bộ nhớ Cache (Cache Memory) hay gọi bộ nhớ
đệm
GV: Đinh Đồng Lưỡng Cấu trúc Máy tính 34
----------------------- Page 35-----------------------
Bộ nhớ chính (main memory)
Chứa chương trình và dữ liệu đang được sử dụng bởi
CPU
Bộ nhớ chính được tổ chức thành các ngăn nhớ và
được đánh địa chỉ
Ngăn nhớ thường được tổ chức theo byte
Nội dung của một ngăn nhớ có thể thay đổi nhưng địa
chỉ vật lý của nó đã được đánh là không thay đổi
GV: Đinh Đồng Lưỡng Cấu trúc Máy tính 35
----------------------- Page 36-----------------------
Bộ nhớ đệm nhanh(cache memory)
Đây là bộ nhớ bán dẫn có tốc độ nhanh và chúng được
đặt đệm giữa CPU và bộ nhớ chính nhằm tăng tốc truy
xuất của CPU tới bộ nhớ chính.
Dung lượng nhỏ hơn rất nhiều bộ nhớ chính
Tốc độ nhanh hơn rất nhiều lần
Ngay nay Cache được tích hợp vào trong bộ vi xử lý
và nó trong suốt với người sử dụng.
Bộ nhớ Cache thông thường được chia ra thành 2 mức.
Cache có thể có hoặc không
GV: Đinh Đồng Lưỡng Cấu trúc Máy tính 36
----------------------- Page 37-----------------------
2. Bộ nhớ máy tính
Chi tiết cấu trúc bộ nhớ Cache
GV: Đinh Đồng Lưỡng Cấu trúc Máy tính 37
----------------------- Page 38-----------------------
Bộ nhớ ngoài(External memory)
Chức năng và đặc điểm
Lưu trữ tài nguyên phần mềm Máy tính.
Được kết nối với hệ thống như thiết bị vào ra.
Dung lượng rất lớn (vài trăm GB)
Tốc độ chậm
Các loại bộ nhớ ngoài
Bộ nhớ từ: Đĩa cứng, đĩa mềm,…
Bộ nhớ quang: CD, VCD, DVD,…
Bộ nhớ bán dẫn: flash Disk, memory Card, pen
Disk,…
GV: Đinh Đồng Lưỡng Cấu trúc Máy tính 38
----------------------- Page 39-----------------------
Hệ thống vào ra ( nput/Output System)
Chức năng: trao đổi thông tin giữa máy tính với thế
giới bên ngoài.
Thao tác cơ bản
Vào dữ liệu (In)
Ra dữ liệu (Out)
Các thành phần chính
Thiết bị ngoại vi (Peripheral Devices)
Các Module I/O (IO Module)
GV: Đinh Đồng Lưỡng Cấu trúc Máy tính 39
----------------------- Page 40-----------------------
Hệ thống vào ra ( nput/Output System)
Cấu trúc vào ra cơ bản
Port I/O
Port I/O Tbị ngoại vi
Tbị ngoại vi
Bus máy tính
Bus máy tính
Port I/O
Port I/O
Tbị ngoại vi 2
_ e Tbị ngoại vi 2
_ e
l
o l O
o O
u /
u /
I
d I
M d
M
Port I/O
Port I/O Tbị ngoại vi n
Tbị ngoại vi n
GV: Đinh Đồng Lưỡng Cấu trúc Máy tính 40
----------------------- Page 41-----------------------
Thiết bị ngoại vi (Peripherals)
Các thiết bị ngoại vi (Peripherals)
- Chức năng: chuyển đổi thông tin từ bên ngoài thành dữ
liệu máy tính và ngược lại.
- Các thiết bị ngoại vi cơ bản:
Thiết bị vào: bàn phím, chuột, …
Thiết bị ra: máy in, màn hình,…
Thiết bị nhớ: đĩa từ, quang,….
Thiết bị truyền thông: Modem,…
GV: Đinh Đồng Lưỡng Cấu trúc Máy tính 41
----------------------- Page 42-----------------------
Module vào ra
Chức năng: nối ghép thiết bị ngoại vi với máy tính
Mỗi Module có 1 hay nhiều cổng vào ra
Mỗi cổng được đánh địa chỉ xác định
Các thiết bị ngoại vi được kết nối với máy tính thông qua
cổng vào ra (ví dụ: COM, LPT, USB, VGA,…)
GV: Đinh Đồng Lưỡng Cấu trúc Máy tính 42
----------------------- Page 43-----------------------
2.2 Hoạt động của máy tính
1. Thực hiện chương trình
Là hoạt động cơ bản của Máy tính. Máy tính lặp đi
lặp lại quá trình thực hiện lệnh gồm hai bước cơ bản:
Nhận lệnh (Fetch)
Thực hiện lệnh (Execute)
Thực hiện chương trình dừng khi:
Mất nguồn
Gặp lệnh dừng
Gặp tình huống không giải quyết được(lỗi)
GV: Đinh Đồng Lưỡng Cấu trúc Máy tính 43
----------------------- Page 44-----------------------
Chu kỳ thực hiện lệnh
Begin
Begin
Nhận lệnh
Nhận lệnh
Thực thi lệnh
Thực thi lệnh
End
End
GV: Đinh Đồng Lưỡng Cấu trúc Máy tính 44
----------------------- Page 45-----------------------
1. Thực hiện chương trình
Nhận lệnh (Fetch)
Bắt đầu mỗi chu kỳ lệnh là CPU tiến hành lấy lệnh từ
bộ nhớ chính. Trong quá trình lấy và thực hiện lệnh có
2 thanh ghi CPU mà ta quan tâm đó PC (Program
Counter)và thanh ghi IR(Instruction Register)
Bộ đếm chương trình thanh ghi PC giữ địa chỉ của
lệnh sẽ được nhận.
CPU lấy lệnh từ ngăn nhớ được trỏ bởi PC đưa vào
thanh ghi lệnh IR lưu giữ
Sau mỗi lệnh được nhận thì nội dung của thanh ghi PC
tự động tăng để trỏ tới lệnh kế tiếp sẽ được thực hiện.
GV: Đinh Đồng Lưỡng Cấu trúc Máy tính 45
----------------------- Page 46-----------------------
1. Thực hiện chương trình
Thực hiện (Execute)
Bộ xử lý giải mã lệnh đã được nhận và phát tín hiệu
điều khiển thực hiện thao tác mà lệnh yêu cầu.
Thực hiện trao đổi giữa CPU và bộ nhớ chính
Thực hiện trao đổi giữa CPU và Module I/O.
Xử lý dữ liệu thực hiện các phép toán số học và logic.
Điều khiển rẽ nhánh.
Kết hợp các thao tác trên.
GV: Đinh Đồng Lưỡng Cấu trúc Máy tính 46
----------------------- Page 47-----------------------
Ví dụ: Thực hiện chương trình
0001: loader
0010: store
0101: add
GV: Đinh Đồng Lưỡng Cấu trúc Máy tính 47
----------------------- Page 48-----------------------
Ví dụ: Thực hiện chương trình
GV: Đinh Đồng Lưỡng Cấu trúc Máy tính 48
----------------------- Page 49-----------------------
Ví dụ: Thực hiện chương trình
GV: Đinh Đồng Lưỡng Cấu trúc Máy tính 49
----------------------- Page 50-----------------------
Ví dụ: Thực hiện chương trình
GV: Đinh Đồng Lưỡng Cấu trúc Máy tính 50
----------------------- Page 51-----------------------
2. Ngắt ( nterrupt)
Khái niệm chung về ngắt: Ngắt là cơ chế cho phép CPU
tạm dừng chương trình đang thực hiện chuyển sang thực
hiện một chương trình khác, gọi là chương trình con
phục vụ ngắt.
Các loại ngắt
Ngắt do lỗi thực hiện chương trình: chia cho 0
Ngắt do lỗi phần cứng: lỗi RAM
Ngắt do module I/O phát ra tín hiệu ngắt đến CPU
yêu cầu trao đổi dữ liệu
Hoạt động của ngắt
GV: Đinh Đồng Lưỡng Cấu trúc Máy tính 51
----------------------- Page 52-----------------------
2. Ngắt ( nterrupt)
Sau khi hoàn thành một lệnh, bộ xử lý kiểm tra tín hiệu
ngắt.
Nếu không có ngắt thì bộ xử lý tiếp tục nhận lệnh tiếp
theo.
Nếu có tín hiệu ngắt:
Tạm dừng chương trình đang thực hiện. Cất ngữ cảnh
(thông tin có liên quan đến chương trình đang thực hiện).
Thiết lập bộ đếm chương trình PC trỏ đến chương trình
con phục vụ ngắt
Thực hiện chương trình con phục vụ ngắt.
Cuối chương trình con phục vụ ngắt. Khôi phục lại ngữ
cảnh và tiếp tục chương trình đang bị tạm dừng.
GV: Đinh Đồng Lưỡng Cấu trúc Máy tính 52
----------------------- Page 53-----------------------
2. Ngắt ( nterrupt)
Chu kỳ lệnh với ngắt
Bắt đầu
Bắt đầu
Nhận lệnh
Nhận lệnh
Thực hiện
Thực hiện Dừng
Dừng
N Y Chương trình
Ngắt? Chương trình
Ngắt? con phục vụ ngắt
con phục vụ ngắt
GV: Đinh Đồng Lưỡng Cấu trúc Máy tính 53
----------------------- Page 54-----------------------
2. Ngắt ( nterrupt)
Xử lý tín hiệu ngắt
Cấm ngắt: Bộ xử lý bỏ qua các ngắt tiếp theo trong khi
đang xử lý ngắt.
Các ngắt vẫn đang đợi và được kiểm tra sau khi ngắt
đầu tiên được thực hiện xong
Các ngắt được thực hiện tuần tự nếu cùng thứ tự ưu
tiên.
Các ngắt trong máy tính máy tính được định nghĩa
mức độ ưu tiên khác nhau.
Ngắt có mức ưu tiên thấp có thể bị ngắt bởi ngắt có ưu
tiên cao hơn. Vì vậy có thể xảy ra tình trạng ngắt lồng
nhau
GV: Đinh Đồng Lưỡng Cấu trúc Máy tính 54
----------------------- Page 55-----------------------
3. Hoạt động vào ra
Là hoạt động trao đổi dữ liệu giữa thiết bị ngoại vi với
bên trong máy tính
Các kiểu hoạt động I/O: CPU trao đổi dữ liệu với
module vào ra. Module vào ra trao đổi dữ liệu trực tiếp
với bộ nhớ chính
GV: Đinh Đồng Lưỡng Cấu trúc Máy tính 55
----------------------- Page 56-----------------------
2.3 Liên kết hệ thống
1. Thông tin các thành phần trong máy tính
Kết nối Module nhớ bao gồm
DỮ LIỆU
DỮ LIỆU Dữ liệu hoặc lệnh
Module
Module
ĐỊA CHỈ
ĐỊA CHỈ nhớ
nhớ
T/h đk đọc
T/h đk ghi
Địa chỉ: nhận địa chỉ để xác định ngăn nhớ
Dữ liệu: truyền nhận dữ liệu và lệnh từ bộ nhớ
Tín hiệu điều khiển: Bao gồm tín hiệu điều khiển đọc
và tín hiệu điều khiển ghi
GV: Đinh Đồng Lưỡng Cấu trúc Máy tính 56
----------------------- Page 57-----------------------
2.3 Liên kết hệ thống
DỮ L ỆU MT&TBNV DỮ L ỆU MT&TBNV
Kết nối Module I/O DỮ L ỆU MT&TBNV DỮ L ỆU MT&TBNV
Module
Module
/O
/O
ĐỊA CHỈ ĐỊA CHỈ
ĐỊA CHỈ ĐỊA CHỈ
T/h đk đọc T/h đk TBNV
T/h đk ghi T/h yêu cầu ngắt
Địa chỉ: nhận địa chỉ để xác định cổng vào ra
Dữ liệu: nhận dữ liệu từ thiết bị ngoại vi, CPU hay bộ nhớ chính,
đưa ra dữ liệu tới thiết bị ngoại vi, CPU hay bộ nhớ chính.
Nhận các tín hiệu điều khiển từ CPU
Phát tín hiệu điều khiển đến TBNV
Phát tín hiệu yêu cầu của TBNV tới CPU
GV: Đinh Đồng Lưỡng Cấu trúc Máy tính 57
----------------------- Page 58-----------------------
2.3 Liên kết hệ thống
DỮ LIỆU DỮ LIỆU
Kết nối CPU DỮ LIỆU DỮ LIỆU
CPU
CPU
LỆNH ĐỊA CHỈ
LỆNH ĐỊA CHỈ
T/h y/c ngắt T/h đkhiển
CPU phát địa chỉ đến bộ nhớ hay Module vào ra.
Đọc lệnh và dữ liệu
Đưa dữ liệu ra sau khi xử lý
Phát tín hiệu điều khiển đến Module nhớ hay Module
vào ra
Nhận các tín hiệu ngắt.
GV: Đinh Đồng Lưỡng Cấu trúc Máy tính 58
----------------------- Page 59-----------------------
2. Cấu trúc BUS
Khái niệm BUS: Bus là tập hợp các đường dây dùng
để vận chuyển thông tin từ thành phần này tới thành
phần khác bên trong máy tính.
Độ rộng của BUS : là số đường dây có khả năng vận
chuyển các bit thông tin đồng thời.
Phân loại BUS: theo chức năng ta chia bus ra làm 3
loại: BUS địa chỉ, BUS dữ liệu và BUS điều khiển
GV: Đinh Đồng Lưỡng Cấu trúc Máy tính 59
----------------------- Page 60-----------------------
2.3 Liên kết hệ thống
BUS địa chỉ :
Chức năng: dùng để vận chuyển địa chỉ từ CPU đến
các Module nhớ hay các Module vào ra, nhằm để xác
định ngăn nhớ hay cổng vào ra nào cần truy xuất trao đổi
thông tin. (đây là BUS một chiều).
Độ rộng của B US địa chỉ (A ,A , …, A )
0 1 n-1
Cho biết khả năng quản lý cực đại số các ngăn nhớ. Nếu
sử dụng độ rộng bus địa chỉ n đường thì dung lượng cực
n
đại của bộ nhớ có thể quản lý là 2 ngăn nhớ hay tương
n
đương với 2 byte nhớ (nếu mỗi ngắn nhớ byte)
GV: Đinh Đồng Lưỡng Cấu trúc Máy tính 60
----------------------- Page 61-----------------------
2.3 Liên kết hệ thống
Ví dụ: Bus địa chỉ của một số bộ VXL là
8088/8086 n=20 220(1MB)
80286 n=24 224(16MB)
80386…Pentium n=32 232(4GB)
Pentium II, III,IV n=36 236(64GB)
GV: Đinh Đồng Lưỡng Cấu trúc Máy tính 61
----------------------- Page 62-----------------------
2.3 Liên kết hệ thống
BUS dữ liệu:
Chức năng: vận chuyển lệnh từ bộ nhớ -> CPU, vận
chuyển dữ liệu giữa CPU, bộ nhớ và cổng vào ra.
Độ rộng của Bus dữ liệu (D D ,….D )
0, m-
Cho biết số byte có khả năng trao đổi đồng thời
m=8,16,32,64,128 bit.
Ví dụ:
8088 -> m=8
8086 -> m=16
80386 -> m=32
Pentium -> m=64
GV: Đinh Đồng Lưỡng Cấu trúc Máy tính 62
----------------------- Page 63-----------------------
2.3 Liên kết hệ thống
BUS điều khiển:
Tập hợp các tín hiệu điều khiển gồm có
Các tín hiệu phát ra từ CPU để điều khiển Module nhớ
và Module vào ra.
Các tín hiệu từ Module nhớ, Module vào ra gởi đến
CPU yêu cầu.
Ngoài ra còn là BUS cung cấp nguồn tín hiệu xung
nhịp (clock) với các BUS đồng bộ.
Một số tín hiệu điển hình
GV: Đinh Đồng Lưỡng Cấu trúc Máy tính 63
----------------------- Page 64-----------------------
2.3 Liên kết hệ thống
Tín hiệu (MemR) điều khiển đọc dữ liệu từ bộ nhớ từ
ngăn nhớ xác định. (IOR) Tín hiệu đọc dữ liệu từ một
cổng vào ra.
Tín hiệu (MemW) điều khiển ghi dữ liệu có sẵn trên
BUS dữ liệu đến một ngăn nhớ xác định. Tín hiệu
điều khiển (IOW) ghi dữ liệu có sẵn ra cổng.
Interrupt Request(INTR) tín hiệu yêu cầu ngắt từ các
thiết bị ngoại vi
Interrupt Acknowlegde(INTA) tín hiệu chấp nhận ngắt
phát ra từ CPU
Ngoài ra còn có các tín hiệu khác như: t/h yêu cầu và
chấp nhận CPU chuyển nhượng BUS (BRQ,BGT),…
GV: Đinh Đồng Lưỡng Cấu trúc Máy tính 64
----------------------- Page 65-----------------------
2.3 Liên kết hệ thống
Đặc điểm của cấu trúc đơn BUS.
Có nhiều thành phần nối vào một BUS chung.
Tại một thời điểm chỉ phục vụ được một yêu cầu trao
đổi dữ liệu.
Các thành phần nối vào BUS có thể có tốc độ khác
nhau.
Các module nhớ và module vào ra phụ thuộc vào cấu
trúc của CPU.
Khắc phục:
Xây dựng cấu trúc đa BUS bao gồm các hệ thống
BUS khác nhau về tốc độ.
Trong hầu hết các máy PC bus được phân 3 cấp và
GV: Đinh Đồng Lưỡng
các bus nối với nhau thông qua cầu nối BUS
Cấu trúc Máy tính 65
----------------------- Page 66-----------------------
2.3 Liên kết hệ thống
Bộ VXL
Bộ VXL
BUS bộ VXL
Cầu nối
Cầu nối
BUS
BUS
BUS bộ nhớ chính
Cầu nối
Cầu nối
BUS
BUS
BUS vào/ra tốc độ
chậm
GV: Đinh Đồng Lưỡng Cấu trúc Máy tính 66
----------------------- Page 67-----------------------
Cấu trúc Pentium điển hình
Intel Pemtium
Intel Pemtium
Cache L
BUS 66MHz của VXL
North
66MHz North 66MHz
Cache SIMM EDO ( 6)
Cache
Brigde
L2 Brigde DIMM SDRAM (66)
L2
BUS PCI
Khe cắm PCI
USB1 USB2
South IDE
South
CMOS & RTC
Bridge IDE2
Bridge
BUS ISA
Khe cắm ISA
Đĩa mềm
Super LPT
Super
Bàn phím Chuột COM
/O
/O
COM2
ROM
ROM
GV: Đinh Đồng Lưỡng Cấu trúc Máy tính 67
----------------------- Page 68-----------------------
Cấu trúc Pentium 4
Intel Pemtium 4
Intel Pemtium 4
Processor
Processor
4.2 or 3.2 GB/s
RDRAM
Dual
>1 RDRAM
AGP 4X MCH chanel
AGP 4X MCH
GB/s 4.0 GB/s
RDRAM
RDRAM
Inter Hub Architecture
ATA 100MB/s
ATA 100MB/s
2 DE 6 Channel
2 DE
Audio P
CH2 C
CH2
I
133MB/s
LAN Interface 4 USB Ports
LAN Interface
Flash BIOS
GV: Đinh Đồng Lưỡng Cấu trúc Máy tính 68
----------------------- Page 69-----------------------
Ví dụ: Cấu hình một máy tính
Intel MotherBoard D915PBLL, Socket T ATX 800FSB,
DDR2 533, PCI-E 16x, SATA, 8ch Audio & LAN
3.2GHz Pentium IV processor.
512 MB DDRAM.
80 GB hard disk.
keyboard and a mouse,
foppy disk drive,
24x speed DVD drive,
19" monitor with 1280 x 1024 pixels resolution,
56 Kbit Modem,
100 Mbit Ethernet card.
GV: Đinh Đồng Lưỡng Cấu trúc Máy tính 69
----------------------- Page 70-----------------------
Phần trao đổi và giải đáp
GV: Đinh Đồng Lưỡng Cấu trúc Máy tính 70
----------------------- Page 71-----------------------
Tóm tắt chương 2
Đặc điểm kiến trúc Von Neumann.
Cấu trúc và chức năng cơ bản của hệ thống máy tính.
Quy trình thực hiện chương trình trong máy tính.
Ngắt là gì? Tại sao phải sử dụng ngắt trong hệ thống
máy tính.
BUS máy tính? Phân loại và chức năng BUS máy tính.
Cấu trúc đa bus trong máy tính.
Nhận diện được tất cả các thành phần phần cứng trong
máy tính của bạn.
GV: Đinh Đồng Lưỡng Cấu trúc Máy tính 71
----------------------- Page 72-----------------------
Chương 3
Biểu diễn dữ liệu và số học máy tính
3.1 Các hệ đếm cơ bản
3.2 Mã hoá và lưu trữ trong máy tính
3.3 Biểu diễn số nguyên
3.4 Số học nhị phân
3.5 Biểu diễn số dấu chấm động
3.6 Biểu diễn ký tự
GV: Đinh Đồng Lưỡng Cấu trúc Máy tính 72
----------------------- Page 73-----------------------
3.1 Các hệ đếm cơ bản
Hệ thập phân (Decimal System): con người sử
dụng
Hệ nhị phân (Binary System): máy tính sử dụng
Hệ thập lục phân (Hexadecimal System): dùng biểu
diễn rút ngắn số học nhị phân
Cách chuyển đổi giữa các hệ đếm.
GV: Đinh Đồng Lưỡng Cấu trúc Máy tính 73
----------------------- Page 74-----------------------
Hệ thập phân (decimal)
Bộ ký tự cơ sở gồm 10 số: 0…9
Dạng tổng quát: a a a …a a ,a a …a
n- n-2 n-3 0 -1 -2 -m
n−
i Trong đó (a = 0…9).
A = ∑a *10
i i
i=− m
Ví dụ: 23,45
Phần nguyên : 23 : 0 = 2 dư 3
2 : 0 = dư 2 23
: 0 = 0 dư
= 23,45
Phần phân : 0,45* 0 = 4,5 45
0,5 * 0 = 5
GV: Đinh Đồng Lưỡng Cấu trúc Máy tính 74
----------------------- Page 75-----------------------
Hệ nhị phân (Binary)
Hệ thập lục phân (Hexadecimal)
Hệ nhị phân(Binary)
Bộ ký tự cơ sở gồm 2 số: 0,
Dạng tổng quát: a a a …a a ,a a …a
n- n-2 n-3 0 -1 -2 -m
n−
A = ∑a *2i (a = 0, )
i i
i=−m
4 3 0 -2 -3
Ví dụ: 0 ,0 2 = 2 +2 +2 +2 +2 +2 =27,375
Thập lục phân (hexadecimal)
Bộ ký tự cơ sở: 0…9,A…F
Dạng tổng quát: a a a …a a ,a a …a
n- n-2 n-3 0 -1 -2 -m
n−
A = ∑a * 6i (a = 0..9, A..F )
i i
i=−m
Ví dụ: 89AB = 000 00 0 0 0 B.
H
GV: Đinh Đồng Lưỡng Cấu trúc Máy tính 75
----------------------- Page 76-----------------------
3.2 Mã hoá và lưu trữ trong máy tính
Nguyên tắc chung về mã hoá dữ liệu
Mọi dữ liệu được đưa vào máy tính được mã hoá thành
số nhị phân.
Các loại dữ liệu:
Dữ liệu nhân tạo: do con người quy ước
Dữ liệu tự nhiên: tồn tại khách quan với con người
Mã hoá dữ liệu nhân tạo
Dữ liệu số nguyên: mã hoá theo một số chuẩn đã qui
ước
Dữ liệu số thực: mã hoá bằng số dấu chấm động
Dữ liệu phi số (ký tự): mã hoá theo các bộ mã ký tự
hiện hành như : ASCII, Unicode,…
GV: Đinh Đồng Lưỡng Cấu trúc Máy tính 76
----------------------- Page 77-----------------------
Mô hình mã hoá và tái tạo tín hiệu vật lý
Bộ cảm Bộ chuyển
Bộ cảm Bộ chuyển
biến tín đổi tương tự
biến tín đổi tương tự
T/h vlý hiệu => số
hiệu => số
(Sensor) (ADC)
(Sensor) (ADC)
Máy tính
Máy tính
Bộ chuyển
Bộ chuyển
đổi số=>
Bộ tái tạo đổi số=>
T/h vlý Bộ tái tạo
tương tự
tín hiệu tương tự
tín hiệu
(ADC
(ADC
Các dữ liệu vật lý thông dụng
Âm thanh
Hình ảnh
GV: Đinh Đồng Lưỡng Cấu trúc Máy tính 77
----------------------- Page 78-----------------------
Thứ tự lưu trữ các byte dữ liệu MT
Bộ nhớ chính tổ chức lưu trữ dữ liệu theo đơn vị byte
Độ dài từ dữ liệu có thể chiếm từ 1 đến 4 byte. Vì vậy
cần phải biết thứ tự chúng lưu trữ trong bộ nhớ chính
đối các dữ liệu nhiều byte.
Có hai cách lưu trữ được đưa ra
Little Endian (đầu nhỏ): Byte có ý nghĩa thấp hơn
được lưu trữ trong bộ nhớ ở vị trí có địa chỉ nhỏ hơn.
Big Endian (đầu to): Byte có ý nghĩa thấp hơn được
lưu trữ trong bộ nhớ ở vị trí có địa chỉ lớn hơn.
GV: Đinh Đồng Lưỡng Cấu trúc Máy tính 78
----------------------- Page 79-----------------------
Thứ tự lưu trữ các byte dữ liệu MT
Ví dụ: lưu trữ một từ 32bit
0001 1010 0010 10 00 100 0100 0 B
1 A 2 B 3 C 4 D
H
Biểu diễn trong ngăn nhớ theo 2 cách
300 4D 300 1A
301 3C 301 2B
302 2B 302 3C
303 1A 303 4D
Little Endian Big Endian
GV: Đinh Đồng Lưỡng Cấu trúc Máy tính 79
----------------------- Page 80-----------------------
Thứ tự lưu trữ các byte dữ liệu MT
Lưu trữ của các bộ vi xử lý điển hình
Loại máy Intel: 80x86, Petium -> little endian
Motorola 680x0 và các bộ xử lý RISC -> big endian
Power PC & Itanium: tích hợp cả hai cách trên
GV: Đinh Đồng Lưỡng Cấu trúc Máy tính 80
----------------------- Page 81-----------------------
3.3. Biểu diễn số nguyên
Máy tính biểu diễn số nguyên chia thành 2 loại
Biểu diễn số nguyên không dấu (unsign integer)
Biểu diễn số nguyên có dấu (sign integer)
Số nguyên không dấu:
Giả sử dùng n bit để biểu diễn số nguyên không dấu->
n
dải mà n bit biểu diễn được từ 0 -> 2 - . Giá trị của số
nguyên đó được tính: n−
∑a *2i
i
i= 0
Dải miền trị của số nguyên không dấu được biểu bằng
hình tròn
Giá trị nhỏ nhất bằng 0
n
Giá trị lớn nhất bằng 2 -
GV: Đinh Đồng Lưỡng Cấu trúc Máy tính 81
----------------------- Page 82-----------------------
Ví dụ: Số nguyên không dấu
8
Ví dụ: n=8 0…2 -1 (255)
n=16 0… 216-1 (65535).
32
n=32 0…2 -
GV: Đinh Đồng Lưỡng Cấu trúc Máy tính 82
----------------------- Page 83-----------------------
Số nguyên có dấu
Số bù một và số bù hai
ĐN: Cho một số nhị p hân N được biểu diễn bởi n bit. Ta
có
n
Số bù một của N bằng (2 - )-N
n
Số bù hai của N bằng 2 -N
Ví dụ: Cho số N = 000 000 2 được biểu diễn bởi n=8bit.
Xác định số bù 1 và bù 2 của N.
n
Ap dụng công thức (2 - )
0001 000 N
số bù một của N 0 0
GV: Đinh Đồng Lưỡng Cấu trúc Máy tính 83
----------------------- Page 84-----------------------
Số nguyên có dấu
Nhận xét: số bù một của một số N được xác định
bằng cách đảo các bit trong N
n
Ap dụng công thức 1 0000 0000 (2 )
000 000 N
số bù hai của N 10
Nhận xét: số bù hai của một số N được xác định
bằng cách lấy số bù một của N cộng thêm 1
Số bù 2 của N =(số bù 1 của N)+ 1
GV: Đinh Đồng Lưỡng Cấu trúc Máy tính 84
----------------------- Page 85-----------------------
Số nguyên có dấu
Giả sử dùng n bit để biểu diễn số nguyên có dấu-> dải
mà n bit biểu diễn được từ (- 2n- ..-1,0 .. 2n- - ). Giá trị
của số nguyên đó được tính theo 2 phần riêng biệt:
Phần giá trị dương (0 -> 2n- -1).
Phần giá trị âm (- 2n- …-1).
Dải miền trị của số nguyên có dấu được biểu bằng
hình tròn
Giá trị nhỏ nhất bằng - 2n-
Giá trị lớn nhất bằng +2n- -
GV: Đinh Đồng Lưỡng Cấu trúc Máy tính 85
----------------------- Page 86-----------------------
Số nguyên có dấu
Trong đó: Bít có trọng số cao nhất (hay bit ngoài cùng
bên trái của dãy nhị được máy tính sử dụng để biểu diễn
dấu của giá trị) nếu:
= 0 : thì số nhị phân cần tính giá trị là số dương.
Dạng tổng quát là: 0an-2an-3 …a0
= : thì số nhị phân cần tính giá trị là số âm.
Dạng tổng quát là: 1a a …a
n-2 n-3 0
GV: Đinh Đồng Lưỡng Cấu trúc Máy tính 86
----------------------- Page 87-----------------------
Ví dụ 1
Ví dụ 1: Cho số nguyên có dấu biểu diễn n=8bit sau:
A=B5 và B=6A
H H
Hãy xác định giá trị của hai số nguyên có dấu A và B dưới dạng
hệ số người sử dụng
Bài giải
Biểu diễn số nguyên A dưới dạng nhị phân
A=B5 = 10 010
H 2
=>A= -128 + 53 = - 75
Biểu diễn số nguyên B dưới dạng nhị phân
B=6A = 0 0 1010
H 2
=> B = 64+32+8+2 = 106
GV: Đinh Đồng Lưỡng Cấu trúc Máy tính 87
----------------------- Page 88-----------------------
Ví dụ 2
Ví dụ 2: Biểu diễn số nguyên có dấu sau đây A =+97 và
B=-101 theo hai dạng kiểu n=8bit và n=16bit trong máy
tính.
Lời giải
Biểu diễn số A dạng số nguyên có dấu trong máy tính
A = 0 0 000 2 (n=8bit)
Biểu diễn số B dạng số nguyên có dấu trong máy tính
Biểu diễn số +101 = 0 0 010
2
Lấy bù 2 1001 10 2
=> B = - 101 = 1001 10
2
GV: Đinh Đồng Lưỡng Cấu trúc Máy tính 88
----------------------- Page 89-----------------------
Ví dụ 2
Biểu diễn số A dạng số nguyên có dấu trong máy tính
A = 0000 0000 0 0 000 2 (n=16bit)
Biểu diễn số B dạng số nguyên có dấu trong máy tính
Biểu diễn số +101 =0000 0000 0 0 010
2
Lấy bù 2 1 100 10 2
=> B =-101 = 1001 10
2
GV: Đinh Đồng Lưỡng Cấu trúc Máy tính 89
----------------------- Page 90-----------------------
3.4 Biểu diễn số dấu chấm động
Cho hai giá trị:
Khối lượng mặt trời:
199000000000000000000000000000000000g
Khối lượng điện tử:
0.00000000000000000000000000000910956g
Để lưu trữ con số này thì máy tính cần đến số bit rất
lớn. Như vậy, trong trường hợp này thì loại số có dấu
chấm tĩnh sẽ rất bất tiện. Vì vậy tất cả máy tính lưu trữ
những số trên dưới dạng dấu chấm động (floating point)
33 -27
1.990 x 0 và 0.910956x 10 hay theo số khoa học là :
1.999E+33 và 0.910956E-27.
GV: Đinh Đồng Lưỡng Cấu trúc Máy tính 90
----------------------- Page 91-----------------------
3.4 Biểu diễn số dấu chấm động
Dạng tổng quát
E
M.R Trong đó: M (Matissa) phần định trị
R (Radix) cơ số
E(Exponent) số mũ
s E-B
X=(-1) 1.M 2
Trong đó: s: là bit dấu (s=0 phần định trị là dương; s=
phần định trị là âm)
M : là phần định trị.
E: là số mũ được dịch chuyển đi B đơn vị.
R đã được biết (R=2) máy tính lưu số dấu
chấm động bao gồm hai thành phần chính
GV: Đinh Đồng Lưỡng Cấu trúc Máy tính 91
----------------------- Page 92-----------------------
3.4 Biểu diễn số dấu chấm động
Chuẩn IEEE 754-1985 phân định 3 dạng số dấu chấm
động cơ bản
(IEEE: Institute of Electrical and Electronics Engineers )
Số có độ chính xác đơn dài 32 bit (single)
Số có độ chính xác kép dài 64 bit (double)
Số có độ chính xác mở rộng dài 128bit (quadruple)
GV: Đinh Đồng Lưỡng Cấu trúc Máy tính 92
----------------------- Page 93-----------------------
3.4 Biểu diễn số dấu chấm động
Loại Single Double Quadruple
Bề rộng của
trường (bit)
S 1 1 1
E 8 11 15
M 23 52 111
Tổng cộng 32 64 128
E cực đại 255 2047 32767
E cực tiểu 0 0 0
Độ dịch 127 1023 16383
GV: Đinh Đồng Lưỡng Cấu trúc Máy tính 93
----------------------- Page 94-----------------------
Biểu diễn số dấu chấm động chuẩn IEEE 32bit
S E M ±
• e±
S=1 phần định trị là âm
S=0 phần định trị là dương
E: giá trị E nằm trong 8 bit, là số mũ được dịch chuyển
đi 127
M: phần định trị, giá trị nằm trong 23 bit
Ta có số –2345, 125 trong hệ thập phân. Hãy biểu diễn
chúng dưới dạng chuẩn IEEE 32bit trong máy tính
GV: Đinh Đồng Lưỡng Cấu trúc Máy tính 94
----------------------- Page 95-----------------------
3.4 Biểu diễn số dấu chấm động
B1: Chuyển đổi số trên ra hệ hai
-2345,125d = -1001 0010 1001.001b (dãy số nhị phân
được biểu diễn bình thường)
B2: Chuẩn hoá theo IEEE 32bit
-1.001 0010 1001 001 x 2
B3: Xác định các thông số biểu diễn s,M,E
S: phần định trị là số âm, nên s là
E : phần mũ được xác định e = E-127
=> E = +127=138=10001010
M: phần định trị được xác định là 001 0010 1001 0010
0000 0000 (số 32 bit)
GV: Đinh Đồng Lưỡng Cấu trúc Máy tính 95
----------------------- Page 96-----------------------
3.4 Biểu diễn số dấu chấm động
Để thực một phép cộng hoặc trừ hai số dấu chấm
động phải tiến hành theo các bước sau:
Tăng số mũ của số có số mũ nhỏ hơn cho bằng số có số
mũ lớn hơn.
Cộng (hoặc trừ) các phần định trị.
Nếu cần thiết chuẩn hoá kết quả trả lại.
X -> M và E để biểu diễn X =M *RE1
1 1 1 1 1
X -> M và E để biểu diễn X =M *RE2
2 2 2 2 2
X *X = (M *M )*RE1+E2
1 2 1 2
X / X = (M / M )*RE1-E2
1 2 1 2
X1±X =(M *R(E1-E2) ±M )*RE2 (với giả thiết E1>E2)
GV: Đinh Đồng Lưỡng Cấu trúc Máy tính 96
1 1 2
----------------------- Page 97-----------------------
3.4 Biểu diễn số dấu chấm động
Một số quy ước
Nếu e =255 và M<>0 -> không phải là số
Nếu e =255 và M=0 -> Giá trị âm hoặc dương vô cùng
Nếu e =0 và M=0 -> giá trị bằng 0
Dải biểu diễn: 2-127 đến 2+127 hay tương đương 0-38 đến
+38
10
+127 -127 -127 +127
-2 -2 2 2
Overflow Underflow Overflow
GV: Đinh Đồng Lưỡng Cấu trúc Máy tính 97
----------------------- Page 98-----------------------
3.5 Biểu diễn ký tự.
Có hai bộ mã thường sử dụng trên máy tính:
Bộ mã ASCII
Bộ mã Unicode
Bộ mã ASCII (American Standard Code for
Information Interchange)
Do ANSI (American National Standard Institute)
thiết kế
8
Bộ mã 8 bit -> mã hoá 2 ký tự có mã 00H ->FFH .
Trong đó
GV: Đinh Đồng Lưỡng Cấu trúc Máy tính 98
----------------------- Page 99-----------------------
3.5 Biểu diễn ký tự.
128 ký tự chuẩn cố định có mã (00H -> 7FH)
33 ký tự điều khiển không thể hiện thị nên màn hình.
Bao gồm các ký tự điều khiển định dạng văn bản, điều
khiển truyền số liệu và điều khiển phân cách thông tin.
Còn lại các ký tự còn lại hiển thị được là bao gồm:
26 ký tự hoa 41h -> 5Ah
26 ký tự thường 61h ->7Ah
10 ký tự số 30h ->39h
các dấu số học và ký tự đặc biệt.
GV: Đinh Đồng Lưỡng Cấu trúc Máy tính 99
----------------------- Page 100-----------------------
3.5 Biểu diễn ký tự.
28 ký tự còn lại là ký tự mở rộng có thể thay đổi tuỳ ý
nhà chế tạo máy tính hay người phát triển phần mền sử
dụng vào những việc riêng. Có mã 80 -> FF
H H
Bộ mã hợp nhất Unicode:
Do các hãng máy tính hàng đầu thế giới kết hợp thiết
kế.
Bộ mã 16 bit có thể xây dựng bộ mã toàn cầu 2 6 ký tự
với 128 ký tự đầu có mã trùng mã trong bảng mã ASCII.
Có hỗ trợ các ký tự Tiếng Việt
GV: Đinh Đồng Lưỡng Cấu trúc Máy tính 100
----------------------- Page 101-----------------------
Phần trao đổi và giải đáp
GV: Đinh Đồng Lưỡng Cấu trúc Máy tính 101
----------------------- Page 102-----------------------
Ôn tập chương 3
Các hệ đếm, ý nghĩa của chúng trong máy tính.
Mã hóa dữ liệu trong máy tính.
Mã hóa số nguyên(mã hóa số nguyên có và không
dấu).
Mã hóa số thực (số dấu chấm động)
Mã hóa ký tự (ASCII, Unicode)
Lưu trữ dữ liệu trong máy tính
GV: Đinh Đồng Lưỡng Cấu trúc Máy tính 102
----------------------- Page 103-----------------------
Đặt câu hỏi
Câu 1: Kết quả hiển thi lên màn hình là bao nhiêu? Khi
thực hiện đoạn lệnh sau:
Var a: shortint;
Begin
a:=-1;
writeln(‘Gia tri a:=’,a);
writeln(‘Gia tri ngan nho:=’, mem[seg(a):ofs(a)]);
End.
GV: Đinh Đồng Lưỡng Cấu trúc Máy tính 103
----------------------- Page 104-----------------------
Đặt câu hỏi
Câu 2: Kết quả hiển thi lên màn hình là bao nhiêu? Khi
thực hiện đoạn lệnh sau:
Var a: shortint;
Begin
a:=-128;
writeln(‘Gia tri a:=’,a);
writeln(‘Gia tri ngan nho:=’, mem[seg(a):ofs(a)]);
End.
GV: Đinh Đồng Lưỡng Cấu trúc Máy tính 104
----------------------- Page 105-----------------------
Đặt câu hỏi
Câu 3: Kết quả hiển thi lên màn hình là bao nhiêu? Khi
thực hiện đoạn lệnh sau:
Var a: shortint;
Begin
a:=$6A;
writeln(‘Gia tri a:=’,a);
writeln(‘Gia tri ngan nho:=’, mem[seg(a):ofs(a)]);
End.
GV: Đinh Đồng Lưỡng Cấu trúc Máy tính 105
----------------------- Page 106-----------------------
Đặt câu hỏi
Câu 4: Kết quả hiển thi lên màn hình là bao nhiêu? Khi
thực hiện đoạn lệnh sau:
Var b : integer absolute 3715:100;
a : shortint absolute 37 5: 00;
Begin
b:=$00B5;
writeln(‘Gia tri a:=’,a);
writeln(‘Gia tri ngan nho:=’, mem[seg(a):ofs(a)]);
End.
GV: Đinh Đồng Lưỡng Cấu trúc Máy tính 106
----------------------- Page 107-----------------------
Đặt câu hỏi
Câu 5: Kết quả hiển thi lên màn hình là bao nhiêu? Khi thực hiện
đoạn lệnh sau:
Var b : integer absolute 3715: 00;
a: shortint absolute 37 5: 00;
Begin
b:=-75;
writeln(‘Gia tri a:=’,a);
writeln(‘Gia tri ngan nho:=’, mem[seg(a):ofs(a)]);
writeln(‘Gia tri ngan nho:=’, mem[seg(a):ofs(a)+1]);
writeln(‘Gia tri ngan nho:=’, memw[seg(a):ofs(a)]);
End.
GV: Đinh Đồng Lưỡng Cấu trúc Máy tính 107
----------------------- Page 108-----------------------
Chương 4
Bộ xử lý trung tâm
4.1 Cấu trúc của CPU
4.2 Tập lệnh (Instruction File)
4.3 Hoạt động của CPU
4.4 Kiến trúc Intel
GV: Đinh Đồng Lưỡng Cấu trúc Máy tính 108
----------------------- Page 109-----------------------
4.1 Cấu trúc của CPU
Nhiệm vụ CPU: thực hiện lệnh của chương trình.
Nhận lệnh (Fetch Instruction): CPU nhận lệnh từ bộ
nhớ
Giải mã lệnh(Decode Instruction): Xác định thao tác
mà lệnh yêu cầu
Nhận dữ liệu(Fetch Data): Nhận dữ liệu từ bộ nhớ hay
cổng vào ra
Xử lý dữ liệu(Process Data): thực hiện các phép toán
số học và logic đối với dữ liệu
Ghi dữ liệu (Write Data): Ghi dữ liệu ra bộ nhớ hay
cổng vào ra.
GV: Đinh Đồng Lưỡng Cấu trúc Máy tính 109
----------------------- Page 110-----------------------
a. Cấu trúc CPU
CPU
Register
Register
ALU
ALU
Control
Control
Unit
Unit
Control Data Address
Bus Bus Bus
System bus
GV: Đinh Đồng Lưỡng Cấu trúc Máy tính 110
----------------------- Page 111-----------------------
b. Đơn vị số học và logic (ALU)
Chức năng: thực các phép toán số học và logic
Số học: cộng, trừ, nhân, chia, tăng, giảm, đảo,..
Logic: AND, OR,XOR, NOT, dịch bit,…
Mô hình kết nối của ALU
Dliệu vào từ thanh ghi
Kết quả
T.h điều khiển ALU
ALU
Thanh ghi cờ
Thanh ghi cờ
GV: Đinh Đồng Lưỡng Cấu trúc Máy tính 111
----------------------- Page 112-----------------------
c. Đơn vị điều khiển
Chức năng:
Nhận lệnh từ bộ nhớ đưa vào thanh ghi lệnh IP.
Tăng nội dung thanh ghi PC mỗi khi nhận lệnh song
Giải mã lệnh và xác định thao tác mà lệnh yêu cầu
Phát ra tín hiệu điều khiển thực thi lệnh.
Nhận các tín hiệu yêu cầu từ BUS hệ thống và giải
quyết đáp ứng yêu cầu đó.
GV: Đinh Đồng Lưỡng Cấu trúc Máy tính 112
----------------------- Page 113-----------------------
c. Đơn vị điều khiển
Mô hình kết nối đơn vị điều khiển
Thanh ghi lệnh
Thanh ghi lệnh
Các cờ
T. h điều khiển
Control
Control bên trong CPU
Unit
Unit
Clock
T.h yêu cầu từ T.h điều khiển đến
BUS hệ thống BUS hệ thống
BUS ĐIỀU KHIỂN
GV: Đinh Đồng Lưỡng Cấu trúc Máy tính 113
----------------------- Page 114-----------------------
c. Đơn vị điều khiển
Các thông tin kết nối đến CU
Clock: tín hiệu xung nhịp từ mạch tạo dao động.
Mã lệnh từ thanh ghi lệnh đưa đến CU giải mã
Các trạng thái cờ đưa đến cho biết trạng thái của
CPU cũng như trạng thái thực hiện các phép toán
trong ALU.
Các tín hiệu điều khiển từ BUS điều khiển.
Các tín hiệu điều khiển bên trong CPU: điều khiển
thanh ghi, ALU.
Các tín hiệu điều khiển bên ngoài CPU đó là Bộ nhớ
hay cổng vào ra
GV: Đinh Đồng Lưỡng Cấu trúc Máy tính 114
----------------------- Page 115-----------------------
4.2 Tập thanh ghi
Chức năng
Thực chất là vùng nhớ được CPU nhận biết qua tên
thanh ghi và có tốc độ truy xuất cực nhanh.
Chứa thông tin tạm thời phục vụ cho hoạt động ở thời
điểm hiện tại của CPU
Số lượng thanh ghi tuỳ thuộc vào bộ vi xử lý cụ thể ->
tăng hiệu năng CPU
Thanh ghi chia 2 loại: Loại lập trình được và loại
không lập trình được
GV: Đinh Đồng Lưỡng Cấu trúc Máy tính 115
----------------------- Page 116-----------------------
4.2 Tập thanh ghi
Phân loại thanh ghi theo chức năng
Thanh ghi địa chỉ: Thanh ghi được sử dụng để quản lý
địa chỉ của ngăn nhớ hay cổng vào ra.
Thanh ghi dữ liệu: Thanh ghi dùng để lưu trữ dữ liệu
tạm thời
Thanh ghi đa năng: Thanh ghi có thể chứa dữ liệu hoặc
địa chỉ đều được.
Thanh ghi điều khiển/trạng thái: Thanh ghi chứa thông
tin về trạng thái CPU.
Thanh ghi lệnh: thanh ghi chứa lệnh đang được thực
hiện
GV: Đinh Đồng Lưỡng Cấu trúc Máy tính 116
----------------------- Page 117-----------------------
4.2 Tập thanh ghi
Một số thanh ghi điển hình
Bộ đếm chương trình PC
Ngăn xếp SS (Stack)
Con trỏ ngăn xếp SP
Thêm vào Lấy ra
Thanh ghi cơ sở Ngăn nhớ CS
94
300
95
30
96 Thanh ghi chỉ số
SP (196)
97 302
98 303
99 Ngăn nhớ Truy cập
Đáy Stack 304
200
305
GV: Đinh Đồng Lưỡng Cấu trúc Máy tính 306 117
----------------------- Page 118-----------------------
4.2 Tập thanh ghi
Các thanh ghi dữ liệu
Chứa các dữ liệu tạm thời và kết quả trung gian.
Các thanh ghi số nguyên 8,16,32,64 bit.
Các thanh ghi số dấu chấm động.
Thanh ghi trạng thái (State Register)
&Thanh ghi cờ (FR: Flag Register).
Chứa các thông tin trạng thái của CPU.
Các cờ phép toán báo hiệu trạng thái kết quả.
Các cờ điều khiển báo hiệu trạng thái của CPU
Ví dụ: cờ ZF, CF, SF, OF, IF (cờ ngắt = cho ngắt =0
cấm ngắt
GV: Đinh Đồng Lưỡng Cấu trúc Máy tính 118
----------------------- Page 119-----------------------
4.3 Tập lệnh
Giới thiệu chung về tập lệnh
Mỗi bộ xử lý có tập lệnh xác định.
Một tập lệnh thường đến vài chục đến vài nghìn lệnh
Mỗi lệnh là chuỗi nhị phân mà bộ xử lý có thể phân
tích và hiểu để thực hiện thao tác mà lệnh đó yêu cầu.
Các lệnh khi viết thường được ánh xạ ra thành các ký
hiệu gợi nhớ. ADD, MOV, IN, OUT, SHL, ROL,…
Đây tựa của câu lệnh của hợp ngữ
(Lập ASSEMBLY)
GV: Đinh Đồng Lưỡng Cấu trúc Máy tính 119
----------------------- Page 120-----------------------
4.3 Tập lệnh
Các thành phần một lệnh máy 2 phần:
Mã thao tác Địa chỉ toán hạng
Mã thao tác Địa chỉ toán hạng
Mã thao tác (Operation Code: Opcode): Mã chỉ ra
thao tác mà bộ vi xử lý cần phải thực hiện.
Địa chỉ toán hạng (Operand Address): Chỉ ra nơi
chứa các toán hạng mà mã thao tác sẽ tác động.
o Toán hạng nguồn: dữ liệu vào của thao tác
o Toán hạng đích: dữ liệu ra của thao tác
GV: Đinh Đồng Lưỡng Cấu trúc Máy tính 120
----------------------- Page 121-----------------------
4.3 Tập lệnh
Các kiểu thao tác
Thao tác chuyển dữ liệu
Thao tác xử lý số học và logic
Thao tác vào ra dữ liệu qua cổng
Thao tác điều khiển rẽ nhánh
Thao tác điều khiển hệ thống
Thao tác xử lý số dấu chấm động
Thao tác chuyên dụng khác: xử lý ảnh, âm thanh, tiếng
nói,…
GV: Đinh Đồng Lưỡng Cấu trúc Máy tính 121
----------------------- Page 122-----------------------
4.3 Tập lệnh
Các lệnh chuyển dữ liệu
Lệnh Mov
Sao chép dữ liệu từ toán hạng nguồn -> đích
Lệnh Load
Nạp dữ liệu từ bộ nhớ -> bộ xử lý
Lệnh XCHG
Trao đổi nội dung của hai toán hạng cho nhau
Lệnh PUSP
Cất nội dung của một toán hạng nguồn vào stack
Lệnh POP
Lấy nội dung ở đỉnh Stack ra toán hạng đích
Lệnh Set, Clear
GV: Đinh Đồng Lưỡng Cấu trúc Máy tính 122
----------------------- Page 123-----------------------
4.3 Tập lệnh
Các lệnh số học Các lệnh logic
Lệnh ADD : cộng Lệnh Test
Lệnh SUB : trừ Thực hiện lệnh AND thiết lập cờ
Lệnh MUL : nhân Lệnh Shift
Chia DIV : chia Dịch trái, hoặc phải
Lệnh Rotate
Quay trái hoặc quay phải
Lệnh Convert
Chuyển đổi dữ liệu từ dạng này sang
dạng khác
Lệnh AND, OR, XOR, NOT,….
GV: Đinh Đồng Lưỡng Cấu trúc Máy tính 123
----------------------- Page 124-----------------------
4.3 Tập lệnh
Các lệnh vào ra Các lệnh điều khiển hệ thống
Lệnh nput: Lệnh Halt : dừng thực hiện
Lệnh Output chương trình
Các lệnh chuyển điều Lệnh Wait : tạm dừng thực hiện
khiển chương trình, lặp kiểm tra cho đến
Lệnh Jump khi thoả mãn thì tiếp tục thực hiện
Lệnh Call No Operation: không thực hiện gì
cả
Lệnh Return : trở về từ
Lệnh Lock : Cấm không cho
chương trình con
chuyển nhượng BUS
Lệnh Unlock: cho phép chuyển
nhượng BUS
GV: Đinh Đồng Lưỡng Cấu trúc Máy tính 124
----------------------- Page 125-----------------------
Các phương pháp định địa chỉ (Addressing
Models)
Toán hạng của của lệnh có thể là:
Một thanh ghi cụ thể
Nội dung của thanh ghi
Nội dung của ngăn nhớ hay cổng vào ra
Các phương pháp định địa chỉ thông dụng:
Định địa chỉ tức thời
Định địa chỉ thanh ghi
Định địa chỉ trực tiếp
Định địa chỉ gián tiếp qua thanh ghi
Định địa chỉ gián tiếp
Định địa chỉ dịch chuyển
GV: Đinh Đồng Lưỡng Cấu trúc Máy tính 125
----------------------- Page 126-----------------------
Định địa chỉ tức thì
Toán hạng là hằng số nằm ngay trong trường địa chỉ
toán hạng
Đây chỉ có thể là toán hạng nguồn
Không tham chiếu bộ nhớ
Truy cập toán hạng rất nhanh
Dải giá trị toán hạng bị hạn chế
ADD R1, const
ADD const
ADD
GV: Đinh Đồng Lưỡng Cấu trúc Máy tính 126
----------------------- Page 127-----------------------
Định địa chỉ thanh ghi
Toán hạng được chứa trong một thanh ghi, thanh ghi
có tên trong trường địa chỉ toán hạng.
Tập thanh ghi
OPCODE
OPCODE Thanh ghi
Toán hạng
GV: Đinh Đồng Lưỡng Cấu trúc Máy tính 127
----------------------- Page 128-----------------------
Định địa chỉ trực tiếp
Toán hạng là ngăn nhớ có địa chỉ được chỉ ra ngay
trong trường địa chỉ toán hạng
Bộ nhớ
OPCODE
OPCODE Địa chỉ
Toán hạng
GV: Đinh Đồng Lưỡng Cấu trúc Máy tính 128
----------------------- Page 129-----------------------
Định địa chỉ gián tiếp qua thanh ghi
Toán hạng là ngăn ngăn
OPCODE Thanh ghi
OPCODE
nhớ có địa chỉ được chỉ
ra trong thanh ghi.
Trường địa chỉ toán hạng
lưu trữ tên thanh ghi đó. Thanh ghi
Bộ nhớ
Thanh ghi có thể là ngầm
định
Thanh ghi này được gọi Toán hạng Địa chỉ
là thanh ghi con trỏ
GV: Đinh Đồng Lưỡng Cấu trúc Máy tính 129
----------------------- Page 130-----------------------
Định địa chỉ gián tiếp qua ngăn nhớ
Bộ nhớ
OPCODE
OPCODE Địa chỉ
Địa chỉ
Toán hạng
GV: Đinh Đồng Lưỡng Cấu trúc Máy tính 130
----------------------- Page 131-----------------------
Định địa chỉ dịch chuyển
Để xác định toán hạng gồm 2 thành phần
Tên thanh ghi và hằng số
Địa chỉ toán hạng = Nội dung thanh ghi + hằng số
Bộ nhớ
ADD const
ADD
Tập thanh ghi + Toán hạng
GV: Đinh Đồng Lưỡng Cấu trúc Máy tính 131
----------------------- Page 132-----------------------
4.4 Hoạt động của CPU
Chu kỳ lệnh CPU bao gồm: Nhận lệnh, giải mã lệnh,
nhận toán hạng, thực hiện lệnh, cất toán hạng, ngắt.
Giản đồ trạng thái chu kỳ lệnh
Nhận Nhận toán Cất toán
lệnh hạng hạng
Tính Địa Giải mã Tính địa Thao Tính địa KT ngắt
chỉ lệnh thao tác chỉ toán tác dl chỉ toán và ngắt
hạng hạng
Lệnh tiếp theo Dữ liệu mảng hay chuỗi
GV: Đinh Đồng Lưỡng Cấu trúc Máy tính 132
----------------------- Page 133-----------------------
Phần trao đổi và giải đáp
GV: Đinh Đồng Lưỡng Cấu trúc Máy tính 133
----------------------- Page 134-----------------------
Câu hỏi ôn tập
Cấu trúc và chức năng của CPU
Kiến trúc tập lệnh
Các phương pháp tham chiếu toán hạng.
Hoạt động cơ bản CPU
Kiến trúc BXL tiến tiến
GV: Đinh Đồng Lưỡng Cấu trúc Máy tính 134
----------------------- Page 135-----------------------
Chương 5
Bộ nhớ máy tính
5.1 Tổng quan bộ nhớ trong Máy tính
5.2 Bộ nhớ bán dẫn
5.3 Bộ nhớ đệm nhanh (Cache)
5.4 Bộ nhớ ngoài (bộ nhớ phụ)
5.5 Hệ thống nhớ trên máy PC hiện nay
GV: Đinh Đồng Lưỡng Cấu trúc Máy tính 135
----------------------- Page 136-----------------------
5.1 Tổng quan
Các đặc trưng của bộ nhớ
Ví trí:
Bên trong CPU: tập thanh ghi, cache
Bộ nhớ trong: Bộ nhớ chính và Cache
Bộ nhớ ngoài: các thiết bị nhớ, RAID
Dung lượng:
Độ dài từ nhớ (tính bằng bit)
Số lượng từ nhớ
Đơn vị truyền:
Từ nhớ
Khối nhớ
GV: Đinh Đồng Lưỡng Cấu trúc Máy tính 136
----------------------- Page 137-----------------------
5.1 Tổng quan
Phương pháp truy nhập:
Truy nhập tuần tự (băng từ)
Truy nhập trực tiếp (các loại đĩa)
Truy nhập ngẫu nhiên (bộ nhớ bán dẫn)
Truy nhập liên kết (cache)
Hiệu năng:
Thời gian truy nhập
Chu kỳ truy xuất bộ nhớ
Tốc độ truyền
GV: Đinh Đồng Lưỡng Cấu trúc Máy tính 137
----------------------- Page 138-----------------------
5.1 Tổng quan
Kiểu bộ nhớ vật lý:
Bộ nhớ bán dẫn
Bộ nhớ từ
Bộ nhớ quang
Các đặc tính vật lý:
Khả biến/không khả biến
Xoá được/không xoá được
GV: Đinh Đồng Lưỡng Cấu trúc Máy tính 138
----------------------- Page 139-----------------------
Phân cấp bộ nhớ
Tốc ộ
Registers
CPU Cache
Central Memory
Disk Cache
l s
a
r e
Disks e i
r
h o
p
i m
r e
CD/ROM e
P m
Archival Stores
Kích thước
GV: Đinh Đồng Lưỡng Cấu trúc Máy tính 139
----------------------- Page 140-----------------------
Phân cấp bộ nhớ
Bộ nhớ Bộ nhớ trong
Bộ nhớ Bộ nhớ trong
chính
chính
Tập Bộ nhớ Bộ nhớ
Bộ nhớ Bộ nhớ Bộ nhớ
register Bộ nhớ
register
thanh ghi Cache L1 Cache
Cache L1 Cache mạng
mạng
L2
L2
Từ trái qua phải dung lượng tăng dần, tốc độ giảm dần, giá
thành tính theo đơn vị byte hoặc bit giảm dần.
GV: Đinh Đồng Lưỡng Cấu trúc Máy tính 140
----------------------- Page 141-----------------------
5.2 Bộ nhớ bán dẫn
Bộ nhớ chỉ đọc (ROM: Read Only Memory)
Bộ nhớ không khả biến
Sử dụng để lưu các thông tin sau:
Thư viện các chương trình con.
Các chương trình con điều khiển hệ thống (BIOS)
Các bảng chức năng.
k đường địa chỉ
k
2 từ nhớ
(n bit từ nhớ)
n đường dữ liệu ra
GV: Đinh Đồng Lưỡng Cấu trúc Máy tính 141
----------------------- Page 142-----------------------
5.2 Bộ nhớ bán dẫn
Các kiểu ROM:
ROM mặt nạ, PROM: Programmable ROM, EPROM:
Erasable PROM, EEPROM Electrically EPROM,
Flash Memory ( Bộ nhớ cực nhanh): Ghi theo khối,
xoá bằng điện.
GV: Đinh Đồng Lưỡng Cấu trúc Máy tính 142
----------------------- Page 143-----------------------
5.2 Bộ nhớ bán dẫn
Bộ nhớ truy cập ngẫu nhiên
(RAM : Random Access Memory)
Bộ nhớ đọc ghi (R/W memory)
Bộ nhớ khả biến
Lưu thông tin tạm thời
Có hai loại chính là SRAM (Static RAM) và DRAM
(Dynamic RAM) n đường dữ liệu vào
k đường địa chỉ k
2 từ nhớ
Read
Write (n bit từ nhớ)
GV: Đinh Đồng Lưỡng Cấu trúc Máy tính n đường dữ liệu ra 143
----------------------- Page 144-----------------------
5.2 Bộ nhớ bán dẫn
RAM tĩnh (SRAM: Static RAM)
Các bit được lưu dựa trên các Flip- Flop (4-8 FF lưu 1
bit)
Thông tin lưu ổn định
Cấu trúc phức tạm
Dung lượng nhỏ(KB)
Tốc độ nhanh (6-8 ns)
Dùng làm cache
Giá thành cao
GV: Đinh Đồng Lưỡng Cấu trúc Máy tính 144
----------------------- Page 145-----------------------
5.2 Bộ nhớ bán dẫn
RAM động (DRAM: Dynamic RAM)
Các bit được lưu dựa trên các tụ điện => nguyên nhân
thường xuyên làm tươi.
Dung lượng lớn.
Tốc độ chậm (60-80ns).
Dùng làm bộ nhớ chính
Giá thành phải chăng.
Các DRAM tiên tiến:
SDRAM: Synchronous Dynamic RAM, DDRAM:
Double Data RAM. Ram BUS RDRAM.
GV: Đinh Đồng Lưỡng Cấu trúc Máy tính 145
----------------------- Page 146-----------------------
Bộ nhớ chính
Các đặc trưng cơ bản
Tồn tại trên mọi hệ thống máy tính
Chứa chương trình đang thực hiện và các dữ liệu có
liên quan.
Gồm các ngăn nhớ được đánh địa chỉ trực tiếp bởi
CPU.
Dung lượng bộ nhớ chính bao giờ nhỏ hơn không
gian mà CPU có thể quản lý.
Việc quản lý logic bộ nhớ phụ thuộc vào hệ điều
hành.
GV: Đinh Đồng Lưỡng Cấu trúc Máy tính 146
----------------------- Page 147-----------------------
Tổ chức của chip nhớ
Sơ đồ cơ bản của chip nhớ
A ..A
0 n-
D ..D
Chip nhớ 0 m-
n
2 x m bit
cs
WE OE
GV: Đinh Đồng Lưỡng Cấu trúc Máy tính 147
----------------------- Page 148-----------------------
Tổ chức của chip nhớ
Các tín hiệu của chip nhớ
n
Các đường địa chỉ: A …A để xác định 2 ngăn nhớ.
0 n-
Các đường dữ liệu: D …D độ dài từ nhớ (m bit)
0 m-
n
=>dung lượng chip nhớ = 2 x m bit
Các tín hiệu điều khiển
o Tín hiệu chọn chip hoạt động: CS (Chip Select)
o Tín hiệu điều khiển đọc hoặc ghi (WE: Write
Enable; OE: Output Enable)
o Thường các tín hiệu điều khiển tích cực với mức 0
GV: Đinh Đồng Lưỡng Cấu trúc Máy tính 148
----------------------- Page 149-----------------------
Thiết kế Mudule nhớ
Thiết kế module nhớ bán dẫn
n
Cho chip nhớ 2 x m bit
Yêu cầu sử dụng chip nhớ trên thiết kế module nhớ
dung lượng là bội kích thước chip nhớ trên.
Giải quyết vấn đề
Có hai cách:
Thiết kế để tăng độ dài từ nhớ, số ngăn nhớ không
thay đổi.
Thiết kế để tăng số lượng ngăn nhớ, độ dài từ nhớ
không thay đổi.
GV: Đinh Đồng Lưỡng Cấu trúc Máy tính 149
----------------------- Page 150-----------------------
Thiết kế Mudule nhớ
Thiết kế tăng số lượng từ nhớ
n
Giả thiết: Cho các chip nhớ có dung lượng 2 x m bit.
Yêu cầu: Thiết kế module nhớ có kích thước:
n
2 x (k.m) bit
Giải quyết:
Để thiết kế được yêu cầu ta xác định hai thông số n
(số đường địa chỉ)và k(số chip nhớ cần để ghép vào
module thiết kế
GV: Đinh Đồng Lưỡng Cấu trúc Máy tính 150
----------------------- Page 151-----------------------
Thiết kế Mudule nhớ
Ví dụ Cho các chip nhớ SDRAM dung lượng 4K x 4 bit.
Hãy thiết kế module nhớ có kích thước 4K x 8 bit
Dung lượng chip nhớ 212 x 4 bit
Thông tin cần cho chip nhớ số đường địa chỉ n = 2 và
số đường dữ liệu m=4
Thông tin về module nhớ số đường địa chỉ là 12 đường
(số ngăn nhớ không thay đổi), số đường dữ liệu là 8
đường và số chip sử dụng thiết kế 2(k=2)
GV: Đinh Đồng Lưỡng Cấu trúc Máy tính 151
----------------------- Page 152-----------------------
Thiết kế Mudule nhớ
A …A
0 11
Chip nhớ Chip nhớ
212 x 4 bit 212x 4 bit
D …D
0 3
D …D
4 7
cs cs
WE OE WE OE
cs
WE
OE
GV: Đinh Đồng Lưỡng Cấu trúc Máy tính 152
----------------------- Page 153-----------------------
Thiết kế Mudule nhớ
Thiết kế tăng số lượng ngăn nhớ
n
Giả thiết: Cho các chip nhớ có dung lượng 2 x m bit.
Yêu cầu: Thiết kế module nhớ có kích thước:
k n
2 .2 x m bit
Giải quyết:
Để thiết kế được ta xác định hai thông số n+k (số
k
đường địa chỉ) và 2 (số chip nhớ cần để ghép vào
module thiết kế)
GV: Đinh Đồng Lưỡng Cấu trúc Máy tính 153
----------------------- Page 154-----------------------
Thiết kế Mudule nhớ
Ví dụ Cho các chip nhớ SDRAM dung lượng 4K x 8
bit. Hãy thiết kế module nhớ có kích thước 8K x 8 bit.
Dung lượng chip nhớ giải thiết 212 x 8 bit
Thông tin cần cho chip nhớ số đường địa chỉ n = 2 và
số đường dữ liệu m=8
Thông tin về module nhớ số đường địa chỉ là 13
đường (số ngăn nhớ thay đổi) và số đường dữ liệu là 8
đường(độ dài từ nhớ không đổi).
GV: Đinh Đồng Lưỡng Cấu trúc Máy tính 154
----------------------- Page 155-----------------------
Thiết kế Mudule nhớ
A …A Chip nhớ
0
212x 8 bit
A 2 cs
A y 0 WE OE
D …D
0 7
Bộ giải mã
->2
cs
G y
Chip nhớ
212 x 8 bit
G A y y 0
0 0 0 1
cs
0 1 1 0
WE OE
1 x
WE OE
GV: Đinh Đồng Lưỡng Cấu trúc Máy tính 155
----------------------- Page 156-----------------------
Bài làm thêm
Thiết kế module nhớ 16K x 8 bit từ các chip nhớ
4K x 8 bit
Thiết kế module nhớ 32K x 8 bit từ các chip nhớ
4K x 8 bit
Thiết kế module nhớ 8K x 8 bit từ các chip nhớ
4K x 4 bit
Thiết kế module nhớ 32M x 32 bit từ các chip nhớ
4M x 32 bit
GV: Đinh Đồng Lưỡng Cấu trúc Máy tính 156
----------------------- Page 157-----------------------
Phát hiện và chỉnh lỗi trong bộ nhớ
Phát hiện và chỉnh lỗi trong bộ nhớ
Nguyên tắc chung: Trong quá trình truyền dữ liệu có thể
gặp sự thay đổi các bit thông tin do nhiễu hoặc do sai
hỏng của thiết bị hay module vào ra. Vì vậy, thực tế đặt
ra là phải làm sao phát hiện được lỗi và có thể sửa sai
được. Một trong phương pháp phát hiện lỗi (EDC: Error
Dectecting Code) và sửa lỗi (ECC: Error Correcting
Code) là: Giả sử cần kiểm tra m bit thì người ta ghép
thêm k bit kiểm tra được mã hoá theo cách nào đó rồi
truyền từ ghép m+k bit (k bit được truyền không mang
thông tin nên gọi là bit dư thừa)
Trong đó m là số bit cần ghi vào bộ nhớ và k bit là số bit
cần tạo ra kiểm tra lỗi trong m bit.
GV: Đinh Đồng Lưỡng Cấu trúc Máy tính 157
----------------------- Page 158-----------------------
Phát hiện và chỉnh lỗi trong bộ nhớ
Khi đọc dữ liệu ra có khả năng sau:
Không phát hiện dữ liệu có lỗi.
Phát hiện thấy dữ liệu lỗi và có thể hiệu chỉnh dữ liệu
lỗi thành đúng.
Phát hiện thấy lỗi nhưng không có khả năng chỉ ra lỗi
vì thế phát ra tín hiệu báo lỗi.
Sơ đồ phát hiện lỗi và sửa lỗi
GV: Đinh Đồng Lưỡng Cấu trúc Máy tính 158
----------------------- Page 159-----------------------
Phát hiện và chỉnh lỗi trong bộ nhớ
Dliệu ra
m bit Bộ nhớ m bit
Bộ hiệu
chỉnh và đưa
dữ liệu ra
Bộ tạo mã
M bit k bit
Bộ tạo mã
k bit Tbáo lỗi
k bit
Bộ so
k bit sánh
GV: Đinh Đồng Lưỡng Cấu trúc Máy tính 159
----------------------- Page 160-----------------------
Phát hiện và chỉnh lỗi trong bộ nhớ
Ví dụ 1: Phát hiện lỗi với bit chẵn lẻ(Party)
Mã EDC đơn giản là bit chẵn lẻ được gắn thêm
vào các bit dữ liệu.
Nếu bit chẵn lẻ =1: nếu số bit 1 trong xâu là lẻ
Hoặc sử dụng Nếu bit chẵn lẻ =0: nếu số bit 1 là chẵn
Ưu điểm: đơn giản và số bit dư thừa ít.
Nhược điểm: không định vị được lỗi, hoặc nếu có sự thay
đổi cả hai bit hoặc 1 hoặc 0 thì không phát hiện được.
Khắc phục nhược điểm trên xây dựng mã EDC khối.
GV: Đinh Đồng Lưỡng Cấu trúc Máy tính 160
----------------------- Page 161-----------------------
Phát hiện và chỉnh lỗi trong bộ nhớ
Ví dụ 2: Phát hiện lỗi bằng mã dư thừa CRC (Cycle
Redundary Check).
Nguyên tắc: Một xâu nhị phân bất kỳ có thể coi là tập
hợp các hệ số của đa thức B(x) trong đó x là hư số. Chọn
đa thức G(x) là đa nào đó ta quy định trước gọi đa thức
sinh. Ta tiến hành chia module2 đa thức B(x) cho G(x) ta
được thương số Q(x) và phần dư R(x).
Đa thức sinh do tổ chức viễn thông quốc tế quy định.
Khi đó ta cần truyền xâu B(x) + R(x) bit
Để kiểm tra lỗi ta cần chia giá trị nhận được cho đa
thức sinh nếu phép chia có dư thì có lỗi xuất hiện trong
xâu.
GV: Đinh Đồng Lưỡng Cấu trúc Máy tính 161
----------------------- Page 162-----------------------
Phát hiện và chỉnh lỗi trong bộ nhớ
Ví dụ:
9 8 6 4 3
Xâu gốc: 010 0 M(x)=x +x +x +x +x +x+1(m=9)
4
Đa thức sinh G(x) = x +x+1 100 (r=4)
4
Xâu gốc: 010 0 0000 x M(x)
Chia mod2 010 0 0000 100
000010 0 -> thương
10 phần dư phép chia
Xâu cần truyền đi: 010 0 0 T(x)
GV: Đinh Đồng Lưỡng Cấu trúc Máy tính 162
----------------------- Page 163-----------------------
Phát hiện và chỉnh lỗi trong bộ nhớ
Ví dụ 3: Mã sửa lỗi Hamming
Nguyên tắc: Một từ mã Hamming gồm m bit dữ liệu và k
bit kiểm tra chẵn lẻ. Mỗi bit được chọn vị trí thích hợp để
phát hiện chính xác ví trí để có thể sửa lỗi được. Ví dụ
n
chọn m=4 => k=3 (m=2 ; k=n+1)
Ta có thứ tự sau:
7 6 5 4 3 2
I4 I3 I2 C3 I C2 C
Các bít này được mã hoá theo quy luật sau:
C1=I ⊕ I2⊕ I4
C2=I ⊕ I3⊕ I4
C3=I2⊕ I3⊕ I4
GV: Đinh Đồng Lưỡng Cấu trúc Máy tính 163
----------------------- Page 164-----------------------
Phát hiện và chỉnh lỗi trong bộ nhớ
Giả sử các bit cần truyền là: I4 I3 I2 I1 = 01 tính
các C3C2C1=010
Bit cần truyền 00 0
Giả sử ta có bị lỗi, thí dụ bit I2 từ giá trị 0 thành giá trị
1 mã nhận được 0 0.
Bên thu tính ra bit kiểm tra:
C3= ⊕ ⊕ 1=
C2= ⊕ ⊕ 1=
C = ⊕ ⊕ 1=
Nếu module 2 số này ta được ⊕ 010 = 101
(C1,C3 thay đổi và vị trí thay đổi là 101 (5))
GV: Đinh Đồng Lưỡng Cấu trúc Máy tính 164
----------------------- Page 165-----------------------
5.3 Bộ nhớ đệm nhanh
Nguyên tắc:
Cache có tốc độ truy xuất nhanh hơn rất nhiều bộ nhớ
chính
Cache được đặt giữa CPU và bộ nhớ chính nhằm tăng
tốc độ trao đổi thông tin giữa CPU và bộ nhớ chính.
Cache thường được đặt trong chip vi xử lý
GV: Đinh Đồng Lưỡng Cấu trúc Máy tính 165
----------------------- Page 166-----------------------
5.4 Bộ nhớ đệm nhanh
Thao tác của Cache
CPU yêu cầu lấy nội dung của một ngăn nhớ bằng
việc đưa ra một địa chỉ xác định ô nhớ.
CPU kiểm tra xem có nội dung cần tìm trong Cache
Nếu có: CPU nhận dữ liệu từ bộ nhớ Cache
Nếu không có: Bộ điều khiển Cache đọc Block nhớ
chứa dữ liệu CPU cần vào Cache.
Tiếp đó chuyển dữ liệu từ Cache đến CPU
Sơ đồ thao tác cache, bộ nhớ chính và CPU
GV: Đinh Đồng Lưỡng Cấu trúc Máy tính 166
----------------------- Page 167-----------------------
5.4 Bộ nhớ đệm nhanh
Start
Địa chỉ RA từ CPU
miss
Có BLOCK nào trong Truy cập bộ nhớ lấy ra
cache chứa RA BLOCK chứa địa chỉ RA
hit
Chuyển từ ứng RA Đưa BLOCK vào một Line
trong Cache
tới CPU
Done Chuyển từ ở địa chỉ RA
tới CPU
GV: Đinh Đồng Lưỡng Cấu trúc Máy tính 167
----------------------- Page 168-----------------------
5.4 Bộ nhớ đệm nhanh
Bộ nhớ chính
Bộ nhớ Cache
Block
Tag Line
Line 2
CPU Line 3 Block 2
Block 3
…
Block 4
Line C
…
Block M-2
Block M-
Block M
GV: Đinh Đồng Lưỡng Cấu trúc Máy tính 168
----------------------- Page 169-----------------------
5.3 Bộ nhớ đệm nhanh
Tổ chức Cache
n
Giả sử bộ nhớ chính gồm có 2 từ nhớ đã được đánh
địa chỉ ( mỗi từ nhớ có địa chỉ duy nhất rộng n bit)
Bộ nhớ chính chia thành M khối, mỗi khối có K từ nhớ
n
M=2 /K
Bộ nhớ Cache có C khe mỗi khe có K từ nhớ.(C<<M)
Tại một thời điểm luôn có một tập con các khối nhớ
thường trú trong cache.
Nếu một từ sẽ được đọc thì khối chứa từ đó sẽ được
chuyển vào trong cache.
GV: Đinh Đồng Lưỡng Cấu trúc Máy tính 169
----------------------- Page 170-----------------------
5.3 Bộ nhớ đệm nhanh
Ví dụ cho phương pháp ánh xạ cụ thể trong cache
Cho dung lượng Cache là 64KB (m=16)
Mỗi khối kính thước 4 bytes
=> C=16K(214) lines mỗi line kích thước 4 bytes
Cho dung lượng bộ nhớ chính 16MB (n=24)
Mỗi khối kính thước 4 bytes
=> M=4M(222) khối mỗi khối kích thước 4 bytes
GV: Đinh Đồng Lưỡng Cấu trúc Máy tính 170
----------------------- Page 171-----------------------
5.3 Bộ nhớ đệm nhanh
Phương pháp ánh xạ trực tiếp (Direct mapping)
Mỗi block được ánh xạ duy nhất tới 1 line trong cache
Địa chỉ phát ra từ CPU được chia 2 phần
w bits có trọng số thấp để xác định duy nhất từ cần
truy xuất(WORD)
s bits còn lại xác định khối nhớ. Trong s bits chia 2
nhóm r bits LINE và s-r bits TAG
Cụ thể hóa ví dụ:
Tag s-r Line or Slot r Word w
8 14 2
GV: Đinh Đồng Lưỡng Cấu trúc Máy tính 171
----------------------- Page 172-----------------------
5.3 Bộ nhớ đệm nhanh
Tổng bit trong địa chỉ bộ nhớ chính n=24 bit: trong đó
2 bit phần word xác định chính xác 4 từ
22 bit xác định khối( 8 bit tag (=22-14) và 14 bit slot
or line)
Không có hai block nào trong Cache có cùng Line và
Tag.
Kiểm tra nội dung từ tồn tại Cache chính là kiểm tra
địa chỉ line và Tag
GV: Đinh Đồng Lưỡng Cấu trúc Máy tính 172
----------------------- Page 173-----------------------
5.3 Bộ nhớ đệm nhanh
GV: Đinh Đồng Lưỡng Cấu trúc Máy tính 173
----------------------- Page 174-----------------------
5.3 Bộ nhớ đệm nhanh
Cache line Main Memory blocks
s
0 0, C, 2C, 3C…2 -C
s
,C+ , 2C+1…2 -C+
s
C- C-1, 2C- ,3C- …2 -
Nhận xét:
Đơn giản
Chi phí ít
Nhược điểm là sự cố định các khối trong các line của Cache.
Trong trường hợp chương trình muốn truy xuất tới 2 Block tiên
tục mà 2 block được phân nằm trong cùng line thì khả năng
Cache miss rất cao.
GV: Đinh Đồng Lưỡng Cấu trúc Máy tính 174
----------------------- Page 175-----------------------
5.3 Bộ nhớ đệm nhanh
GV: Đinh Đồng Lưỡng Cấu trúc Máy tính 175
----------------------- Page 176-----------------------
5.3 Bộ nhớ đệm nhanh
Phương pháp ánh xạ liên kết
(Associative mapping)
Một Block của bộ nhớ chính có thể nhập bất kỳ line
nào trong Cache.
Địa chỉ CPU phát ra được chia thành 2 địa chỉ tag và
word
Địa chỉ Tag xác định khối duy nhất của bộ nhớ nằm
trong Cache.
Mỗi giá trị Tag của Line là khác nhau.
Chi phí phương pháp này đối với Cache là cao.
GV: Đinh Đồng Lưỡng Cấu trúc Máy tính 176
----------------------- Page 177-----------------------
5.3 Bộ nhớ đệm nhanh
GV: Đinh Đồng Lưỡng Cấu trúc Máy tính 177
----------------------- Page 178-----------------------
5.3 Bộ nhớ đệm nhanh
Word
Tag 22 bit 2 bit
22 bit Tag để lưu trữ Block 4 byte dữ liệu.
Việc kiểm tra Cache dựa vào các giá trị Tag trong line
(22 bit) để nhận biết Cache hit hay miss.
2 bits cuối xác định chính xác từ cần truy xuất
Ví dụ
Địa chỉ Tag Dữ liệu Cache line
FFFFFC FFFFFC 24682468 3FFF
GV: Đinh Đồng Lưỡng Cấu trúc Máy tính 178
----------------------- Page 179-----------------------
5.3 Bộ nhớ đệm nhanh
GV: Đinh Đồng Lưỡng Cấu trúc Máy tính 179
----------------------- Page 180-----------------------
5.3 Bộ nhớ đệm nhanh
Phương pháp ánh xạ liên kết tập hợp
(Set Associative mapping)
Các line trong Cache được chia ra thành tập(nhóm)
line
Mỗi block chỉ được ánh xạ vào bất kỳ line nào trong
tập nào đó mà thôi. Ví dụ Block b chỉ có thể nập vào
bất kỳ line nào trong nhóm các line thứ i. Ví dụ 2 lines
một nhóm (two way associative mapping), Số Block
bộ nhớ chính là modulo 213
000000, 00A000, 00B000, 00C000 … ánh xạ cùng
nhóm.
GV: Đinh Đồng Lưỡng Cấu trúc Máy tính 180
----------------------- Page 181-----------------------
5.3 Bộ nhớ đệm nhanh
GV: Đinh Đồng Lưỡng Cấu trúc Máy tính 181
----------------------- Page 182-----------------------
5.3 Bộ nhớ đệm nhanh
Word
Tag 9 bit Set 13 bit
2 bit
Sử dụng tập hợp để biết tập nào được truy xuất.
So sánh trường Tag để xác đinh Cache hit hay miss
Ví dụ:
Địa chỉ Tag Dữ liệu số tập
1FF 7FFC FF 2345678 FFF
001 7FFC 00 223344 FFF
GV: Đinh Đồng Lưỡng Cấu trúc Máy tính 182
----------------------- Page 183-----------------------
5.3 Bộ nhớ đệm nhanh
GV: Đinh Đồng Lưỡng Cấu trúc Máy tính 183
----------------------- Page 184-----------------------
5.4 Bộ nhớ đệm nhanh
Một số Block của bộ nhớ chính được nạp vào trong các
line của Cache
Nội dung thẻ TAG (thẻ nhớ) cho biết block nào của bộ
nhớ chính hiện đang được chứa trong line
Khi CPU truy nhập đọc hay ghi một từ nhớ của bộ nhớ
chính, có 2 khả năng xảy ra :
Từ nhớ đó có trong Cache (cache hit). Từ nhớ đó đang
không có trong cache (Cache miss).
Phương pháp ghi dữ liệu khi cache hit
Ghi xuyên qua (Write Through): nội dung sau khi xử lý
xong được cập nhập vào cả Cache và bộ nhớ chính. Tốc
độ chậm.
GV: Đinh Đồng Lưỡng Cấu trúc Máy tính 184
----------------------- Page 185-----------------------
Cache trong các bộ xử lý ntel
Ghi sau (Write back): Dữ liệu xử lý chỉ được ghi ra
Cache, tốc độ nhanh. Tuy nhiên khi Block trong cache
không dùng nữa thì phải ghi trả cả block tới bộ nhớ
chính.
Dung lượng Cache được sử dụng cho thế hệ máy:
80486: có 3KB nhớ
Pentium : có 2 cache L trên chip đó là Cache lệnh và
cache dữ liệu (8KB). Cache L2 liên hợp
Pentium 4: hai mức Cache L và L2 trên chip. Cache
L1 mỗi cache 8KB. Cache L2: mỗi cache 256KB,
512KB, 1GB
GV: Đinh Đồng Lưỡng Cấu trúc Máy tính 185
----------------------- Page 186-----------------------
5.5 Bộ nhớ ngoài
Các kiểu bộ nhớ ngoài
Đĩa từ
Đĩa quang
Bộ nhớ Flash
RAID
GV: Đinh Đồng Lưỡng Cấu trúc Máy tính 186
----------------------- Page 187-----------------------
Đĩa cứng (HDD: Hard Disk Driver)
Là thành phần quan trọng lưu trữ hệ điều hành và các phần
mềm tiện ích máy tính
Một máy tính có thể một đĩa hoặc nhiều đĩa
Dung lượng mỗi đĩa rất lớn. Năm 993 đĩa lớn nhất 200MB
đến nay 80 hay 20GB
Tốc độ đọc ghi nhanh so các bộ nhớ ngoài khác
Giá thành hạ
Được sử dụng làm bộ nhớ RAID (Redundant Array of
(Inexpensive) Independent Disks). Hệ thống nhớ gồm nhiều
ổ đĩa cứng kết hợp với nhau mà HĐH coi như một ổ logic
duy nhất.
Dữ liệu được lưu trữ phân tán trên tất cả các đĩa
Có thể tạo và lưu trữ thông tin dư thừa nhằm mục đích cho
việc phục hồi khi đĩa nào đó bị hỏng. Độ tin cậy trong lưu
trữ thông tin rất cao. Được sử dụng là bộ nhớ cho các hệ
GV: Đinh Đồng Lưỡng Cấu trúc Máy tính 187
thống máy chủ.
----------------------- Page 188-----------------------
Đĩa quang (CD-ROM, DVD)
CD-ROM (Compact Disk ROM)
CD-R (Recordable CD)
CD-RW (Rewriteable CD)
Dung lượng phổ biến 650MB
Ổ đĩa CD
ổ CD ROM: có thể đọc dữ liệu từ đĩa CD
ổ CD RW : Có thể vừa ổ đọc đĩa CD và có thể ghi dữ liệu lên
đĩa CD-R, và CD-RW.
Tốc độ đọc cơ sở 150KB/s
Tốc độ bội lần : 40x, 50x, 60x,…
DVD(Digital Video Disk): chỉ dùng trên đầu đọc
DVD (Digital Versatile Disk): dùng trên ổ đĩa máy tính
Dung lượng thông dụng 4.7GB
GV: Đinh Đồng Lưỡng Cấu trúc Máy tính 188
----------------------- Page 189-----------------------
Flash disk
Thường kết nối qua cổng USB
Không phải dạng đĩa là bộ nhớ bán dẫn cực nhanh
Dung lượng phát triển nhanh
Gọn nhẹ và tiện lợi
Đặc điểm đĩa Flash
1)Supports USB full-speed (12MBps) transmission
2) Driverless installation in Windows ME / 2000 / XP,
Mac 9.0 and
above, Linux 2.4 and above
3) Supports boot-up by USB-HDD or USB-ZIP mode
4) LED indicator displays status
GV: Đinh Đồng Lưỡng Cấu trúc Máy tính 189
----------------------- Page 190-----------------------
Flash disk
5) Write protection switch
6) Reading and writing speed:
900k/s and 700k/s
7) Password protection and data
encryption prevents unauthorized
access to data
8) Application software support
in Windows OS security function
9) Application software resize
(partition) available
10) Capacity: 16MB, 32MB,
64MB, 128MB, 256MB, 512MB,
1GB
) Compliance: FCC(B), CE, C-
Tick
GV: Đinh Đồng Lưỡng Cấu trúc Máy tính 190
----------------------- Page 191-----------------------
GiỚ TH ỆU TỔNG QUAN VỀ RA D
Xuất xứ
RA D là cụm từ viết tắt nhóm từ Redundant Array of
nexpensive ( ndependent) Disks
Thuật ngữ RAID được đưa ra trong một bài báo của
một nhóm các nhà nghiên cứu tại Đại học tổng hợp
California, Hoa Kỳ.
RA D được đề xuất nhằm xóa bỏ khoảng trống lớn tốc
độ CPU và các ổ đĩa điện cơ tương đối chậm.
Hiệu suất thi hành vượt trội so với khi dùng một đĩa
đơn lớn đắt tiền (SLED: Single Large Expensive Disk)
GV: Đinh Đồng Lưỡng Cấu trúc Máy tính 191
----------------------- Page 192-----------------------
GiỚ TH ỆU TỔNG QUAN VỀ RA D
Khái niệm
RA D: là cấu trúc đa đĩa vật lý để tạo nên một đĩa logic
có kích thước lớn, độ tin cậy và khả năng vận hành cao
hơn.
Mục đích
Nâng cao hiệu suất vận hành của toàn bộ hệ thống.
Khả năng làm việc song song các đĩa.
An toàn dữ liệu tận dụng tính dư thừa dữ liệu nhằm cải
thiện độ tin cậy đĩa.
Cung cấp bộ nhớ lớn
GV: Đinh Đồng Lưỡng Cấu trúc Máy tính 192
----------------------- Page 193-----------------------
GiỚ TH ỆU TỔNG QUAN VỀ RA D
Đặc điểm chúng của RA D
RA D là tập hợp các ổ đĩa vật lý được nhìn từ hệ điều
hành như ổ đĩa logic đơn.
Dữ liệu được phân bố trên mảng các ổ đĩa vật lý. Sử
dụng kỹ thuật Striping. (Striping là kỹ thuật phân chia
dữ liệu trên hai hay nhiều ổ đĩa làm tăng khả năng làm
việc song song hệ thống)
Dung lượng đĩa dư thừa được sử dụng để lưu trữ thông
tin chẵn lẻ nhằm đảm bảo khả năng phục hồi dữ liệu
trong trường hợp có hư hỏng về đĩa.
GV: Đinh Đồng Lưỡng Cấu trúc Máy tính 193
----------------------- Page 194-----------------------
GiỚ TH ỆU TỔNG QUAN VỀ RA D
GV: Đinh Đồng Lưỡng Cấu trúc Máy tính 194
----------------------- Page 195-----------------------
Các mức của RA D
Có 6 mức chính của RAID
RAID 0
RAID 1
RAID 2
RAID 3
RAID 4
RAID 5
GV: Đinh Đồng Lưỡng Cấu trúc Máy tính 195
----------------------- Page 196-----------------------
RA D LEVEL 0
GV: Đinh Đồng Lưỡng Cấu trúc Máy tính 196
----------------------- Page 197-----------------------
RA D LEVEL 1
GV: Đinh Đồng Lưỡng Cấu trúc Máy tính 197
----------------------- Page 198-----------------------
RA D LEVEL 2
GV: Đinh Đồng Lưỡng Cấu trúc Máy tính 198
----------------------- Page 199-----------------------
RA D LEVEL 3
GV: Đinh Đồng Lưỡng Cấu trúc Máy tính 199
----------------------- Page 200-----------------------
RA D LEVEL 4
GV: Đinh Đồng Lưỡng Cấu trúc Máy tính 200
----------------------- Page 201-----------------------
RA D LEVEL 5
GV: Đinh Đồng Lưỡng Cấu trúc Máy tính 201
----------------------- Page 202-----------------------
RA D LEVEL 0
GV: Đinh Đồng Lưỡng Cấu trúc Máy tính 202
----------------------- Page 203-----------------------
Đặc điểm chung RA D mức 0
Có thể coi RAID 0 không là thành viên của RAID
Dữ liêu được phân chia nhiều đĩa => có khả năng
truyền dữ liệu song song.
Không lưu trữ dữ liệu dư thừa
Phù hợp hệ thống đòi hỏi dung lượng nhớ lớn và khả
năng vận hành cao hơn là độ tin cậy trong hệ thống.
GV: Đinh Đồng Lưỡng Cấu trúc Máy tính 203
----------------------- Page 204-----------------------
RA D LEVEL 1
GV: Đinh Đồng Lưỡng Cấu trúc Máy tính 204
----------------------- Page 205-----------------------
Đặc điểm chung RA D mức 1
Là mức rất khác so các mức còn lại về cách lưu trữ dữ
liệu dư thừa.
Mỗi đĩa dữ liệu có một đĩa dự phòng đĩa dự phòng còn
gọi mirror disk.
Ưu điểm:
Đáp ứng yêu cầu vào ra hệ thống
Phục hồi dữ tốt nhất trong các mức của RAID
Nhược điểm:
Khả năng cập nhật dữ liệu chậm
Chi phí mua đĩa cao
KQ: Vận hành tốt cho hệ thống thường xuyên truy xuất
dữ liệu
GV: Đinh Đồng Lưỡng Cấu trúc Máy tính 205
----------------------- Page 206-----------------------
RA D LEVEL 2
GV: Đinh Đồng Lưỡng Cấu trúc Máy tính 206
----------------------- Page 207-----------------------
Đặc điểm chung RA D mức 2
Sử dụng công nghệ truy cập song song.
Tất cả đĩa đều vận hành tham gia yêu cầu trao đổi dữ liệu.
Kích thước Strip có thể byte hay word.
Có sử dụng mã Hamming để phát hiện lỗi và sửa lỗi
Ưu điểm:
Có khả năng phát hiện lỗi và sửa những lỗi đơn hệ thống.
Số đĩa sử dụng ít hơn so mức RAID
Nhược điểm:
Chi phí mua đĩa cao.
KQ: Ứng dụng trong hệ thống hay xuất hiện lỗi
GV: Đinh Đồng Lưỡng Cấu trúc Máy tính 207
----------------------- Page 208-----------------------
RA D LEVEL 3
GV: Đinh Đồng Lưỡng Cấu trúc Máy tính 208
----------------------- Page 209-----------------------
Đặc điểm chung RA D mức 3
Giống RAID 2 những tổ chức đơn giản hơn. Sử dụng một
đĩa dự phòng.
Tất cả đĩa đều vận hành tham gia yêu cầu trao đổi dữ liệu.
Kích thước Strip có thể byte hay word.
Có sử dụng mã Parity để phục hồi dữ liệu.
Ưu điểm:
Có khả năng truyền dữ liệu song song.
Số đĩa sử dụng dự phòng là đĩa. Chi phí thấp.
Nhược điểm:
Tại một thời điểm chỉ thỏa mãn một yêu cầu vào ra.
KQ: Ứng dụng trong hệ thống hay xuất hiện lỗi
GV: Đinh Đồng Lưỡng Cấu trúc Máy tính 209
----------------------- Page 210-----------------------
RA D LEVEL 4
GV: Đinh Đồng Lưỡng Cấu trúc Máy tính 210
----------------------- Page 211-----------------------
Đặc điểm chung RA D mức 4
Giống RAID 3 những tổ chức đơn giản hơn. Sử dụng một
đĩa dự phòng.
Dữ liệu tổ chức thành khối.
Các đĩa sử dụng phương pháp truy cập độc lập.
Có sử dụng mã Parity để phục hồi dữ liệu.
Ưu điểm:
Có khả năng đáp ứng nhiều yêu cầu vào ra đồng thời.
Số đĩa sử dụng dự phòng là 1 đĩa. Chi phí thấp.
Nhược điểm:
Khả năng truyền dữ liệu song song là kém.
KQ: Ứng dụng trong hệ thống hay xuất hiện lỗi
GV: Đinh Đồng Lưỡng Cấu trúc Máy tính 211
----------------------- Page 212-----------------------
RA D LEVEL 5
GV: Đinh Đồng Lưỡng Cấu trúc Máy tính 212
----------------------- Page 213-----------------------
Đặc điểm chung RA D mức 5
Giống RAID 4, tuy nhiên sự phân bố đều thông tin dư
phòng tránh được hiện tượng tắc nghẽn(bottle neck)
Dữ liệu tổ chức thành khối.
Các đĩa sử dụng phương pháp truy cập độc lập.
Có sử dụng mã Parity để phục hồi dữ liệu.
Ưu điểm:
Có khả năng đáp ứng nhiều yêu cầu vào ra đồng thời.
Số đĩa sử dụng dự phòng là 1 đĩa. Chi phí thấp.
Nhược điểm:
Khả năng truyền dữ liệu song song là kém.
KQ: Ứng dụng nhiều trong thực tế.
GV: Đinh Đồng Lưỡng Cấu trúc Máy tính 213
----------------------- Page 214-----------------------
RA D LEVEL 6
GV: Đinh Đồng Lưỡng Cấu trúc Máy tính 214
----------------------- Page 215-----------------------
RA D LEVEL 10
GV: Đinh Đồng Lưỡng Cấu trúc Máy tính 215
----------------------- Page 216-----------------------
RA D LEVEL 50
GV: Đinh Đồng Lưỡng Cấu trúc Máy tính 216
----------------------- Page 217-----------------------
5.6 Hệ thống nhớ trên máy PC hiện nay
Hệ thống Cache: tích hợp trực tiếp trên các chip vi xử
lý
Bộ nhớ chính: tồn tại dưới dạng module nhớ RAM
SIMM: Single Inline Memory Module
30 pin : 8 đường dữ liệu
72 pin : 32 đường dữ liệu
DIMM: Dual Inline Memory Module
168 pin: 64 đường dữ liệu
RIMM:Rambus Inline Memory Module
GV: Đinh Đồng Lưỡng Cấu trúc Máy tính 217
----------------------- Page 218-----------------------
ROM B OS
ROM BIOS: Basic Input Output System ROM chứa
chương trình sau:
Chương trình POST (Power On Self Test)
Chương trình CMOS setup (Compementary Metal
Oxide Semiconductor)
Chương trình Bootstrap Looader
Chương trình điều khiển vào ra cơ bản (BIOS)
CMOS RAM
Chứa cấu hình hệ thống hiện thời
Đồng hồ và ngày tháng năm hệ thống
Có pin nuôi riêng
GV: Đinh Đồng Lưỡng Cấu trúc Máy tính 218
----------------------- Page 219-----------------------
Chương 6
Giới thiệu chung
6.1 Tổng quan về hệ thống vào ra
6.2 Các phương pháp điều khiển vào ra
6.3 Nối ghép thiết bị ngoại vi
6.4 Các cổng vào ra thông dụng
GV: Đinh Đồng Lưỡng Cấu trúc Máy tính 219
----------------------- Page 220-----------------------
6.1 Tổng quan về hệ thống vào ra
Giới thiệu chung hệ thống vào ra
Chức năng: Trao đổi thông tin giữa Máy tính với môi
trường bên ngoài.
Các thao tác cơ bản:
Vào dữ liệu
Ra dữ liệu
Các thành phần chính:
Thiết bị ngoại vi
Module ghép nối vào ra
GV: Đinh Đồng Lưỡng Cấu trúc Máy tính 220
----------------------- Page 221-----------------------
6.1 Tổng quan về hệ thống vào ra
Thiết bị ngoại vi
Chức năng: phương tiện chuyển đổi thông tin giữa bên
trong và bên ngoài máy tính
Đặc điểm các thiết bị
Trên thị trường tồn tại rất nhiều các thiết bị ngoại
vi khác nhau về: Nguyên tắc hoạt động, tốc độ, định
dạng dữ liệu truyền, v.v. Đồng thời các thiết bị này có
tốc độ làm việc chậm hơn CPU và RAM rất nhiều. Chính
vì lý do trên cần có Module vào ra để ghép nối các thiết
bị ngoại vi vào hệ thống BUS máy tính.
GV: Đinh Đồng Lưỡng Cấu trúc Máy tính 221
----------------------- Page 222-----------------------
6.1 Tổng quan về hệ thống vào ra
Phân loại:
Thiết bị nhập: Keyboard, Mouse, Scan, Micro,…
Thiết bị xuất: Monitor, Printer,
Thiết bị xuất nhập: Modem, NIC, Driver,…
Cấu trúc tổng quát 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
trong và bên ngoài Máy tính
Bộ đệm dữ liệu: nơi lưu trữ dữ liệu trung gian giữa Máy
tính và thiết bị ngoại vi, đặt bên trong 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 theo tín hiệu từ Module I/O gởi tới thiết bị.
GV: Đinh Đồng Lưỡng Cấu trúc Máy tính 222
----------------------- Page 223-----------------------
6.1 Tổng quan về hệ thống vào ra
Dữ liệu vào/ ra Dữ liệu
Module vào/ra bên
ngoài
Bộ đệm Bộ chuyển đổi
dữ liệu
tín hiệu
T/h điều khiển
Khối Logic điều khiển
T/h trạng thái
(State)
GV: Đinh Đồng Lưỡng Cấu trúc Máy tính 223
----------------------- Page 224-----------------------
6.1 Tổng quan về hệ thống vào ra
Module I/O
Chức năng: Nối ghép thiết bị ngoại vi với bus của máy tính.
Điều khiển và định thời
Trao đổi thông tin với CPU
Trao đổi thông tin với thiết bị ngoại vi
Đệm giữa máy tính với thiết bị ngoại vi
Phát hiện lỗi của các thiết bị ngoại vi.
Cấu trúc chung:
Thanh ghi đệm dữ liệu đệm dữ liệu trong quá trình trao đổi
Cổng nối ghép vào ra kết nối thiết bị ngoại vi, mỗi cổng có địa
chỉ xác định và chuẩn kết nối riêng phụ thuộc sơ đồ chân.
Thanh ghi trạng thái/điều khiển lưu trữ thông tin trạng thái cho
các cổng vào ra
Khối logic điều khiển điều khiển Module vào ra
GV: Đinh Đồng Lưỡng Cấu trúc Máy tính 224
----------------------- Page 225-----------------------
6.1 Tổng quan về hệ thống vào ra
Bus dữ liệu Bus dữ liệu
Thanh Cổng
ghi nối
Đường đ/kh
đệm ghép
dữ liệu vào/ra State
Thanh ghi
trạng thái/điều khiển
Cổng
nối
Các đường đ/c
ghép
Các đường đ/k Khối Logic điều khiển vào/ra
GV: Đinh Đồng Lưỡng Cấu trúc Máy tính 225
----------------------- Page 226-----------------------
Ví dụ cổng ghép nối song song(LPT)
Các đường dẫn của cổng song được nối với 3 thanh
ghi 8 bit khác nhau:
Thanh ghi dữ liệu (Địa chỉ cơ sở)
Thanh ghi trạng thái (Địa chỉ cơ sở + )
Thanh ghi điều khiển (Địa chỉ cơ sở +2)
Các đại chỉ cổng có thể là:
LPT1: 378h (379h ; 37Ah)
LPT2: 3BCh
LPT3: 278h
LPT4: 2BCh
GV: Đinh Đồng Lưỡng Cấu trúc Máy tính 226
----------------------- Page 227-----------------------
Ví dụ cổng ghép nối song song(LPT)
Hợp ngữ:
Để xuất ra dữ liệu: OUT DX, AL hoặc OUT DX, AX
Để nhập vào dữ liệu: IN AL, DX hoặc IN AX, DX
(DX chứa địa chỉ; AL chứa giá trị)
Turbo C
Để xuất ra dữ liệu: outportb(đia_chỉ, giá_trị)
Để nhập vào dữ liệu: bien = inportb(địa_chỉ)
Turbo Pascal
Để xuất ra dữ liệu: port[đia_chỉ]:= giá_trị
Để nhập vào dữ liệu: bien:=port[địa_chỉ]
GV: Đinh Đồng Lưỡng Cấu trúc Máy tính 227
----------------------- Page 228-----------------------
Ví dụ cổng ghép nối tiếp(COM)
Các thanh ghi chính:
Thanh ghi đệm (Buffer Register) Địa chỉ cơ sở
Thanh ghi trạng thái (Status Register) ĐCCS+5
Thanh ghi điều khiển (Control Register) ĐCCS+3
Các địa chỉ cổng có thể là:
COM1: 3F8h (3FDh ; 3FBh)
COM2: 2F8h
COM3: 3E8h
COM4: 2E8h
GV: Đinh Đồng Lưỡng Cấu trúc Máy tính 228
----------------------- Page 229-----------------------
6.2 Các phương pháp điều khiển vào ra
Phân loại:
Vào ra bằng chương trình
Vào ra bằng ngắt
Truy cập bộ nhớ trực tiếp DMA
Vào ra bằng chương trình
Nguyên tắc chung:
Sử dụng lệnh vào ra trong chương trình để trao đổi dữ liệu với
cổng vào ra.
Khi CPU thực hiện chương trình gặp lệnh vào ra thì CPU điều
khiển trao đổi dữ liệu với cổng vào ra.
Lệnh I/O:
Với không gian địa chỉ vào ra riêng biệt: sử dụng các lệnh vào
ra chuyên dụng
Với không gian vào ra dùng chung bộ nhớ thì các lệnh trao đổi
dữ liệu sử dụng như ngăn nhớ.
GV: Đinh Đồng Lưỡng Cấu trúc Máy tính 229
----------------------- Page 230-----------------------
6.2 Các phương pháp điều khiển vào ra
Hoạt động vào ra bằng chương trình
CPU gặp lệnh trao đổi vào ra, yêu cầu thao tác vào ra
Module vào ra thao tác vào ra
Module vào ra thiết lập các bit trạng thái(State)
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 lại
Nếu sẵn sàng thì chuyển sang trao đổi dữ liệu với Module
vào ra.
GV: Đinh Đồng Lưỡng Cấu trúc Máy tính 230
----------------------- Page 231-----------------------
6.2 Các phương pháp điều khiển vào ra
Lưu đồ thực hiện chương trình
Đọc trạng thái
sẵn sàng
Module I/O N
sẵn sàng ?
Y
Trao đổi dữ liệu
với Module I/O
GV: Đinh Đồng Lưỡng Cấu trúc Máy tính 231
----------------------- Page 232-----------------------
6.2 Các phương pháp điều khiển vào ra
Nhận xét:
CPU trực tiếp điều khiển vào ra: đọc trạng thái, kiểm tra trạng
thái, thực hiện trao đổi.
Trong trường hợp nhiều thiết bị cùng cần trao đổi dữ liệu và
thiết bị chưa sẵn sàng tốn rất nhiều thời gian CPU
Việc thực hiện trao đổi đơn giản
Vào ra bằng ngắt
Nguyên tắc chung:
CPU không phải đợi trạng thái sẵn sàng của Module vào ra.
Module vào ra khi nó sẵn sàng phát ra tín hiệu yêu cầu ngắt
CPU
CPU thực hiện chương trình vào ra tương ứng để trao đổi dữ
liệu.
CPU trở lại chương trình đang bị ngắt.
GV: Đinh Đồng Lưỡng Cấu trúc Máy tính 232
----------------------- Page 233-----------------------
6.2 Các phương pháp điều khiển vào ra
Các phương pháp nối ghép
Sử dụng nhiều đường yêu cầu ngắt.
Kiểm tra vòng bằng phần mềm (Polling)
Kiểm tra vòng bằng phần cứng
Sử dụng bộ điều khiển ngắt.
Nhiều yêu cầu ngắt đồng thời
CPU sử dụng nhiều đường yêu cầu ngắt. Nạp vào thanh ghi
yêu cầu ngắt.
Hạn chế số lượng Module vào ra
Các đường ngắt được qui định mức ưu tiên.
GV: Đinh Đồng Lưỡng Cấu trúc Máy tính 233
----------------------- Page 234-----------------------
6.2 Các phương pháp điều khiển vào ra
CPU phát ra tín hiệu chấp nhận ngắt đến Module đầu tiên.
Nếu Module đó không gây ra ngắt thi nó gới tín hiệu đó tới
các Module kế tiếp
Module I/O gây ngắt sẽ đặt vector lên bus dữ liệu
CPU sử dụng ngắt để xác định chương trình con điều khiển
ngắt
Thứ tự vào ra các Module trong chuỗi xác định thứ tự ưu
tiên.
GV: Đinh Đồng Lưỡng Cấu trúc Máy tính 234
----------------------- Page 235-----------------------
6.2 Các phương pháp điều khiển vào ra
Truy nhập bộ nhớ trực tiếp
(DMA: Direct Memory Access)
Với nhược điểm chính của hai phương pháp trên là:
CPU tham gia trực tiếp vào trao đổi dữ liệu và việc trao đổi
lượng dữ liệu nhỏ. Để khắc phục hai phương pháp trên một
phương pháp mới có tên DMA sẽ sử dụng thêm một
Module phần cứng có DMAC (DMA Controller). Vì vậy
khi trao đổi dữ liệu không cần CPU.
GV: Đinh Đồng Lưỡng Cấu trúc Máy tính 235
----------------------- Page 236-----------------------
6.2 Các phương pháp điều khiển vào ra
Bộ đếm dl
Các đường dl Thanh ghi dl
Các đường đ/c Thanh ghi đ/c
Y/c Bus Đ/K đọc
Khối logic/ ĐK
Chuyển nhượng Đ/k ghi
Bus Y/c DMA
Ngắt Chấp nhận
T/h Đọc/ghi DMA
GV: Đinh Đồng Lưỡng Cấu trúc Máy tính 236
----------------------- Page 237-----------------------
6.2 Các phương pháp điều khiển vào ra
Các thành phần của DMAC
Thanh ghi dữ liệu: chứa dữ liệu trao đổi.
Thanh ghi địa chỉ: chứa địa chỉ của ngăn nhớ dữ liệu
Bộ đếm dữ liệu: chứa số từ dữ liệu cần trao đổi
Khối logic điều khiển: điều khiển hoạt động của
DMAC
Hoạt động của DMA
Khi cần vào ra dữ liệu thì CPU nhờ DMAC tiến hành
vào ra dữ liệu với thông tin cho biết như sau:
GV: Đinh Đồng Lưỡng Cấu trúc Máy tính 237
----------------------- Page 238-----------------------
6.2 Các phương pháp điều khiển vào ra
Địa chỉ thiết bị vào ra
Địa chỉ đầu của mảng nhớ chứa dữ liệu và DMAC nạp
thanh ghi địa chỉ
Số từ dữ liệu cần truyền và DMAC nạp vào bộ đếm dữ
liệu
CPU sẽ đi thực hiện việc khác
DMAC điều khiển việc trao đổi dữ liệu sau khi truyền
một từ dữ liệu thì nội dung thanh ghi địa chỉ tăng lên
và nội dung bộ đếm dữ liệu giảm xuống một đơn vị.
Khi bộ đếm bằng dữ liệu bằng 0, DMAC gởi tín hiệu
ngắt CPU để báo kết thúc DMA
GV: Đinh Đồng Lưỡng Cấu trúc Máy tính 238
----------------------- Page 239-----------------------
6.2 Các phương pháp điều khiển vào ra
BUS ĐỊA CHỈ
BUS DỮ LIỆU
CPU
Thiết bị Bộ nhớ
I/O
DMAC
YÊU CẦU YÊU CẦU
CHẤP NHẬN CHẬP
NHẬN
HOLD
HLDA
BUS Đ/K, T/H IO/MEM
GV: Đinh Đồng Lưỡng Cấu trúc Máy tính 239
----------------------- Page 240-----------------------
6.2 Các phương pháp điều khiển vào ra
Các kiểu thực hiện DMA
DMA truyền theo khối: DMAC sử dụng BUS để truyền cả khối
dữ liệu (CPU chuyển nhượng BUS cho DMAC)
DMA lấy chu kỳ: DMAC cưỡng bức CPU treo tạm thời từng
chu kỳ BUS để thực hiện truyền một từ dữ liệu
DMA trong suốt: DMAC nhận biết những chu kỳ nào CPU
không sử dụng BUS thì chiếm BUS để trao đổi dữ liệu (DMAC
lấy lén chu kỳ)
Đặc điểm 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à Module
vào ra với tốc độ nhanh.
Phù hợp với yêu cầu trao đổi mảng dữ liệu có kích thước lớn.
GV: Đinh Đồng Lưỡng Cấu trúc Máy tính 240
----------------------- Page 241-----------------------
6.2 Các phương pháp điều khiển vào ra
Bộ xử lý vào ra
Việc điều khiển vào ra được sử dụng bởi một bộ điều
khiển vào ra chuyên dụng.
Bộ xử lý vào ra hoạt động theo chương trình riêng
của nó.
Chương trình của bộ xử lý vào ra có thể nằm trong bộ
nhớ chính hoặc bộ nhớ riêng.
Hoạt động theo kiến trúc đa xử lý
GV: Đinh Đồng Lưỡng Cấu trúc Máy tính 241
----------------------- Page 242-----------------------
6.3 Nối ghép thiết bị ngoại vi
Nối ghép thiết bị ngoại vi
Các kiểu nối ghép vào ra
Nối ghép song song
Nối ghép nối tiếp
Nối ghép song song
Truyền các bit song song
Tốc độ truyền nhanh
Cần đường truyền song song
Tốn nhiều dây dẫn
GV: Đinh Đồng Lưỡng Cấu trúc Máy tính 242
----------------------- Page 243-----------------------
6.3 Nối ghép thiết bị ngoại vi
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ừ song song sang nối tiếp
Tốc độ chậm
Cần ít đường truyền dữ liệu
Các cấu hình ghép nối ghép
Điểm tới điểm (point to point): Qua một cổng vào ra chỉ có thể
ghép một thiết bị ngoại vi (PS/2, COM, LPT,…)
Điểm tới đa điểm (Point to multipoint): Thông qua một cổng
vào ra ghép nhiều thiết bị vào ra. Ví dụ: SCSI(7, 5), USB
(127),…
GV: Đinh Đồng Lưỡng Cấu trúc Máy tính 243
----------------------- Page 244-----------------------
6.4 Các cổng vào ra thông dụng
Các cổng vào ra thông dụng
PS/2 : nối ghép bàn phím và chuột
VGA(Video Graphic Adapter): Cổng nối ghép màn
hình
LPT (Line PrinTer): nối ghép với máy in là cổng song
song
COM (COMmunication): nối ghép với Modem, chuột,
và thiết bị khác. Cổng nối tiếp 9 hoặc 25 chân.
USB: cổng nối tiếp đa năng cho phép nối ghép nối tiếp
tối đa 17 thiết bị thông qua Hub.
GV: Đinh Đồng Lưỡng Cấu trúc Máy tính 244
----------------------- Page 245-----------------------
THE END
GV: Đinh Đồng Lưỡng Cấu trúc Máy tính 245
Bạn đang đọc truyện trên: AzTruyen.Top