Chào các bạn! Truyen4U chính thức đã quay trở lại rồi đây!^^. Mong các bạn tiếp tục ủng hộ truy cập tên miền Truyen4U.Com này nhé! Mãi yêu... ♥

may tinh

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

Bus địa chỉ của CPU 8086 có độ dài 20bit nên nó quản lý được 220 ô nhớ = 220 byte= 1Mbyte không gian nhớ. (vì mỗi ô nhớ có độ dài là 1 byte)

- Các thanh ghi của CPU 8086 chỉ có độ dài 16bits nên nếu dùng 1 thanh ghi để đánh địa chỉ thì quản lý được 216 ô nhớ.

 Để giải quyết vấn đề quản lý 1Mbyte thì ta sẽ thông qua nội dung của 2 thanh ghi 16bits theo phương thức như sau :

+ Chia không gian địa chỉ thành các đoạn nhớ với kích thước cố định là 64Kbyte.

 ++ Mỗi đoạn gồm các ô nhớ liên tiếp, độc lập và được định vị  tách rời nhau.

++  Mỗi đoạn sẽ được gán một địa chỉ duy nhất xác định gọi là địa chỉ đoán (là địa chỉ của ô nhớ đầu tiên của đoạn đó, còn được gọi là địa chỉ nền).

++ Mỗi ô nhớ trong đoạn được xác định bằng địa chỉ offset (địa chỉ lệch) : là khoảng cách từ địa chỉ đoạn đến ô nhớ đó.

Cách quản lý

Khi trình biên dịch biên dịch chương trình thì chương trình sẽ gồm các modul khác nhau như modul mã lệnh, modul dữ liệu,…do vậy mà bộ nhớ sẽ được chia thành các loại đoạn khác nhau để chứa các modul tương ứng.

Có 4 loại đoạn khác nhau:

  + Đoạn mã lệnh : chứa mã lệnh của chương trình.

  + Đoạn dữ liệu: chứa dữ liệu của chương trình.

  + Đoạn ngăn xếp  là đoạn chứa các thông tin và dữ liệu phục vụ chương trình con.

  + Đoạn mở rộng: chứa dữ liệu mở rộng.

   CPU 8086 sử dụng các thanh ghi đoạn để chứa địa chỉ đoạn và sử dụng thanh ghi đa năng, con trỏ và chỉ số để chứa địa chỉ offset.

- Mỗi đoạn sẽ có 1 địa chỉ đoạn và được quản lý trong các thanh ghi cụ thể sau :

+ Thanh ghi CS chứa địa chỉ đoạn mã lệnh, Thanh ghi DS chứa địa chỉ đoạn dữ liệu, Thanh ghi SS chứa địa chỉ đoạn ngăn xếp.,Thanh ghi ES chứa địa chỉ đoạn mở rộng.

- Mỗi ô nhớ thì được xác định thông qua địa chỉ logic (địa chỉ đoạn : địa chỉ offset). Ta có 2 cặp thanh ghi sau luôn đi với nhau : CS : IP và SS : SP

+ IP : Chứa địa chỉ offset của ô nhớ trong đoạn mã lệnh chứa lệnh CPU cần nhập để thực hiện

+ SP : Chứa địa chỉ offset của ô đỉnh ngăn xếp trong đoạn ngăn xếp.

- Khi truy nhập các đoạn dữ liệu người lập trình cần xác định offset của các ô nhớ bằng các phương pháp xác định địa chỉ toán hạng (định vị toán hạng).

- Ta có thể hình dung cơ chế quản lý bộ nhớ trong chế độ thực như  H1

Trong quá trình thực hiện chương trình thì CPU phải truy xuất bộ nhớ do đó một câu hỏi đặt ra là nó có thể truy xuất bộ nhớ với địa chỉ logic của ô nhớ hay không ?- Câu trả lời là không. Nó chỉ có thể truy xuất bộ nhớ dựa vào địa chỉ vật lý của ô nhớ mà thôi. Do đó ta cần phải quy đổi địa chỉ logic sang địa chỉ vật lý của ô nhớ

2. Các thanh ghi

