Giáo trình Cấu trúc máy tính

MỤC LỤC

Chương1 . 3

Kiến trúc máy vi tính PC và đơn vị xử lý trung tâm. 3

1.1. Các thành phần cơ bản của máy tính số . 3

1.2. Biểu diễn thông tin trong máy tính số. 5

1.3 Kiến trúc cơ bản máy vi tính PC. 14

1.4. Đơn vị xử lý trung tâm CPU (Central Proccessing Unit) . 18

1.4.1. Cấu hình bên ngoài . 18

1.4.2. Cấu hình bên trong. 21

1.4.3. Quản lý bộ nhớ trong chế độ thực và các thanh ghi đoạn. 21

1.4.4. Các thanh ghi . 24

1.4.5 Quản lý bộ nhớ trong chế độ bảo vệ . 27

1.4.6. Cơ chế đa nhiệm . 35

1.4.7 Các chế độ xác định địa chỉ toán hạng. 36

1.5. Kỹ thuật đường ống và kỹ thuật xử lý song song mức lệnh. 40

1.5.1. Kỹ thuật xử lý lệnh kiểu đường ống (Pipeline). 41

1.5.2. Kỹ thuật ILP (xử lý song song mức lệnh) . 42

Chương 2 . 43

Tổ chức bộ nhớ trong máy vi tính PC. 43

2.1. Tổ chức bộ nhớ theo phân cấp. 43

2.2. Tổ chức cache . 45

2.2.1. Trường hợp mỗi khối chứa một từ (hoặc 1 byte) dữ liệu . 45

2.2.2. Trường hợp mỗi khối chứa nhiều từ dữ liệu. 47

2.2.3. Kỹ thuật tập liên hợp . 47

2.3 Tổ chức bộ nhớ máy vi tính PC . 48

2.3.1. Cơ chế quản lý bộ nhớ theo phân trang. 48

2.3.2 Cơ chế truy nhập bộ nhớ theo trang . 50

Chương 3 . 52

Các phương pháp vào ra dữ liệu trong máy vi tính . 52

3.1. Cấu trúc phần cứng của hệ thống vào/ra dữ liệu. 52

3.2. Các phương pháp vào/ra dữ liệu . 52

3.2.1 Phân loại . 52

3.2.2 Phương pháp vào/ra dữ liệu theo định trình. 53

3.2.3 Phương pháp vào/ra dữ liệu theo kiểu thăm dò . 54

3.2.4 Phương pháp vào/ra dữ liệu theo ngắt cứng . 55

3.2.5 Phương pháp vào/ra dữ liệu theo kiểu DMA (truy nhập trực tiếp bộ nhớ - Direct

Memory Access) . 57

Chương 4 . 59

Các thiết bị vào ra. 59

4.1 Các thiết bị giao diện và điều khiển vào/ra dữ liệu. 59

4.1.1 Ngắt và bộ điều khiển ngắt PIC 8259. 59

4.1.2 Truy nhập trực tiếp bộ nhớ và bộ điều khiển DMAC 8237 . 68

4.1.3 Vào-ra nối tiếp và thiết bị giao diện vào-ra nối tiếp UART 8250/16450 . 752

4.1.4 Thiết bị giao diện song song. 83

4.2. Các thiết bị ngoại vi. 86

4.2.1. Bàn phím . 86

4.2.2 Màn hình . 90

4.2.3 Đĩa từ . 93

pdf108 trang | Chia sẻ: hienduc166 | Lượt xem: 1198 | Lượt tải: 1download
Bạn đang xem trước 20 trang tài liệu Giáo trình Cấu trúc máy tính, để xem tài liệu hoàn chỉnh bạn click vào nút TẢI VỀ ở trên
 7C00h. Đó cũng là lý do vì 
