ktmt1 lemon

Màu nền
Font chữ
Font size
Chiều cao dòng

chương1

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

*Đơn vị xử lý trung tâm CPU :

- Gồm 2 phần chính : đơn vị điều khiển CPU và đơn vị xử lý số học- logic ALU. CPU thực hiện các chức năng :Đ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. 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ớ 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.

*Thiết bị vào:

- Thực hiện chức năng nhập thông tin cho máy tính. Vd: con chuột, bàn phím...

*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. VD: Màn hình, máy in, thiết bị âm thanh,…

*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. Tại vì: Do sự chênh lệch về tốc độ xử lý thông tin giữa CPU và thiết bị ngoại vi (tốc độ CPU nhanh hơn) và sự khác nhau giữa dạng thức thông tin bên trong máy tính và thế giới bên ngoài máy tính.

*Hệ thống bus:

- Là đường truyền thông tin trong máy tính.CPU thực hiện kết nối và trao đổi thông tin với các đơn vị chức năng khác thông qua hệ thống  BUS.  H.thống Bus bao gồm: địa chỉ, điều khiển và dữ liệu.

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

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ớ, Hiểu và xử lý một tập hữu hạn các lệnh, 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 và 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

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.

RAM:

- 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:

- 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:

- 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 :

- 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:

- 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:

- 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:

- 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ị.

10. Thiết bị giao diện nối tiếp 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 theo chuẩn RS232.

11. Thiết bị giao diện song song PPI:

     - Thực hiện qtrình giao diện song song giữa CPU và các thiết bị ngoại vi.

12. Thiết bị giao diện mềm FDC:

- Thực hiện chức năng giao diện giữa CPU và thiết bị đĩa mềm.

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.

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

- 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).

Cách tính địa chỉ vật lí

- Vì thanh ghi đoạn là thanh ghi 16bit có nhiệm vụ xác định đoạn của ô nhớ. Còn các thanh ghi 16bit còn lại (thanh ghi đa năng, con trỏ, chỉ số) xác định vị trí của ô nhớ trong đoạn.

- Vì địa chỉ vật lý có độ dài 20bit

è địa chỉ đoạn sẽ chiếm 16bits cao trong 20bits địa chỉ vật lý

  Địa chỉ offset sẽ chiếm 16bits thấp trong 20bit địa chỉ vật lý

è ta có cách chuyển dổi sau:

B1: Dịch trái địa chỉ đoạn đi 4 bit và điền các bit 0 vào 4 bit thấp

B2: Cộng địa chỉ offset với địa chỉ đoạn sau khi dịch trái

Công thức tính:    Địa chỉ vật lý = Địa chỉ đoạn *10H + Địa chỉ offset

4. 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ác thanh ghi địa chỉ BP, SI, DI, SP: là các thanh ghi 16 bit

BP

SI

DI

SP

-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 : Thường được dùng để chứa địa chỉ offset của xâu ký tự trong đoạn dữ liệu (DS : SI) khi thực hiện lệnh thao tác xâu.

-DI : Thường được dùng để chứa địa chỉ offset của xâu ký tự trong đoạn mở rộng 

-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 :

15                      0

IP

FLAGS

MSW

- 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. Khi nhập lệnh thì IP tự động tăng dần và khi CPU nhập xong một lệnh thì IP trỏ đến ô nhớ chứa lệnh tiếp theo trong đoạn mã lệnh. Nội  dung  IP  bị  thay đổi  bất  thường  khi  CPU  thực  lệnh  nhảy,  lệnh  gọi chương trình con hoặc bởi các cơ chế ngắt cứng và mềm.

- 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.

- MSW : thanh ghi trạng thái máy

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

- CPU thực hiện chương trình bằng cách thực hiện tuần tự các lệnh trong bộ nhớ chính

*Cấu trúc lệnh

          - Cấu trúc của một lệnh có thể có các dạng sau:(bảng)

 - Mã lệnh: là phần chứa thông tin xác định các thao tác hoặc công việc cần được thực hiện.

- Phần địa chỉ: là phần thông tin xác định nơi chứa toán hạng

 Các nơi có thể chứa toán hạng: Tức thời trong lệnh (giá trị toán hạng nằm ngay trong lệnh), Các thanh ghi của CPU, Bộ nhớ.

* Các phương pháp xác định địa chỉ toán hạng

- Các  phương  pháp  xác  định  địa  chỉ  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ớ, có 3 p2 định vị toán hạng :

- Định vị tức thời: Dữ liệu nằm ngay trong câu lệnh Ví dụ: MOV AX. 0F000h:    đưa giá trị F000h vào AX

- Đị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/Ví dụ:  MOV AX. BX:đưa giá trị ở BX và AX .

- Đị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:

+ Định vị trực tiếp :

- Địa chỉ ô nhớ chứa dữ liệu nằm ngay trong lệnh. Địa chỉ offset = [giá trị cụ thể]

+ Định vị gián tiếp :

- Các thanh ghi địa chỉ BX, BP, SI, DI, SP là nơi chứa địa chỉ ô dữ liệu. Ví dụ:  MOV AX, [BX] ;Trong đó  [BX]: = 1000h  :  lệnh  thực hiện đưa nội dung ô nhớ có địa  chỉ DS:1000h vào AX.

+ Định vị cơ sở :

- Ví dụ:   MOV AX, [BX + 10h] ; Trong  đó  [BX] = 1000h,  lệnh  thực  hiện đưa  nội  dung  ô  nhớ  có  địa  chỉ DS:1010h vào AX

+Định vị chỉ số :

- Ví dụ:  MOV AX, [SI + 1000h] ;Trong đó  [SI] = 10h.  lệnh  thực hiện đưa nội dung ô nhớ  có địa  chỉ DS:1010h vào AX.

+ Định vị chỉ số :

- Ví dụ:  MOV AX, [SI + 1000h] ;Trong đó  [SI] = 10h.  lệnh  thực hiện đưa nội dung ô nhớ  có địa  chỉ DS:1010h vào AX.

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

- Đặt vấn đề:Việc thi hành một lệnh mã máy thường được chia thành 5 giai đoạn: 1. Nhập lệnh 2. Giải mã lệnh 3. Tạo địa chỉ toán hạng 4. Nhập toán hạng 5. Thực hiện lệnh

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

- Kỹ thuật xử lý lệnh kiểu đường ống được sử dụng trong các đơn vị xử lý trung tâm từ đời đơn vị xử lý trung tâm Intel 8086.(bảng1)

Đường ống tương tự như dây chuyền sản xuất nhiều công đoạn. ở dây chuyền sản xuất, mỗi công đoạn thực hiện một thao tác sản xuất. Sản phẩm

được chuyển và hình thành dần sau mỗi công đoạn sản xuất, cho đến khi được hoàn thành ở công đoạn cuối cùng

.Ưu điểm : 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:  Quá trinh xử lý bị chậm lại, k thực hiện hiệu quả nếu trong ctrinh có lệnh rẽ nhánh or có sự fu thuộc dữ liệu của các lệnh.

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

- 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.Pentium là loại đơn vị xử lý trung tâm được thiết kế theo kỹ thuật superscalar, trong đó hai lệnh được nhập và giải mã đồng thời. Pentium có hai đường ống thực hiện lệnh song song U và V.

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. Những bộ xử lý đầu tiên đưa ra thị trường dùng kỹ thuật này là các bộ xử lý Intel i860 và IBM RS/6000. Các bộ xử lý này có khả năng thực hiện song song nhiều tác vụ trên số nguyên và trên số lẻ.

Bạn đang đọc truyện trên: Truyen2U.Pro