Các  thanh ghi  là các đơn vị lưu  trữ dữ  liệu nằm  trong CPU có tốc độ truy cập nhanh. Chúng được dùng để chứa các toán hạng của lệnh, các kết quả tạm thời của các quá trình tính toán.

Các thanh ghi trong 80286 được chia ra thành các nhóm sau :

Các thanh ghi đa năng AX, BX, CX, DX : là các thanh ghi đa năng 16 bit, được dùng để chứa các toán hạng của lệnh hoặc các kết quả của phép tính.

Có thể truy nhập từng thanh ghi này như là các thanh ghi 16 bit AX, BX, CX, DX hoặc như các thanh ghi 8 bit AH, AL, BH, BL, CH, CL, DH, DL...

Các thanh ghi AX, BX, CX, DX còn có các chức năng mặc định riêng trong một số ngữ cảnh cụ thể sau :

 - AX :Khi gọi các hàm chức năng của hệ điều hành qua lệnh INT, thanh ghi AX hoặc AH được dùng để chứa con số xác định một chức năng cụ thể cần thực hiện của hàm này.

- BX: Khi thực hiện các lệnh truy nhập đoạn dữ liệu, BX được dùng để xác định địa chỉ offset hoặc địa chỉ offset nền của ô nhớ trong đoạn.

- CX: Khi  thực  hiện  các  lệnh LOOP hoặc REP, CX  đóng  vai  trò một  bộ  đếm (chứa số đếm), xác định số lần thực hiện lặp.

  - DX: Được dùng để chứa hai byte cao kết quả phép nhân hoặc phần dư của phép chia 16 bit. Khi truy nhập các cổng vào/ra có địa chỉ  lớn hơn 255, DX được dùng để chứa địa chỉ (xác định địa chỉ) các công này.

Các thanh ghi địa chỉ BP, SI, DI, SP: là các thanh ghi 16 bit

- SP: BP được dùng để xác định địa chỉ offset hoặc địa chỉ offset  nền  của  ô  nhớ  khi  thực  hiện  các  lệnh  truy  nhập  các  đoạn  dữ  liệu. BP thường được  dùng  để  xác  định  địa  chỉ  offset  hoặc  địa  chỉ  offset  nền  khi  truy nhập đoạn ngăn xếp.

 - SI được dùng để chứa (xác định) địa chỉ offset hoặc một phần của địa chỉ offset khi truy nhập đoạn dữ liệu.

- DI được dùng để chứa (xác định) địa chỉ offset hoặc một  phần  của địa  chỉ offset  khi  truy  nhập  đoạn  dữ  liệu. DI  thường được dùng để chứa địa chỉ offset của xâu ký tự trong đoạn mở rộng  (ES: DI khi thực hiện lệnh thao tác xâu).

- SP Con  trỏ ngắn xếp SP chứa địa chỉ offset của ô nhớ trong đoạn ngăn xếp. SP luôn trỏ đến đỉnh ngăn xếp.

Nhóm thanh ghi đoạn CS, DS, SS, ES : Là các thanh ghi 16bit

CS : Chứa địa chỉ đoạn mã lệnh, DS : Chứa địa chỉ đoạn dữ liệu, ES : Chứa địa chỉ đoạn mở rộng, SS : Chứa địa chỉ đoạn ngăn xếp

Các thanh ghi điều khiển và trạng thái :

- Con trỏ lệnh IP:là thanh ghi 16 bit IP chứa địa chỉ offset của ô nhớ trong đoạn mã lệnh.

- Thanh ghi cờ FLAGS : là thanh ghi 16 bit chứa các bít  thông  tin phản ánh  trạng  thái của kết quả phép tính.

 Không  thể  tác động  trực  tiếp vào  toàn bộ  thanh ghi cờ mà chỉ có thể  tác động vào một số bit cờ qua các lệnh CLC, STC, CLI, STI, CLD, STD.

  Thanh ghi trạng thái máy (MSW) : H2

 - PE cho phép chế độ bảo vệ. Nếu PE = 1 : cho phép CPU làm việc ở chế độ bảo vệ. Khi khởi động máy tính thì PE = 0.

 - MP : MP được dùng để đồng bộ hoạt động của CPU và bộ đồng xử lý.