sao byte đầu tiên của cung khởi động luôn chứa mã lệnh nhảy không điều kiện. 
Cung khởi động chứa các dữ liệu mà từ đó có thể tính ra được vị trí bắt đầu và kích thước 
(theo đơn vị cung) của các vùng thông tin trên volume. 
Bảng FAT (File Allocation Table) 
Hệ điều hành lưu trữ tệp trong vùng chứa tệp. Vùng chắ tệp nằm sau thư 
mục gốc và chiếm toàn bộ không gian còn lại của volume. Vùng chứa tệp được 
coi là tập hợp của các cluster. Cluster là tập hợp của một hoặc nhiều cung lion 
nhau. Cluster là đơn vị lưu trữ thông tin nhỏ nhất mà hệ điều hành dùng để lưu 
trữ tệp. Các cluster được đánh số thứ tự bắt đầu từ 2 và tăng dần đến hết volume. 
Bảng FAT nằm ngay sau cung khởi động. Mỗi volume thường có hai bảng FAT # 1 và # 2, 
nội dung hai bảng này giống hệt nhau. 
Bảng FAT được dùng để quản lý các cluster. Bảng FAT chứa các lối vào 
(entry). Kích thước của một lối vào có thể là 12, 16 hoặc 32 bit, tuỳ thuộc vào 
kích thước của volume và các tổ chức hệ tệp. Hai lối vào đầu tiên trong bảng 
FAT được dùng để chỉ ra các dạng tổ chức của đĩa. Số lượng các lối vào còn lại 
đúng bằng số lượng các cluster. Các lối vào này cũng được đánh số thứ tự bắt 
đầu từ 2 và tăng dần cho đến tận lối vào cuối cùng trong bảng FAT. Mỗi một lối 
vào, bắt đầu từ lối vào số 2, chứa một thông tin về trạng thái của cluster có số thứ 
tự tương ứng. 
Thông tin về trạng thái của cluster được thể hiện dưới dạng mã nhị phân như sau 
Bảng FAT đóng vai trò một bản đồ về trạng thái các cluster. 
Từ bảng FAT có thể tìm ra được một chuỗi danh sách các cluster thuộc một tệp nào đó, nhưng còn 
thiếu thông tin về cluster đầu tiên của tệp. Thông tin này gắn với một tệp cụ thể và nằm ở thư 
mục. 
Thư mục gốc: 
Mỗi volume có một thư mục gốc. Thư mục gốc nằm sau bảng FAT #2. Thư mục gốc 
chứa các lối vào thư mục (Directory Entry), mỗi lối vào thư mục có kích thước 32 byte. Thư mục 
gốc có kích thước hạn chế xác định trước. 
Lối vào thư mục chứa các thông tin (tên tệp, thuộc tính, kích thước v.v.) của 
103 
một tệp đang được lưu trữ trên volume và số thứ tự cluster đầu tiên của tệp đó. 
Lối vào thư mục có cấu trúc như sau : 
- Byte đầu tiên của phần tên tệp có thể chứa các thông tin đặc biệt sau : 
 00h : báo thư mục kết thúc ở đây. 
e5h : Tệp bị xoá 
2eh : Lối vào thư mục của thư mục hiện thời. Lối vào này chứa thông tin về vị trí và kích 
thước của chính thư mục đang chứa lối vào này. 
2eh 2eh : Lối vào thư mục mẹ của thư mục hiện thời. Lối vào này chứa thông tin về vị trí 
và kích thước của thư mục mẹ của thư mục đang chứa lối vào này. Nhờ thông tin này mà từ thư 
mục hiện thời ta có thể chuyển về thư mục mẹ. 
Trường thời gian được mã hoá như sau : 
Trường ngày được mã hóa như sau: 
- Trường thuộc tính tệp, khi bit được đặt bằng 1 thì mang thông tin như sau: 
 Cấu trúc của thư mục con giống như thư mục gốc. Thư mục con nằm ở vùng chứa tệp và 
