83 3.4 Các bước thực hiện để đưa 1 ổ đĩa cứng vào hoạt động - Sử dụng các - Format cấp thấp đĩa cứng Low format - Phân chia 1 ổ đĩa cứng thành các ổ đĩa logic fdisk - Format cấp cao đĩa
Trang 1Chức năng nhiệm vụ, cấu tạo các bộ phận máy tính
Trang 1.1 Sơ đồ tổng quát của hệ vi xử lý 3 1.2 Kiến trúc máy tính hiện đại ngày nay 5
− Các kiểu mainboard: Bo AT và bo ATX
− Chức năng, nhiệm vụ các đầu nối trên mainboard ATX
− Các loại bus mở rộng: ISA, EISA, PCI, PCI-X
− Một số chuẩn giao tiếp trong các máy tính hiện nay: IDE, EIDE, SCSI, USB
− Cấu tạo của đĩa từ 1.44MB
− Cách thức ghi, đọc của đĩa
− Cấu tạo ổ đọc đĩa từ
Trang 21.11 Các loại card ghép nối trên mainboard 51
2.3 Chống xâm nhập trái phép : 79 + Quản lý các xâm nhập hệ thống bất hợp pháp - Các biện pháp thực hiện
+ Cất dấu công cụ, hạnc chế khả năng tác động tới hệ thống của công cụ
Chương 3 Cài đặt chương trình
3.1 Bản chất của quá trình cài đặt chương trình 82
3.3 Vi rut máy tính -Cách phòng và chống 83 3.4 Các bước thực hiện để đưa 1 ổ đĩa cứng vào hoạt động - Sử dụng các
- Format cấp thấp đĩa cứng (Low format)
- Phân chia 1 ổ đĩa cứng thành các ổ đĩa logic (fdisk )
- Format cấp cao đĩa cứng (high format)
ư Yêu cầu cấu hình phần cứng cài đặt windows98
- Các cách ghép nối để lấy chương trình: Ghép 2 ổ cứng, ghép qua dây Link
- Quá trình cài đặt-Cài đặt các thiết bị ngoại vi: card âm thanh, modem
- Cài đặt máy in Xử lý các rắc rối về in ấn 3.6 Cài đặt modem sử dụng Intrnet 91
Trang 3Chương 4 Tổng thành và nâng cấp máy tính
4 ựa chọn các bộ phận để tổng thành lắp ráp 1 máy PC: Mainboard, RAM,
card màn hình, card sound, I/O, ổ cứng , CD M 92 4.2 Các nguyên tắc phối hợp mainboard – chip 95 Nâng cấp : Thay M
Trang 4Chương 1 Chức năng nhiệm vụ, cấu tạo các bộ phận máy tính
khác để tạo nên hệ vi xử lý
Sơ đồ dưới đây là sơ đồ tổng quát của cá
các hệ nhỏ và ccá t hế ầ
CPU: Bộ não của máy tính gồm các mạch vi điện tử có
hàng triệu tranzito trong 1 chip) Nó gồm có các phần:
CU: Control Unit Khối điều khiển có chức năng: đọc mã lệnh dưới dạng tập hợp các bit 0/1 từ các ô nhớ trong bộ nhớ Giải mã các lệnh thành dãy các xung điều khiển để điều khi
ALU, điều khiển ra ngoài àPC
ALU: Arithmetic Logic Unit Khối tính toán số học và logic: Tổ hợp các mchj logic điện tử phức tạp cho phép
ghi như +, -, *, /, AND, O
+ Registers: Các thanh ghi
Một CPU có thể có nhiều thanh ghi:
Thanh ghi con trỏ lệnh IP (bộ đếm chương trình) chứa địa chỉ của lệnh sắp thực hiện: Các chương trình máy tính là tập hợp của các lệnh CPU sẽ lấy từng lệnh ra để chạy Để đ
Trang 5ư ROM: Chứa các chương trình và số liệu cố định, không bị mất khi ngắt điện Chương trình khởi động máy tính, các chương trình vào ra cơ sở được chứa trong ROM
ư RAM: Khi ngắt điện nguồn nuôi sẽ bị mất nội dung lưu trữ RAM lưu giữ một phần chương trình hệ thống, một số số liệu của hệ thống, các chương trình ứng dụng, các kết quả trung gian của quá trình tính toán, xử lý
• Thiết bị vào/ra(I/O): Đây là khối tạo khả năng giao tiếp giữa hệ vi xử lý và bên ngoài Do đặc điểm của các thiết bị ngoài và hệ trung tâm hoạt động có
sự khác nhau về tốc độ làm việc, mức vật lý, phương thức nên cần có bộ phối ghép đệm, đảm bảo cho các khối thiết bị ngoài giao tiếp được với hệ trung tâm Bộ ghép giữa bus hệ thống và thiết bị ngoài gọi là cổng Mỗi cổng có một địa chỉ xác định
• Hệ thống bus: Là tập hợp các đường dây dẫn ghép nối các chân địa chỉ, dữ liệu, các chân tín hiệu điều khiển của 3 khối đã nêu trên
ư Abus: Nối các đường dây địa chỉ của CPU với 2 khối M và I/O Khả năng phân biệt địa chỉ của CPU phụ thuộc số chân địa chỉ của nó Số này có thể là
16, 20, 24, 36 chân Chỉ có CPU mới có khả năng phát ra tín hiệu địa chỉ
ư Dbus: Dùng để vận chuyển dữ liệu Độ rộng của nó 8, 16, 32, 64 bit Dbus có tính 2 chiều Các phần tử có đầu ra nối thẳng với bus dữ liệu đều phải được trang bị đầu ra 3 trạng thái để có thể làm việc bình thường với bus này
ư Cbus: Gồm nhiều đường dây tín hiệu khác nhau Mỗi tín hiệu có 1 chiều xác
định Các tín hiệu trên Cbus bao gồm các tín hiệu điều khiển từ CPU như đ/K
đọc viết, tín hiệu trạng thái từ bộ nhớ, thiết bị ngoại vi báo cho CPU như INTR, HOLD
• Hoạt động của hệ: Chương trình và dữ liệu được chứa trong bộ nhớ ngoài
được đưa vào bộ nhớ trong (RAM) Sau đó được CPU lấy dần ra để xử lý CPU thực hiện:
+ Lấy lệnh
+ Giải mã lệnh
+ điều khiển thực hiện lệnh
Trong quá trình thực hiện nếu có tác động ngắt hoặc yêu cầu DMA CPU sẽ đáp ứng các yêu cầu này sau đó lại quay trở laị chu trình hoạt động chính
Trang 61.5 Kiến trúc máy tính hiện đại ngày nay
Intel
82845
Intel ICH2
ITE 8702
Game port Floppy LPT port
SDRAM
Pentium 4 socket478
ư Kiến trúc các máy tính PC hiện đại ngày nay gồm các thành phần được nối với nhau qua các chipset như trên
ư Chipset cầu bắc nối các thành phần có tốc độ làm việc cao như card đồ hoạ AGP, SDRAM, CPU
ư Chipset cầu nam nối các thành phần có tốc độ tương đối cao như các thiết bị nối vào khe cắm PCI, USB, đĩa cứng ATA
ư Chipset phụ nối chipset cầu nam với các thiết bị có tốc độ chậm hơn như: bàn phím, đĩa mềm, cổng máy in song song, cổng truyền tin nối tiếp
ư Kiến trúc này cho phép toàn bộ hệ thống phát huy hết năng lực hoạt động của mình mà không ảnh hưởng đến nhau do tốc độ làm việc khác nhau
Trang 71.6 Mainboard máy tính
• Các kiểu mainboard:
ư Kiểu AT:
+ Là kiểu bo mạch nhìn hình dáng bên ngoài có dạng hình chữ nhật nằm ngang
+ Tốc độ bus đến 83MHz, 100MHz
+ Hệ số nhân đến 5,5
+ Khe cắm chíp: Slot7, Slot 370
+ Mainboard AT cũng có loại tích hợp(on board) nhiều thiết bị ngoại vi: Sound card, modem, card màn hình
+ Có đầu cắm nguồn cho cả bộ nguồn ATX
+ Tốc độ bus đến 133MHz, có khe cắm AGP
+ Khe cắm chíp Slot1 hoặc Socket370, Slot A, Socket 485
+ Nhiều thiết bị ngoại vi được tích hợp onboard
+ Tốc độ CPU có thể vẫn sử dụng bằng các jumper hoặc phần mềm
+ Rãnh PCI và ISA nằm thấp xuống dưới và xa CPU để dễ gắn card giao tiếp nhất là những loại có chiều dài bất thường như sound card, card video, card TV, card giải mã hình và âm thanh cho DVD, mà không bị vướng mắc (Các mainboard hiện nay không còn khe cắm ISA nữa)
+ Chức năng kiểm soát giao tiếp có sẵn (built-in inteface):
ư Chức năng điều khiển ổ đĩa mềm ( ở bo nào cũng có)
ư Chức năng điều khiển EIDE
ư Chức năng điều khiển SCSI Những bo mạch có sẵn chức năng SCSI thường
là SCSI3
ư Một cổng vào chỉ dùng được cho chuột PS/2
ư Một cổng vào cho bàn phím PS/2
Trang 8ư Hai hoặc 4 cổng USB (Universal Serial Bus = Cổng nối tiếp đa năng) Loại cổng này trong tương lai sẽ thay thế các cổng nối tiếp, song song, bàn phím, chuột và những thiết bị mới khác
ư Một cổng ra song song dùng cho máy in và các thiết bị khác
ư Hai cổng ra nối tiếp COM1 và COM 2( Một số bo mạch chỉ có 1 cổng
COM1)
• Chức năng, nhiệm vụ các đầu nối trên mainboard ATX
Hình vẽ
ư Đầu cắm USB
ư Đầu cắm chuột, bàn phím PS/2 ( phân biệt màu)
ư Cổng máy in song song
ư Cổng truyền tin nối tiếp COM1, COM2
ư Đầu nối màn hình
ư Cổng trò chơi
ư Các đầu nối card âm thanh
ư Các đầu nối tín hiệu PLED, HLED, SWPower, speaker
• Các loại bus mở rộng: ISA, EISA, PCI, PCI-X
ư Khe cắm ISA và EISA
ư Khe cắm PCI và PCI - X
• Một số chuẩn giao tiếp trong các máy tính hiện nay: IDE, EIDE, SCSI, USB
ư Đầu nối chuẩn giao tiếp EIDE
ư Đầu nối đầu đọc đĩa mềm
ư Đầu nối USB
1.5 Bộ vi xử lý
• Cấu trúc bên trong Bộ xử lý trung tâm CPU
Trang 9Gồm có:
- Bộ điều khiển CU (Control Unit)
- Bộ tính toán số học và logic ALU( Arithmetic and Logic Unit)
- Các thanh ghi Registers
Quan hệ hoạt động của chúng nh− sau
Giải mã lệnh tạo xung điều khiển
• Bộ điều khiển CU Chức năng:
- Tìm các lệnh và thông số của lệnh phải thực hiện trong bộ nhớ
- Giải mã lệnh nhận đ−ợc
- Tuỳ theo lệnh đã giải mã tạo ra các trình tự khác nhau các xung điều khiển
để đ−a đến khối thao tác( ALU) do mỗi lệnh có trình tự xung điều khiển khác nhau hoặc đ−a ra ngoài
Lệnh
CU
Giải mã lệnh, tao xung điều khiển cố định
CU gồm có:
+ Thanh ghi lệnh ( Chứa lệnh đọc đ−ợc từ bộ nhớ)
Trang 10+ Con trỏ lệnh PC( Bộ đếm lệnh) trỏ vào lệnh sắp thực hiện
Xung điều khiển từ ngoại vi
Điều khiển ra ngoài CPU
Điều khiển trong CPU
Bộ tạo xung điều khiển có nhiệm vụ tạo ra các xung điều khiển để nạp chiều dịch phải, trái và các xung điều khiển khác nhau cho ALU cần thiết để thực hiện lệnh Bộ tạo xung còn nhận các xung tác động từ bên ngoài, có thể đ−a
ra các tín hiệu STATUS Tập các xung điều khiển hoạt động theo nhịp xung
Trang 11Khối ALU chịu trách nhiệm thực hiện các phép tính số học và logic đối
với các toán hạng dưới sự điều khiển của CU ALU là 1 tổ hợp mạch logic phức tạp cho phép thực hiện các thao tác trên các thanh ghi Ví dụ ( +, -, *, /, AND,
OR, NOT, Phép ↑↓, dịch phải, dịch trái, quay
Các phép tính số học trong máy tính (+, -, *, /) đều được qui về phép tính cộng theo 1 cách nào đó Phép tính cộng là phép tính cơ bản nhất của máy tính
Quan hệ ALU + REG
ALU
Thanh ghi đa năng
Thanh ghi
đệm
Thanh ghi đa năng
• Các thanh ghi:
Thanh ghi gồm những phần tử nhớ (bit nhớ) liên hệ với nhau 1 cách hợp
lý, có thể lưu giữ được 1 trong 2 trạng thái thông tin ( 0 hoặc 1) Thanh ghi thực chất là 1 bộ nhớ được cấy ngay trong CPU Vì tốc độ truy cập các thanh ghi
nhanh hơn là với bộ nhớ chính RAM nên nó được dùng để lưu trữ các dữ liệu
tạm thời cho các quá trình tính toán, xử lý của CPU CPU 8086 có 14 thanh ghi
Các CPU Pentium III, IV ngày nay có số thanh ghi nhiều hơn 14; nhưng
các thanh ghi cơ sở của chúng vẫn tương thích với 14 thanh ghi này do tính kế thừa
Do có 20 chân địa chỉ nên số ô nhớ mà 8086 quản lý được là 220 =
1024.210 bytes = 1MB Nhưng thanh ghi trong 8086 chỉ có độ dài 16 bit như vậy chỉ lưu giữ được 216 trạng thái địa chỉ hay 64 KB Muốn lưu giữ được 220 địa chỉ
ô nhớ cần phải sử dụng 2 thanh ghi theo cơ chế segment:offset ( Thanh ghi
đoạn: Thanh ghi lệch)
Địa chỉ vật lý = Thanh ghi đoạn * 16 + Thanh ghi lệch
Trang 12CS:IP ~ F000h * 16 + FFF0h = F0000h + FFF0h = FFFF0h
CS : thanh ghi đoạn mã IP: thanh ghi con trỏ lệnh
Tương tự với các thanh ghi dữ liệu :
DS: Thanh ghi đoạn dữ liệu Các thanh ghi offset có thể là DI, SI, BX
Bảng vector ngắtdữ liệu của DOS và BIOSHai file ẩn của DOS
Vùng dành cho các chương trình ứng dụng
BIOS
RAM màn hình
00000 (0000)0000:
Một chương trình khi nạp vào trong bộ nhớ nằm ở 4 vùng(đoạn):
- Vùng chứa mã chương trình (Code segment)
- Vùng chứa dữ liệu và kết quả trung gian của chương trình (Data
segment)
- Vùng ngăn xếp (stack) để quản lý các thông số của bộ vi xử lý khi gọi chương trình con hoặc trở về từ chương trình con.(Stack segment)
- Vùng dữ liệu phụ (Extra segment)
Các thanh ghi đoạn 16 bit chỉ ra địa chỉ đầu (segment) của 4 đoạn trong bộ nhớ
- CS: Code Segment
Trang 13- DS: Data Segment
- SS: Stack Segment
- ES: extra Segment
Nội dung các thanh ghi đoạn xác định địa chỉ của ô nhớ nằm ở đầu đoạn(địa chỉ cơ sở) Địa chỉ của các ô nhớ khác nằm trong đoạn tính được bằng cách cộng thêm vào địa chỉ cơ sở 1 giá trị gọi là địa chỉ lệch (ofset)
Các thanh ghi của họ 80x86 như sau:
Thanh ghi con trỏ lệnh IP kết hợp CS chỉ ra địa chỉ lệnh sắp thực hiện Các thanh ghi dữ liệu: AX, BX, CX, DX
Các thanh ghi con trỏ,chỉ số: SP, BP, SI, DI
Các thanh ghi đoạn :CS, DS, SS, ES
Các thanh ghi có độ dài 16 bit gồm 8 bit phần thấp và 8 bit phần cao VD: AX gồm AH và AL, BX gồm BH và BL
Thanh ghi cờ
Để xem các thanh ghi hoạt động ra sao ta có thể dùng chương trình debug với lệnh T( Chạy từng bước) và lệnh R(xem các thanh ghi)
Trang 14Dung l−ợng các thanh ghi trong 1 số vi xử lý hiện đại: Từ máy 386 các thanh ghi đa năng và thanh ghi cờ có độ lớn gấp đôi (32 bit) Các thanh ghi đoạn (4 thanh ghi) độ lớn vẫn là 16 bit
• Bộ nhớ ẩn trong vi xử lý
Cơ chế bộ nhớ ẩn đã làm cho các CPU hoạt động nhanh hơn ,hiệu quả hơn, chính vì vậy các CPU hiện đại ngày nay đều có bộ nhớ ẩn (Cache) Dung l−ợng của bộ nhớ ẩn cũng ngày càng lớn hơn
SRAM DRAM Băng, đĩa từ
CPU Cache Bộ nhớ Bộ nhớ
chính ngoài
Khi CPU làm việc với 1 đối t−ợng, thông tin (dữ liệu, lệnh) của đối t−ợng
và các thông tin lân cận sẽ đ−ợc đ−a vào Cache Khi CPU xử lý nó sẽ tìm thông tin ở Cache Nếu không có nó sẽ tìm ở bộ nhớ chính, khi copy thông tin vào Cache nó sẽ copy luôn cả các thông tin lân cận vào Cache Nếu thông tin
không có ở bộ nhớ chính thì nó sẽ tìm ở bộ nhớ phụ và khi copy nó cũng sẽ copy luôn cả các thông tin lân cận vào bộ nhớ chính để dự phòng cho các lần tiếp theo của CPU
Ta có thể so sánh cơ chế này với mô hình m−ợn sách từ th− viện nh− sau:
Trang 15ra để lên bàn trước mặt cũng theo nguyên tắc đó (Tất nhiên số sách bây giờ ít hơn, việc tìm kiếm càng nhanh hơn)
b-Bộ nhớ ẩn được đưa vào trong vi xử lý :
DRAM Băng, đĩa từ
CPU Cache Bộ nhớ Bộ nhớ
chính ngoài Registers
c-Bộ nhớ ẩn được chia làm 2 (Cache1 và Cach2 ):
DRAM Băng,đĩa từ
Cache1 Cache2 Bộ nhớ Bộ nhớ
chính ngoài CPU
Registers
• Một số cải tiến mới nhất trong kỹ thuật vi xử lý của 1 số hãng sản xuất
ư Hạ thấp điện áp nuôi chip vi xử lý:
Các bộ vỉ xử lý thế hệ hiện nay đều dùng công nghệ CMOS(Công nghệ đơn cực sử dụng các cặp MOSFET kênh n và kênh p ở chế độ tải tích cực) với kích thước đặc trưng 0,35 micron (xấp xỉ kích thước của mỗi tranzixtor và các đường dẫn kim loại nối chúng) Các phiên bản sau của chúng sẽ rút xuống kích thước 0.25 micron
Khi giảm nhỏ kích thước thì công suất điện tiêu thụ( nhiệt lượng toả ra ) trên mỗi đơn vị diện tích tăng lên theo quy luật bình phương May mắn thay 1 đặc tính khác của công nghệ CMOS đã cứu nguy cho vấn đề này: điện áp và công suất tiêu thụ của tranzistor cũng quan hệ với nhau theo quy luật bình phương
Điều này có nghĩa là sự giảm nhỏ điện áp cung cấp sẽ bù lại việc tăng công suất tiêu thụ Hạ điện áp hoạt động từ 5V xuống 2V sẽ tiết kiệm công suất 6 lần (25/4); hạ xuống 1V sẽ giảm nhỏ sự tiêu hao công suất 25 lần(25/1) Đó chính là
lý do tại sao các nhà thiết kế chip hạ thấp điện áp nuôi từ 5V xuống 3,3V rồi
2,8V - 2,5V và ngày nay là 1,8V - 1,75V
Trang 16• Vấn đề “dùng đồng thay cho nhôm “ :
Cùng thời gian(9/1997) khi mà Intel công bố bộ nhớ tế bào đa áp (Chúng ta sẽ khảo sát chúng ở phần sau “Bộ nhớ máy tính”) thì IBM đã công bố quy trình chế tạo mới dùng đồng để tạo ra chip CPU Họ đã giải quyết được các bế tắc trong việc mạ kim loại đồng cho quá trình CMOS 7S mới của họ Trước đây các chip thường được dùng nhôm làm các mối dẫn Nhưng khi thu nhỏ kích thước dưới 0,35micron điện trở của nhôm gây cản trở tốc độ - sự chuyển mạch tức thời không thể thực hiện trên đường tốc độ thấp Đồng có điện trở thấp hơn, rõ ràng
là vậy; nhưng đồng thường gây nhiễm bẩn silic và vì thế sẽ làm hỏng các
tranzistor của chip IBM giải quyết vấn đề nhiễm bẩn bằng cách tách biệt mạch
đồng với silic sau đó bọc mạch đồng lại Quá trình thực hiện tích hợp 6 lớp đồng kích thước 0,2 micron để gắn vào silic
So sánh kích thước giữa các đường dẫn trong các loại chip sử dụng đồng và nhôm
386 : 1,5micron PentiumII : 0,35micron IBM copper : 0,18micron (dùng nhôm) (dùng nhôm) (dùng đồng)
1.15 Bộ nhớ máy tính
• Vai trò của bộ nhớ với hoạt động của máy tính
Chức năng: Chương trình và dữ liệu được nạp vào bộ nhớ trước khi thực hiện
- Bộ nhớ do các IC nhớ tạo thành Mỗi IC có 1 dung lượng nhớ nhất định Tổng dung lượng nhớ của các IC nhớ là dung lượng bộ nhớ
- Nếu dung lượng bộ nhớ nhỏ, chương trình ứng dụng lớn sẽ không chạy được
Ví dụ : Windows 3.11 cần tối thiểu 4 MB bộ nhớ
Windows 98 cần tối thiểu 16MB bộ nhớ
Windows 2000 cần tối thiểu 32MB bộ nhớ
Trang 17+ Giá thành , kích thước
• Khả năng quản lý bộ nhớ của 1 bộ vi xử lý
8086 có 20 bit địa chỉ → có khả năng phân biệt 220 ô nhớ = 1MB
8386 có 32 bit địa chỉ → có khả năng phân biệt 232 ô nhớ = 4GB
8486 có 32 bit địa chỉ → có khả năng phân biệt 232 ô nhớ = 4GB
Pentium có 32 bit địa chỉ → có khả năng phân biệt 232 ô nhớ = 4GB
Pentium Pro150 có 36 bit địa chỉ → có khả năng phân biệt 236 ô nhớ = 64GB
Pentium Pro 200 có 36 bit địa chỉ → có khả năng phân biệt 236 ô nhớ
=64GB
ư Trên các mainboard hiện nay thường nhà sản xuất cũng chỉ làm các khe cắm
bộ nhớ đến 1GB do yêu câù về bộ nhớ của các phần mềm thông dụng cũng chưa đến mức này
• Bộ nhớ RAM: hai loại khối nhớ SIMM, DIMM
Hai loại RAM
ư Hai loại modun nhớ RAM:
• SIMM (Single Inline Memory Modules ): Môdul nhớ 1 hàng chân
Có loại 30 chân : Dùng cho các loại máy cũ như máy 386
Có loại 72 chân : Dùng cho các loại máy mới như máy 486, Pentium I
Trên các mainboard Pentium khi lắp SIMM ta phải lắp theo từng cặp; chẳng hạn không thể lắp 1 thanh 8MB mà phải lắp 2 thanh 4MB để có 8MB
ư Các modul SIMM hiện nay không còn được sử dụng nữa
Trang 18• DIMM (Dual Inline Memory Modules ): Môdul nhớ 2 hàng chân
Dùng cho các loại máy 486, Pentium, các loại đời mới hiện nay
- Hiện nay PC-133(VCSDRAM bus 133MHz)
Để biết thanh DIMM thuộc loại nào ta có thể xem trên nhãn:
Chẳng hạn: KVR100x64C2/64(Bus 100 64MB)
KVR66x64/32 (Bus 66 32MB) KVR133x64C3/128(Bus133 128MB)
- Ký hiệu của 1 IC nhớ :
WWW XX YYYY ZZ
Mã sản phẩm Kiểu bộ nhớ Dung lượng Tốc độ truy nhập
EPROM : 27 Kilôbit nanô giây SRAM : 62,7C
DRAM : 41,51
Ví dụ : 7C1024 - 15
là SRAM ,128KB , tốc độ truy nhập 15 nanô giây
Ta thấy 1 IC nhớ có dung lượng 128KB vậy
muốn có 512KB phải cần 4 IC ghép với nhau
muốn có 1MB phải cần 8 IC ghép với nhau
Các loại RAM mới được sử dụng trong thời gian gần đây:
Hiện nay trong các lý lịch kỹ thuật máy , trong các bài khảo cứu chuyên
ngành máy tính thường có nhắc đến 1 số các danh từ về RAM Đây là các vấn đề mới cần cập nhật:
ư EDORAM : (extended data output-ngõ ra dữ liệu mở rộng) được thiết kế
để kéo dài thời gian dữ liệu tác dụng trong RAM làm tăng hiệu suất truy
nhập khi sử dụng
Trang 19ư VRAM (Video Random Access Memory): Bộ nhhớ truy nhập ngẫu nhiên video và cùng họ với nó :WRAM (Windows RAM)cho độ rộng dải hơn Thuộc loại bộ nhớ 2 cổng (Dual - ported memory) Đây là bộ nhớ RAM
có cổng trước, cổng sau Dữ liệu có thể đi vào cửa trước rồi đi ra trực tiếp cửa sau nên có tốc độ cao hơn (dữ liệu có thể được đọc ghi đồng thời)
ư EDOVRAM : Là dạng tốc độ nhanh của VRAM
ư EDODRAM :
ư SDRAM (Synchronous DRAW = DRAW đồng bộ ): DRAW là 1 loại RAM gia tốc cho Windows :
ư SGRAM ( Synchronous Graphics RAM = RAM đồ hoạ đồng bộ )
ư EDRAM (Enhanced DRAW = DRAW cải tiến )
ư RAMDAC: Đây là loại chuyển đổi Digital - Analog dùng RAM
Có thể tham khảo www.rambus.com hay www.ami2.org
Trong tương lai ; cũng như với các chip vi xử lý, danh sách này sẽ còn kéo dài nữa
• Bộ nhớ ROM
ư Là bộ nhớ vẫn giữ được thông tin sau khi cắt điện nuôi vi mạch
ư Dung lượng của IC nhớ loại này thường nhỏ Chương trình được nạp vào trong ROM bằng thiết bị chuyên dùng Một thiết bị nạp, xoá ROM mức trung bình có giá khoảng hơn 200$(1-2005) Một vi mạch ROM trắng(Loại EPROM: ghi được nhiều lần) dung lượng 512KB có giá khoảng 3$ (1-2005)
ư Bộ nhớ PROM (Programable Read Only Memory): Ghi được 1 lần
ư Bộ nhớ EPROM(Erasable Programable ROM) : Ghi được nhiều lần
ư Bộ nhớ EEPROM : Ghi được nhiều lần, khi xoá không cần dùng tia cực tím
ư Bộ nhớ Flash ROM : Có cấu trúc cơ bản giống như EEPROM, chỉ có lớp kênh ô-xyt ở các ô nhớ mỏng hơn Là loại ROM có thể thay đổi được nội dung trực tiếp từ máy tính mà không cần có thiết bị ghi đặc biệt nào và cũng không cần xoá bằng tia cực tím Hầu hết các mainboard đời mới đều dùng Flash ROM để chứa BIOS, nhờ đó giúp người dùng cập nhật version mới
được dễ dàng Tuỳ theo hãng nào sản xuất, Flash ROM dùng 1 trong 2 mức
điện áp làm việc là +5V hay +12V Ta chỉ cần có phần mềm ghi Flash ROM (Của hãng tạo ra BIOS như Award, AMI )rồi dùng nó để cập nhật ROM BIOS Chương trình này chỉ được sử dụng khi thật cần thiết
ư Ký hiệu của vi mạch :
Trang 20Dòng ROM có ký hiệu 27(x)xxx: Đây là ROM thường ( Chỉ ghi 1 lần ) hoặc
EPROM (Có thể xoá, ghi lại - xoá bằng tia cực tím, ghi bằng điện )
27xxx ; 3 số sau chỉ dung lượng của ROM (KB)
2708(1KB x 8) : 8KB
27256(32kB x 8) ;256KB
27512(64kB x 8): 512KB
Dòng ROM có ký hiệu 28(x)xxx: Đây là ROM điện, có thể nạp, xoá nhiều
lần Việc nạp và xoá thực hiện bằng điện Giá thành của 1 EEPROM đắt gấp 2 lần 1 EPROM cùng dung lượng nhớ
• Bộ nhớ tế bào đa áp
Từ tháng 9 năm 1997 Intel đã công bố bộ nhớ StrataFlash đây là loại bộ nhớ
đặc biệt dạng tế bào đa áp (multilevel-cell) có khả năng lưu giữ nội dung ngay cả khi tắt thiết bị Thay vì phải xác định 1 hay 2 mức điện áp khả dĩ cho tế bào nhớ StrataFlash sẽ gán 1 trong 4 mức điện áp Các tế bào StrataFlash sẽ có 4 mức điện áp: 2 cho trạng thái mở và 2 cho trạng thái tắt Nhờ vậy mỗi tế bào có thể lưu dữ liệu gấp 2 lần loại chip nhớ flash thông thường ( Loại ROM có thể ghi xoá bằng máy tính không cần thiết bị đặc biệt) Loại này được sử dụng rộng rãi trong các máy ảnh số, máy tính cầm tay, điện thoại di động, các máy trả lời
tự động Tuy nhiên hiện nay tuổi thọ của loại này còn tương đối thấp: Số chu
kỳ xoá là 10.000 lần so với 100.000 lần của các loại chip Flash thông thường Với 1 máy ảnh số 10.000 chu kỳ xoá đủ để chụp 240.000 pô hình trên máy ảnh (Tương đương khoảng 6500 cuộn phim thông thường ) Tương lai của loại bộ nhớ này rất sáng sủa
1.16 Đĩa mềm và ổ đĩa mềm
Mỏy tính làm việc dựa trên sự hoạt động của các chương trình chứa trong
bộ nhớ Người ta chia bộ nhớ làm 2 loại :
+Bộ nhớ trong
Trang 21+Bộ nhớ ngoài
Đĩa mềm là 1 dạng bộ nhớ ngoài
ư Điểm lại sự phát triển của bộ nhớ ngoài:
Bắt đầu là các loại băng đục lỗ, bìa đục lỗ → xuyến từ → ổ đĩa mềm → ổ đĩa cứng → ổ zip → ổ CD ROM → DVD ROM → DVD RW, ổ Flash
ư Vậy đĩa mềm dã đến ngày tận số ? Việc nghiên cứu đĩa mềm có còn ý nghĩa nữa không ? Việc sử dụng đĩa mềm ngày nay đã hạn chế do xuất hiện nhiều thiết bị lưu trữ có dung lượng lớn hơn và sử dụng tiện lợi hơn Tuy vậy người
ta vẫn chưa bỏ hẳn đĩa mềm vì dùng nó để lưu trữ, vận chuyển các lượng thông tin nhỏ vẫn tiện lợi, giá thành rẻ Việc nghiên cứu hoạt động của đĩa mềm và ổ đĩa mềm vẫn rất có ý nghĩa để tạo tiền đề cho việc tiếp thu kiến thức về hoạt động của các loại đĩa khác
Xin trích dẫn đoạn văn sau từ tạp chí US-PCWold :
“ Những báo cáo về sự lụi tàn của đĩa mềm đã cường
điệu quá mức.Hàng năm, khi các nhà sản xuất cho ra
đời những phương tiện lưu trữ mới với dung lượng lớn, người ta lại viết hàng loạt bài cáo phó Nhưng rồi chiếc đĩa mềm 3,5 inch đáng kính vẫn cứ tồn tại , giống như 1 con mèo già lắm mưu nhiều mẹo sống dai hơn người ta tưởng ”
(Tuy nhiờn từ khi cỏc thiết bị lưu trữ Flash ROM ghộp với PC qua giao diện USB-mà người sử dụng vẫn quen gọi là cỏc ổ USB-ra đời thỡ xem chừng ngày tận số của đĩa mềm đó điểm ! - TG)
• Nguyên lý ghi_đọc từ:
Gồm 2 thành phần chính :
ư Đầu từ: Là 1 lõi ferit hình xuyến, có khe từ Trên lõi có quấn cuộn dây điện
từ Các đầu ra của cuộn dây nối vào mạch thu_phát thông tin
Lớp bảo vệ
Lớp bột từ Lõi ferit
Lõi nhựa
Trang 22ư Đĩa từ : Là đĩa nhựa dẻo, trên bề mặt có phủ 1 lớp bột từ có đặc tính lưu giữ
từ
• Hoạt động :
ư Ghi : Thông tin cần ghi vào đĩa ở dạng 0-1 được biến đổi thành tín hiệu
điện (Ví dụ theo chuẩn TTL : 0 : 0 +0,8 Volt
1 : +2,8 +5Volt) Các tín hiệu điện 0-1 này chạy trên cuộn dây đầu từ sẽ tạo ra từ trường tỉ lệ với 0-1 Trong khi đĩa từ quay và
ở các vị trí khác nhau của đĩa sẽ được lưu giữ các phần
đĩa nhiễm từ tỉ lệ với 0-1 khác nhau
ư Đọc: Ngược với quá trình ghi
• Cấu tạo của đĩa từ 1.44MB
Là đĩa bằng nhựa dẻo ,ở giữa gắn 1 đĩa nhỏ hơn bằng sắt có khoét lỗ để trục motơ kéo đĩa chuyển động (quay)
- Kích thước đĩa : 31/2 “
- Đĩa được đặt trong 1 hộp nhựa vuông mỏng
a- Tổ chức vật lý :
Một đĩa mềm được chia thành các đơn vị vật lý:
- Rãnh từ (Track): Là các vùng vành khuyên đồng tâm mà dữ liệu được ghi trên
đó Với đĩa 1.44MB có 80 Track từ ngoài vào trong
- Cung từ (Sector): Mỗi Track được chia làm nhiều cung từ (Sector)
Số Sector/ 1 Track tuỳ theo cách định dạng đĩa (format)
Cùng 1 đĩa 31/2 “ nếu format 1,44 MB có 18 Sector
nếu format 1,66 MB có 20 Sector nếu format 2,88 MB có 36 Sector b- Tổ chức thông tin :
- Khaí niệm về tệp thông tin(File):
File là 1 tập hợp dữ liệu có liên quan với nhau và có cùng kiểu được nhóm lại với nhau tạo thành 1 dãy được chứa trong thiết bị nhớ ngoài
Trang 23Các file có độ lớn khác nhau giống ngăn kéo đựng số bìa
khác nhau ; tức cần nhiều it sector khác nhau
- Tổ chức lưu giữ thông tin : Phục vụ cho việc quản lý, truy nhập file ( viết vào, lấy ra) nhanh chóng, chính xác
Một đĩa mềm được chia là 4 phần:
+ Boot Sector : Chiếm 1 sector
+ 2 bảng FAT: Chiếm 2x9=18 sector
+ Bảng thư mục : Chiếm 14 sector
+ Còn lại là vùng dữ liệu
Boot Sector
Là sector vật lý 1, track 0, mặt 0 Nội dung của Boot sector gồm 2 thành phần:
ư Bảng tham số đĩa: Bảng số liệu mô tả các thông số ổ đĩa sử dụng cho việc
đọc đĩa của ổ đĩa mềm
ư Chương trình khởi động: Kiểm tra sự tồn tại hợp lệ của 2 file io.sys và
msdos.sys và mã 55AA Nếu các điều kiện đảm bảo sẽ nạp các file hệ thống vào và chuyển quyền khởi động cho các chương trình thành phần và cuối cùng là command.com
ư Chúng ta có thể xem chương trình khởi động được viết trên boot sector của
đĩa mềm bằng cách đọc sector 0 vào bộ nhớ, rồi hiển thị ra màn hình như sau:
Chạy debug.exe rồi gõ lệnh trực tiếp vào như sau:
Trang 24Xem mã lệnh : U 4000:0 l200 ↵
2 bảng FAT
ư Do có độ dài, ngắn khác nhau nên mỗi file có thể chiếm nhiều hay ít các nhóm sector(cluster) Mỗi Cluster có thể có 1 hay nhiều sector Trong đĩa mềm 1.44 MB 1 cluster có 1 sector - trong khi 1 cluster trong đĩa cứng có thể
có 4 hoặc 8 sector
ư Các liên cung của 1 file có thể không liên tục nhau do kết quả của các lần ghi, xoá các cluster
ư Để lưu giữ vị trí của các cluster của 1 file DOS sử dụng cấu trúc bảng FAT (
File Allocation Table - Bảng định vị file - Có thể nói chính xác là bảng định
vị các cluster của 1 file) DOS cấp phát cho file các trang, FAT lưu giữ bản
đồ các trang Nếu đĩa bị hỏng FAT thì không truy nhập được thông tin nữa; mặc dù chúng vẫn tồn tại trên đĩa
ư Bảng FAT là 1bảng có số điểm vào ứng với số cluster trên đĩa Độ lớn của
mỗi điểm vào là 12 bit (Xuất phát từ 1 đĩa mềm có 2*80*18=2880 cluster
cần ít nhất là 12bit để đánh dấu vị trí; 11 bit chỉ đánh dấu được 2048 vị trí )
ư Byte đầu tiên của FAT gọi là Media Descriptor hay FAT ID
ư Giá trị của mỗi điểm vào trong bảng FAT có ý nghĩa như sau:
+ 000h Cluster còn trống
+ FF0h - FF6 Cluster dành riêng
+ FF7h Cluster hỏng
+ FF8h - FFFh Cluster cuối của 1 file
+ xxxh Cluster kế tiếp của file
ư Do sử dụng 12 bit nên MS-DOS phải ghép các điểm vào FAT theo từng cặp
2 điểm vào 1 để có 2x1.5 = 3 byte, thí dụ:
Điẻm vào FAT thứ 2 byte1 byte 2 byte 3
3
Điểm vào FAT thứ nhất
Số của cluster 1 Số của cluster 2 Không sử dụng
Trang 25Thí dụ: Giải thích 16 byte đầu của bảng FAT 12:
f0 ff ff 03 40 00 05 60 00 07 80 00 ff 0f 00 00 + f0: Đĩa mềm 3.5" 2 mặt 18sector/track
+ 2 byte tiếp theo là cluster cuối của 1 file nào đó Cluster đầu tiên là 2 đọc
từ th− mục gốc
+ 3 byte tiếp theo 03 40 00 đại diện cho cluster 2 và 3 Theo trên thì số (003) cho cluster 1 và (004) cho cluster 2 Nh− vậy điểm vào của cluster 2 chỉ tới cluster 003 và điểm vào của cluster 3 chỉ tới cluster 4 Tiếp tục với
05 60 00 cho cluster 4 và 5, đ−ợc (005) nằm ở cluster 4, (006) nằm ở cluster 5 Ta sẽ có 1 chuỗi cluster 2→3→4→5→6→7→8 Điểm vào thứ
8 có giá trị 000 do đó cluster 9 còn trống, DOS có thể ghi file mới lên đó Dùng công cụ quen thuộc DISKEDIT ta cũng thể xem thông số của bảng FAT trên 1 đĩa mềm nh− sau:
OEM ID: *gK4}IHC Bytes per sector: 512 512
Sectors per cluster: 1 1
Reserved sectors at beginning: 1 1
FAT Copies: 2 2
Root directory entries: 224 224
Total sectors on disk: 2880
Media descriptor byte: F0 Hex
Sectors per FAT: 9 9
Sectors per track: 18
Sides: 2
Special hidden sectors: 0
Big total number of sectors: (Unused)
Physical drive number: 0
Extended Boot Record Signature: 29 Hex
Volume Serial Number: 1C001360 Hex
Volume Label: NO NAME
File System ID: FAT12
Boot Record Sector 0
Drive A: Offset 3, hex 3
Trang 26Bảng thư mục
Chiếm 14 Sector Chứa được 224 đề mục(Root Directory Entry) Bảng này lưu
trữ danh sách các file, thư mục đang lưu trên đĩa
Mỗi đề mục được chia thành 8 trường như sau:
Tên file
(File Name) Tên mở rộng
Thuộc tính Storage Time Date
Số sector
đầu tiên của File
+ Tên file: Chứa tên file hoặc tên thư mục, giới hạn 8 ký tự
+ Tên mở rộng: Dùng cho file, giới hạn 3 ký tự
+ Thuộc tính: 1 byte sử dụng các bit để đánh dấu thuộc tính của file hay thư mục:
=1 file chỉ đọc
=1 file ẩn
=1 System
=1 Đây là điểm vào thư mục phụ
=1Điểm vào nhãn đĩa Thuộc tính lưu trữ
hsvd
+ Dự trữ: DOS đã quá lo xa khi để lại trường này dùng cho các phát
triển, hiện nay trường này không sử dụng, và chắc sẽ chẳng bao giờ
sử dụng nữa, do tính kế thừa phát triển nên nó vẫn tồn tại
+ Giờ thay đổi thông tin cuối cùng(Time):
+ Ngày thay đổi thông tin cuối cùng(Date):
+ Số cluster đầu tiên của 1 file: Nếu đây là thư mục con thì đây là chỉ số bắt đầu bảng thư mục phụ
+ Kích thước (Size): Kích thước file Nếu đây là điểm vào 1 thư mục thì trường này bằng 0
Phần chứa dữ liệu
Trang 27ư Là phần không gian đĩa còn lại sau khi sau khi trừ đi 33 sector (1 boot sector, 2FAT x 9, 14 cho bảng thư mục) dùng để chứa dữ liệu cần lưu trữ
ư Nếu đĩa được format là đĩa khởi động thì ngay sau bảng thư mục là file io.sys
và tiếp theo sau là file config.sys Nếu không phải là đĩa khởi động thì tiếp theo là các file dữ liệu bình thường
• DOS đọc 1 file như thế nào ?
Để xem FAT được tổ chức ra sao chúng ta hãy lấy 1 ví dụ về việc DOS sử dụng FAT để đọc 1 file như thế nào
Vùng DTA ( Trong RAM ) Các Sector của FileAđược đọc vào
501 502 505
502 505 EOF
502 505 501
1- DOS nhận số hiệu cluster đầu tiên từ thư mục ,giả sử đó là 2
2- DOS đọc cluster từ đĩa và chứa nó trong 1 vùng nhớ gọi là vùng chuyển dữ liệu (Data Trannsfer Area -DTA),chương trình thực hiện việc đọc sẽ nhận dữ liệu từ DTA khi cần
3- Vì điểm nhập thứ 2 chứa giá trị 4 , cluster tiếp theo của file có số hiệu
là 4 Nếu chương trình cần thêm dữ liệu DOS sẽ đọc cluster vào DTA 4- Điểm nhập 4 trong FAT chứa giá trị FFFh , giá trị này chỉ ra rằng đó
là cluster cuối cùng trong file Tóm lại quá trình lấy số hiệu cluster trong FAT là liên tục đọc dữ liệu vào DTA cho đến khi điểm nhập trong FAT chứa giá trị FFFh
Điểm nhập
0 1 2 3 4 5 6 7 8 9
FDF FFF 004 005 FFF 006 007 008 FFF 000
Trong hình ta cũng thấy có 1 file chiếm các cluster 3, 5, 6, 7 và 8
- DOS lưu trữ các file như thế nào ?
Để lưu trữ các file DOS thực hiện các công việc sau đây:
1-DOS xác định 1 điểm nhập chưa sử dụng trong thư mục và lưu vào đó tên file,thuộc tính file, ngày giờ tạo lập
2-DOS tìm trong bảng FAT điểm nhập đầu tiên đánh dấu 1 cluster chưa
sử dụng ( giá trị 000 có nghĩa là cluster chưa sử dụng ) và chứa số hiệu cluster đầu tiên của tập tin lấy trong thư mục vào đó Chúng ta giả sử nó tìm thấy giá trị 000 ở điểm nhập 9
Trang 283- Nếu dữ liệu chứa vừa trong 1 cluster DOS chứa nó trong cluster 9 và
đặt giá trị FFF vào điểm nhập thứ 9 của FAT Nếu vẫn còn dữ liệu DOS tiếp tục tìm cluster chưa được sử dụng tiếp theo trong FAT Ví dụ nó tìm thấy điểm nhập Ah, nó sẽ lưu dữ liệu vào cluster Ah và đặt giá trị 00A vào
điểm nhập 9 của FAT Quá trình tìm các cluster chưa được sử dụng trong FAT chứa dữ liệu vào đó, cho điểm nhập của FAT trỏ tới cluster tiếp theo
sẽ tiếp tục cho đến khi dữ liệu được lưu trữ hết Điểm nhập cuối cùng của file trong FAT sẽ chứa giá trị FFFh
Hướng dẫn sử dụng các hàm của các ngắt BIOS và ngắt DOS
để truy nhập phần cứng máy tính
Ngắt là khả năng dừng chương trình chính đang chạy để thực hiện 1
chương trình khác gọi là chương trình phục vụ ngắt ISR( Interrupt Subroutine )
Máy tính xây dựng trên cơ sở vi xử lý 80x86 có 256 ngắt được đánh số từ 0 255 Mỗi ngắt ứng với 1 chương trình con xử lý ngắt và sẽ được thực hiện khi gọi Bảng các véc tơ ngắt là bảng chứa địa chỉ của các chương trình
phục vụ ngắt trong bộ nhớ RAM
( Từ 00000h→003FFh) Khi một ngắt được gọi bộ xử lý sẽ tự động tìm địa chỉ bắt đầu của chương trình phục vụ ngắt tương ứng trong bảng véctơ ngắt và thực hiện chương trình đó
∗ Ngắt mềm:
ư Ngắt hệ thống:
+ DOS + BIOS
ư Ngắt của người sử dụng
Các ngắt BIOS và DOS hay được sử dụng để truy nhập phần cứng:
Một ngắt có thể có nhiều hàm
Trang 29Để sử dụng 1 hàm của 1 ngắt nào đó thực hiện 1 nhiệm vụ cụ thể ta
thường nạp số hàm vào 1 thanh ghi thường là AH sau đó gọi ngắt Tuỳ theo từng hàm mà giá trị trả về sau khi gọi ngắt sẽ ở các thanh ghi khác nhau
Ta hãy khảo sát ngắt 13 của BIOS( Địa chỉ từ 0004C - 0004F) Đây là ngắt truy nhập đĩa( mềm và cứng) Ngắt này có 6 hàm:
• Hàm 00h dùng để RESET lại ổ đĩa mềm ( Trang 312 cẩm nang lập trình hệ
thống-CNLTHT)
hàm này ít sử dụng
• Hàm 01h Cho biết trạng thái đĩa: Nếu hàm trả lại giá trị 0 trong thanh ghi
AH thì có nghĩa là không có lỗi nào xuất hiện trong lần truy nhập đĩa trước
đó Nếu <> 0 có lỗi( Bảng mã tương ứng có thể tra trong trang 312
CNLTHT) Khi ứng dụng nếu không cần kiểm tra trạng thái đĩa ta cũng ít dùng hàm này
• Hàm 02h dùng để đọc đĩa ( Hàm này hay dùng):
CH: Rãnh chứa sec tơ đầu tiên cần đọc
Mã lỗi trả về AH, số sec tơ đọc được trong AL
Các dữ liệu đọc được cất vào vùng RAM có địa chỉ Segment : offset chứa trong cặp thanh ghi ES:B Muốn hiển thị thông tin ra ta phải hiển thị vùng Segment : offset đó
• Hàm 03h : Cho phép ghi dữ liệu lên đĩa( Hay sử dụng)
Gọi hàm AH
Số sec tơ cần ghi vào AL
DL: Số ổ đĩa
DH: Số mặt
CL: Sec tơ đầu tiên cần ghi( Chú ý ở đây sử dụng Sec tơ vật lý )
CH: Rãnh chứa sec tơ đầu tiên cần ghi
Trang 30Cặp thanh ghi ES:BX trỏ đến vùng nhớ chứa dữ liệu cần ghi trên đĩa (Trỏ dến: Chứa địa chỉ vùng nhớ trong RAM- mà vùng này sẽ đ−ợc ghi vào đĩa )
Hàm trả lại trạng thái lỗi trong AH, số sec tơ ghi đ−ợc trong AL
• Hàm 04h Kiểm tra dữ liệu có truyền tới đĩa không: ít dùng
• Hàm 05h Hàm Format đĩa: Dùng hàm này để định dạng đĩa Có thể định
dạng theo tiêu chuẩn hay không tiêu chuẩn( Chẳng hạn format đĩa mềm 1,66MB 2,88MB format đĩa 1 sector không phải 512 bytes mà 256, 128 bytes )
Ngắt 13 đ−ợc chúng ta sử dụng chủ yếu hay dùng hàm 02h và 03h
Ngoài ra còn các ngắt khác
Lấy các ví dụ sử dụng ngắt 21 của DOS hàm 30h lấy version DOS, ngắt lấy thời gian, lấy ngày giờ
Các ngắt truy nhập cổng máy in, cổng nối tiếp
Để đọc sector đầu tiên của đĩa mềm :
Trang 31Để truy nhập đĩa (đọc, ghi) dùng ngắt $13 của ROMBIOS Khi dùng ta khai báo biến
số kiểu thanh ghi Registers
Var R: Registers;
Trước khi gọi ngắt gửi các tham số vào các biến thanh ghi này
Trị số thanh ghi AH
AH=2 :Đọc
AH=3 :Ghi lên đĩa
AH=0 :Khởi động đĩa
AL: Chứa số sector cần đọc hay ghi
ES:=seg(buf); {Hàm để lấy địa chỉ đoạn của biến buf}
BX:=ofs(buf); {Hàm ofs để lấy địa chỉ offset của biến buf} Trong Pascal có thủ tục gọi ngắt :
Intr($ số hiệu ngắt, biến thanh ghi);
Ví dụ :Gọi ngắt $13, biến thanh ghi R:
Intr($13, R);
Riêng với ngắt $21 của DOS ta có lệnh:
msdos(Biến thanh ghi);
Sau đây là 1 chương trình để đọc bảng tham số của đĩa:
Thuật toán: Để làm được việc này ta đọc bootsector vào 1 vùng nhớ buf sau đó lấy vùng nhớ đó ra để phân tích và đọc ra
Trang 32R.ES:=seg(Buf); {dia chi segmen cua vung dem}
R.BX:=ofs(Buf); {dia chi offset cua vung dem}
Intr($13,R);
If R.AH=0 then {neu viec doc thanh cong thi R.AH=0 do qui dinh}
begin { cua ham 2h ngat $13 }
OK:=true;
Writeln('Qua trinh thuc hien tot');
end
else {neu doc khong thanh cong-R.ax=0 bao ma loi}
begin { va doc tiep }
Trang 33Bảng FAT: Chia thành từng phần tử, mỗi phần tử là 12 bit=1.5 byte nếu
dung lượng đĩa <= 16M Bảng FAT này gọi là bảng FAT 12 Nếu 1 phần tử là
16 bit =2 byte nếu dung lượng đĩa >16M Bảng FAT này gọi là bảng FAT 16 Mỗi phần tử của FAT ứng với 1 liên cung (cluster) trong phần dữ liệu FAT là bản đồ lưu giữ vị trí của các cluster của các file hoặc thư mục trong 1 đĩa
ư Nếu là FF7: Liên cung hỏng
ư FF8 - FFF: Phần cuối của 1 file
Các con số khác : Đã phân cho file
Giả sử 1file chiếm 3 liên cung 2, 6, 7 ở
trong bảng FAT cho ta dãy liên cung ở trong bảng thư mục Từ đây để tìm dãy các liên cung của file ta vào bảng FAT :
ư Đọc phần tử số 2 của Fat được số 2
ư Đọc phần tử số 6 của FAT được số 7
ư Đọc phần tử số 7 của FAT được FFF
Vậy bảng FAT cho ta 1 dãy các liên cung của 1 file Nếu có đọc ra,vào thư mục
đọc bảng FAT 12 đọc 2 phần tử chứa trong 3 byte Muốn đọc được phải tính
được
địa chỉ đọc FAT vào vùng nhớ đệm
Trang 34Khi lưu :
Đệm[0] đệm [1] đệm [2]
40 23
10
Khi đọc thành 402310
Muốn đọc phần tử thứ nhất
Phần tử chẵn đọc 2 byte và bỏ đI số có ý nghĩa nhất bên trái
Phần tử lẻ Đoc 2 byte được 4023 bỏ đI số ít ý nghĩa nhất(bên phải)
Trang 35Write('Cho ten file :');readln(tenfile);
for i:=1 to length(tenfile) do
Trang 38D7, D6: Không dùng
D5: Archieve: Khi tạo hay sửa 1 file thì bít này =1 đến khi dùng backup nó chỉ sao các file nào có bít này =1 và sau khi sao xong nó sẽ xoá bit này =0 để nếu có lần backup sau không sao nữa( vì đã =0 rồi) Trên đĩa mềm thuộc tính này luôn luôn =1
D4: =1: Đây là th− mục con = 0 đây là file
5
Lấy thời gian : Dành 2 byte = 16 bit để chứa thời gian
giờ: 0-23; 2 mũ 5 =32 ; 5 bit đủ để chứa giờ;
phut: 0-60; 2 mũ 6=64; 6 bit chứa phút; chỉ còn lại 5 bit thể hiện
(chứa) giây giây: 0-60; 2 mũ 5=32 ; 32<60 thiếu để thể hiện 60 giây
đành dùng chứa 30 đơn vị - mỗi đơn vị là 2 giây
7 bit 4 bit 5 bit
Trang 39{Lấy 4 byte dùng meml
Lấy 2 byte dùng memw
Lấy 1byte dùng mem
Về tên file: nếu >8 ký tự thì ký tự 9 sẽ bị cắt
nếu <8 ký tự thì thêm dấu cách vào bên phải
+ Nếu ta xoá 1 file thay ký tự đầu =E5
+ Nếu 2 ký tự đầu tiên là 2E(dấu )thì là tên của th− mục hiện tại
+ Nếu 2 ký tự đầu tiên là 2E2E (2 dấu )5thì đó là th− mục cha của th− mục