- EM: EM = 0 cho phép thực hiện các mã lệnh dấu phảy động trên bộ đồng xử lý. EM =  1 khi CPU gặp mã lệnh  lệnh dấu phẩy động sẽ sinh  ra ngoại  tệ kích hoạt  chương trình thực hiện  phép  tính  dấu chấm động (chương  trình mô phỏng bộ đồng xử lý).

- TS  dùng ở chế độ đa nhiệm. Lệnh LMSW tác động được vào thanh ghi này.

CPU 80286 còn có các thanh ghi khác như sau : (Hoạt động trong chế độ bảo vệ)

- Thanh ghi nhiệm vụ TR , Thanh ghi bảng mô tả cục bộ LDT , Thanh ghi bảng mô tả ngắt IDT , Thanh ghi bảng bộ mô tả toàn cục GDT ,  Thanh ghi từ trạng thái máy MSW.

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

Các  phương  pháp  xác  định  địa  chỉ  toán  hạng  (Các  phương  pháp  định  vị toán hạng) cho phép xác định nơi chứa toán hạng. Nơi chứa toán hạng có thể là: Trên lệnh, thanh ghi và bộ nhớ. Bộ nhớ mặc định được hiểu là đoạn dữ liệu, xác định địa chỉ ô nhớ là xác định địa chỉ offset hiệu dụng của ô nhớ trong đoạn đó. Trong các trường hợp khác cần chỉ rõ đoạn nhớ cần truy nhập, ví dụ ES: [địa chỉ offset].

  Có ba nhóm chế độ định vị toàn hạng

  + Định vị tức thời

  + Định vị thanh ghi

  + Định vị bộ nhớ.

Các thao tác có thể xẩy ra giữa các đối tượng sau:

    Thanh ghi    <--    Tức thời

   Thanh ghi    <-->   Thanh ghi

     Bộ nhớ       <--   Tức thời

    Bộ nhớ     <-->  Thanh ghi

- Định vị tức thời: Dữ liệu nằm ngay trong câu lệnh

- Định vị thanh ghi : Các thanh ghi đa năng, các thanh ghi địa chỉ hoặc các thanh ghi đoạn của CPU là nơi chứa dữ liệu.

 - Định vị bộ nhớ: Phương pháp định vị bộ nhớ cho phép xác định địa chỉ offset (địa chỉ lệch) của ô nhớ chứa toán hạng, ô nhớ mặc định nằm trong đoạn dữ liệu.

  Có các phương pháp định vị bộ nhớ sau: 6 pp

+ Định vị trực tiếp : Địa chỉ ô nhớ chứa dữ liệu nằm ngay trong lệnh.

+ Định vị gián tiếp (thanh ghi). Các thanh ghi địa chỉ BX, BP, SI, DI, SP là nơi chứa địa chỉ ô dữ liệu.

  + Định vị cơ sở : Địa chỉ offset = [BX + khoảng dịch] (thanh ghi BP trỏ đến đoạn ngắn xếp)

Phương pháp định vị cơ sở  thường được dùng trong các thao tác với phần tử mảng dữ liệu hoặc với các cấu trúc dữ liệu tương đương.

  +  Định vị chỉ số :Địa chỉ offset = [SI + khoảng dịch] hoặc [DI + khoảng dịch]

Điều khác biệt giữa phương pháp định vị chỉ số so với phương pháp định vị cơ sở bắt đầu từ hệ 32 bit là có thể viết (SI*bội số). (DI*bội số). Bội số là 1, 2, 4, 8.

- Định vị cơ sở chỉ số :Địa chỉ offset =[BX+SI] hoặc [BX+DI] hoặc [BP+SI] họăc [BP+DI]

Phương pháp định vị cơ sở chỉ số thường được dùng trong các thao tác với mảng dữ liệu hoặc với các cấu trúc dữ liệu tương đương.

 - Định vị đầy đủ :  Địa chỉ offset= [Thanh ghi cơ sở + Thanh ghi chỉ số + khoảng dịch].

Phương pháp định vị này thường được dùng trong các thao  tác với mảng dữ liệu hai chiều hoặc với các cấu trúc dữ liệu phức tạp.

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