thư mục con. Thư mục con được quản lý như một tệp thông thường và có kích thước không hạn 
chế. 
Vùng chứa tệp và thư mục con 
104 
vùng chứa tệp và thư mục con là toàn bộ vùng còn lại nằm sau thư mục gốc. Vùng nay 
được coi là tập hợp của các cluster. Các cluster được đánh số thứ tự bắt đầu từ 2 và tăng dần 
đến cluster cuối cùng trong volume. Trạng thái của các cluster được phản ánh bởi lối vào 
tương ứng trong bảng FAT. Các thư mục con nằm ở vùng này. thư mục con được quản lý như 
một tệp thông thường và có kích thước không hạn chế. 
Một tệp được lưu trữ trên một hoặc nhiều cluster khác nhau, tuỳ thuộc kích 
thước tệp. Các cluster chứa dư liệu của một tệp không nhất thiết phải liền kề 
nhau. 
Nếu volume chứa hệ thống khởi động hệ điều hành thì các cluster đầu tiên của vùng này 
được dành để chứa các tệp hệ thống của hệ điều hành. 
4.2.3.5 Mối quan hệ giữa thư mục, bảng FAT và cluster 
Mối quan hệ giữa bảng FAT và cluster đã được trình bày ở mục về bảng FAT. 
Mối quan hệ giữa thư mục, bảng FAT và cluster trong việc quản lý một tệp được minh họa 
qua ví dụ cụ thể sau: 
Giả sử có tệp tên MYFILE.DAT, tên tệp nằm tại thư mục gốc. Trong thư mục gốc ta có 
thể tìm thấy và đọc được một lối vào thư mục có nội dung sau: 
Các byte 00h - 0Ah: Mã ASCII của tên tệp MYFILE.DAT 
Byte 0B:20h - tệp lưu trữ 
Byte 1A-1Bh: (0)003h – Số thứ tự của cluster đầu tiên của tệp. Lối vào đầu tiên của tệp 
trên bảng FAT cũng là (0)003h. 
Byte 1Ch – 1Fh: Kích thước tệp 0542h≡1346 byte 
105 
Quá trình truy cập tệp ở mức thấp bắt đầu từ việc tìm kiếm thư mục chứa 
tên tệp. Trong thư mục sẽ tìm được lối vào thư mục có chứa tên tệp cần truy cập, 
ví dụ lối vào thư mục có chứa tên tệp MYFILE.DAT. Từ lối vào thư mục này tìm 
được địa chỉ (số thứ tự) cluster đầu tiên của tệp MYFILE.DAT, ví dụ (0)003h. 
Con số (0)003h cũng là số thứ tự đầu tiên của tệp này trong bảng FAT. Thao tác tiếp theo là tìm 
đến bảng FAT. Lối vào đầu tiên cần đọc là (0)003h. Lối vào (0)003h chứa con số (0)004h, 
con số này phản ánh hai thông tin : một là cluster số (0)003h đang chứa một phần của tệp, 
hai là cluster tiếp theo của tệp là (0)004h. Từ đây tiếp tục truy nhập và đọc lối vào số 
(0)004h v.v. Cho đến khi gặp lối vào chứa giá trị (F)FFFh thì dừng tìm kiếm. Ví dụ ở đây ta 
có danh sách các cluster chứa tệp là (0)003h, (0)004h, (0)005h. 
Tổng quát mà nói, từ lối vào vị trí I ta đọc được nôi dung J, nếu J thuộc khoảng giá trị 
(0)002h - (F)FFFh thì nó phản ánh hai thông tin : cluster thứ I đang chứa tệp và cluster thứ J 
là cluster tiếp theo của tệp. Quá trình tìm kiếm danh sách các cluster chứa tệp dừng khi gặp lối 
vào chứa giá tri (F)FFFh. Cluster tương ứng lối vào này là cluster cuố cùng của tệp. Trên thực 
tế không phải bao giơ cũng nhận được chuỗi danh sách các cluster liền kề nhau. 
Để truy nhập tệp trên đĩa cần phải chuyển danh sách các cluster chứa tệp thành danh sách 
các cung logic. Công thức chuyển đổi địa chỉ (số thứ tự) cluster thành địa chỉ (số thứ tự) cung 
logic như sau : 
Địa chỉ cung logic = (địa chỉ cluster - 2) *(số lượng cung trên một cluster) + địa chỉ 
cung logic đầu tiên của vùng dữ liệu. 
Quá trình truy nhập cung khởi động, bảng FAT và tệp có thể thực hiện nhờ các ngắt 25h và 
26h. Khi truy nhập tệp và đọc vào bộ nhớ cần lưu ý dữ liệu của tệp chỉ chứa một phần của 
cluster cuối cùng chứ không phải toàn bộ cluster này. Thông tin về kích thước tệp giúp xác định 
chính xác lượng dữ liệu thật của tệp trên cluster cuối cùng. 
106 
4.2.3.6 Bảng phân khu (ParTition table) 
Một ổ cứng vật lý có thể được phân chia thành nhiều phân khu (Partition) và từ mỗi phân 
khu tạo ra được một volume tách biệt. Việc tạo ra các phân khu cho phép ta có thể cài đặt 
nhiều hệ điều hành và hệ thống tệp riêng biệt trong cùng một ổ cứng vật lý. Các hệ thống 
tệp khác nhau (ví dụ như hệ tệp FAT, FAT32, NTFS v.v) sẽ sử dụng các phương pháp 
riêng để phân chia và quản lý không gian lưu trữ tệp. 
Mỗi ổ cứng phải có ít nhất một phân khu và có thể có tối đa 4 phân khu chính. Với hệ 
thống tệp FAT quá trình tạo phân khu có thể thực hiện bằng lệnh FDISK của hệ điều hành. 
Thông tin về cách phân chia ỏ đĩa cính thành các phân khu được chứa 
trong bảng phân khu. Hệ điều hành được sử dụng 1 vùng riêng và cố định trên ổ 
đĩa cứng để chứa bảng phân khu, đó là cung vật lý một trên rãnh 0 của mặt 0. 
Cung vật lý đầu tiên của ổ đĩa cứng ( mặt 0 rãnh 0, cung 1) không chứa cung me khởi động 
volume (Volume Boot Record) mà chứa cung khởi động chính (Master Boot Record – 
MBR). 
- Cung khởi động chính có cấu trúc như sau: 
Địa chỉ offset(hexadecimal) Nội dung 
000 Chương trình đọc cung khởi động 
1BE Bảng phân khu chính 
1FE Chữ ký AA55h 
Cung khởi động chính chứa chương trình đọc Bảng phân khu chính và cung khởi động. 
Chức năng của chương trình đọc cung khởi động là chuyển điều khiển hệ thống đến chương 
trình khởi động hệ điều hành, chương trình này nằm trong cung khởi động của phân khu 
khởi động. 
Bảng phân khu chính chứa các lối vào phân khu (Partition Entry). Bảng phân khu 
chính có ít nhất 1 lối vào phân khu và nhiều nhất 4 lối vào phân khu. Lối vào phân khu chứa 
thông tin về vị trí và kích thước của phân khu trong ổ đĩa cứng. 
Bảng phân khu chính có cấu trúc như sau: 
Mỗi một lối vào phân khu mang thông tin về phân khu tương ứng: vị trí (mặt, rãnh,cung) bắt đầu 
phân khu, vị trí (mặt, rãnh, cung) kết thúc phân khu, kích thước phân khu (tính theo đơn vị 
cung) 
Cấu trúc của một lối vào phân khu: 
Địa chỉ 
offset(hexadecimal) 
Nội dung 
Kích thước (byte) 
107 
00 Chỉ thị khởi động 1 
01 Địa chỉ đầu phân khu 3 
04 Chỉ thị hệ thống 1 
05 Địa chỉ cuối phân khu 3 
08 
Số lượng cung trước phân 
khu 
4 
0c 
Số lượng cung trong phân 
khu 
4 
Chỉ thị khởi động: 
80h: Phân khu khởi động (Khởi động hệ điều hành từ phân khu này) 
00h: Phân khu không tích cực 
Chỉ thị hệ thống: cho biết loại hệ thống tệp được sử dụng trong phân khu 
01h FAT 12 
06h,0Eh FAT16 
07h NTFS 
0Bh FAT32 
Khuôn dạng của trường địa chỉ đầu/địa chỉ cuối phân khu: 
Địa chỉ mặt là một số nhị phân 8 bit: H7-H0. Số mặt tối đa có thể là 256 
Địa chỉ cung là một số nhị phân 6 bit: S5-S0. Số cung tối đa có thể là 63 
Địa chỉ rãnh là một số nhị phân 10bit: C9-C0.Số rãnh tối đa có thể là 1024 
Nội dung một lối vào phân khu có thể như sau: 
Phân khu này là phân khu khởi động 
Địa chỉ đầu phân khu: Mặt 1, rãnh 0, cung vật lý 1 
Địa chỉ cuối phân khu: Mặt 4, rãnh 964, cung vật lý 34 
Kích thước phân khu: 023290h = 164016 cung 
Tại mỗi phân khu có thể thực hiện định dạng (mức cao) để tạo volume và cài đặt hệ điều hành trên 
các volume đó. 
108 
Tài liệu tham khảo : 
[1] Vũ Chấn Hưng, Giáo trình kiến trúc máy tính, nhà xuất bản giao thông vận tải, 2004 
[2] Nguyễn Nam Trung,Cấu trúc máy vi tính và thiết bị ngoại vi.Nhà xuất bản Khoa học kỹ 
thuật. 2000. 
[3] Nguyễn Trung Đồng- Bui Hoa, Giáo trình kỹ thuật vi xử lý, Khoa CNTT 
[4] Daniel Tabak, Advanced Microprocessors. McGraw-Hill, Inc. 1995. 
[5] William Stalling, Computer Architecture. 

File đính kèm:

  • pdfKiến trúc máy tính.pdf