TỔNG QUAN
Các thế hệ máy tính
Sự phát triển của máy tính được thể hiện qua tiến bộ trong công nghệ chế tạo các linh kiện cơ bản như bộ xử lý, bộ nhớ và các thiết bị ngoại vi Máy tính điện tử số đã trải qua bốn thế hệ liên tiếp, với mỗi sự chuyển giao giữa các thế hệ được đánh dấu bởi những thay đổi công nghệ quan trọng.
Hình 1- 1 Thế hệ đầu tiên (1946-1957)
ENIAC, or Electronic Numerical Integrator and Computer, was the first electronic digital computer, designed by Professor Mauchly and his student Eckert at the University of Pennsylvania in 1945.
ENIAC, được hoàn thành vào năm 1946, là một trong những máy tính đầu tiên và có kích thước khổng lồ với chiều dài 20 mét, chiều cao 2,8 mét và chiều rộng vài mét Máy tính này bao gồm 18.000 đèn điện tử và 1.500 công tắc tự động, nặng tới 30 tấn và tiêu thụ 140KW giờ ENIAC có 20 thanh ghi 10 bit, cho phép thực hiện 5.000 phép toán cộng mỗi giây, với công việc lập trình được thực hiện thủ công thông qua việc đấu nối các đầu cắm điện và sử dụng các ngắt điện.
Giáo sư toán học John Von Neumann đã phát triển ý tưởng về thiết kế máy tính IAS tại Viện Nghiên cứu Cao cấp Princeton, trong đó chương trình được lưu trữ trong bộ nhớ Bộ điều khiển lấy lệnh và biến đổi giá trị dữ liệu, trong khi bộ làm toán và logic (ALU) thực hiện các phép toán trên dữ liệu nhị phân và điều khiển hoạt động của các thiết bị vào ra Ý tưởng này đã trở thành nền tảng cho các máy tính hiện đại, và máy tính này thường được gọi là máy tính Von Neumann.
Vào đầu thập niên 50, thị trường chứng kiến sự ra mắt của những máy tính thương mại đầu tiên, với 48 hệ thống UNIVAC I và 19 hệ thống IBM 701 được bán ra.
Công ty Bell đã phát minh ra transistor vào năm 1947, đánh dấu sự chuyển mình của thế hệ thứ hai máy tính với việc thay thế đèn điện tử bằng transistor lưỡng cực Đến cuối thập niên 50, máy tính thương mại sử dụng transistor mới ra mắt, giúp giảm kích thước, chi phí và tiêu tốn năng lượng ít hơn Trong giai đoạn này, mạch in và bộ nhớ bằng xuyến từ được áp dụng, đồng thời các ngôn ngữ lập trình cấp cao như FORTRAN (1956), COBOL (1959) và ALGOL (1960) ra đời Hệ điều hành kiểu tuần tự (Batch Processing) cũng được sử dụng, cho phép chạy lần lượt các chương trình của người dùng.
The third generation of technology is characterized by the introduction of integrated circuits (ICs) Low-density integration circuits (SSI: Small Scale Integration) can accommodate dozens of components, while medium-density integration circuits (MSI: Medium Scale Integration) can house hundreds of components on a single integrated circuit.
Mạch in nhiều lớp đã ra đời, dẫn đến việc bộ nhớ bán dẫn dần thay thế bộ nhớ bằng xuyến từ Đồng thời, máy tính đa chương trình và hệ điều hành chia thời gian cũng được áp dụng rộng rãi.
Thế hệ thứ tư được đánh dấu bằng các IC có mật độ tích hợp cao (LSI: Large Scale
Tích hợp có thể bao gồm hàng ngàn linh kiện, trong đó các IC có mật độ tích hợp rất cao (VLSI: Very Large Scale Integration) có khả năng chứa hơn 10.000 linh kiện trên một mạch Hiện nay, các chip VLSI có thể chứa hàng triệu linh kiện, thể hiện sự tiến bộ vượt bậc trong công nghệ tích hợp.
Sự ra đời của bộ vi xử lý tích hợp cả phần thực hiện và điều khiển đã đánh dấu bước ngoặt quan trọng trong phát triển công nghệ bán dẫn, dẫn đến sự ra đời của các thế hệ máy tính cá nhân Các loại bộ nhớ như bộ nhớ bán dẫn, bộ nhớ cache và bộ nhớ ảo được sử dụng phổ biến, trong khi các kỹ thuật cải tiến tốc độ xử lý như kỹ thuật ống dẫn, kỹ thuật vô hướng và xử lý song song mức độ cao không ngừng được phát triển.
Việc chuyển giao từ thế hệ thứ tư sang thế hệ thứ 5 của máy tính vẫn còn đang trong quá trình phát triển, với Nhật Bản dẫn đầu trong nghiên cứu và phát triển các máy tính thông minh dựa trên ngôn ngữ trí tuệ nhân tạo như LISP và PROLOG Sản phẩm nổi bật nhất cho đến nay là ASIMO (Advanced Step Innovative Mobility), một robot thông minh ra mắt vào năm 2004, có khả năng di chuyển linh hoạt, nhận diện con người, cử chỉ và giọng nói, đồng thời thực hiện các mệnh lệnh từ con người ASIMO không chỉ bắt chước cử động và gọi tên người mà còn cung cấp thông tin ngay khi được hỏi, thể hiện sự gần gũi và thân thiện Hiện nay, nhiều công ty và viện nghiên cứu tại Nhật Bản đang sử dụng ASIMO để tiếp khách và hướng dẫn tham quan, như Viện Bảo tàng Khoa học Năng lượng và Đổi mới Quốc gia, hãng IBM Nhật Bản và Công ty Điện lực Tokyo.
Hãng Honda bắt đầu nghiên cứu ASIMO từ năm 1986 dựa vào nguyên lý chuyển động bằng hai chân Cho tới nay, hãng đã chế tạo được 50 robot ASIMO.
Tiến bộ trong mật độ tích hợp VLSI đã dẫn đến sự ra đời của các vi xử lý mạnh mẽ, bao gồm 8 bit, 16 bit, 32 bit và 64 bit, với sự xuất hiện của bộ xử lý RISC vào năm 1986 và bộ xử lý siêu vô hướng vào năm 1990 Những bộ xử lý này đã cho phép phát triển máy tính song song, từ vài bộ xử lý đến hàng ngàn bộ xử lý Do đó, các chuyên gia về kiến trúc máy tính dự đoán rằng thế hệ thứ 5 sẽ là thế hệ của các máy tính xử lý song song.
Bảng 1-1 Các thế hệ máy tính
Thế Năm Kỹ thuật Sản phẩm Hãng sản xuất và máy tính hệ mới
1 1946-1957 Đèn điện tử Máy tính điện IBM 701 UNIVAC tử tung ra thị trường
2 1958-1964 Transistors Máy tính rẻ Intel,Burroughs 6500, NCR, tiền CDC 6600, Honeywell
3 1965-1971 Mach IC Máy tính mini 50 hãng mới: DEC PDP-11,
4 1972 LSI - VLSI Máy tính cá Apple II, IBM-PC, Appolo nhân và trạm DN 300, Sun 2 làm việc
5 Xử lý song Máy tính đa xử Sequent … Thinking Machine song lý Đa máy Inc Honda, Casio tính
Phân loại máy tính
2.1 Các siêu máy tính (Super Computer):
Siêu máy tính là những máy tính đắt tiền nhất và sở hữu tính năng kỹ thuật cao nhất, với giá bán từ vài triệu USD Chúng thường là máy tính vectơ hoặc máy tính sử dụng kỹ thuật vô hướng, được thiết kế đặc biệt để thực hiện các tính toán khoa học và mô phỏng hiện tượng Siêu máy tính được xây dựng với công nghệ xử lý song song, bao gồm hàng ngàn đến hàng trăm ngàn bộ xử lý trong một hệ thống.
2.2 Các máy tính lớn (Mainframe):
Máy tính đa dụng là thiết bị có khả năng phục vụ cho nhiều mục đích khác nhau, từ ứng dụng quản lý đến các tính toán khoa học phức tạp Với kỹ thuật xử lý song song và hệ thống vào ra mạnh mẽ, máy tính này đáp ứng tốt nhu cầu xử lý dữ liệu lớn Giá thành của một máy tính lớn có thể dao động từ vài trăm ngàn USD đến hàng triệu USD.
Là loại máy cỡ trung, giá một máy tính mini có thể từ vài chục USD đến vài trăm ngàn USD.
Là loại máy tính dùng bộ vi xử lý, giá một máy vi tính có thể từ vài trăm USD đến vài ngàn USD.
Thành quả của máy tính, qui luật Moore về sự phát triển của máy tính
Hình 1-2 minh họa sự phát triển vượt bậc của máy vi tính, với mức tăng trưởng đạt 35% mỗi năm, trong khi các loại máy khác chỉ tăng trưởng 20% mỗi năm Điều này chứng tỏ rằng tính năng của máy vi tính đã vượt trội hơn so với các loại máy khác từ đầu thập niên 90.
Hình 1- 2 Đánh giá thành quả của máy tính
Máy tính dùng thật nhiều bộ xử lý song song rất thích hợp khi phải làm tính thật nhiều.
Sự tăng trưởng theo hàm số mũ của công nghệ chế tạo transistor MOS là nguồn gốc của thành quả các máy tính.
Hình 1-4 minh họa sự gia tăng tần số xung nhịp của các bộ xử lý MOS, với tần số xung nhịp tăng gấp đôi sau mỗi thế hệ Đồng thời, độ trì hoãn trên mỗi cổng/xung nhịp cũng giảm 25% hàng năm.
Sự tiến bộ của công nghệ máy tính, đặc biệt là trong lĩnh vực bộ vi xử lý, đã giúp máy vi tính đạt được tốc độ vượt trội so với các máy tính lớn hơn.
Hình 1-3 Sự phát triển của bộ xử lý Intel
Bảng 1-2 Sự phát triển của bộ xử lý Intel dựa vào số lượng transistor trong một mạch tích hợp theo qui luật Moore
Bộ xử lý Intel Năm sản xuất Số lượng transistor tích hợp
Kể từ năm 1965, Gordon Moore, đồng sáng lập Intel, đã nhận thấy rằng số lượng transistor trong mỗi mạch tích hợp có thể tăng gấp đôi mỗi năm Ông đã đưa ra dự đoán rằng khả năng của máy tính sẽ tăng gấp đôi sau 18 tháng mà giá thành vẫn không thay đổi.
Kết quả của quy luật Moore là:
+Chi phí cho máy tính sẽ giảm
+ Giảm kích thước các linh kiện, máy tính sẽ giảm kích thước
+ Hệ thống kết nối bên trong mạch ngắn: tăng độ tin cậy, tăng tốc độ
+ Tiết kiệm năng lượng cung cấp, toả nhiệt thấp.
+Các IC thay thế cho các linh kiện rời.
Hình 1-4 Xung nhịp các bộ xử lý MOS
Một số khái niệm liên quan:
Mật độ tích hợp là chỉ số thể hiện số lượng linh kiện tích hợp trên một diện tích bề mặt của tấm silicon, phản ánh số nhiệm vụ và mạch có thể được thực hiện.
+Tần số xung nhịp bộ xử lý cho biết tần số thực hiện các nhiệm vụ
Tốc độ xử lý của máy tính trong một giây, hay công suất tính toán của mỗi mạch, được xác định bằng tích của mật độ tích hợp và tần số xung nhịp Ngoài ra, công suất này cũng tăng theo hàm mũ theo thời gian.
Thông tin và sự mã hóa thông tin
Hình 1-5 Thông tin về 2 trạng thái có ý nghĩa của hiệu điện thế
Khái niệm về thông tin gắn liền với sự hiểu biết một trạng thái cho sẵn trong nhiều trạng thái có thể có vào một thời điểm cho trước.
Trong bài viết này, chúng ta định nghĩa hai trạng thái chính của tín hiệu: trạng thái thấp khi hiệu điện thế dưới VL và trạng thái cao khi hiệu điện thế vượt qua VH Để thu thập thông tin, việc xác định thời điểm quan sát trạng thái tín hiệu là rất quan trọng Chẳng hạn, tại thời điểm t1, tín hiệu ở trạng thái thấp, trong khi tại thời điểm t2, tín hiệu chuyển sang trạng thái cao.
4.2 Lượng thông tin và sự mã hoá thông tin
Thông tin được đo lường bằng đơn vị thông tin mà ta gọi là bit Lượng thông tin được định nghĩa bởi công thức:
Trong đó I: là lượng thông tin tính bằng bit
N:là số trạng thái có thể có
Một bit đại diện cho sự hiểu biết về một trạng thái trong hai trạng thái khả thi Ví dụ, sự hiểu biết về một trạng thái trong tổng số 8 trạng thái có thể tương ứng với một lượng thông tin nhất định.
I = Log2(8) = 3 bit Tám trạng thái được ghi nhận nhờ 3 số nhị phân (mỗi số nhị phân có thể có giá trị 0 hoặc 1).
Lượng thông tin được xác định bởi số lượng con số nhị phân cần thiết để biểu diễn các trạng thái có thể Một con số nhị phân gọi là một bit, và một từ n bit có thể biểu thị cho tổng số 2^n trạng thái Do đó, một từ n bit tương ứng với một lượng thông tin là n bit.
Bảng 1-3 Tám trạng thái khác nhau ứng với 3 số nhị phân
Hệ thống số là khái niệm xác định phạm vi giá trị mà một chữ số có thể mang Chẳng hạn, trong hệ thập phân, giá trị của một chữ số dao động từ 0 đến 9, trong khi trong hệ nhị phân, một chữ số (bit) chỉ có hai giá trị là 0 hoặc 1.
Dạng tổng quát để biểu diễn giá trị của một số:
Vk là số cần biểu diễn, m là số thứ tự của chữ số phần lẻ, trong đó phần lẻ của số có m chữ số được đánh số từ -1 đến -m n-1 là số thứ tự của chữ số phần nguyên.
(phần nguyên của số có n chữ số được đánh số thứ tự từ 0 đến n-1) bi: giá trị của chữ số thứ i k: hệ số (k: hệ thập phân; k=2: hệ nhị phân; ).
Ví dụ: biểu diễn số 541.2510
Máy tính chủ yếu được cấu tạo từ các mạch điện tử có hai trạng thái, do đó, việc sử dụng số nhị phân để biểu diễn các trạng thái mạch hoặc mã hóa ký tự và số là rất tiện lợi Để chuyển đổi một số từ hệ thập phân sang hệ nhị phân, có hai phương pháp thực hiện.
Phương thức số dư là cách chuyển đổi phần nguyên của số thập phân sang nhị phân Ví dụ, để đổi số 23.37510 sang nhị phân, chúng ta sẽ áp dụng phương thức số dư cho phần nguyên.
- Phương thức nhân để biến đổi phần lẻ của số thập phân sang nhị phân
Kết quả cuối cùng nhận được là: 23.37510 = 10111.0112
Trong quá trình chuyển đổi phần lẻ của một số thập phân sang số nhị phân bằng phương pháp nhân, có những trường hợp xảy ra việc biến đổi dẫn đến số lặp lại vô hạn, với bit có trọng số lớn nhất và bit có trọng số nhỏ nhất.
Khi chuyển đổi số nhị phân sang các hệ thống số khác, chúng ta có thể nhóm các số nhị phân lại để biểu diễn số trong hệ thống tương ứng.
Thông thường, người ta nhóm 4 bit trong hệ nhị phân hệ để biểu diễn số dưới dạng thập lục phân (Hexadecimal).
Dựa vào bảng biến đổi số, chúng ta có thể thấy ví dụ về cách chuyển đổi các số trong các hệ thống số khác nhau sang hệ nhị phân.
Một từ n bit có khả năng biểu diễn tất cả các số dương trong khoảng từ 0 đến 2^n - 1 Nếu d là một số nhị phân thứ i, thì từ n bit đó sẽ tương ứng với một số nguyên thập phân.
Một Byte (gồm 8 bit) có thể biểu diễn các số từ 0 tới 255 và một từ 32 bit cho phép biểu diễn các số từ 0 tới 4294967295.
Có nhiều cách để biểu diễn một số n bit có dấu Trong tất cả mọi cách thì bit cao nhất luôn tượng trưng cho dấu.
Khi bit dấu có giá trị 0, số được biểu diễn là số nguyên dương, trong khi bit dấu có giá trị 1 biểu thị số nguyên âm Tuy nhiên, cách biểu diễn này không chính xác khi sử dụng số thừa K, mà sẽ được phân tích trong phần tiếp theo của chương này, nơi bit dấu 1 lại đại diện cho số nguyên dương và bit dấu 0 đại diện cho số nguyên âm.
Số nguyên có bit dn-1 là bit dấu và có trị số tượng trưng bởi các bit từ d0 tới dn-2 a Cách biểu diễn bằng trị tuyệt đối và dấu
Trong phương pháp này, bit dn-1 đại diện cho bit dấu, trong khi các bit từ d0 đến dn-2 thể hiện giá trị tuyệt đối Một từ n bit tương ứng với số nguyên thập phân có dấu.
- Một Byte (8 bit) có thể biểu diễn các số có dấu từ -127 tới +127.
-Có hai cách biểu diễn số không là 0000 0000 (+0) và 1000 0000 (-0)
22 b Cách biểu diễn hằng số bù 1
Trong cách biểu diễn này, số âm -N được có bằng cách thay các số nhị phân di của số đương
N bằng số bù của nó (nghĩa là nếu di = 0 thì người ta đổi nó thành 1 và ngược lại)
- Một Byte cho phép biểu diễn tất cả các số có dấu từ -127 (1000 00002) đến 127 (0111
Có hai cách biểu diễn cho số 0: 0000 0000 (+0) và 1111 1111 (-0) Để tính số bù 2 của một số, ta lấy số bù 1 và cộng thêm 1 Do đó, một từ n bit (dn-1 d0) sẽ có giá trị thập phân tương ứng.
Một từ n bit có khả năng biểu diễn các số có dấu trong khoảng từ -2^(n-1) đến 2^(n-1) - 1 Số không chỉ có một cách duy nhất để biểu diễn, đó là tất cả các bit đều bằng không Ví dụ, số +25 được biểu diễn dưới dạng nhị phân là 00011001, trong khi số -25 được biểu diễn là 11100111.
- Dùng 1 Byte (8 bit) để biểu diễn một số có dấu lớn nhất là +127 và số nhỏ nhất là –128
-Chỉ có một giá trị 0: +0 = 000000002, -0 = 000000002
Bảng 1-4 Số 4 bit có dấu theo cách biểu diễn số âm bằng số bù 2 d 3 d 2 d 1 d 0 N d 3 d 2 d 1 d 0 N
0 0 1 0 2 1 0 1 0 -6 d Cách biểu diễn bằng số thừa K
Trong cách này, số dương của một số N có được bằng cách “cộng thêm vào” số thừa
KIẾN TRÚC PHẦN MỀM BỘ XỬ LÝ
Thành phần cơ bản của máy tính
Bộ máy tính cơ bản bao gồm bộ xử lý trung tâm (CPU), bộ nhớ trong và các thiết bị nhập-xuất thông tin, tất cả được kết nối thông qua các hệ thống bus Hệ thống bus chia thành ba loại: bus địa chỉ, bus dữ liệu và bus điều khiển Bus địa chỉ và bus dữ liệu có nhiệm vụ chuyển dữ liệu giữa các bộ phận trong máy tính, trong khi bus điều khiển đảm bảo sự đồng bộ trong việc trao đổi thông tin Thông thường, có hai loại bus: bus hệ thống để trao đổi thông tin giữa CPU và bộ nhớ trong (thông qua cache) và bus vào-ra để kết nối các thiết bị vào-ra với bộ nhớ trong.
1.1 Bộ xử lý trung tâm (CPU)
Hình 2-1 Cấu trúc bộ xử lý trung tâm của một hệ máy tính đơn giản
Một chương trình được sao chép từ đĩa cứng vào bộ nhớ trong cùng với thông tin cần thiết để hoạt động Thông tin này được nạp từ các thiết bị cung cấp như bàn phím hoặc đĩa từ Bộ xử lý trung tâm sẽ đọc lệnh và dữ liệu từ bộ nhớ, thực hiện lệnh và lưu kết quả trở lại bộ nhớ trong hoặc xuất kết quả ra thiết bị xuất như màn hình hoặc máy in.
Bộ xử lý trung tâm (CPU) là thành phần chính thực hiện lệnh trong máy tính, lấy lệnh từ bộ nhớ và xử lý dữ liệu tương ứng CPU bao gồm hai phần chính: phần thi hành lệnh và phần điều khiển Phần thi hành lệnh, bao gồm bộ làm toán và luận lý (ALU) cùng với các thanh ghi, thực hiện các phép toán trên dữ liệu Trong khi đó, phần điều khiển đảm bảo rằng các lệnh được thực hiện theo thứ tự và điều khiển các mạch chức năng để thực hiện các lệnh một cách chính xác.
-ALU- bộ xử lý số học, thực hiện các phép tính số học, như phép cộng (+) trừ (-), nhân, chia và các phép logic như logic AND, OR, NOT, XOR.
Hình 2-2: Hình ảnh một số loại CPU Petium4
Hình 2-3 Bố trí memory kiểu Intel Hình 2-4 Bố trí memory kiểu AMD
Mainboard là trung tâm điều khiển mọi hoạt động của máy tính, đóng vai trò trung gian giao tiếp giữa CPU và các thiết bị khác Nó chứa đựng các linh kiện điện tử quan trọng như CPU, hệ thống BUS, bộ nhớ RAM, thiết bị lưu trữ (đĩa cứng, ổ CD), card màn hình, card mạng, card âm thanh và các vi mạch hỗ trợ.
Form factor là đặc tính xác định kích thước và cách bố trí mainboard trong thân máy tính Hiện nay, chuẩn ATX (Advanced Technology Extended) 12V, được Intel thiết kế vào năm 1995, là chuẩn phổ biến trên máy tính để bàn, thay thế cho chuẩn AT Chế độ bật máy tính được thực hiện qua công tắc với bốn điểm tiếp xúc, cho phép bật tắt bằng phần mềm hoặc nối mạch hai chân cắm kích nguồn Nguồn ATX chuẩn có công tắc tổng để ngắt hoàn toàn dòng điện Ngoài ra, còn có micro ATX với kích thước nhỏ hơn ATX.
ASUS P5KPL-AM -Intel G31 chipset BIOSTAR G31D-M7 - Intel G31 chipset (Core 2 Duo & Quadcore ) (Core 2 Quad) - 2 x DDR2 800
Hình 2-5.Hình ảnh một số loại main hiện nay
Vào năm 2004, Intel đã giới thiệu bo mạch BTX (Balanced Technology Extended) với thiết kế mới nhằm giảm số lượng quạt, giúp máy tính hoạt động êm ái hơn và duy trì nhiệt độ thấp hơn so với hệ thống ATX (Advanced Technology Extended) hiện tại Bo mạch BTX có những thay đổi đáng kể trong cách bố trí các thành phần và thiết kế tản nhiệt, mang lại hiệu suất tối ưu cho người dùng.
Hệ thống máy tính kết nối các thành phần lại với nhau, đảm bảo sự hoạt động đồng bộ Nó điều chỉnh tốc độ BUS để phù hợp với từng thành phần khác nhau, từ đó tối ưu hóa hiệu suất Bên cạnh đó, việc quản lý nguồn cấp cho các thành phần trên Mainboard là rất quan trọng để duy trì sự ổn định và hiệu quả của toàn bộ hệ thống.
Bảng mạch chính cung cấp xung nhịp chủ (xung Clock) để đồng bộ hóa hoạt động của toàn bộ hệ thống Do đó, khi có sự cố xảy ra với Main, máy tính sẽ không thể hoạt động bình thường.
Ví dụ: Mainboard :ASUS Intel 915GV P5GL-MX, Socket 775/ s/p
3.8Ghz/ Bus 800/ Sound& Vga, Lan onboard/PCI Express 16X/Dual 4DDR400/ 3 PCI/ 4 SATA/ 8 USB 2.0 có nghĩa là
- ASUS Intel 915GV P5GL-MX, đơn giản đây chỉ là tên của loại bo mạch chỉ của hãng Asus
-Socket 775 như đã nói ở trên, là loại khe cắm cho CPU
Tốc độ xung đồng hồ tối đa của CPU mà bo mạch chủ hỗ trợ là 3.8 GHz Đường giao tiếp dữ liệu của CPU, được gọi là BUS, có tần số hoạt động tối đa là 800 Thông thường, bo mạch chủ hỗ trợ các CPU với tốc độ bus cao hơn cũng sẽ tương thích với các CPU chạy ở bus thấp hơn.
PCI Express 16X là khe cắm card màn hình và mạch chủ, với con số 16 thể hiện băng thông giao tiếp cao hơn so với AGP 8X và 4X trên các bo mạch cũ Mặc dù lý thuyết cho thấy băng thông của PCI Express 16X gấp nhiều lần, tốc độ hoạt động thực tế còn phụ thuộc vào nhiều yếu tố khác như dung lượng RAM và loại CPU.
- Sound & VGA, LAN onboard: bo mạch này đã được tích hợp sẵn card âm thanh, card màn hình, và card mạng
Bo mạch chủ này được trang bị 3 khe cắm PCI, cho phép lắp thêm các thiết bị giao tiếp như card âm thanh và modem gắn trong Ngoài ra, nó có 4 khe cắm SATA, một chuẩn giao tiếp nhanh và ổn định hơn so với IDE, dành cho ổ cứng Đặc biệt, bo mạch chủ còn hỗ trợ 8 cổng USB 2.0, mang lại khả năng kết nối linh hoạt cho người dùng.
Bộ nhớ trong là tập hợp các ô nhớ, mỗi ô chứa một số bit nhất định và mã hóa thông tin thành số nhị phân, không phụ thuộc vào kiểu dữ liệu Những thông tin này có thể là lệnh hoặc số liệu, và mỗi ô nhớ đều có một địa chỉ riêng Thời gian truy cập vào bất kỳ ô nhớ nào trong bộ nhớ là như nhau, do đó, bộ nhớ trong còn được gọi là bộ nhớ truy cập ngẫu nhiên (RAM: Random Access).
Memory) Độ dài của một từ máy tính (Computer Word) là 32 bit (hay 4 byte), tuy nhiên dung lượng một ô nhớ thông thường là 8 bit (1 Byte)
Dùng để lưu trữ thông tin hay còn gọi là bộ nhớ ngoài, thiết bị lưu trữ điển hình nhất là: + Đĩa mềm (floppy disk)
Bộ phận vào – ra là thành phần quan trọng trong việc xuất nhập thông tin, thực hiện giao tiếp giữa máy tính và người dùng cũng như giữa các máy tính trong hệ thống mạng Các thiết bị xuất nhập phổ biến bao gồm bộ lưu trữ ngoài, màn hình, máy in, bàn phím, chuột, máy quét ảnh và các giao diện mạng cục bộ hoặc mạng diện rộng Ngoài ra, bộ tạo thích ứng là vi mạch tổng hợp (chipset) giúp kết nối các hệ thống bus với tốc độ dữ liệu khác nhau.
Hình 2-6: Sơ đồ mô tả hoạt động điển hình của một máy tính
Định nghĩa kiến trúc máy tính
Kiến trúc máy tính bao gồm ba phần: Kiến trúc phần mềm, tổ chức của máy tính và lắp đặt phần cứng.
Kiến trúc phần mềm của máy tính chủ yếu tập trung vào kiến trúc phần mềm của bộ xử lý, bao gồm các yếu tố quan trọng như tập lệnh, dạng các lệnh và các kiểu định vị.
Tập lệnh là tập hợp các lệnh mã máy hoàn chỉnh, được bộ xử lý trung tâm hiểu và xử lý, thường được trình bày dưới dạng hợp ngữ Mỗi lệnh trong tập lệnh chứa thông tin cần thiết để bộ xử lý thực hiện, bao gồm mã tác vụ, địa chỉ toán hạng nguồn, địa chỉ toán hạng kết quả và lệnh kế tiếp, mặc dù thông tin này thường không được hiển thị.
+ Kiểu định vị chỉ ra cách thức thâm nhập toán hạng
Kiến trúc phần mềm là phần mà các lập trình viên hệ thống phải nắm vững để việc lập trình hiểu quả, ít sai sót.
Phần tổ chức của máy tính đề cập đến cấu trúc bên trong của bộ xử lý, cấu trúc các bus, các cấp bộ nhớ và các khía cạnh kỹ thuật khác Nội dung này sẽ được khám phá chi tiết trong các chương tiếp theo.
Lắp đặt phần cứng máy tính là quá trình lắp ráp các linh kiện điện tử và bộ phận phần cứng cần thiết để tạo thành một hệ thống máy tính hoàn chỉnh Tuy nhiên, nội dung này không được đề cập trong giáo trình hiện tại.
Cần lưu ý rằng một số máy tính có cùng kiến trúc phần mềm nhưng cấu trúc phần cứng lại khác nhau, như VAX-11/780 và VAX 8600 Trong khi VAX-11/780 và VAX-11/785 sở hữu kiến trúc phần mềm tương tự và cấu trúc tổ chức gần giống, việc lắp đặt phần cứng của chúng lại khác biệt Đặc biệt, VAX-11/785 sử dụng mạch kết hiện đại để cải thiện tần số xung nhịp và có một số thay đổi trong cấu trúc bộ nhớ trong.
Tập lệnh
3.1 Tập các thanh ghi (của bộ vi xử lý 8086) a Các thanh ghi dữ liệu
Bộ vi xử lý thực hiện các lệnh nhanh hơn khi dữ liệu được lưu trữ trong các thanh ghi, vì điều này yêu cầu ít chu kỳ đồng hồ hơn Do đó, xu hướng sản xuất hiện nay là tăng số lượng thanh ghi trong các bộ vi xử lý.
Các thanh ghi dữ liệu cho phép truy cập riêng biệt từng byte thấp và byte cao, sử dụng từng 8 bit một cách độc lập Byte cao của thanh ghi AX được gọi là AH.
(Height) và byte thấp được gọi là AL (Lower) Tương tự cho các thanh ghi BX, CX, DX có
BH, BL, CH, CL, DH, DL
Chức năng chuyên biệt của từng thanh ghi dữ liệu:
* Thanh ghi AX (thanh ghi chứa – Accumulator register)
AX là thanh ghi phổ biến nhất trong các lệnh số học, logic và chuyển dữ liệu, vì việc sử dụng nó giúp tạo ra mã máy ngắn gọn và hiệu quả hơn.
Trong phép toán nhân chia, một trong các số hạng phải được lưu trữ trong thanh ghi AX (đối với 16 bit) hoặc AL (đối với 8 bit) Ngoài ra, các thao tác vào ra cũng sử dụng thanh ghi này.
* Thanh ghi BX (thanh ghi cơ sở - Base register)
Thanh ghi này không chỉ thực hiện thao tác dữ liệu mà còn lưu trữ địa chỉ cơ sở của một bảng, phục vụ cho lệnh XLAT, giúp chuyển đổi giá trị AL thành một giá trị tương ứng trong bảng BX.
* Thanh ghi CX (thanh ghi đếm - Count register)
Việc xây dựng chương trình lặp trở nên đơn giản với thanh ghi CX, nơi CX hoạt động như bộ đếm vòng lặp thông qua các lệnh REP và LOOP Đồng thời, thanh ghi CL được sử dụng làm bộ đếm cho các lệnh dịch và quay bit.
* Thanh ghi DX (thanh ghi dữ liệu - Data register)
DX và AX được sử dụng trong các phép nhân và chia số 16 bit DX cũng đóng vai trò quan trọng trong việc lưu trữ địa chỉ cổng cho các lệnh vào/ra dữ liệu trực tiếp (IN/OUT) Ngoài ra, các thanh ghi đoạn như SC, DS, ES và SS cũng có vai trò quan trọng trong việc quản lý dữ liệu.
Khối BIU trên BUS của vi xử lý 8088 sử dụng địa chỉ 20 bit, cho phép phân biệt 1.048.576 ô nhớ, tương đương với 1 Mbyte Không gian địa chỉ của 8088 là 1 Mb, và trong không gian này, bộ nhớ cần được chia thành nhiều đoạn khác nhau, bao gồm đoạn chứa chương trình, đoạn chứa dữ liệu, và vùng nhớ đặc biệt gọi là ngăn xếp, nơi lưu trữ kết quả trung gian của chương trình.
Bộ vi xử lý 8088 sử dụng các thanh ghi 16 bit để quản lý địa chỉ đầu của các đoạn, được gọi là các thanh ghi đoạn, bao gồm SC, DS, ES và SS.
Các thanh ghi đoạn chỉ ra địa chỉ đầu của 4 đoạn trong bộ nhớ có dung lượng lớn nhất là 64 Kb Các đoạn này có thể nằm cách nhau hoặc trùm lên nhau.
Nội dung của thanh ghi xác định địa chỉ của ô nhớ đầu tiên trong đoạn, được gọi là địa chỉ cơ sở Các ô nhớ khác trong cùng đoạn được tính bằng cách cộng thêm địa chỉ cơ sở với giá trị lệch (offset) Địa chỉ vật lý (20 bit) của một ô nhớ được tính theo công thức: Địa chỉ vật lý = Địa chỉ đoạn * 10h + thanh ghi lệch (offset).
Địa chỉ logic trong máy tính được biểu diễn dưới dạng Segment: Offset, và chỉ những ô nhớ được xác định bởi 4 đoạn này mới có thể được truy cập Các thanh ghi con trỏ và chỉ số bao gồm SI, DI, SP, và BP.
Trong 8088 có 3 thanh ghi con trỏ và 2 thanh ghi chỉ số 16 bit Các thanh ghi này (trừ
Các thanh ghi như IP có thể hoạt động như thanh ghi đa năng, nhưng mỗi loại thanh ghi thường được sử dụng với một mục đích cụ thể Thanh ghi BP, hay còn gọi là con trỏ cơ sở, là một ví dụ điển hình, được ngầm định sử dụng như thanh ghi lệch cho các đoạn tương ứng.
BP luôn trỏ vào một dữ liệu nằm trong đoạn ngăn xếp SS Địa chỉ cụ thể SS:BP được xác định như trên.
Thanh ghi SP (Stack Pointer) được sử dụng kết hợp với SS để truy cập vào đoạn ngăn xếp, luôn trỏ vào đỉnh hiện tại của ngăn xếp trong đoạn SS Địa chỉ cụ thể được xác định bởi SS:SP.
(chỉ số nguồn – Source Index)
SI chỉ vào dữ liệu trong đoạn dữ liệu DS mà địa chỉ cụ thể tương ứng với DS:SI.
Bằng cách tăng nội dung của SI chúng ta có thể truy nhập dễ dàng đến ô nhớ liên tiếp.
* Thanh ghi DI (chỉ số đích – Destination Index)
DI chỉ đến dữ liệu trong đoạn dữ liệu DS tại địa chỉ cụ thể DS:DI Một số lệnh thao tác chuỗi sử dụng DI để truy cập các ô nhớ được định địa chỉ bởi DI.
ES. d Thanh ghi con trỏ lệnh: IP
Kiến trúc RISC
Kiến trúc CISC (Complex Instruction Set Computer) đã ra đời từ những năm 1960, khi các nhà nghiên cứu nhận thấy rằng các chương trình dịch gặp khó khăn trong việc sử dụng các thanh ghi Họ phát hiện rằng vi lệnh thực hiện nhanh hơn lệnh thông thường, và cần thiết phải giảm độ dài của các chương trình Những đặc điểm này đã dẫn đến việc ưu tiên các kiểu ô nhớ - ô nhớ và ô nhớ - thanh ghi, với các lệnh phức tạp và nhiều kiểu định vị Kết quả là, các lệnh có chiều dài thay đổi, khiến việc sử dụng bộ điều khiển vi chương trình trở nên hiệu quả hơn.
Bảng II.6 trình bày các đặc tính của một số máy CISC tiêu biểu, cho thấy rằng cả ba máy đều có điểm chung là số lượng lệnh phong phú, chiều dài lệnh thay đổi và sử dụng nhiều phương pháp thực hiện lệnh cùng với nhiều vi chương trình khác nhau.
Tiến bộ trong lĩnh vực mạch tích hợp (IC) và kỹ thuật dịch chương trình đã làm thay đổi cách nhìn nhận về các nhận định trước đây, đặc biệt khi có khảo sát định lượng về việc sử dụng tập lệnh của các máy CISC.
Bảng 2-1 Đặc tính một vài máy CISC
Vào đầu những năm 1980, khái niệm về máy tính với tập lệnh rút gọn RISC đã được giới thiệu, nhấn mạnh sự tương đồng trong việc sử dụng thanh ghi và ô nhớ giữa các vi chương trình và chương trình Các máy RISC chủ yếu dựa vào một tập lệnh cho phép thực hiện kỹ thuật ống dẫn hiệu quả, với các lệnh có chiều dài cố định, cấu trúc đơn giản và dễ giải mã Máy RISC sử dụng phương pháp thực hiện lệnh thanh ghi - thanh ghi.
Chỉ có các lệnh ghi hoặc đọc ô nhớ mới cho phép thâm nhập vào ô nhớ.
Bảng II.7 trình bày ba mẫu máy RISC đầu tiên, bao gồm IBM 801 của IBM, RISC1 của Patterson từ Berkeley, và MIPS của Hennessy từ Stanford Cả ba máy này đều sử dụng bộ điều khiển bằng mạch điện mà không có ô nhớ vi chương trình, có độ dài lệnh cố định là 32 bits, thực hiện lệnh theo kiểu thanh ghi - thanh ghi, và chỉ có một số lượng lệnh hạn chế.
Bảng 2-2 Đặc tính của ba mẫu đầu tiên máy RISC
Bộ xử lý IBM801 RISC1 MIPS
Dung lượng bộ nhớ vi 0 0 0 chương trình
32 32 32 Độ dài lệnh (tính bằng bít)
ECL MSI NMOS VLSI NMOS VLSI
Cách thực hiện Thanhghi-Thanh Thanh ghi– Thanh Thanhghi-Thanh ghi ghi ghi
Tóm lại, ta có thể định nghĩa mạch xử lý RISC bởi các tính chất sau:
- Có một số ít lệnh (thông thường dưới 100 lệnh )
- Có một số ít các kiểu định vị (thông thường hai kiểu: định vị tức thì và định vị gián tiếp thông qua một thanh ghi)
-Có một số ít dạng lệnh (một hoặc hai)
- Các lệnh đều có cùng chiều dài.
-Chỉ có các lệnh ghi hoặc đọc ô nhớ mới thâm nhập vào bộ nhớ
-Dùng bộ tạo tín hiệu điều khiển bằng mạch điện để tránh chu kỳ giải mã các vi lệnh làm cho thời gian thực hiện lệnh kéo dài.
- Bộ xử lý RISC có nhiều thanh ghi để giảm bớt việc thâm nhập vào bộ nhớ trong
Ngoài ra các bộ xử lý RISC đầu tiên thực hiện tất cả các lệnh trong một chu kỳ máy
Bộ xử lý RISC có các lợi điểm sau :
Diện tích của bộ xử lý cho bộ điều khiển đã giảm đáng kể từ 60% đối với các bộ xử lý CISC xuống chỉ còn 10% cho các bộ xử lý RISC Sự giảm thiểu này cho phép tích hợp thêm các thành phần như thanh ghi, cổng vào ra và bộ nhớ cache vào bên trong bộ xử lý.
Tốc độ tính toán cao đạt được nhờ vào việc giải mã lệnh đơn giản và sử dụng nhiều thanh ghi, giúp giảm thiểu việc truy cập bộ nhớ Bên cạnh đó, kỹ thuật ống dẫn liên tục và hiệu quả cho phép các lệnh có thời gian thực hiện đồng nhất và cùng dạng, từ đó tối ưu hóa hiệu suất xử lý.
- Thời gian cần thiết để thiết kế bộ điều khiển là ít Điều này góp phần làm giảm chi phí thiết kế
-Bộ điều khiển trở nên đơn giản và gọn làm cho ít rủi ro mắc phải sai sót mà ta gặp thường trong bộ điều khiển
Trước những điều lợi không chối cãi được, kiến trúc RISC có một số bất lợi:
+ Các chương trình dài ra so với chương trình viết cho bộ xử lý CISC Điều này do các nguyên nhân sau :
Việc cấm thâm nhập bộ nhớ đối với tất cả các lệnh, ngoại trừ các lệnh đọc và ghi, dẫn đến việc cần sử dụng nhiều lệnh để hoàn thành một công việc cụ thể.
+Cần thiết phải tính các địa chỉ hiệu dụng vì không có nhiều cách định vị
+ Tập lệnh có ít lệnh nên các lệnh không có sẵn phải được thay thế bằng một chuỗi lệnh của bộ xử lý RISC.
Các chương trình dịch thường gặp khó khăn do số lượng lệnh hạn chế, dẫn đến ít lựa chọn trong việc diễn dịch các cấu trúc của chương trình gốc Thêm vào đó, sự cứng nhắc của kỹ thuật ống dẫn cũng tạo ra những thách thức đáng kể.
+ Có ít lệnh trợ giúp cho ngôn ngữ cấp cao.
Các bộ xử lý CISC hỗ trợ tốt hơn cho các ngôn ngữ lập trình cao cấp nhờ vào tập lệnh phức tạp Hãng Honeywell đã phát triển một máy tính với một lệnh tương ứng cho mỗi động từ trong ngôn ngữ COBOL Những tiến bộ gần đây đã cho phép tích hợp một bộ xử lý RISC nền và nhiều toán tử chuyên dụng vào một vi mạch.
Thí dụ, bộ xử lý 860 của Intel bao gồm một bộ xử lý RISC, bộ làm tính với các số lẻ và một bộ tạo tín hiệu đồ hoạ.
4.2 Các kiểu định vị trong các bộ xử l ý
Trong bộ xử lý RISC, các lệnh số học và logic được thực hiện theo kiểu thanh ghi và tức thì, trong khi các lệnh đọc và ghi vào bộ nhớ sử dụng các kiểu định vị khác Kiểu định vị thanh ghi là phổ biến trong các bộ xử lý RISC, với các toán hạng nguồn và kết quả nằm trong thanh ghi, được xác định qua số thứ tự trong lệnh Hình II.5 minh họa một số ví dụ về kiểu thanh ghi và dạng lệnh tương ứng trong các kiến trúc RISC.
Bảng 2-3 Dạng lệnh trong kiểu định vị thanh ghi –thanh ghi cho một số CPU RISC
MIPS Opcode nguồn 1 nguồn 2 Đích Dịch Hàm
SPARC Opcode Đích Opcode nguồn 1 0 Khoảng nguồn2
Power Opcode Đích nguồn 1 nguồn2 Opcode mở rộng 0
ALPHA Opcode nguồn 1 nguồn 2 3 0 Opcode Đích
6 5 5 1 mở rộng 7 5 b Kiểu định vị tức thì
Trong kiểu này, toán hạng là một số có dấu, được chứa ngay trong lệnh Hình II.6 cho ta vài ví dụ về dạng lệnh kiểu tức thì.
Bảng 2-4 Dạng lệnh trong kiểu định vị thanh ghi - tức thì cho một số CPU RISC
MIPS Opcode Thanh ghi Thanh Số có dấu (toán hạng tức thì)
SPARC Opcode Thanh Opcode Thanh 1 Toán hạng tức thì có
2 ghi 6 ghi 1 dấu đích nguồn
ALPHA Opcode Thanh ghi Toán 1 Opcode mở Thanh
6 nguồn hạng tức rộng ghi
Power Opcode Thanh ghi Thanh Toán hạng tức thì có dấu
5 c Kiểu định vị trực tiếp
Trong kiểu này, địa chỉ trực tiếp được sử dụng để nhập các biến, với toán hạng nằm ngay trong lệnh Ví dụ, kiểu định vị biến trong hệ điều hành cho thấy rằng người sử dụng không có quyền can thiệp.
Bảng 2-5 Dạng lệnh thâm nhập bộ nhớ trong của một số kiến trúc RISC
MIPS Opcode Thanh ghi Thanh ghi độ dờicó dấu
SPARC Opcod Thanh Opcode Thanh ghi 1 độ dời có dấu e ghi số 6 địa chỉ 1
ALPHA Opcode Thanh ghi Thanh ghi Độ dời có dấu
Power Opcode Thanh ghi Thanh ghi Độ dời có dấu
Kiểu định vị gián tiếp bằng thanh ghi và độ dời là một đặc trưng của kiến trúc RISC, trong đó địa chỉ toán hạng được tính theo công thức: Địa chỉ toán hạng = Thanh ghi (địa chỉ) + độ dời Đáng chú ý, kiểu định vị trực tiếp chỉ là một trường hợp đặc biệt của kiểu này khi thanh ghi (địa chỉ) bằng 0 Trong các bộ xử lý RISC, một thanh ghi như R0 hoặc R31 được nối với điện thế thấp (0), cho phép sử dụng thanh ghi đó để thực hiện định vị trực tiếp.
Một vài bộ xử lý RISC, ví dụ bộ xử lý PowerPC, dùng kiểu định vị này.
Toán hạng
Kiểu của toán hạng thường đượcđưa vào trong mã tác vụ của lệnh Có bốn kiểu toán hạng được dùng trong các hệ thống:
- Kiểu dạng số: số nguyên, dấu chấm động,
- Kiểu dạng chuỗi ký tự: ASCII, EBIDEC,
-Kiểu dữ liệu logic: các bit, cờ,
Tuy nhiên một số ít máy tính dùng các nhãn để xác định kiểu toán hạng.
Toán hạng xác định thường có chiều dài cố định, bao gồm các kích thước như byte (8 bit), nửa từ máy tính (16 bit), từ máy tính (32 bit) và đôi máy tính (64 bit) Đặc biệt, kiến trúc PA của HP (Hewlett Packard) hỗ trợ tính toán với các số thập phân BCD, trong khi một số bộ xử lý có khả năng xử lý chuỗi ký tự.
Câu hỏi ôn tập và bài tập
1 Các thành phần của một hệ máy tính đơn giản
2.Nêu chức năng của các thanh ghi cơ sở và thanh ghi cờ.
3 Chỉ ra giá trị của các cờ trạng thái sau khi thực hiện các lệnh sau: MOV
MOV DL,D7h; ADD AL,DL;
3 Nêu định nghĩa kiến trúc máy tính
4 Mô tả các kiểu thi hành lệnh của một máy tính Tại sao kiểu thi hành lệnh thanh ghi – thanh ghi được dùng nhiều hiện tại?
5 Mô tả mỗi kiểu định vị trong các kiểu định vị mà một CPU có thể có Cho CPU RISC, các kiểu định vị nào thường được dùng nhất?
6 Sự khác biệt giữa CPU RISC và CPU CISC?
TỔ CHỨC BỘ XỬ LÝ
Đường đi của dữ liệu
Phần đường đi của dữ liệu bao gồm bộ phận làm tính và luận lý (ALU), các mạch dịch, các thanh ghi và các kết nối giữa các bộ phận Đây là nơi chứa hầu hết các trạng thái của bộ xử lý Ngoài các thanh ghi tổng quát, phần đường đi dữ liệu còn có nhiều thành phần quan trọng khác.
Thanh ghi đếm chương trình (PC: Program Counter),
Thanh ghi trạng thái(SR: Status Register),
Thanh ghi đệm TEMP (temporary),
Các thanh ghi địa chỉ bộ nhớ (MAR : Memory Address Register),
Thanh ghi số liệu bộ nhớ (MBR: Memory Buffer Register).
Bộ đa hợp (MUX: Multiplexor) là thành phần quan trọng trong hệ thống máy tính, đóng vai trò là điểm cuối của kênh dữ liệu giữa CPU và bộ nhớ Nhiệm vụ chính của MUX là lập thời biểu truy cập bộ nhớ từ CPU, đồng thời quản lý các kênh dữ liệu, hệ thống BUS nguồn (S1, S2) và bus kết quả (Dest).
Phần đường đi dữ liệu có nhiệm vụ chính là đọc các toán hạng từ các thanh ghi tổng quát, thực hiện phép tính trong bộ làm tính và luận lý ALU, và lưu trữ kết quả trở lại các thanh ghi tổng quát Tại các ngã vào và ngã ra của thanh ghi tổng quát, có các mạch chốt A, B, C Thông thường, hệ thống sử dụng 32 thanh ghi tổng quát.
Phần đường đi của dữ liệu chiếm phân nửa diện tích của bộ xử lý nhưng là phần dễ thiết kế và cài đặt trong bộ xử lý.
Hình 3-1 Tổ chức của một bộ xử lý điển hình ( các đường không liên tục là các đường điều khiển)
ALU (Arthmetical and Logical Unit):bộ phận tính toán số học và logic.
PC: Program Counter :thanh ghi đếm chương trình.
SR: Status Register : thanh ghi trạng thái
Temp: temporary :thanh ghi đệm
MAR: Memory address Register :thanh ghi địa chỉ nhớ
MBR: Memory Buffer Register :thanh ghi số liệu bộ nhớ
MUX: Multiplexor : Bộ đa hợp
Interrupt Request): yêu cầu ngắt, một đường hoặc môt tín hiệu được kích hoạt bởi thiết bị ngoại vi để phát ra một ngắt cứng tới CPU.
Bộ điều khiển
Bộ điều khiển tạo ra tín hiệu điều khiển để di chuyển dữ liệu giữa các thanh ghi và bus, cũng như điều khiển các tác vụ của các bộ phận chức năng như ALU và bộ nhớ Nó đảm bảo rằng các lệnh được thực hiện theo thứ tự Việc cài đặt bộ điều khiển có thể thực hiện bằng mạch điện tử hoặc vi chương trình.
2.1 Bộ điều khiển mạch điện tử Để hiểu được vận hành của bộ điều khiển mạch điện tử, chúng ta xét đến mô tả về Automate trạng thái hữu hạn: có nhiều hệ thống hay nhiều thành phần mà ở mỗi thời điểm xem xét đều có một trạng thái (state) Mục đích của trạng thái là ghi nhớ những gì có liên quan trong quá trình hoạt động của hệ thống Vì chỉ có một số trạng thái nhất định nên nói chung không thể ghi nhớ hết toàn bộ lịch sử của hệ thống, do vậy nó phải được thiết kế cẩn thận để ghi nhớ những gì quan trọng Ưu điểm của hệ thống (chỉ có một số hữu hạn các trạng thái) đó là có thể cài đặt hệ thống với một lượng tài nguyên cố định Chẳng hạn, chúng ta có thể cài đặt Automate trạng thái hữu hạn trong phần cứng máy tính ở dạng mạch điện hay một dạng chương trình đơn giản, trong đó, nó có khả năng quyết định khi chỉ biết một lượng giới hạn dữ liệu hoặc bằng cách dùng vị trí trong đoạn mã lệnh để đưa ra quyết định.
Hình 3-2 Nguyên tắc vận hành của bộ điều khiển dùng mạch điện
Hình 3-2 minh họa nguyên tắc hoạt động của bộ điều khiển bằng mạch điện, trong đó các đường điều khiển từ phần đường đi số liệu là các ngã ra của một hoặc nhiều Automate trạng thái hữu hạn Các ngã vào của Automate bao gồm thanh ghi lệnh, nơi lưu trữ lệnh cần thi hành và thông tin từ bộ đường đi số liệu Dựa trên cấu hình các đường vào và trạng thái hiện tại, Automate xác định trạng thái tương lai và các đường ra tương ứng Automate có thể được cài đặt dưới dạng một hoặc nhiều mạch mảng logic lập trình được (PLA) hoặc các mạch logic ngẫu nhiên.
Kỹ thuật điều khiển này rất hiệu quả và dễ thực hiện khi các lệnh có chiều dài cố định và có định dạng đơn giản Phương pháp này thường được áp dụng trong các bộ xử lý RISC.
2.2 Bộ điều khiển vi chương trình:
Hình 3-3: Nguyên tắc vận hành của bộ điều khiển vi chương trình
Sơ đồ nguyên tắc của bộ điều khiển vi chương trình được mô tả trong hình 3-3, cho thấy các đường dây điều khiển tương ứng với ngã ra của vi lệnh trong bộ nhớ Các tác vụ của lệnh mã máy được điều khiển thông qua chuỗi vi lệnh, với vi máy tính bên trong bộ điều khiển thực hiện từng lệnh của vi chương trình Vi máy tính này đảm bảo việc thực hiện tuần tự các vi lệnh để hoàn thành nhiệm vụ của lệnh mã máy.
Các tác vụ của lệnh mã máy cũng tuỳ thuộc vào trạng thái của phần đường đi dữ liệu.
Bộ điều khiển bằng vi chương trình thường được sử dụng trong các bộ xử lý CISC, nổi bật với tập lệnh phức tạp và chiều dài lệnh đa dạng Việc cài đặt lệnh mã máy trong các bộ xử lý này được thực hiện bằng cách viết vi chương trình, giúp cho quá trình trở nên đơn giản và hiệu quả Hơn nữa, các sai sót trong thiết kế automat điều khiển cũng dễ dàng được sửa đổi.
Diễn tiến thi hành lệnh mã máy
Việc thi hành một lệnh mã máy có thể chia thành 5 giai đoạn:
+ Đọc lệnh (IF: Instruction Fetch)
+Giải mã lệnh (ID: Instruction Decode)
+ Thi hành lệnh (EX: Execute)
+ Thâm nhập bộ nhớ trong hoặc nhảy (MEM: Memory access)
+ Lưu trữ kết quả (RS: Result Storing)
Mỗi giai đoạn được thi hành trong một hoặc nhiều chu kỳ xung nhịp. a Đọc lệnh:
Bộ đếm chương trình (PC) được đưa vào thanh ghi địa chỉ bộ nhớ (MAR) Lệnh được đọc từ bộ nhớ trong tại các ô nhớ có địa chỉ trong MAR và sau đó được chuyển vào thanh ghi lệnh (IR) Quá trình tiếp theo là giải mã lệnh và đọc các thanh ghi nguồn.
Lệnh được giải mã Kế đó các thanh ghi Rs1 và Rs2 được đưa vào A và B Thanh ghi
PC được tăng lên để chỉ tới lệnh kế đó. Để hiểu rõ giai đoạn này, ta lấy dạng thức của một lệnh làm tính tiêu biểu sau đây:
Các thanh ghi nguồn Rs1 và Rs2 được sử dụng tuỳ theo tác vụ, kết quả được đặt trong thanh ghi đích Rd.
Việc giải mã lệnh diễn ra đồng thời với việc đọc các thanh ghi Rs1 và Rs2, do các thanh ghi này luôn được đặt ở cùng một vị trí trong lệnh.
Tuỳ theo loại lệnh mà một trong ba nhiệm vụ sau đây được thực hiện:
- Liên hệ tới bộ nhớ
MAR ← Địa chỉ do ALU tính tuỳ theo kiểu định vị (Rs2).
MBR ← Rs1 Địa chỉ hiệu dụng do ALU tính được đưa vào MAR và thanh ghi nguồn Rs1 được đưa vào MBR để được lưu vào bộ nhớ trong.
Ngã ra ALU ← Kết quả của phép tính
ALU thực hiện phép tính xác định trong mã lệnh, đưa kết quả ra ngã ra.
Ngã ra ALU ← Địa chỉ lệnh tiếp theo do ALU tính.
ALU kết hợp địa chỉ của bộ đếm chương trình (PC) với độ dời để tạo ra địa chỉ đích, sau đó xuất địa chỉ này Trong trường hợp thực hiện phép nhảy có điều kiện, thanh ghi trạng thái sẽ được kiểm tra để quyết định việc cộng độ dời vào PC Cuối cùng, quá trình thâm nhập bộ nhớ trong hoặc thực hiện phép nhảy được thực hiện.
Giai đoạn này thường chỉ được dùng cho các lệnh nạp dữ liệu, lưu giữ dữ liệu và lệnh nhảy.
- Tham khảo đến bộ nhớ:
MBR ← M[MAR] hoặc M[MAR] ← MBR
Số liệu được nạp vào MBR hoặc lưu vào địa chỉ mà MAR trỏ đến.
If (điều kiện), PC ← ngả ra ALU
Khi điều kiện đúng, giá trị từ ALU sẽ được nạp vào thanh ghi PC Đối với lệnh nhảy không có điều kiện, giá trị từ ALU luôn được lưu vào thanh ghi PC Sau đó, kết quả sẽ được lưu trữ.
Rd ← Ngã ra ALU hoặc Rd ← MBR
Lưu trữ kết quả trong thanh ghi đích.
Ngắt (INTERRUPT)
Ngắt quãng là sự kiện ngẫu nhiên trong máy tính, làm gián đoạn tính tuần tự của chương trình bằng cách tạo ra lệnh nhảy Nhiều nhà sản xuất máy tính như IBM và INTEL thường sử dụng thuật ngữ "ngắt quãng" để mô tả hiện tượng này, trong khi một số nhà sản xuất khác lại gọi nó là "ngoại lệ", "lỗi" hoặc "bẩy".
Bộ điều khiển CPU là phần phức tạp nhất trong hệ thống, với ngắt quãng là thách thức lớn nhất Để nhận diện ngắt quãng trong quá trình thực thi lệnh, cần điều chỉnh chu kỳ xung nhịp, điều này có thể tác động đến hiệu suất của máy tính.
Ngắt quãng được phát minh nhằm phát hiện sai sót trong tính toán số học và ứng dụng cho các hiện tượng thời gian thực Hiện nay, ngắt quãng được áp dụng cho nhiều công việc khác nhau.
+Ngoại vi đòi hỏi nhập hoặc xuất số liệu
+Người lập trình muốn dùng dịch vụ của hệ điều hành
+ Cho một chương trình chạy từng lệnh.
+ Làm điểm dừng của một chương trình.
+Báo tràn số liệu trong tính toán số học
+ Trang bộ nhớ thực sự không có trong bộ nhớ
+ Báo vi phạm vùng cấm của bộ nhớ.
+ Báo dùng một lệnh không có trong tập lệnh.
+ Báo phần cứng máy tính bị hư.
Mặc dù ngắt quãng không xảy ra thường xuyên, bộ xử lý cần được thiết kế để lưu giữ trạng thái trước khi phục vụ ngắt Sau khi hoàn thành chương trình phục vụ ngắt, bộ xử lý sẽ khôi phục trạng thái để tiếp tục công việc Để đơn giản hóa thiết kế, một số bộ xử lý chỉ chấp nhận ngắt sau khi hoàn tất lệnh đang thực thi Khi ngắt xảy ra, bộ xử lý thực hiện các bước cần thiết để xử lý tình huống này.
1 Thực hiện xong lệnh đang làm.
2 Lưu trữ trạng thái hiện tại.
3 Nhảy đến chương trình phục vụ ngắt
4 Khi chương trình phục vụ chấm dứt, bộ xử lý khôi phục lại trạng thái cũ của nó và tiếp tục thực hiện chương trình mà nó đang thực hiện khi bị ngắt.
Kỹ thuật ống dẫn (PIPELINE)
5.1 Ống dẫn Đây là một kỹ thuật làm cho các giai đoạn khác nhau của nhiều lệnh được thi hành cùng một lúc.
Chúng ta có những lệnh được thực hiện đều đặn, với mỗi lệnh trải qua 5 giai đoạn trong 1 chu kỳ xung nhịp Các giai đoạn thực hiện bao gồm việc lấy lệnh.
Instruction Fetch), giải mã (ID: Instruction Decode), thi hành (EX: Execute), thâm nhập bộ nhớ (MEM: Memory Access), lưu trữ kết quả (RS: Result Storing).
Bảng 3-1 cho thấy chỉ trong một chu kỳ xung nhịp, bộ xử lý có thể thực hiện một lệnh (bình thường lệnh này được thực hiện trong 5 chu kỳ).
Bảng 3-1.Các giai đoạn khác nhau của nhiều lệnh được thi hành cùng một lúc
So với phương pháp xử lý tuần tự truyền thống, việc thực hiện 5 lệnh thông qua kỹ thuật ống dẫn chỉ mất 9 chu kỳ xung nhịp, trong khi phương pháp tuần tự cần đến 25 chu kỳ xung nhịp.
Như vậy kỹ thuật ống dẫn làm tăng tốc độ thực hiện các lệnh Tuy nhiên kỹ thuật ống dẫn có một số ràng buộc:
Để thực hiện mỗi giai đoạn của lệnh, cần có một mạch điện vì tất cả các giai đoạn được thi hành đồng thời Trong bộ xử lý không sử dụng kỹ thuật ống dẫn, bộ làm toán ALU có thể được dùng để cập nhật thanh ghi PC, địa chỉ toán hạng bộ nhớ và địa chỉ ô nhớ mà chương trình cần nhảy tới, đồng thời thực hiện các phép tính trên các toán hạng, vì các phép tính này có thể xảy ra ở nhiều giai đoạn khác nhau.
Để thực hiện các tác vụ đọc và viết hiệu quả, cần có nhiều thanh ghi khác nhau Như minh họa trong hình 3-4, trong một chu kỳ xung nhịp, có thể thấy đồng thời có hai tác vụ đọc (ID, MEM) diễn ra.
Trong một hệ thống máy tính sử dụng kỹ thuật ống dẫn, kết quả từ một tác vụ trước có thể trở thành toán hạng nguồn cho một tác vụ khác Điều này tạo ra những thách thức bổ sung mà chúng ta sẽ thảo luận trong phần tiếp theo.
- Cần phải giải mã các lệnh một cách đơn giản để có thể giải mã và đọc các toánhạng trong một chu kỳ duy nhất của xung nhịp.
Để thực hiện các lệnh số học phức tạp với số giữ, cần thiết phải có các bộ làm tính ALU hiệu quả, giúp hoàn thành trong thời gian ngắn hơn một chu kỳ xung nhịp.
- Cần phải có nhiều thanh ghi lệnh để lưu giữ lệnh mà chúng ta phải xem xét cho mỗi giai đoạn thi hành lệnh
- Cuối cùng phải có nhiều thanh ghi bộ đếm chương trình PC để có thể tái tục các lệnh trong trường hợp có ngắt quãng
5.2 Khó khăn trong kỹ thuật ống dẫn
Khi thực hiện lệnh trong máy tính sử dụng kỹ thuật ống dẫn, có nhiều yếu tố có thể gây cản trở, bao gồm việc thiếu các mạch chức năng, một lệnh phụ thuộc vào kết quả của lệnh trước đó, và các lệnh nhảy.
Có ba loại khó khăn chính: khó khăn do cấu trúc, khó khăn do số liệu và khó khăn do điều khiển Khó khăn do cấu trúc phát sinh từ việc thiếu các bộ phận chức năng cần thiết, như trong máy tính sử dụng kỹ thuật ống dẫn, cần có nhiều ALU, PC và thanh ghi lệnh IR Những khó khăn này có thể được khắc phục bằng cách bổ sung các bộ phận chức năng phù hợp và hiệu quả.
Lấy ví dụ trường hợp các lệnh liên tiếp sau:
Hình 3-4 minh họa rằng R1, kết quả từ lệnh 1, chỉ có thể được sử dụng cho lệnh 2 sau giai đoạn MEM của lệnh 1 Tuy nhiên, R1 lại được áp dụng cho lệnh 2 trong giai đoạn EX của lệnh 1 Ngoài ra, R1 còn được sử dụng cho các lệnh 3 và 4.
Để giải quyết khó khăn do số liệu gây ra, một bộ phận phần cứng được sử dụng để chuyển trực tiếp kết quả từ ngã vào ALU vào một trong các thanh ghi ngã, như minh họa trong hình 3-5.
Hình 3-5 ALU với bộ phận phần cứng đưa kết quả tính toán trở lại ngã vào
Khi bộ phận phần cứng phát hiện rằng kết quả của ALU được sử dụng cho phép toán hạng trong liệt kê, nó sẽ điều chỉnh mạch đa hợp để chuyển đầu ra của ALU vào đầu vào của chính ALU hoặc vào đầu vào của một đơn vị chức năng khác nếu cần thiết.
Các lệnh điều khiển dòng chảy chương trình có thể làm thay đổi tính thi hành các lệnh một cách tuần tự, gây khó khăn về điều khiển Chúng bao gồm lệnh nhảy đến một địa chỉ tuyệt đối chứa trong một thanh ghi hoặc lệnh nhảy đến một địa chỉ xác định một cách tương đối so với địa chỉ hiện tại của bộ đếm chương trình PC, và có thể có hoặc không điều kiện.
Trong trường hợp đơn giản nhất, tác vụ nhảy không thể xác định trước giai đoạn giải mã Nếu lệnh nhảy bắt đầu ở chu kỳ C, lệnh mà chương trình đang thực hiện sẽ ở cuối giai đoạn giải mã ID Đối với lệnh nhảy tương đối, cần cộng độ dời trong thanh ghi lệnh IR vào thanh ghi PC Việc tính toán địa chỉ này chỉ được thực hiện trong giai đoạn ID, với điều kiện có một mạch công việc riêng biệt.
Vậy trong trường hợp lệnh nhảy không điều kiện, lệnh mà chương trình nhảy đến bắt đầu thực hiện ở chu kỳ C+2 nếu lệnh nhảy bắt đầu ở chu kỳ C.
Các lệnh nhảy có điều kiện yêu cầu tính toán điều kiện, thường được lưu trữ trong thanh ghi trạng thái hoặc thanh ghi tổng quát trong kiến trúc RISC Việc đọc điều kiện tương đương với việc đọc thanh ghi, và quá trình này có thể thực hiện trong nửa chu kỳ cuối của giai đoạn ID.
Trong các lệnh nhảy có điều kiện, một trường hợp phức tạp hơn xuất hiện khi cần so sánh hai thanh ghi và chỉ thực hiện lệnh nhảy khi kết quả so sánh đúng Việc tính toán trên các đại lượng logic không thể hoàn thành trong nửa chu kỳ, dẫn đến việc phải kéo dài thời gian thực hiện lệnh nhảy có điều kiện Do đó, người ta thường tránh các tình huống này để duy trì hiệu suất tối ưu của máy tính.
Siêu ống dẫn
Máy tính sử dụng kỹ thuật siêu ống dẫn bậc n bằng cách chia nhỏ các giai đoạn của kỹ thuật ống dẫn đơn giản thành n giai đoạn con, mỗi giai đoạn thực hiện trong khoảng thời gian Tc/n Kỹ thuật này cho phép thực hiện n lệnh trong mỗi chu kỳ Tc, nâng cao hiệu suất xử lý Hình 3-6 minh họa ví dụ về siêu ống dẫn bậc 2 và so sánh với siêu ống dẫn đơn giản, cho thấy rõ sự khác biệt trong hiệu quả trong một chu kỳ Tc.
2 lệnh thay vì làm1 lệnh trong máy dùng kỹ thuật ống dẫn bình thường
Trong máy tính siêu ống dẫn, tốc độ thực hiện lệnh đạt được bằng cách thực hiện một lệnh trong thời gian Tc/n Tuy nhiên, siêu ống dẫn gặp phải một số bất lợi, bao gồm thời gian thực hiện giai đoạn con ngắn Tc/n và độ trễ lớn trong việc thi hành lệnh nhảy Cụ thể, khi lệnh thứ i là một lệnh nhảy tương đối, lệnh này được giải mã trong giai đoạn ID, địa chỉ nhảy đến được xác định trong giai đoạn EX, và lệnh cần nhảy tới là lệnh thứ i+4, dẫn đến việc trì trệ 3 lệnh thay vì chỉ 1 lệnh như trong kỹ thuật ống dẫn thông thường.
Siêu ống dẫn bậc 2 có khả năng thực hiện 2 lệnh trong khoảng thời gian Tc, trong khi siêu ống dẫn đơn giản chỉ có thể thực hiện 1 lệnh Điều này cho thấy sự vượt trội của siêu ống dẫn bậc 2 so với các công nghệ ống dẫn truyền thống.
Câu hỏiôn tậpvà bài tập
1 Các thành phần và nhiệm vụ của đường đi dữ liệu?
2.Thế nào là ngắt? Các giai đoạn thực hiện ngắt của CPU
3 Vẽ hình để mô tả kỹ thuật ống dẫn Kỹ thuật ống dẫn làm tăng tốc độ CPU lên bao nhiêu lần (theo lý thuyết)? Tại sao trên thực tế sự gia tăng này lại ít hơn?
4 Các điều kiện mà một CPU cần phải có để tối ưu hoá kỹ thuật ốngdẫn Giải thích từng điều kiện
5 Các khó khăn trong kỹ thuật ống dẫn và cách giải quyết khó khăn này
BỘ NHỚ
Các loại bộ nhớ
Bộ nhớ máy tính là nơi chứa chương trình, bao gồm cả lệnh và dữ liệu Có nhiều loại bộ nhớ khác nhau, bao gồm bộ nhớ trong (RAM - Bộ nhớ vào ra ngẫu nhiên) được chế tạo bằng chất bán dẫn, bộ nhớ chỉ đọc (ROM) và bộ nhớ ngoài như đĩa cứng, đĩa mềm, băng từ, trống từ, đĩa quang và thẻ nhớ.
Bộ nhớ RAM là loại bộ nhớ cho phép đọc và ghi dữ liệu với thời gian đồng nhất, bất kể vị trí của các ô nhớ Mỗi ô nhớ trong RAM có một địa chỉ riêng, thường là một byte (8 bit), nhưng hệ thống có khả năng xử lý nhiều byte cùng lúc (2, 4 hoặc 8 byte) Các đặc điểm chính của bộ nhớ trong (RAM) bao gồm dung lượng và cấu trúc (số ô nhớ và số bit mỗi ô), thời gian thâm nhập (thời gian từ khi đưa ra địa chỉ đến khi đọc được nội dung) và chu kỳ bộ nhớ (thời gian giữa hai lần thâm nhập liên tiếp).
1.1 Bộ nhớ trong a Phân loại
Có thể phân loại các vi mạch nhớ bán dẫn thành bộ nhớ cố định, bán cố định và bộ nhớ ghi/đọc như sơ đồ (hình 4-1)
Bộ nhớ cố định ROM Bộ nhớ bán cố định Bộ nhớ
Bộ nhớ định trình mặt nạ
Bộ nhớ Bộ nhớ Bộ nhớ
Hình 4-1.Phân loại các bộ nhớ bán dẫn
Bộ nhớ được chia thành hai loại chính: bộ nhớ cố định (ROM - Read Only Memory) và bộ nhớ có thể đọc/ghi (RAM - Random Access Memory) ROM, được ghi sẵn khi chế tạo và không thể thay đổi, bao gồm PROM (Programmable ROM) cho phép ghi lại một lần Trong khi đó, RAM có hai dạng: SRAM (Static RAM) thường sử dụng trong các mạch điện tử và DRAM (Dynamic RAM) dựa trên điện tích trong tụ điện, nhưng cần được phục hồi nội dung thường xuyên.
Giữa ROM và RAM, có bộ nhớ bán cố định, bao gồm EPROM (Erasable Programmable ROM) có thể ghi và xóa bằng tia cực tím, và EEPROM (Electric Erasable Programmable ROM) có thể xóa bằng dòng điện DRAM thường đáp ứng nhu cầu bộ nhớ lớn, trong khi SRAM được sử dụng khi cần tốc độ truy xuất nhanh Tuy nhiên, cả hai loại bộ nhớ này đều mất thông tin khi nguồn điện bị mất Do đó, các chương trình khởi động máy vi tính như BIOS phải được lưu trữ trên ROM, được gọi là ROM BIOS.
Nguyên lý hoạt động của các linh kiện nhớ bán dẫn
ROM (Read Only Memory) là loại chip nhớ chỉ cho phép đọc dữ liệu mà không thể ghi mới, với nội dung đã được lập trình sẵn trong quá trình sản xuất và giữ nguyên trạng thái (non-volatile) ROM kiểu mặt nạ được chế tạo trên phiến silicon, tạo ra các tiếp giáp bán dẫn một chiều giống như diode, tại các điểm giao nhau trên ma trận dây dẫn hàng và cột.
Các điểm vắt chéo chứa diode trong chip nhớ cung cấp thông tin nhị phân, với 0 tại các điểm này và 1 tại các điểm khác Khi bộ giải mã địa chỉ chọn một hàng ở mức thấp, các dây bit sẽ phản ánh giá trị lưu trữ trong chip tại hàng đó Ví dụ, chip lưu trữ 4 từ dữ liệu, mỗi từ 3 bit: 010, 101, 001 và 100 Khi bộ giải mã chọn địa chỉ hàng Y1, lối ra của chip nhớ sẽ hiển thị từ dữ liệu 101.
Hình 4-2 Bộ nhớ ROM diode
PROM (Programmable ROM) là loại ROM có khả năng lập trình cho phép người dùng ghi thông tin chỉ một lần Khi sản xuất, các điểm giao nhau được kết nối với diode hoặc transistor qua một cầu chì Để ghi thông tin với mức logic "1", người dùng chỉ cần cho dòng điện đi qua, làm cháy cầu chì tại điểm đó, khiến điểm giao nhau không còn diode hoặc transistor Do đó, PROM chỉ cho phép ghi thông tin một lần mà không thể xóa.
Hình 4-3.Cầu chì trong các điểm vắt chéo với diode, transistor lưỡng cực và transistor trường
EPROM (Erasable PROM) là loại chip nhớ PROM có khả năng ghi và xoá thông tin nhiều lần, được thiết kế dựa trên nguyên tắc khác biệt Mỗi bit nhớ trong chip EPROM được cấu tạo từ một transistor MOS với cửa nổi, sử dụng công nghệ FAMOST (Floating gate avalanche injection MOS transistor) Dữ liệu được ghi vào chip thông qua các xung điện có độ dài khoảng 50ms và điện áp +20V, được áp dụng giữa cực cửa và máng của transistor Do cửa nổi được cách điện tốt với môi trường xung quanh, nên sau khi ngừng xung điện, các điện tử mang thông tin sẽ không còn đủ năng lượng để thoát ra khỏi lớp cách điện.
Thông tin trong chip EPROM được lưu trữ cố định ngay cả khi không có nguồn điện trong ít nhất 10 năm Để xóa thông tin, cần chiếu ánh sáng tử ngoại mạnh vào chip, giúp các điện tử hấp thụ năng lượng và nhảy lên mức năng lượng cao hơn, từ đó thoát khỏi vùng cửa nổi Chip EPROM được thiết kế với một cửa sổ bằng thủy tinh thạch anh cho phép ánh sáng tử ngoại đi qua, phục vụ cho việc xóa dữ liệu trong bộ nhớ.
EEPROM (Electrically EPROM ) là loại EPROM xoá được bằng phương pháp điện Việc nạp các điện tử cho cửa nổi được thực hiện như cách ở EPROM Để xoá EEPROM
Lớp kênh màng mỏng ôxít giữa vùng cửa nổi và đế cực máng đóng vai trò quan trọng trong việc giữ điện tích Mặc dù các lớp cách điện không hoàn hảo, khả năng thấm điện tích qua lớp phân cách vẫn tồn tại, đặc biệt khi bề dày lớp giảm và hiệu điện thế giữa hai điện cực tăng lên Để giải phóng điện tích trong vùng cửa nổi, một điện thế -20V được áp dụng vào cực cửa điều khiển và cực máng, giúp các điện tử âm chảy về cực máng qua kênh màng mỏng ôxít, từ đó xóa bỏ số liệu lưu giữ.
RAM (Bộ nhớ truy cập ngẫu nhiên) là loại bộ nhớ có khả năng ghi và đọc thông tin, nhưng dữ liệu sẽ bị mất khi mất nguồn điện Có hai loại RAM chính: RAM động (DRAM) và RAM tĩnh (SRAM) Cấu trúc của RAM rất đơn giản, giúp tối ưu hóa hiệu suất trong các thiết bị điện tử.
Hình 4-4 Vận hành của bộ nhớ RAM
(Wi, Wj, R/W là các tín hiệu điều khiển)
Hình 4-5.Hình dáng bên ngoài một số loại RAM
Tuỳ theo công nghệ chế tạo, người ta phân
RAM tĩnh (SRAM) được sản xuất bằng công nghệ ECL, bao gồm CMOS và BiCMOS Mỗi bit nhớ trong SRAM được cấu tạo từ 6 transistor MOS, cho phép lưu trữ dữ liệu miễn là bộ nhớ được cấp điện SRAM nổi bật với tốc độ nhanh, khả năng đọc mà không làm mất dữ liệu, và thời gian truy cập ngắn nhờ vào chu kỳ bộ nhớ.
RAM động sử dụng kỹ thuật MOS, trong đó mỗi bit nhớ bao gồm một transistor và một tụ điện Tương tự như SRAM, dữ liệu chỉ được lưu trữ khi có nguồn điện Việc ghi nhớ dựa vào việc duy trì điện tích trong tụ điện, nhưng quá trình đọc một bit nhớ sẽ làm mất nội dung của bit đó Do đó, sau mỗi lần đọc, bộ phận điều khiển bộ nhớ phải ghi lại nội dung vừa đọc, dẫn đến chu kỳ bộ nhớ động ít nhất gấp đôi thời gian truy cập ô nhớ Thông tin trong bit nhớ chỉ được lưu trữ tạm thời, vì tụ điện sẽ phóng điện và cần làm tươi bộ nhớ sau mỗi 2μs Quá trình làm tươi bao gồm việc đọc ô nhớ và ghi lại nội dung, và nó được thực hiện tự động bởi một vi mạch bộ nhớ cho tất cả các ô nhớ.
SDRAM (Synchronous DRAM – DRAM đồng bộ), một dạng DRAM đồng bộ bus bộ nhớ Tốc độ SDRAM đạt từ 66-133MHz (thời gian thâm nhập bộ nhớ từ 75ns-150ns).
DDR SDRAM (Double Data Rate SDRAM) là phiên bản nâng cấp của bộ nhớ SDRAM, cho phép tốc độ truyền tải gấp đôi nhờ vào khả năng truyền tải dữ liệu hai lần trong một chu kỳ bộ nhớ Tốc độ của DDR SDRAM dao động từ 200 đến 400MHz.
RDRAM (Rambus RAM) là một loại DRAM được phát triển với công nghệ mới, khác biệt so với SDRAM RDRAM hoạt động đồng bộ theo hệ thống lặp và truyền dữ liệu một chiều, với khả năng hỗ trợ lên đến 32 chip DRAM trên mỗi kênh bộ nhớ Mỗi chip được kết nối tuần tự trên một module gọi là RIMM (Rambus Inline Memory Module), và dữ liệu được truyền giữa các mạch điều khiển và từng chip riêng lẻ, không phải giữa các chip Bus bộ nhớ RDRAM là một đường dẫn liên tục qua các chip và module, với các chân vào và ra nằm ở hai đầu đối diện của mỗi module Để đảm bảo đường truyền liên tục, các khe cắm không chứa RIMM phải được gắn một module liên tục Tốc độ của RDRAM dao động từ 400-800MHz.
Các cấp bộ nhớ
Các đặc tính của bộ nhớ như dung lượng lưu trữ, thời gian truy cập, chu kỳ bộ nhớ và chi phí mỗi bit là những yếu tố quan trọng giúp phân loại các cấp độ bộ nhớ Chúng ta có thể phân chia bộ nhớ thành hai nhóm chính: bộ nhớ nhanh với dung lượng nhỏ và bộ nhớ chậm với dung lượng lớn.
Các đặc tính chính của các cấp bộ nhớ bao gồm hai mức chính: mức cache - bộ nhớ trong và mức bộ nhớ ảo, mà bao gồm cả bộ nhớ trong và không gian cấp phát trên đĩa cứng.
IV.4) Cách tổ chức này trong suốt đối với người sử dụng Người sử dụng chỉ thấy duy nhất một không gian định vị ô nhớ, độc lập với vị trí thực tế của các lệnh và dữ liệu cần thâm nhập.
Hình 4-7 Hai mức bộ nhớ
Các cấp bộ nhớ là giải pháp hiệu quả cho lập trình viên muốn sở hữu bộ nhớ nhanh với chi phí hạn chế Vì bộ nhớ nhanh thường có giá cao, nên chúng được tổ chức thành nhiều cấp khác nhau: cấp có dung lượng nhỏ hơn thì nhanh hơn nhưng đắt hơn so với cấp có dung lượng lớn hơn Mục tiêu của việc thiết lập các cấp bộ nhớ là cung cấp cho người dùng hệ thống bộ nhớ vừa tiết kiệm chi phí như cấp thấp nhất, vừa có tốc độ gần tương đương với cấp cao nhất Các cấp bộ nhớ thường được lồng ghép với nhau, đảm bảo rằng mọi dữ liệu trong một cấp đều có thể truy cập được ở cấp thấp hơn và tiếp tục ở cấp thấp nhất.
Mỗi cấp bộ nhớ trong hệ thống có dung lượng lớn hơn cấp trên, đồng thời ánh xạ một phần địa chỉ của các ô nhớ vào địa chỉ của cấp bộ nhớ trực tiếp trên, giúp tăng tốc độ truy xuất Để đảm bảo hiệu quả, các cấp bộ nhớ cần có cơ chế quản lý và kiểm tra các địa chỉ ánh xạ.
Truy cập dữ liệu trong bộ nhớ
Cache là bộ nhớ nhanh, lưu trữ các lệnh và dữ liệu thường xuyên được sử dụng Việc lựa chọn lệnh và dữ liệu để đưa vào cache dựa trên các nguyên tắc quan trọng.
Một chương trình mất 90% thời gian thi hành lệnh của nó để thi hành 10%số lệnh của chương trình.
Nguyên tắc thâm nhập dữ liệu tương tự như nguyên tắc thâm nhập lệnh, nhưng hiệu quả thấp hơn Có hai nguyên tắc chính cần lưu ý: nguyên tắc về không gian và nguyên tắc về thời gian.
Nguyên tắc về thời gian cho thấy các ô nhớ trong hệ thống xử lý có khả năng được truy cập trong tương lai gần Các chương trình thường được thiết kế với phần chính là phần thực thi nhiều nhất, trong khi các phần phụ xử lý các trường hợp ngoại lệ Thêm vào đó, dữ liệu thường có cấu trúc rõ ràng, và chỉ một phần nhỏ trong số liệu thường được truy cập nhiều nhất.
Nguyên tắc về không gian cho thấy bộ xử lý có khả năng thâm nhập vào ô nhớ kế tiếp do các lệnh được sắp xếp theo thứ tự Việc tổ chức bộ nhớ sao cho các lệnh và dữ liệu thường dùng nằm trong bộ nhớ cache giúp tăng hiệu quả hoạt động của máy tính một cách đáng kể.
3.1 Truy nhập bộ nhớ và thiết bị vào/ ra
Thời gian một chu kỳ của xung đồng hồ trong hệ thống được gọi là trạng thái Trạng thái này được xác định từ sườn âm của xung đồng hồ hiện tại đến sườn âm của xung đồng hồ tiếp theo.
Chu kỳ máy hay chu kỳ bus là quá trình cơ bản trong bộ vi xử lý, thực hiện việc truyền tải dữ liệu qua bus Nó bao gồm hai giai đoạn: giai đoạn đầu gọi là thời gian địa chỉ, trong đó vi xử lý gửi địa chỉ đích cùng với tín hiệu xác định loại chu kỳ bus Giai đoạn hai, gọi là thời gian số liệu, là lúc bộ xử lý kiểm tra tín hiệu sẵn sàng từ đơn vị cần trao đổi thông tin để thực hiện việc cấp hoặc nhận dữ liệu.
Có 4 loại chu kỳ máy cơ bản: đọc bộ nhớ, viết bộ nhớ, đọc vào/ra, viết vào/ra.
Chu kỳ lệnh là khoảng thời gian mà vi xử lý sử dụng để nhận và thực hiện một lệnh Mỗi chu kỳ lệnh bao gồm một hoặc nhiều chu kỳ máy.
Tóm lại, các trạng thái tạo nên một chu kỳ máy và các chu kỳ máy tạo nên một chu kỳ lệnh.
Trong nhiều tình huống, trạng thái đợi xảy ra khi tốc độ truy cập của bộ nhớ hoặc tốc độ xử lý dữ liệu của thiết bị ngoại vi chậm hơn tốc độ của vi xử lý Do đó, cần có phương pháp nhận biết và trì hoãn quá trình trao đổi dữ liệu để đảm bảo hiệu suất hoạt động của hệ thống.
Để giải quyết vấn đề này, một bên thông tin chỉ phát hoặc nhận dữ liệu khi nhận được tín hiệu sẵn sàng READY từ bộ nhớ hoặc thiết bị ngoại vi Nếu bộ nhớ hoặc thiết bị ngoại vi hoạt động chậm, tín hiệu READY sẽ bị trì hoãn, dẫn đến việc xử lý không diễn ra ngay lập tức mà phải trải qua một số chu kỳ đồng hồ Mỗi khoảng thời gian chờ này được gọi là chu kỳ đợi Rõ ràng, khi hệ thống máy tính có nhiều trạng thái đợi, hiệu suất xử lý sẽ bị giảm sút.
3.2 Truy nhập bộ nhớ chính
Sơ đồ kết nối các chip trong quá trình vi xử lý truy cập ở chế độ MAX được thể hiện trong Hình 4-8 Tại thời điểm này, chip 8288 phát ra tín hiệu điều khiển cho BUS và một số bộ đệm trong bộ nhớ tạm thời Bộ điều khiển nhớ thực hiện việc điều khiển bộ nhớ để đọc và ghi dữ liệu đến địa chỉ mong muốn một cách chính xác.
Giản đồ xung trong hình 4-9 minh họa các tín hiệu trên bus hệ thống trong một chu kỳ đọc hoặc viết bộ nhớ Trong giản đồ này, ta nhận thấy có bốn tín hiệu quan trọng liên quan đến chu kỳ bus: xung nhịp từ máy phát nhịp đồng hồ CLK, các tín hiệu địa chỉ/trạng thái, tín hiệu địa chỉ/số liệu và tín hiệu sẵn sàng READY, cho biết quá trình đọc số liệu đã hoàn tất.
A15-A0 bus res D15-D0 ổn định Địa chỉ Số liệu vào bộ nhớ
Số liệu D15 – D0 Địa chỉ trạng thái
Hình 4-9 Các tín hiệu trên bus hệ thống trong một chu kỳ đọc hoặcviết bộ nhớ a Chu kỳ đọc bộ nhớ
Nhìn trên hình (a) ta thấy chu kỳ đọc bộ nhớ bao gồm các quá trình xảy ra như sau:
Bộ vi xử lý gửi tín hiệu điều khiển S2, S1, S0 đến bộ điều khiển bus để kích hoạt bộ đệm số liệu và địa chỉ Địa chỉ từ A19 đến A0 được đưa vào bộ đệm địa chỉ, trong khi tín hiệu HBE xác định byte hoặc từ đang được đọc Tín hiệu READY sẽ giảm xuống mức thấp và chỉ trở lại mức cao khi bộ nhớ đã hoàn tất việc cấp số liệu.
T2: Chuyển hướng truyền số liệu trên bus Đường BHE và A19 – A16 chuyển sang thông tin trạng thái Các đường A15-A0 chuyển từ mode địa chỉ sang mode số liệu.
Chu trình truyền số liệu bắt đầu khi số liệu chưa ổn định trên D15-D0, dẫn đến sự xuất hiện của các hiệu trạng thái S7-S3 Khi toàn bộ số liệu được truyền vào bộ nhớ, bộ điều khiển nhớ sẽ nâng mức điện thế ở dây READY và đồng bộ hóa nó bằng cách sử dụng máy nhịp 8284 để phát ra xung READY đồng bộ với xung nhịp vào vi xử lý Như vậy, số liệu được truyền từ bộ đệm bộ nhớ tới bộ đệm số liệu, và vi xử lý khởi phát quá trình nhận số liệu từ bộ đệm.
Trong chu kỳ T4, vi xử lý kết thúc việc đọc số liệu và các bộ đệm bị vô hiệu hóa, nhưng vẫn phát ra các tín hiệu trạng thái S7-S3 Khi chu kỳ T4 hoàn tất, bus hệ thống sẽ trở về trạng thái khởi phát.
Các tín hiệu trên hình (b) giống như ở chu kỳ đọc, ngoại trừ tín hiệu địa chỉ/ số liệu
T1: Các xử lý giống trên và chỉ có bộ điều khiển bus được tác động vì viết sốliệu.
Trong giai đoạn T2, địa chỉ và số liệu không cần thay đổi vì cả hai đều hướng ra Ngay sau khi cấp địa chỉ, vi xử lý có thể phát số liệu vào bộ đệm theo xung nhịp đồng hồ trong T2 Bộ đệm số liệu sẽ truyền dữ liệu đến bộ đệm nhớ, trong khi bộ điều khiển nhớ sẽ điều phối quá trình ghi số liệu vào bộ nhớ.
BỊ NHẬP XUẤT
Đĩa từ
Mặc dù công nghệ mới liên tục phát triển nhiều loại bộ phận lưu trữ với khả năng lưu trữ thông tin lớn, nhưng đĩa từ vẫn giữ vai trò quan trọng từ năm 1965 Đĩa từ thực hiện hai nhiệm vụ chính trong máy tính.
- Lưu trữ dài hạn các tập tin.
- Thiết lập một cấp bộ nhớ bên dưới bộ nhớ trong để làm bộ nhớ ảo lúc chạy chương trình.
Đĩa mềm ngày càng bị thay thế bởi các thiết bị lưu trữ tiên tiến hơn, vì vậy bài viết này sẽ tập trung vào đĩa cứng Tài liệu này mô tả tổng quan về cấu tạo, cách vận hành và các tính chất quan trọng của đĩa cứng.
Một đĩa cứng bao gồm từ 1 đến 4 lớp đĩa quay quanh trục với tốc độ từ 3.600 đến 15.000 vòng/phút Các lớp đĩa được chế tạo từ kim loại và được phủ một lớp chất từ tính Đường kính của đĩa dao động từ 1,3 inch đến 8 inch, với mỗi mặt được chia thành nhiều rãnh đồng trục, thường từ 10.000 đến gần 30.000 rãnh mỗi mặt Mỗi rãnh chứa nhiều cung (sector), với mỗi cung có thể chứa từ 64 đến 800 đơn vị thông tin, và là đơn vị nhỏ nhất mà máy tính có thể đọc hoặc viết, thường khoảng 512 bytes Thông tin trong mỗi cung bao gồm số thứ tự của cung, khoảng trống, dữ liệu cung và mã sửa lỗi, cùng với khoảng trống và số thứ tự của cung tiếp theo.
Kỹ thuật ghi mật độ không đều cho phép tất cả các rãnh có cùng số cung, dẫn đến việc các cung dài hơn ở các rãnh xa trục quay có mật độ ghi thông tin thấp hơn so với các cung gần trục quay.
Hình 5-1 Cấu tạo của một đĩa cứng
Hình 5-2.Hình ảnh bên ngoài của ổ cứng
Công nghệ ghi với mật độ đều cho phép lưu trữ nhiều thông tin hơn ở các rãnh xa trục quay, ngày càng trở nên phổ biến nhờ sự phát triển của các chuẩn giao diện thông minh như SCSI.
Để đọc hoặc ghi thông tin vào đĩa cứng, một đầu đọc ghi di động được áp vào mỗi mặt của từng lớp đĩa Các đầu đọc/ghi này được gắn chặt vào một thanh, giúp chúng di chuyển đồng thời trên đường bán kính của mỗi lớp đĩa, đảm bảo tất cả các đầu đều nằm trên những rãnh có cùng bán kính Thuật ngữ "trụ" (cylinder) được sử dụng để chỉ tất cả các rãnh của các lớp đĩa có cùng bán kính, tạo thành một hình trụ.
Người dùng thường có nhu cầu đọc dữ liệu từ đĩa nhanh chóng, do đó ổ đĩa thường đọc nhiều hơn lượng dữ liệu cần thiết, được gọi là cách đọc trước Để xử lý các phức tạp liên quan đến việc kết nối hoặc ngắt kết nối khi đọc hoặc ghi thông tin, cũng như việc thực hiện đọc trước, ổ đĩa cần được trang bị bộ điều khiển đĩa.
Ngành công nghiệp chế tạo đĩa từ đang tập trung vào việc cải thiện dung lượng lưu trữ của đĩa, với đơn vị đo lường là mật độ dữ liệu trên mỗi đơn vị bề mặt.
Bảng 5-1 Thông số kỹ thuật của đĩa cứng
Bảng thông số kỹ thuật đĩa cứng
Dung lượng tối đa Có thể đạt 500 GB
Số cung (Sectors -512 byte/sector) Xxx,xxx,xxx
Tốc độ quay đĩa (RPM) 3600-15000
Mật độ Có thể đạt 95 Gb/in
Mật độ rãnh (TPI-Max Track/Inch) Có thể đạt 120.000
Mật độ ghi BPI (Max Bits/Inch) Có thể đạt 702.000
Tốc độ dữ liệu tối đa (internal) Có thể đạt 900 Mb/s
Tốc độ truyền dữ liệu với ngoại vi Có thể đạt 320 Mb/s
Thời gian chuyển track R/W Có thể đạt 15 ms
Thời gian quay nửa vòng Có thể đạt 6 ms
Đĩa quang
Các thiết bị lưu trữ quang, ra đời vào năm 1978 nhờ sự hợp tác giữa Sony và Philips, rất phù hợp cho việc phát hành sản phẩm văn hóa và sao lưu dữ liệu trên hệ thống máy tính hiện nay.
Kể từ năm 1980, công nghiệp đĩa quang đã phát triển mạnh mẽ trong lĩnh vực giải trí và lưu trữ dữ liệu máy tính Quá trình đọc thông tin diễn ra thông qua việc phản chiếu tia laser năng lượng thấp từ lớp lưu trữ dữ liệu Bộ phận tiếp nhận ánh sáng sẽ phát hiện các điểm mà tia laser bị phản xạ mạnh hoặc biến mất do các vết khắc (pit) trên bề mặt đĩa, trong đó các tia phản xạ mạnh cho thấy không có lỗ khắc, được gọi là điểm nền (land).
Bộ nhận ánh sáng trong ổ đĩa thu nhận các tia phản xạ và khuếch tán từ bề mặt đĩa, sau đó bộ vi xử lý chuyển đổi các mẫu sáng thành bit dữ liệu hoặc âm thanh Các lỗ trên CD có độ sâu 0,12 micron và rộng 0,6 micron, được khắc theo một track hình xoắn ốc với khoảng cách 1,6 micron giữa các vòng, tương đương khoảng 16.000 track/inch Các lỗ (pit) và nền (land) kéo dài từ 0,9 đến 3,3 micron, với track bắt đầu từ phía trong và kết thúc ở phía ngoài theo đường khép kín 5mm Dữ liệu trên CD được lưu thành từng khối, mỗi khối chứa 2.352 byte, trong đó 304 byte dành cho thông tin đồng bộ, ID, mã sửa lỗi (ECC) và mã phát hiện lỗi (EDC), còn lại 2.048 byte chứa dữ liệu Tốc độ đọc chuẩn của CD-ROM là
75 khối/s hay 153.600 byte/s hay 150KB/s (1X).
Dưới đây là một số loại đĩa quang thông dụng.
CD (Compact Disk) là đĩa quang không thể xoá, chủ yếu sử dụng trong ngành công nghiệp giải trí để lưu trữ âm thanh số hóa Đĩa có đường kính 12 cm và có khả năng phát âm thanh liên tục trong khoảng 60 phút mà không bị dừng lại.
CD-ROM (Compact Disk Read Only Memory) là một loại đĩa không thể xóa, được thiết kế để lưu trữ dữ liệu máy tính Với đường kính 12 cm, đĩa CD-ROM có khả năng lưu trữ hơn 650 MB dữ liệu Khi được phát hành, đĩa CD-ROM đã được nạp sẵn nội dung và thường được sử dụng để chứa phần mềm cũng như các chương trình điều khiển thiết bị.
CD-R (CD-Recordable) là loại đĩa CD cho phép người dùng ghi dữ liệu một lần và đọc lại nhiều lần, nhưng không thể xóa dữ liệu đã ghi Trong khi đó, CD-RW (CD-Rewritable) cũng là đĩa CD chưa có thông tin, nhưng cho phép người dùng ghi, xóa và ghi lại dữ liệu nhiều lần.
DVD (Digital Video Disk - Digital Versatile Disk) được phát triển để phục vụ cho ngành công nghiệp giải trí, chứa đựng hình ảnh video được số hóa Hiện nay, DVD được sử dụng phổ biến trong các ứng dụng công nghệ thông tin với hai kích thước chính là 8cm và 12cm Đĩa DVD có khả năng lưu trữ dữ liệu trên cả hai mặt, với dung lượng tối đa lên đến 17GB So với CD-ROM, DVD-ROM (loại đĩa chỉ đọc) có tốc độ đọc chuẩn (1X) đạt 1.3MB/s, tương đương khoảng 9X của CD-ROM.
DVD-R (DVD-Recordable) cho phép người dùng ghi dữ liệu một lần và đọc lại nhiều lần, tương tự như đĩa DVD-ROM Đĩa này chỉ có khả năng ghi trên một mặt, với dung lượng tối đa lên tới 4.7 GB cho mỗi mặt.
Đĩa DVD-RW (DVD-Rewritable) cho phép người dùng ghi, xoá và ghi lại dữ liệu lên đĩa nhiều lần, tương tự như đĩa DVD-ROM Đĩa này hỗ trợ ghi dữ liệu trên một mặt đĩa với dung lượng ghi tối đa lên đến 4,7 GB trên mỗi mặt.
Bảng 5-2 So sánh một số thông số của hai loại đĩa CDROM và DVDROM
Đĩa quang, với các đặc tính nổi bật và giá thành ngày càng giảm, đã trở thành phương tiện lý tưởng để phân phối phần mềm cho máy tính Ngoài ra, đĩa quang cũng được sử dụng để lưu trữ lâu dài dữ liệu, thay thế cho băng từ truyền thống.
Các loại thẻ nhớ
Thẻ nhớ flash hiện nay là một trong những công nghệ lưu trữ tiên tiến, sử dụng bộ nhớ bán dẫn EEPROM với cấu trúc gồm các hàng và cột Mỗi ô nhớ được tạo thành từ hai transistor, trong đó một transistor là floating gate và một là control gate, cho phép thiết lập kết nối để chuyển đổi giá trị bit giữa 1 và 0 thông qua quy trình Fowler-Nordheim tunneling Với tốc độ cao, yêu cầu dòng điện thấp và kích thước nhỏ gọn, thẻ nhớ ngày càng trở nên phổ biến trong các ứng dụng lưu trữ và giải trí hiện đại.
Hình 5-4.Hình ảnh một số USB
Hình 5-5.Minh hoạ hai trạng thái của một bit nhớ trong thẻ nhớ
Băng từ
Băng từ và đĩa từ đều sử dụng công nghệ tương tự, nhưng có sự khác biệt quan trọng Việc truy cập dữ liệu trên đĩa từ diễn ra ngẫu nhiên, trong khi băng từ yêu cầu truy cập tuần tự, dẫn đến thời gian tìm kiếm thông tin trên băng từ lâu hơn Mặc dù đĩa từ có dung lượng hạn chế, băng từ có thể chứa nhiều cuộn băng, cho phép lưu trữ dữ liệu lớn lên đến hàng trăm GB Với chi phí thấp, băng từ vẫn được sử dụng phổ biến cho việc lưu trữ dữ liệu dự phòng.
Các băng từ có chiều rộng từ 0,38 cm đến 1,27 cm được cuộn lại và bảo quản trong hộp Dữ liệu trên băng từ được ghi theo cấu trúc với các rãnh song song dọc theo chiều dài của băng.
Có hai cách ghi dữ liệu lên băng từ:
Ghi nối tiếp là kỹ thuật ghi dữ liệu trên băng từ bằng cách sử dụng phương pháp ghi xoắn ốc Khi một rãnh ghi dữ liệu hoàn tất, băng từ sẽ quay ngược lại để đầu từ ghi dữ liệu trên rãnh tiếp theo theo hướng ngược lại Quá trình này tiếp tục cho đến khi băng từ được lấp đầy hoàn toàn.
Ghi song song là phương pháp tăng tốc độ đọc-ghi dữ liệu trên băng từ bằng cách cho phép đầu đọc-ghi thực hiện thao tác trên nhiều rãnh kề nhau cùng lúc Dữ liệu được ghi theo chiều dọc băng từ, nhưng các khối dữ liệu được coi như được ghi trên các rãnh kề nhau Thông thường, số rãnh ghi đồng thời trên băng từ là 9, bao gồm 8 rãnh dữ liệu (1 byte) và 1 rãnh kiểm tra lỗi.
Các chuẩn về BUS
Trong các hệ thống xử lý thông tin, số lượng và chủng loại các bộ phận vào/ra không cần định trước, cho phép người dùng lựa chọn thiết bị phù hợp với yêu cầu của họ Vào/ra là giao diện kết nối các thiết bị vào hệ thống, có thể coi là một bus mở rộng để kết nối ngoại vi với máy tính Các chuẩn kết nối giúp đơn giản hóa việc kết nối ngoại vi, ngay cả khi nhà thiết kế máy tính và nhà sản xuất ngoại vi thuộc các công ty khác nhau Sự tồn tại của các chuẩn bus là rất quan trọng, vì nếu cả hai bên tôn trọng các chuẩn này, việc kết nối ngoại vi vào máy tính sẽ diễn ra dễ dàng hơn Chuẩn bus vào/ra quy định cách thức kết nối các thiết bị ngoại vi với máy tính.
Các máy tính phổ biến thường thiết lập các chuẩn bus vào/ra được các hãng khác áp dụng, như UNIBUS của PDP 11, các chuẩn bus của IBM PC và AT, cùng với các chuẩn hiện tại của Intel Để đảm bảo tính nhất quán và khả năng tương thích, các chuẩn bus này cần được công nhận bởi các tổ chức tiêu chuẩn như ISO, ANSI và IEEE.
Một máy vi tính có thể có nhiều loại BUS như sau:
BUS bộ xử lý, hay còn gọi là Back side (BSB), là hệ thống đường truyền giữa vi xử lý và các mạch đệm trung gian, chủ yếu kết nối bộ xử lý với bộ nhớ cache L2 hoặc L3 Với tốc độ hoạt động nhanh nhất trong các loại BUS, BUS này không bị tắc nghẽn và bao gồm các thành phần như BUS dữ liệu, địa chỉ và điều khiển Chẳng hạn, trong hệ thống Pentium, BUS xử lý có 64 đường dữ liệu, 32 đường địa chỉ và các đường điều khiển.
BUS hệ thống, hay còn gọi là front side bus (FSB), là thành phần quan trọng trong việc truyền thông tin giữa vi xử lý và bộ nhớ chính RAM cũng như các thiết bị lưu trữ khác Bus này có thể là một phần của bus bộ xử lý hoặc được tách biệt bằng các mạch đệm chuyên dụng Trong các hệ thống có tốc độ đồng hồ cao, chip điều khiển bộ nhớ sẽ giúp kết nối giữa bus bộ xử lý nhanh và bộ nhớ chính có tốc độ truy xuất chậm hơn Vì vậy, tốc độ truyền thông tin trên bus hệ thống thường chậm hơn so với bus bộ xử lý.
BUS vào/ra, hay còn gọi là bus mở rộng, cho phép xử lý thông tin với các thiết bị ngoại vi và mở rộng tính năng của máy vi tính Các khe cắm mở rộng được kết nối vào bus mở rộng, cho phép các bản mạch ghép nối được cắm vào Khi đề cập đến chuẩn của một loại bus mở rộng, điều này cũng đồng nghĩa với việc nói về các khe cắm mở rộng và các card tương ứng.
Trong các máy vi tính hiện đại, nhiều thiết bị ngoại vi đã được tích hợp trực tiếp trên bo mạch chính Chẳng hạn, bo mạch thường có ít nhất hai bộ điều khiển chuẩn ghép nối ổ đĩa, bao gồm chuẩn IDE cũ và chuẩn SATA (sơ cấp và thứ cấp) hiện nay.
Cable theo chuẩn SATA Power cable
Cable IDEHình 5-6 Cable dữ liệu và Cable điện
An toàn dữ liệu trong lưu trữ
Nhiều người thường tập trung vào việc đảm bảo an toàn thông tin trên đĩa từ, trong khi an toàn thông tin trong bộ xử lý lại ít được chú ý hơn Thực tế, bộ xử lý có thể gặp sự cố mà không ảnh hưởng đến dữ liệu lưu trữ.
2 đĩa của máy tính bị hư có thể gây ra các thiệt hại rất to lớn
Một phương pháp hiệu quả để nâng cao độ an toàn của thông tin trên đĩa từ là sử dụng mảng đĩa từ, được gọi là Hệ thống đĩa dự phòng (RAID - Redundant Array of Independent Disks) Hệ thống này giúp bảo vệ dữ liệu bằng cách phân phối thông tin qua nhiều đĩa khác nhau, giảm thiểu nguy cơ mất mát dữ liệu trong trường hợp một hoặc nhiều đĩa gặp sự cố Việc áp dụng RAID không chỉ cải thiện tính sẵn sàng của dữ liệu mà còn tăng cường hiệu suất truy cập thông tin.
Independent Disks) Cách lưu trữ dư thông tin làm tăng giá tiền và sự an toàn (ngoại trừ RAID 0) Cơ chế RAID có các đặc tính sau:
5 RAID là một tập hợp các ổ đĩa cứng (vật lý) được thiết lập theo một kỹ thuật mà hệ điều hành chỉ “nhìn thấy” chỉ là một ổ đĩa (logic) duy nhất.
6 Với cơ chế đọc/ghi thông tin diễn ra trên nhiều đĩa (ghi đan chéo hay soi gương).
7 Trong mảng đĩa có lưu các thông tin kiểm tra lỗi dữ liệu; do đó, dữ liệu có thể được phục hồi nếu có một đĩa trong mảng đĩa bị hư hỏng
Tuỳ theo kỹ thuật thiết lập, RAID có thể có các mức sau:
RAID 0 : Thực ra, kỹ thuật này không nằm trong số các kỹ thuật có cơ chế an toàn dữ liệu Khi mảng được thiết lập theo RAID 0, ổ đĩa logic có được (mà hệ điều hành nhận biết) có dung dượng bằng tổng dung lượng của các ổ đĩa thành viên Điều này giúp cho người dùng có thể có một ổ đĩa logic có dung lượng lớn hơn rất nhiều so với dung lượng thật của ổ đĩa vật lý cùng thời điểm Dữ liệu được ghi phân tán trên tất cả các đĩa trong mảng Đây chính là sự khác biệt so với việc ghi dữ liệu trên các đĩa riêng lẻ bình thườngbởi vì thời gian đọc-ghi dữ liệu trên đĩa tỉ lệ nghịch với số đĩa có trong tập hợp (số đĩa trong tập hợp càng nhiều, thời gian đọc –ghi dữ liệu càng nhanh) Tính chất này của RAID 0 thật sự hữu ích trong các ứng dụng yêu cầu nhiều thâm nhập đĩa với dung lượng lớn, tốc độ cao (đa phương tiện, đồ hoạ,…) Tuy nhiên, như đã nói ở trên, kỹ thuật này không có cơ chế an toàn dữ liệu, nên khi có bất kỳ một hư hỏng nào trên một đĩa thành viên trong mảng cũng sẽ dẫn đến việc mất dữ liệu toàn bộ trong mảng đĩa Xác suất hư hỏng đĩa tỉ lệ thuận với số lượng đĩa được thiết lập trong RAID
0 RIAD 0 có thể được thiết lập bằng phần cứng (RAID controller) hay phần mềm (Stripped Applications)
RAID 1 (Mirror - Đĩa gương): Phương cách thông thường tránh mất thông tin khi ổ đĩa bị hư là dùng đĩa gương, tức là dùng 2 đĩa Khi thông tin được viết vào một đĩa, thì nó cũng được viết vào đĩa gương và như vậy luôn có một bản sao của thông tin Trong cơ chế này, nếu một trong hai đĩa bị hư thì đĩa còn lại được dùng bình thường Việc thay thế một đĩa mới (cung thông số kỹ thuật với đĩa hư hỏng) và phục hồi dữ liệu trên đĩa đơn giản Căn cứ vào dữ liệu trên đĩa còn lại, sau một khoảng thời gian, dữ liệu sẽ được tái tạo trên đĩa mới (rebuild) RAID 1 cũng có thể được thiết lập bằng phần cứng (RAID controller) hay phần mềm (Mirror Applications) với chi phí khá lớn, hiệu suất sử dụng đĩa không cao (50%).
RAID 2 : Dùng kỹ thuật truy cập đĩa song song, tất cả các đĩa thành viên trong RAID đều được đọc khi có một yêu cầu từ ngoại vi Một mã sửa lỗi (ECC) được tính toán dựa vào các dữ liệu được ghi trên đĩa lưu dữ liệu, các bit được mã hoá được lưu trong các đĩa dùng làm đĩa kiểm tra Khi có một yêu cầu dữ liệu, tất cả các đĩa được truy cập đồng thời Khi phát hiện có lỗi, bộ điều khiển nhận dạng và sửa lỗi ngay mà không làm giảm thời gian truy cập đĩa Với một thao tác ghi dữ liệu lên một đĩa, tất cả các đĩa dữ liệu và đĩa sửa lỗi đều được truy cập để tiến hành thao tác ghi Thông thường, RAID 2 dùng mã Hamming để thiết lập cơ chế mã hoá, theo đó, để mã hoá dữ liệu được ghi, người ta dùng một bit sửa lỗi và hai bit phát hiện lỗi RAID 2 thích hợp cho hệ thống yêu cầu giảm thiểu được khả năng xảy ra nhiều đĩa hư hỏng cùng lúc.
RAID 3: Dùng kỹ thuật ghi song song, trong kỹ thuật này, mảng được thiết lập với yêu cầu tối thiểu là 3 đĩa có các thông số kỹ thuật giống nhau, chỉ một đĩa trong mảng được dùng để lưu các thông tin kiểm tra lỗi (parity bit) Như vậy, khi thiết lập RAID 3, hệ điều hành nhận biết được một đĩa logic có dung lượng n-1/n (n: số đĩa trong mảng) Dữ liệu được chia nhỏ và ghi đồng thời trên n-1 đĩa và bit kiểm tra chẵn lẻ được ghi trên đĩa dùng làm đĩa chứa bit parity – chẵn lẻ đan chéo ở mức độ bít Bít chẵn lẻ là một bít mà người ta thêm vào một tập hợp các bít làm cho số bít có trị số 1 (hoặc 0) là chẵn (hay lẻ) Thay vì có một bản sao hoàn chỉnh của thông tin gốc trên mỗi đĩa, người ta chỉ cần có đủ thông tin để phục hồi thông tin đã mất trong trường hợp có hỏng ổ đĩa Khi một đĩa bất kỳ trong mảng bị hư, hệ thống vẫn hoạt động bình thường Khi thay thế một đĩa mới vào mảng, căn cứ vào dữ liệu trên các đĩa còn lại, hệ thống tái tạo thông tin Hiệu suất sử dụng đĩa cho cách thiết lập này là n-1/n RAID
3 chỉ có thể đượcthiết lập bằng phần cứng (RAID controller).
RAID 4: từ RAID 4 đến RAID 6 dùng kỹ thuật truy cập các đĩa trong mảng độc lập
Trong một mảng RAID, mỗi đĩa thành viên được truy xuất độc lập, cho phép mảng đáp ứng hiệu quả các yêu cầu song song từ các thiết bị ngoại vi Kỹ thuật này rất phù hợp cho những ứng dụng cần tốc độ truyền dữ liệu cao, đảm bảo hiệu suất tối ưu cho hệ thống.
RAID 4 sử dụng một đĩa để lưu trữ các bit kiểm tra được tính toán từ dữ liệu trên các đĩa dữ liệu Tuy nhiên, nhược điểm lớn nhất của RAID 4 là hiện tượng nghẽn cổ chai tại đĩa kiểm tra khi có nhiều yêu cầu đồng thời từ các thiết bị ngoại vi.
RAID 5: yêu cầu thiết lập giống như RAID 4, dữ liệu được ghi từng khối trên các đĩa thành viên, các bit chẵn lẻ được tính toán mức độ khối được ghi trải đều lên trên tất cả các ổ đĩa trong mảng Tương tự RAID 4, khi một đĩa bất kỳ trong mảng bị hư hỏng, hệ thống vẫn hoạt động bình thường Khi thay thế một đĩa mới vào mảng, căn cứ vào dữ liệu trên các đĩa còn lại, hệ thống tái tạo thông tin Hiệu suất sử dụng đĩa cho cách thiết lập này là n-1/n RAID
5 chỉ có thể được thiết lập bằng phần cứng (RAID controller) Cơ chế này khắc phục được khuyết điểm đã nêu trong cơ chế RAID 4.
RAID 6: Trong kỹ thuật này, cần có n+2 đĩa trong mảng Trong đó, n đĩa dữ liệu và
Hệ thống lưu trữ sử dụng đĩa riêng biệt để lưu các khối kiểm tra, trong đó một đĩa áp dụng cơ chế kiểm tra giống như RAID 4&5, trong khi đĩa còn lại thực hiện kiểm tra độc lập theo một thuật toán riêng Nhờ vào cấu trúc này, hệ thống có khả năng phục hồi dữ liệu ngay cả khi có hai đĩa dữ liệu trong mảng bị hư hỏng.
Hiện nay, các hệ thống thường sử dụng RAID 0, 1 và 5, nhưng các giải pháp RAID này (ngoại trừ RAID 6) chỉ bảo vệ dữ liệu khi một đĩa trong mảng bị hỏng Tuy nhiên, các hư hỏng dữ liệu do phần mềm hoặc sai sót của con người không được hệ thống đề cập Do đó, người dùng cần có kiến thức đầy đủ về hệ thống để đảm bảo hoạt động hiệu quả và an toàn cho thông tin.
Câu hỏiôn tậpvà bài tập
1 Mô tả vận hành của ổ đĩa cứng Cách lưu trữ thông tin trong ổ đĩa cứng
2 Mô tả các biện pháp an toàn trong việc lưu trữ thông tin trong đĩa cứng
3 Nguyên tắc vận hành của đĩa quang Ưu khuyết điểm của các loại đĩa quang.
4 Thông thường có bao nhiêu loại bus? Tại sao phải có các chuẩn cho các bus vào ra?
5 Giải thích việc nới rộng dãi thông bằng cách sử dụng các gói tin.
6 Hệ thống đĩa dự phòng (RAID - Redundant Array of Independent Disks) theo kỹ thuật thiết lập có những mức nào? Trình bày từng mức đó?