Kỹ thuật đường ống

Với kỹ thuật xử lý lệnh thông thường, đơn vị xử lý trung tâm phải tuần tự thực hiện xong tất cả các giai đoạn thực hiện một lệnh, thường là sau 5 chu kỳ máy, rồi mới chuyển sang nhập và thực hiện lệnh tiếp theo. Để tăng tốc độ xử lý lệnh mà không nhất thiết phải tăng tần số nhịp của máy, người ta sử dụng các kỹ thuật khác như kỹ thuật xử lý lệnh kiểu đường ống (Pipeline) và kỹ thuật xử lý lệnh song song (ILP).

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

Trong kỹ thuật xử lý lệnh theo kiểu đường ống, việc thực hiện lệnh cũng được thực hiện qua 5 giai đoạn, giai đoạn nọ tiếp sau giai đoạn kia, cho đến khi thực hiện xong lệnh.Kỹ thuật đường ống cho phép tăng tốc độ thực hiện lệnh lên gấp nhiều lần: So sánh với kiểu xử lý tuần tự thông thường, 5 lệnh được thực hiện trong 25 chu kỳ xung nhịp, thì xử lý lệnh theo kỹ thuật ống dẫn thực hiện 5 lậnh chỉ trong 9 chu kỳ xung nhịp.

Nhược điểm: Ta thấy rằng toàn bộ lệnh được xử lý không phải  là những lệnh độc lập, mà còn một phần khá lớn những lệnh phụ thuộc. Đơn giản nhất là những lệnh trong thuật toán  xoay vòng: phép tính sau phải chờ kết quả của phép tính ngay trước mới có thể thực hiện. Đây chính là điểm yếu của kiến trúc pipeline.

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

Kỹ thuật ILP là kỹ thuật thiết kế đơn vị xử lý trung tâm và chương trình dịch nhằm làm tăng tốc độ các thao tác máy (như ghi-đọc bộ nhớ) và thực hiện các phép tính. Trong các kỹ thuật ILP có kỹ thuật superscalar, trong đó tại một chu kỳ máy, nhiều lệnh được nhập và được thực hiện đồng thời trên nhiều đường ống khác nhau.

Trong một máy tính siêu vô hướng phần cứng phải quản lý việc đọc và thi hành đồng thời nhiều lệnh. Vậy nó phải có khả năng quản lý các quan hệ giữa số liệu với nhau. Cũng cần phải chọn các lệnh có khả năng được thi hành cùng một lúc.Số lệnh có thể được thi hành song song càng nhiều thì phần cứng thực hiện việc này càng phức tạp.

5.Các thành phần cơ bản của máy vi tính

Khi máy tính được sử dụng để giám sát hay điều khiển một quá trình thực, việc giao tiếp giữa máy tính và con người được mô tả đơn giản hoá như hình vẽ dưới. Thông qua chương trình giao tiếp và các thiết bị Vào/Ra, con người làm nhiệm vụ giám sát hoặc điều khiển hoạt động của máy móc hoặc quá trình. H3

Đơn vị xử lý trung tâm CPU: Đóng vai trò chủ đạo trong hệ vi xử lý.

CPU thực hiện các chức năng sau:Điều khiển ghi/đọc thông tin lên bộ nhớ, Hiểu và thực hiện 1 tập hữu hạn các chỉ thị được thể hiện dưới dạng mã số, Nhập tuần tự các chỉ thị từ bộ nhớ và thực thi các chỉ thị này (chức năng thực hiện chương trình đang có trong bộ nhớ), Điều khiển quá trình nhập thông tin từ thiết bị đầu vào/ra và điều khiển quá trình xuất thông tin qua thiết bị đầu ra.

Bộ nhớ: Lưu trữ các lệnh và số liệu dùng cho máy tính. Các thao tác cơ bản với bộ nhớ: + Thao tác đọc (read) + Thao tác ghi (write). Bộ nhớ bao gồm:

Bộ nhớ trong :Được tạo bởi các vi mạch nhớ bán dẫn có tốc độ truy cập nhanh nhưng dung lượng hạn chế .Gồm bộ nhớ chính (ROM +RAM) và bộ nhớ cache (bộ nhớ đệm nhanh).

Bộ nhớ chính RAM:Chứa các chương trình và dữ liệu đang được CPU sử dụng (chương trình đang được thực hiện).

Bộ nhớ chính ROM: ROM là bộ nhớ chỉ đọc. Dữ liệu trong ROM được duy trì ngay cả khi không có nguồn điện nuôi. ROM chứa các chương trình cơ bản như: Các chương trình kiểm tra hệ thống, chương trình xác lập cầu hình hệ thống,…

Bộ nhớ đệm nhanh (Cache Memory):

 Bộ nhớ ngoài: Lưu giữ tài nguyên phần mềm của máy tính bao gồm: HĐH, các chương trình và các dữ liệu. Bộ nhớ ngoài được kết nối với hệ thống dưới dạng các thiết bị vào/ra. Nó có dung lượng lớn nhưng tốc độ truy cập chậm. Các loại bộ nhớ ngoài như:Bộ nhớ từ( Đĩa cứng, đĩa mềm), Bộ nhớ quang( Đĩa CD, DVD), Bộ nhớ bán dẫn( Flash disk)

Thiết bị giao diện (phối ghép vào/ra): Giúp kết nối thiết bị vào/ra với CPU.

Thiết bị vào: Thực hiện chức năng nhập thông tin cho máy tính

Thiết bị ra: Hiển thị các thông tin đưa ra từ máy tính ở dạng con người có thể hiểu được

Hệ thống bus: Là đường truyền thông tin trong máy tính.Gồm 3 loại:Bus địa chỉ, Bus điều khiển, Bus dữ liệu

Hệ điều hành:Đó là 1 tập hợp các chương trình để sử dụng các chức năng cơ bản của các bộ phận phần cứng hay phần mềm trên hệ thống máy tính. 

6.Kiến trúc cơ bản của máy tính

Một máy tính PC được xây dựng trên cơ sở các khối chức năng cơ bản sau: H4

1. Đơn vị xử lý trung tâm CPU 80286

CPU 80286 là loại 16 bít (độ rộng của dữ liệu hoặc mã lệnh là 16 bit). Chức năng chính của CPU:

+ Quản lý bộ nhớ. CPU 80286 có Bus địa chỉ 24bit và quản lý được 24*220 = 16M ô nhớ vật lý.

+ Hiểu và xử lý một tập hữu hạn các lệnh: Chuyển dữ liệu giữa CPU và bộ nhớ , Số học và logic, Xử lý bit, Rẽ nhánh, Vào/ra dữ liệu các cổng (IN, OUT),  Các lệnh khác

+ Thực hiện chương trình theo cơ chế nhập tuần tự từng lệnh từ bộ nhớ và xử lý.

+ Điều khiển hoạt động trao đổi dữ liệu giữa CPU và bộ nhớ, giữa CPU với thiết bị vào/ra và với các thiết bị khác.

CPU 80286 có hai chế độ làm việc:Chế độ thực,Chế độ bảo vệ

2. Bộ đồng xử lý Bộ đồng xử lý trợ giúp CPU xử lý các phép tính số học có giá trị là dấu chấm động, các phép tính logarit, lượng giác với tốc độ nhanh và với độ chính xác cao.  

3. Bộ nhớ chính

Bộ nhớ chính được hiểu là bộ nhớ có tốc độ truy nhập cao (bộ nhớ bán dẫn). Bộ nhớ chính được tổ chức kiểu tuyến tính. Địa chỉ của các ô nhớ (xác định vị trí của ô đó trong bộ nhớ) bắt đầu từ 0 và tăng dần. Bộ nhớ chính chứa mã lệnh chương trình và dữ liệu của chương trình đang chạy hiện thời.. Bộ nhớ chính có hai phần ROM và RAM.

ROM : ROM là bộ nhớ chỉ đọc. Dữ liệu trong ROM được duy trì ngay cả khi không có nguồn điện nuôi. ROM chứa các phần mềm cơ bản sau:

- Các chương trình kiểm tra hệ thống (quá trình POST): Kiểm tra CPU, kiểm tra RAM, kiểm tra các thiết bị điều khiển và giao diện, các thiết bị ngoại vi như bàn phím, ổ đĩa, v.v...

- Chương trình xác lập cấu hình hệ thống.

- Chương trình quét ROM mở rộng

- Chương trình đọc cung khởi động của ổ đĩa khởi động mặc định..

ROM còn chứa các chương trình điều khiển các thiết bị vào-ra cơ bản của máy tính

RAM: là bộ nhớ thao tác. Bộ nhớ RAM có chức năng chứa các phần mềm của hệ thống (hệ điều hành), phần mềm và dữ liệu của một hoặc nhiều chương trình đang hoạt động (chương trình ứng dụng).

4. CMOS

Thiết  bị  CMOS gồm  hai  bộ  phận  chính:  đồng  hồ  thời  gian  thực  và RAM-CMOS. Các thiết bị này được nuôi bằng nguồn điện độc lập.

5. Bộ định thời TIMER 8254

TIMER 8254 gồm có 3 bộ đếm nhị phân 16 bít. Đây là các bộ đếm khả trình.

6. Bộ điều khiển ngắt PIC8259

PIC 8259 là thiết bị điều khiển khả trình. PIC 8259 hỗ trợ CPU thực hiện cơ chế ngắt cùng cho phép CPU phản ứng tức thời với yêu cầu của các thiết bị vào-ra dữ liệu và các thiết bị khác..

7. Bộ điều khiển truy nhập trực tiếp bộ nhớ DMAC 8237

DMAC 8237 là thiết bị điều khiển khả trình. DMAC 8237 điều khiển quá trình vào/ra dữ liệu trực tiếp giữa bộ nhớ và các thiết bị ngoại vi

8. Thiết bị giao diện bàn phím KC 8042

KC 8042 thực hiện chức năng giao diện giữa bàn phím và đơn vị xử lý trung tâm CPU.

9. Thiết bị giao diện màn hình CRTC

CRTC là thiết bị khả trình. CRTC thực hiện chức năng giao diện giữa CPU và màn hình hiển thị.. CRTC có thể làm việc ở hai chế độ văn bản và đồ hoạ màu.

10. Thiết bị giao diện nối tiếp UART 8250 UART 8250 thực hiện chức năng giao diện kiểu nối tiếp không đồng bộ giữa CPU và các thiết bị ngoại vi

11. Thiết bị giao diện song song PPI Mạch PPI thực hiện quá trình giao diện song song giữa CPU và các thiết bị ngoại vi. PPI thực hiện chức năng nhận và phát dữ liệu dạng song song, tạo và nhạn các tín hiệu bắt tay với các thiết bị ngoại vi.

12. Thiết bị giao diện mềm FDC FDC thực hiện chức năng giao diện giữa CPU và thiết bị đĩa mềm. FDC nhận lệnh và dữ liệu từ CPU hoặc bộ nhớ, chuyển thành dạng thích hợp đưa ra thiết bị đĩa mềm và ngược lại.

13. Thiết bị giao diện đĩa cứng HDC thực hiện chức năng giao diện giữa CPU và thiết bị đĩa cứng theo chuẩn IDE, HDC nhận dữ liệu từ bộ nhớ, chuyển thành dạng thích hợp đưa ra thiết bị đĩa cứng và ngược lại theo chuẩn IDE.

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

Để tăng tốc độ xử lý của CPU, để giảm thời gian truy xuất bộ nhớ chính một giải pháp đưa ra là thêm một bộ nhớ SRAM có tốc độ truy cập cao. Bộ nhớ loại này được gọi là bộ nhớ Cache. Bộ nhớ Cache được sử dụng để lưu trữ các lệnh và dữ liệu hay được sử dụng nhiều trong quá trình thực hiện chương trình. Việc truy nhập đến bộ nhớ chính chỉ xảy ra khi không truy nhập được thông tin cần có trong Cache. H5

Nhận xét: Tốc độ truy cập của CPU sẽ giảm dần theo từng cấp của bộ nhớ từ các thanh ghi trong CPU tới bộ nhớ thứ cấp (đĩa từ).Dung lượng nhớ sẽ tăng dần tính từ CPU -> bộ nhớ thứ cấp (đĩa từ).

Các đặc tính chính của các cấp bộ nhớ dẫn tới 2 mức chính là :

+ Mức cache – bộ nhớ chính: Có cơ cấu vận hành trong suốt đối với bộ xử lý.Việc chuyển dữ liệu giữa cache và bộ nhớ trog là việc tả lên hay ghi xuống các khối dữ liệu. Mỗi khối chứa nhìều từ bộ nhớ túy thuộc vào cấu trúc bộ nhớ cache.

+ Mức bộ nhớ ảo (bao gồm bộ nhớ chính và không gian cấp phát trên đĩa cứng): Bộ nhớ ảo là một kỹ thuật hiện đại giúp cho người dùng được giải phóng hoàn toàn khỏi mối bận tâm về giới hạn bộ nhớ. Bộ nhớ ảo là một kỹ thuật cho phép xử lý một tiến trình không được nạp toàn bộ vào bộ nhớ vật lý. Bộ nhớ ảo mô hình hoá bộ nhớ như một bảng lưu trữ rất lớn và đồng nhất, tách biệt hẳn khái niệm không gian địa chỉ và không gian vật lý. Bộ nhớ ảo thường được thực hiện với kỹ thuật phân trang theo yêu cầu hoặc cũng có thể sử dụng kỹ thuật phân đoạn theo yêu cầu.

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

Thủ tục quản lý bộ nhớ phân cấp có cache là nạp từng đoạn chương trình và dữ liệu từ bộ nhớ chính vào cache. Phương pháp đơn giản nhất được dùng để quy chiếu bộ nhớ có cache là phương pháp ánh xạ trực tiếp. Bộ nhớ chính được chia thành nhiều khối, mỗi khối bao gồm nhiều từ hoặc nhiều byte .Bộ nhớ cache có thể chứa nhiều khối, gọi là khối cache. Mỗi khối cache nằm ở một vị trí xác định trong cache. Mỗi khối cache chứa các thông tin như: số hiệu thẻ, bit cờ và bản thân khối dữ liệu (khối dữ liệu trong cache là bản sao của khối dữ liệu trong bộ nhớ chính).

Cấu trúc một khối cache như sau:    | Số hiệu thẻ | F | Khối dữ liệu |

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

a) Thao tác đọc  bộ nhớ

Giả sử có bộ nhớ chính có BUS địa chỉ 24 bít và cache có 4 khối. Khi một từ (1byte) dữ liệu được đọc thì CPU cung cấp địa chỉ cho bộ điều khiển bộ nhớ. Bộ điều khiển bộ nhớ tách địa chỉ 24 bit làm hai phần

- 2 bit địa chỉ thấp nhất được đặt vào thanh ghi địa chỉ MAR của cache. Các bit này xác định vị trí (thứ tự) khối cần tìm trong cache.

- 22 bit địa chỉ cao mô tả số hiệu thẻ. Số hiệu thẻ là con số xác định vị trí của khối nhớ trong bộ nhớ.

Thao tác đọc dữ liệu từ bộ nhớ được tiến hành như  sau:

Bước 1: bộ điều khiển cache đọc khối dữ liệu trong cache tại vị trí có số thứ tự trùng với phân số thứ tự khối trong địa chỉ trên BUS.

Bước  2: bộ  điều khiển cache xác  định xem số hiệu thẻ của khối trong cache này có trùng với số hiệu thẻ trong địa chỉ BUS hay không.

Bước 3: nếu trùng thì việc quy chiếu là "trùng" và một từ dữ liệu được đọc từ cache vào CPU. Nếu không trùng (trường hợp "trượt") thì từ dữ liệu phải được lấy từ bộ nhớ chính. hay).

b) Thao tác ghi bộ nhớ

Có một vài kỹ thuật được dùng để ghi dữ liệu vào bộ nhớ chính khi thực hiện các lệnh ghi bộ nhớ: Kỹ thuật ghi xuyên và kỹ thuật sao lưu

+ Ở loại cache ghi xuyên dữ liệu được ghi lên cả cache lẫn bộ nhớ chính cùng một lúc, không dùng đến bit cờ F. Kỹ thuật này làm cho thời gian ghi bộ nhớ tăng lên.

+ Ở loại cache sao lưu thì dữ liệu chỉ được ghi vào cache và bit cờ F được lập (F = 1), ghi nhận nội dung cache khác với nội dung bộ nhớ chính.  Sau đó nếu khối dữ liệu cần được thay thế bằng khối dữ liệu khác từ bộ nhớ chính (trường hợp "trượt") thì bit cờ F được kiểm tra để xác định xem có cần thực hiện thao tác sao lưu này không, nếu F = 1 thì cần thực hiện sao lưu, nếu F = 0 thì không cần sao lưu. Kỹ thuật này làm tăng tốc độ thao tác với bộ nhớ và được gọi là kỹ thuật sao lưu có dựng cờ. 

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

Bộ phối ghép nằm trung gian giữa máy vi tính và các thiết bị ngoài làm nhiệm vụ phối hợp trao đổi dữ liệu giữa máy tính và thiết bị ngoài về mức và công suất của tín hiệu, về dạng tín hiệu, về tốc độ và phương thức trao đổi.  H6

Các thanh ghi điều khiển (thanh ghi CONTROL) nhận và chứa các từ điều khiển xác lập chế độ làm việc của thiết bị. Các thanh ghi trạng thái (thanh ghi STATUS) chứa thông tin phản ảnh trạng thái làm việc của thiết bị giao diện và thiết bị ngoại vi. Các thanh ghi dữ liệu (thanh ghi DATA) thực hiện chức năng bộ đệm tạm chứa dữ liệu vào/ra.

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

Có 4 phương pháp vào ra dữ liệu, nằm trong hai nhóm phương pháp khác nhau

Phương pháp vào/ra dữ liệu theo định trình (CPU chủ động): là phương pháp trong đó quá trình vào ra được thực hiện theo một chu kỳ xác định trước, nhờ các lệnh vào ra và CPU không quan tâm đến trạng thái của thiết bị vào ra ( gồm thiết bị giao diện và thiết bị ngoại vi).  .

Phương pháp vào/ra dữ liệu theo kiểu thăm dò (CPU chủ động) CPU luôn thực hiện kiểm tra trạng thái sẵn sàng làm việc của thiết bị trước khi thực hiện thật sự việc vào ra dữ liệu. Việc kiểm tra trạng thái sẵn sàng của thiết bị bằng cách kiểm tra thông tin trên thanh ghi trạng thái.

Ưu điểm:do CPU luôn kiểm tra trạng thái sẵn sàng làm việc của thiết bị trước khi thực hiện vào/ra dữ liệu nên quá trình vào/ra dữ liệu kiểu này có độ tin cậy cao.

Nhược điểm: Do CPU luôn phải kiểm tra lần lượt trạng thái làm việc của các thiết bị cho nên tốc độ vào/ra dữ liệu chậm.

Phương pháp vào/ra dữ liệu theo ngắt cứng (Các thiết bị vào/ra chủ động): để tận dụng những khả năng của CPU để thực hiện những công việc khác ngoài việc trao đổi dữ liệu với TBN, chỉ khi nào có yêu cầu trao đổi dữ liệu thì mới yêu cầu CPU tạm dừng công việc hiện tại để phục vụ việc trao đổi dữ liệu. Sau khi hoàn thành thì CPU lại trở lại thực hiện tiếp công việc đang tiến hành, hoặc thực hiện một công việc mới.. Một hệ thống như vậy có thể đáp ứng rất nhanh với các yêu cầu trao đổi dữ liệu trong khi vẫn có thể thực hiện các công việc khác.

Phương pháp vào/ra dữ liệu theo kiểu DMA (Các thiết bị vào/ra chủ động): là phương pháp vào ra dữ liệu đáp ứng được yêu cầu cao về tốc độ vào ra. Để làm được điều này, các hệ VXL nói chung đều phải dùng thêm mạch chuyên dụng để điều khiển việc truy nhập trực tiếp bộ nhớ (DMAC).Quá trình vào ra dữ liệu trực tiếp giữa bộ nhớ và thiết bị ngoại vi không qua CPU được gọi là quá trình DMA.

Bạn đang đọc truyện trên: Truyen4U.Com

Tags: