1. Trang chủ
  2. » Công Nghệ Thông Tin

Chương 10 - Các bộ vi xử lý tiên tiến của INTEL doc

12 1K 11
Tài liệu đã được kiểm tra trùng lặp

Đang tải... (xem toàn văn)

Tài liệu hạn chế xem trước, để xem đầy đủ mời bạn chọn Tải xuống

THÔNG TIN TÀI LIỆU

Thông tin cơ bản

Định dạng
Số trang 12
Dung lượng 220,87 KB

Các công cụ chuyển đổi và chỉnh sửa cho tài liệu này

Nội dung

Thay vì các phối ghép ngoại vi được cấy thêm như ở 80186, 80286 có bên trong mạch quản lý bộ nhớ memory management unit, MMU để lμm việc với bộ nhớ ảo với cơ chế bảo vệ bộ nhớ vμ khả n

Trang 1

chương 10

Các bộ vi xử lý tiên tiến của INTEL

1 Giới thiệu chung

Trong các chương trước ta đã trình bμy các vấn đề liên quan chủ yếu đến các

đặc tính vμ các khả năng của bộ vi xử lý 8086/8088 Tại chương 1 ta cũng đã trình bμy khái quát về các đặc điểm chính vμ các thông số của các bộ vi xử lý trong 2 họ chủ yếu lμ Intel vμ Motorola Bây giờ trước khi đi vμo giới thiệu một số vấn đề cụ thể của

họ Intel 80x86, ta tóm lược các điểm nổi bật của các bộ vi xử lý trong họ nμy

Bộ vi xử lý 16 bit 80186 về cơ bản giống như mạch 8086 nhưng được mở rộng thêm khả năng lμm việc bởi vì nó được cấy thêm các bộ phận sau: bộ tạo xung đồng

hồ, bộ điều khiển ngắt ưu tiên, bộ đếm thời gian lập trình được, bộ điều khiển việc thâm nhập trực tiếp vμo bộ nhớ, bộ tạo thời gian đợi lập trình được vμ các mạch giải mã địa chỉ Nhìn vμo cấu trúc của mạch 80186 ta có thể đánh giá được ngay rằng đây chính lμ bộ vi xử lý rất thích hợp cho các ứng dụng trong công nghiệp

Bộ vi xử lý 16 bit 80286 lμ một biến tướng khác của 8086 vμ ra đời vμo cùng một thời gian với bộ vi xử lý 80186 nhưng được phát triển theo hướng khác Thay vì

các phối ghép ngoại vi được cấy thêm như ở 80186, 80286 có bên trong mạch quản lý

bộ nhớ (memory management unit, MMU) để lμm việc với bộ nhớ ảo với cơ chế bảo vệ

bộ nhớ vμ khả năng địa chỉ hoá bộ nhớ vật lý với dung lượng đạt tới 16 MByte Bộ vi

xử lý 80286 lμ thμnh viên đầu tiên trong họ được thiết kế để có thể lμm việc trong môi trường đa nhiệm hoặc nhiều người sử dụng

Trang 2

Bộ vi xử lý 80386 lμ bước phát triển tiếp theo của mạch 80286 Đây lμ bộ vi xử

lý 32 bit đầu tiên với bus địa chỉ 32 bit (khả năng địa chỉ hoá 4 GByte) ALU vμ các thanh ghi thao tác với dữ liệu đều có độ dμi 32 bit lμm cho tốc độ xử lý dữ liệu nhanh hơn Một đoạn trong hệ vi xử lý 80386 có thể có độ dμi tới 4GB thay vì 64 KB như ở các thế hệ trước đó Các mạch quản lý vμ bảo vệ bộ nhớ của 80386 được cải tiến nhiều nên 80386 có thể hoạt động hữu hiệu hơn trong hệ lμm việc đa nhiệm

Bộ vi xử lý 80486 về cơ bản có quy mô như 80386, nhưng nó được tăng cường

thêm ngay ở bên trong một bộ nhớ cache (bộ nhớ ẩn) với dung lượng 8 KB dùng chung

cho lệnh vμ dữ liệu 80486 còn được cấy thêm một bộ đồng xử lý toán học dấu phảy

động (floating point unit, FPU) Khả năng thao tác của 80486 vì thế cao hơn, tuy khả

năng bảo vệ vμ quản lý bộ nhớ, khả năng phân biệt địa chỉ bộ nhớ thì vẫn giống như của 80386

Bộ vi xử lý Pentium lμ bộ vi xử lý đầu tiên có bus dữ liệu 64 bit, bus địa chỉ của nó vẫn chỉ có 32 có bit So với 80486, Pentium được tăng cường thêm một bộ nhớ

ẩn nữa với dung lượng 8 KB, nhờ vậy khi hoạt động nó dμnh riêng một bộ nhớ ẩn 8

KB cho mã lệnh vμ một bộ nhớ ẩn 8 KB khác cho dữ liệu Ngoμi một bộ đồng xử lý toán học dấu phảy động FPU có tốc độ 10 lần cao hơn so với ở bộ vi xử lý 80486,

Pentium còn có 2 bộ ALU 64 bit dμnh cho các phép toán với số nguyên (integer unit,

IU), 2 bộ IU nμy có khả năng lμm việc song song Tất cả các cải tiến nμy đã nâng cao

đáng kể tốc độ hoạt động của hệ có Pentium so với các hệ vi xử lý khác của họ 80x86

2 Vấn đề hệ điều hμnh đa nhiệm hoặc nhiều người sử dụng

Khái niệm

Trước khi đưa ra định nghĩa hệ đa nhiệm - hệ nhiều người sử dụng ta hãy nói qua chút ít về hệ lμm việc theo kiểu phân chia thời gian Trong hệ phân chia thời

gian với nhiều người sử dụng, CPU chạy một chương trình ứng dụng của người nμy trong một khoảng thời gian cỡ vμi mili giây vμ quay sang chạy một chương trình ứng dụng của người khác trong vμi mili giây khác Quá trình cứ tiếp tục như vậy cho đến khi các chương trình ứng dụng của mọi người đều được phục vụ Việc nμy xảy ra nhanh đến mức mỗi người sử dụng đều có cảm giác lμ máy tính chỉ lμm việc riêng với mình Ta thấy các công việc của hình thức lμm việc phân chia thời gian như vậy sẽ

được coi lμ 'đồng thời' nếu tốc độ tính toán của CPU lμ rất nhanh trong khi khối lượng tính toán của mỗi công đoạn được chia thời gian lμ rất nhỏ

Trong thực tế đời sống đôi khi cũng có thể thấy cách tổ chức công việc như vậy Một ví dụ lμ các vua cờ có thể đánh cờ cùng một lúc với 10 người ở 10 bμn cờ khác nhau Thực tế thì vua cờ, vì lμ 'siêu cao thủ', nên cần rất ít thời gian để nghĩ một nước

đi chống lại các đối thủ tầm thường Trong khi đó các đấu thủ của vua cờ, vì lμ các

Trang 3

'thấp thủ' nên đều cảm thấy phải chật vật lắm mới tìm ra được nước đi cho mình trong khi vua cờ đang đi các nước cờ ở các bμn khác

Trở lại lĩnh vực máy tính, một hệ điều hμnh với khả năng phối hợp các hoạt

động phân chia theo thời gian như đã trình bμy ở trên có thể được gọi lμ hệ điều hμnh

có nhiều người sử dụng hoặc cũng có thể gọi lμ hệ điều hμnh đa nhiệm, vì mỗi người

sử dụng sẽ có ít nhất một tác vụ (task) cần được hoạt động dưới sự điều khiển của hệ

điều hμnh MS DOS không phải lμ một hệ điều hμnh đa nhiệm, do đó các máy tính tuy có sử dụng các bộ vi xử lý cao cấp của Intel vốn được thiết kế để có thể lμm việc đa nhiệm, nhưng vì chạy dưới DOS nên vẫn chỉ lμ đơn nhiệm Các hệ điều hμnh Unix, OS/2 hoặc MS Windows lμ các thí dụ của hệ điều hμnh đa nhiệm

Các hệ điều hμnh đa nhiệm có thể lμm việc theo theo 2 cách: định kỳ theo các

đoạn thời gian hoặc theo mức ưu tiên đặt trước

• Vấn đề bảo tồn môi trường lμm việc

Các thanh ghi, dữ liệu dùng trong một tác vụ gọi lμ môi trường, trạng thái

hoặc ngữ cảnh Một khi muốn chuyển từ tác vụ nμy sang tác vụ khác thì môi trường

của tác vụ bị gián đoạn phải được bảo tồn để khi đến lượt công việc của nó lại có thể tiếp tục được Cách thông thường để bảo tồn môi trường lμ bảo quản các thông tin nμy trong một vùng ô nhớ đặc biệt hoặc một ngăn xếp, có thể mỗi tác vụ một đoạn ngăn xếp riêng biệt Khi cần thiết ta sẽ cất môi trường của một tác vụ nμy vμ lấy lại môi

trường của một tác vụ khác, công việc nμy được gọi lμ chuyển ngữ cảnh

Vấn đề tranh chấp khi sử dụng chung tμi nguyên

Vấn đề tranh chấp giữa những người sử dụng chung một số tμi nguyên trong

hệ thống sẽ nảy sinh khi có một người muốn truy nhập máy in hoặc ổ đĩa trong khi đó một người khác lại đang in văn bản hoặc ghi/đọc ổ đĩa Hệ điều hμnh phải có các cờ báo bận cho các tμi nguyên đang được sử dụng vμ phải sắp xếp các nhu cầu dùng chung tμi nguyên theo hμng đợi để phục vụ lần lượt

Vấn đề bảo vệ bộ nhớ

Một vấn đề khác có thể nảy sinh khi lμm việc trong hệ thống nhiều người sử dụng lμ trong trường hợp có 2 hoặc nhiều người cùng một lúc muốn đọc vμ thay đổi nội dung của một vùng nhớ dùng chung Hệ điều hμnh phải có cơ chế bảo vệ sao cho một vùng nhớ đang được dùng cho tác vụ nμy không bị hoạt động của các tác vụ khác lμm cho sai lệch

Bản thân hệ điều hμnh cũng cần được bảo vệ bởi vì trong khi thực hiện tác vụ, một người sử dụng nμo đó có thể có các lệnh ghi vμo vùng nhớ chứa mã lệnh của hệ

điều hμnh Nếu hệ điều hμnh không có cơ chể bảo vệ thì thảm hoạ có thể xảy ra bất

cứ lúc nμo do hệ điều hμnh bị thay đổi vμ gây lỗi Để giải quyết việc nμy người ta

Trang 4

thường cấu trúc hệ điều hμnh từ nhiều lớp vμ gán mức đặc quyền thâm nhập vμo các

lớp nμy cho người sử dụng vμ cho hệ điều hμnh theo quy luật: người sử dụng chỉ được quyền thâm nhập vμo vùng dữ liệu ở lớp ngoμi với mức đặc quyền thấp nhất (lớp ngoμi chứa mã vμ dữ liệu dμnh cho người sử dụng) Khi muốn thâm nhập vμo lớp trong, người sử dụng phải thâm nhập qua các cơ chế phức tạp để không có khả năng gây lỗi cho phần mã vμ dữ liệu của hệ điều hμnh Bản thân hệ điều hμnh để mã vμ dữ liệu của nó ở lớp trong cùng vμ nó được gán cho quyền thâm nhập vμo tất cả các lớp Các bộ vi xử lý của Intel có 4 mức đặc quyền, trong khi đó các bộ vi xử lý của Motorola

có 2 mức

Vấn đề quản lý bộ nhớ

Có 2 lý do khiến cho bộ nhớ phải được quản lý đặc cách khi lμm việc trong hệ

điều hμnh đa nhiệm Lý do đầu tiên lμ do bộ nhớ bán dẫn thường có kích thước bé không đủ chứa cả hệ điều hμnh lẫn các chương trình của người sử dụng Lý do thứ hai

lμ các vùng nhớ phải được bảo vệ một cách chắc chắn để khỏi bị chương trình của người sử dụng lμm hỏng Một vμi hệ điều hμnh có thể lμm luôn chức năng quản lý bộ nhớ, nhưng tốt nhất lμ có riêng các đơn vị quản lý bộ nhớ (MMU) thực hiện bằng phần cứng

Để giải quyết được các vấn đề nêu trên một cơ chế nhớ khác ra đời: bộ nhớ ảo

Đó lμ sự kết hợp các bộ nhớ ẩn (SRAM với tốc độ rất cao), bộ nhớ chính (DRAM) vμ vμ

bộ nhớ phụ (ổ đĩa cứng) hoạt động dưới sự quản lý của MMU, sao cho dưới quan điểm

lập trình vμ đối với người sử dụng tập hợp các bộ nhớ trên luôn tạo được cảm giác như

lμ một bộ nhớ thuần nhất với dung lượng lớn (gần bằng dung lượng của ổ đĩa cứng)

nhưng lại lμm việc với tốc độ cao (gần bằng tốc độ của bộ nhớ chính)

Bộ nhớ ảo có thể được quản lý bằng cách chia bộ nhớ thμnh các mảng nhỏ có

độ lớn tính theo đoạn, động tác nμy gọi lμ phân đoạn (đối với họ Intel có từ các bộ vi

xử lý 80286 trở đi) hoặc trang, động tác nμy gọi lμ phân trang (đối với họ Intel có từ

các bộ vi xử lý 80386 trở đi) Trong bộ nhớ ảo như vậy, từng mảng mã lệnh vμ mảng dữ liệu dùng cho chương trình hiện tại được tải từ ổ đĩa vμo DRAM vμ được truy nhập

đến bởi bộ điều khiển của bộ nhớ ẩn khi cần thiết Nếu chương trình đang chạy cần

đến một mảng dữ liệu hoặc một mảng mã lệnh nμo đó mμ mảng nμy lại không có trong DRAM thì nó sẽ được tải vμo DRAM Nếu DRAM không còn chỗ để chứa thì một mảng nμo đó của DRAM sẽ được xác định theo các tiêu chuẩn nhất định để bị

đẩy trở lại ổ đĩa, nhường chỗ cho mảng đang cần lấy vμo Một cơ chế tương tự cũng sẽ

điều khiển hoạt động của bộ nhớ ẩn vμ bộ nhớ chính Nói cách khác, bộ nhớ DRAM

đóng vai trò lμ bộ nhớ ẩn của bộ nhớ phụ, còn chính bản thân bộ nhớ DRAM lại có bộ nhớ cache lμm bộ nhớ ẩn cho riêng của mình

Trong thực tế 1 đoạn có thể có độ lớn cỡ 1 byte-4 GB còn 1 trang thông thường

có độ lớn lμ 4 KB

Trang 5

Như trên đã nói, bộ nhớ chính (còn được gọi lμ bộ nhớ vật lý) lμ bộ nhớ bán

dẫn ROM+RAM thực tế có mặt trong hệ thống vi xử lý, với dung lượng lớn nhất bị hạn chế bởi khả năng phân biệt địa chỉ của CPU Theo quan điểm của bộ nhớ ảo thì

bộ nhớ vật lý chẳng qua chỉ lμ chỗ chứa các mảng (các đoạn hay các trang) hiện đang

có liên hệ với hệ điều hμnh hoặc với chương trình của người sử dụng Để truy nhập

đến bộ nhớ ảo ta dùng địa chỉ ảo (địa chỉ logic) còn để truy nhập đến bộ nhớ vật lý ta phải dùng địa chỉ vật lý Trong hệ vi xử lý có MMU, CPU khi hoạt động cần đọc lệnh hoặc toán hạng thì nó đưa ra địa chỉ ảo của toán hạng hoặc của lệnh đó MMU nhận

địa chỉ ảo vμ dịch (chuyển đổi) nó ra địa chỉ vật lý, địa chỉ nμy được đưa lên bus địa

chỉ để truy nhập bộ nhớ vật lý (hình 10.1)

bộ dịch địa chỉ của

địa chỉ ảo

Hình 10.1 Chức năng dịch (chuyển đổi) địa chỉ của MMU

Dịch địa chỉ trong hệ thống lμm việc theo cách phân đoạn

địa chỉ logic SELECTOR OFFSET

: :

: :

Hình 10.2 Dịch địa chỉ ảo → địa chỉ vật lý trong hệ thống phân đoạn

địa chỉ cơ sở của đoạn

các bit bảo vệ, điềukhiển

+ vật lý địa chỉ

Bảng mô tả

Bộ phận tính

địa chỉ kiểu

n

phân đoạ

Trang 6

Trong các hệ thống có dùng bộ vi xử lý từ 80286-Pentium, khi lμm việc trong

chế độ phân đoạn, một bảng mô tả sẽ được dùng lμm bộ dịch địa chỉ (hình 10.2) Địa chỉ logic gồm 2 phần: phần chọn (SELECTOR) dùng để chỉ vμo bảng mô tả để chọn ra

địa chỉ cơ sở đoạn vμ một phần lμ độ lệch (OFFSET) so với địa chỉ cơ sở đoạn Trong phần chọn có 2 bit dμnh riêng để mã hoá mức đặc quyền thâm nhập vμo một đoạn nμo

đó của chương trình đang chạy ở bảng mô tả, mỗi phần tử của bảng nμy gồm 2 phần, một phần chứa địa chỉ cơ sở đoạn dùng để tìm ra địa chỉ vật lý của toán hạng, một

phần chứa các bit quản lý (gồm các bit điều khiển vμ các bit bảo vệ của đoạn) 2 bit

trong số các bit nμy chứa mức đặc quyền thâm nhập của đoạn Khi một chương trình

có nhu cầu thâm nhập một đoạn nμo đó, MMU sẽ so sánh mức đặc quyền của chương trình được ghi trong phần chọn vμ mức đặc quyền của đoạn được ghi trong phần các bit quản lý Nếu mức đặc quyền trong phần chọn lμ lớn hơn hoặc bằng mức đặc quyền trong phần quản lý thì MMU cho phép chương trình được thâm nhập vμo đoạn được yêu cầu Trong trường hợp ngược lại, chương trình yêu cầu thâm nhập không được MMU trao cho quyền thâm nhập vμ MMU gây ra ngắt để báo cho CPU biết lμ có sự vi phạm đặc quyền thâm nhập vμo vùng nhớ Bộ nhớ nhờ vậy mμ được bảo vệ

Dịch địa chỉ trong hệ thống lμm việc theo cách phân trang

Trong các hệ thống có dùng bộ vi xử lý từ 80386-Pentium, ngoμi việc quản lý

bộ nhớ ảo theo đoạn, MMU còn có khả năng quản lý theo trang Việc quản lý bộ nhớ

ảo theo trang rất được các nhμ chế tạo máy tính quan tâm Các bộ vi xử lý loại RISC

vμ các bộ vi xử lý 680x0 của Motorola đều sử dụng cách quản lý nμy Việc Intel vẫn còn dùng cách quản lý bộ nhớ ảo theo đoạn trong các vi xử lý đời mới cốt lμ để bảo

đảm tính tương thích với 80268 Trong khi lμm việc theo kiểu phân trang, người ta chọn độ lớn của trang lμ 4KB để đạt được tốc độ tối ưu khi phải trao đổi các trang qua lại giữa ổ đĩa vμ bộ nhớ bán dẫn Khi lμm việc theo kiểu phân trang, địa chỉ logic được

đưa qua bộ phận tính địa chỉ theo kiểu phân đoạn để thu được địa chỉ tuyến tính, từ

đây nó được đưa qua bộ phận phân trang để dịch thμnh địa chỉ vật lý (xem hình 10.3)

Bộ phận tính địa chỉ kiểu phân đoạn

Bộ phận tính địa chỉ kiểu phân trang

địa chỉ ảo địa chỉ tuyến tính dịa chỉ vật lý

Trang 7

Hình 10.3 Phân đoạn vμ phân trang trong 80386

Trong các bộ vi xử lý từ 80386 trở đi có các thanh ghi điều khiển CR dμi 32 bit, đ−ợc đánh số từ CR0-CR3 Khi muốn cho các bộ vi xử lý lμm việc theo chế độ phân trang, ta phải đ−a bit điều khiển thích hợp vμo thanh ghi CR0 sao cho CR031=1 CR3 lúc nμy sẽ chứa địa chỉ cơ sở của danh mục bảng trang

Địa chỉ tuyến tính gồm 3 phần:

+ Phần danh mục (DIRECTORY) sẽ cộng với nội dung của CR3 để chỉ vμo

một danh mục mong muốn trong danh mục các bảng trang

+ Phần bảng trang (PAGE TABLE) sẽ đ−ợc cộng với nội dung của danh mục

mong muốn trong danh mục các bảng trang thu đ−ợc ở trên để chỉ tiếp vμo một bảng

trang mong muốn trong các bảng trang

+ Phần lệch (OFFSET) sẽ đ−ợc cộng với nội dung của bảng trang mong muốn

trong các bảng trang thu đ−ợc ở trên để chỉ tiếp vμo toán hạng hoặc mã lệnh cần tìm

trong giới hạn của khuôn trang mong muốn

Địa chỉ tuyến tính

DIRECTORY TABLE OFFSET

Hình 10.4 Dịch địa chỉ tuyến tính → địa chỉ vật lý trong hệ thống phân trang

Sau đây ta sẽ nói qua về cơ chế bảo vệ khi CPU lμm việc ở chế độ phân trang

Trong bảng trang, mỗi mục cho một khuôn trang 4 KB bao gồm các bit địa chỉ cơ sở

của khuôn trang vμ các bit quản lý Trong danh mục bảng trang cũng vậy, mỗi mục

cho một bảng trang bao gồm các bit địa chỉ cơ sở của bảng trang vμ các bit quản lý

Thanh ghi điều

khiển CR3

+

+

+

CPU

Bộ nhớ vật lý Bảng trang

rang

31 0

31 0

Danh mục bảng t

Trang 8

Trong số các bit quản lý có bit U/S (user/supervisor) dùng để mã hoá các mức đặc quyền (U/S=1 biểu thị mức đặc quyền của hệ điều hμnh vμ ứng với mức 0, 1, 2 trong chế độ phân đoạn; U/S=0 biểu thị mức đặc quyền của người sử dụng vμ ứng với mức 3 trong chế độ phân đoạn) vμ bit R/W (read/write) dùng để biểu hiện quyền ghi-đọc vμo

trang hoặc vμo bảng trang Tổ hợp của 2 bit nμy tạo thμnh mã các mức đặc quyền

thâm nhập (ghi/đọc) khác nhau (11 lμ mức cao nhất, 00 lμ mức thấp nhất)

Sau khi đã nêu các đặc điểm chính chung nhất trong cơ chế hoạt động của các

bộ vi xử lý cao cấp của Intel, trong phần tiếp theo ta sẽ giới thiệu sơ qua hoạt động vμ một số đặc điểm quan trọng khác của các bộ vi xử lý nμy

3 CPU 80286

Bộ vi xử lý 80286 có 16 bit dữ liệu vμ 24 bit địa chỉ riêng biệt (không dồn kênh) Các tín hiệu của 80286 về cơ bản giống như 8086 Nó hoạt động giống như

8086 ở chế độ MAX vμ nó cần thêm một bộ điều khiển bus lμ 80288 vμ một mạch đồng

hồ lμ 80284 80286 có mặt trong các máy IBM PC/AT vμ IBM PS/2

D15-D0

80286

BHE

A0 A23-A1

D15-D8 CHẵN A22-A0

D7-D0

Lẻ A22-A0

(BHE: Bus high enable) Hình 10.5 Phối ghép 80286 với bộ nhớ

• Phối ghép CPU 80286 với bộ nhớ

Bộ nhớ của 80286 cũng giống như ở 8086 được tổ chức từ 2 băng: băng chẵn (chứa các ô nhớ có địa chỉ chẵn) vμ băng lẻ (chứa các ô nhớ có địa chỉ lẻ) Khi lμm việc với băng chẵn thì phải có xung chọn A0=0, khi lμm việc với băng lẻ thì phải có xung

chọn BHE=0 Muốn truy nhập đến một từ thẳng hμng (byte thấp ở địa chỉ chẵn, byte

cao ở địa chỉ lẻ) thì cả 2 băng phải được chọn bởi A0=0 vμ BHE=0 Sơ đồ phối ghép

80286 với bộ nhớ được biểu diễn trên hình 10.5

Trang 9

• Chế độ địa chỉ thực vμ chế độ bảo vệ

CPU 80286 có thể lμm việc ở một trong 2 chế độ: chế độ địa chỉ thực vμ chế độ

bảo vệ

CPU 80286, sau khi được bật điện hoặc sau khi có xung reset, sẽ lμm việc ở chế độ địa chỉ thực, trong chế độ địa chỉ nμy địa chỉ vật lý nằm trong giới hạn 1 MB

vμ được tính bằng cách cộng địa chỉ đoạn đã được dịch trái với địa chỉ lệch như đã

được lμm với 8086 Địa chỉ khởi động của 80286 lμ FFFFF0H, từ địa chỉ nμy CPU nhảy về địa chỉ khởi động giống như ở 8086 (FFFF0H) để bắt đầu lμm việc Trong chế

độ nμy 80286 hoạt động giống hệt 8086, nhưng nhờ những cải tiến về mặt điện tử mạch 80286 sẽ chạy nhanh hơn 8086 với cùng một tần số đồng hồ

Khi đã ở chế độ địa chỉ thực, nếu 80286 chạy dưới một hệ điều hμnh đa

nhiệm, nó có thể được chuyển sang chế độ bảo vệ bằng cách thay đổi bit cho phép lμm

việc ở chế độ bảo vệ có trong thanh ghi từ trạng thái máy (MSW) của 80286 Lúc nμy

bộ MMU của 80286 bắt đầu lμm việc vμ cho phép các cơ chế bộ nhớ ảo vμ cơ chế bảo

vệ hoạt động Trong chế độ nμy 80286 có khả năng lμm việc với bộ nhớ ảo có dung lượng tối đa 1 GB hoặc một bộ nhớ vật lý 16 MB Một khi 80286 đã lμm việc ở chế độ bảo vệ, để đưa nó trở lại chế độ địa chỉ thực ta chỉ có một cách duy nhất lμ tác động vμo chân reset Vậy lμ hệ điều hμnh không có khả năng để chuyển qua lại giữa 2 chế

độ Hạn chế nμy sẽ được gỡ bỏ trong các bộ vi xử lý từ 80386 trở đi

• Các lệnh mới chủ yếu của 80286

Các lệnh mới của 80286 bao trùm hết các lệnh của 8086 Ngoμi ra 80286 còn

có các lệnh khác mạnh hơn vμ ta sẽ chỉ trình bμy sau đây các lệnh quan trọng nhất từ quan điểm của người sử dụng để tạo ra các chương trình ứng dụng

Cần nhắc thêm lμ để dịch vμ cho chạy các lệnh của 80286 tại dòng đầu tiên của chương trình hợp ngữ ta phải có hướng dẫn chương trình dịch:

286

Các lệnh mới chủ yếu của 80286:

+ INS: cho phép đọc 1 byte hoặc 1 word từ cổng có địa chỉ cho bởi nội dung

thanh ghi DX vμo thanh ghi nμo đó Độ dμi thanh ghi đích sẽ quyết định đó lμ byte hay từ

Ví dụ

INS CX,DX ; đọc vμo 1 từ

INS CL,DX ; đọc vμo 1 byte

Trang 10

+ INSB/INSW: cho phép đọc 1 phần tử (byte/word) của chuỗi từ cổng, có địa

chỉ cho bởi nội dung thanh ghi DX, vμo ô nhớ do cặp ES:DI chỉ ra, sau đó DI sẽ tự

động cập nhật để chỉ vμo phần tử tiếp theo tuỳ thuộc đó lμ chuỗi byte/từ vμ tuỳ thuộc giá trị cờ DF

+ OUTS: cho phép đ−a 1 byte hoặc 1 word từ một thanh ghi nμo đó ra cổng có

địa chỉ cho bởi nội dung thanh ghi DX Độ dμi thanh ghi gốc sẽ quyết định đó lμ byte hay từ

Ví dụ

OUTS DX,CX ; đ−a ra 1 từ OUTS DX,CL ; đ−a ra 1 byte

+ OUTSB/OUTSW cho phép đ−a 1 phần tử (byte/word) của chuỗi từ ô nhớ, có

địa chỉ do cặp DS:SI chỉ ra, ra cổng có địa chỉ cho bởi nội dung thanh ghi DX, sau đó

SI sẽ tự động cập nhật để chỉ vμo phần tử tiếp theo tuỳ thuộc đó lμ chuỗi byte/từ vμ tuỳ thuộc giá trị cờ DF

+ PUSHA: cất cả 8 thanh ghi đa năng vμo ngăn xếp

+ PUSH thtt: cất toán hạng tức thì toán hạng tức thì thtt vμo ngăn xếp

+ POPA: lấy lại cả 8 thanh ghi đa năng từ ngăn xếp

+ các lệnh SHIFT/ROTATE đích, sốlần: sẽ cho phép viết trực tiếp sốlần dịch

hoặc quay ngay trong lệnh mμ không phải thông qua thanh ghi CL nữa

+ IMUL đích, thtt: cho phép viết lệnh nhân với toán hạng tức thì thtt

+ IMUL đích, sốbịnhân, thtt: cho phép viết lệnh nhân giữa số bị nhân với

số nhân lμ toán hạng tức thì thtt, trong đó: đich lμ thanh ghi 16 bit, sốbịnhân có

thể lμ thanh ghi 16 bit hay ô nhớ 16 bit

4 CPU 80386 vμ 80486, Pentium

Nh− trên đây đã nói, CPU 80386 vμ CPU 80486-Pentium có nhiều điểm khá giống nhau, ngoại trừ việc trong 80486 đã có cấy sẵn bộ xử lý đấu phảy động FPU hoặc trong Pentium có cả FPU lẫn 2 bộ IU (2 bộ ALU cho số nguyên 64 bit) Về mặt lập trình có thể coi các bộ vi xử lý 80386 vμ 80486, Pentium lμ nh− nhau

Trong 80386 có 8 thanh ghi đa năng 32 bit lμ EAX, EBX, ECX, EDX, ESI, EDI, EBP, ESP Mỗi thanh ghi nμy có thể hoạt động giống nh− các thanh ghi 16 bit của 8086 CPU 80386 còn có 6 thanh ghi đoạn 16 bit, đó lμ thanh ghi đoạn mã CS, thanh ghi đoạn ngăn xếp SS vμ các thanh ghi đoạn dữ liệu DS, ES, GS, FS Thanh ghi EIP dμi 32 bit chứa bên trong thanh ghi IP của 8086 vμ thanh ghi cờ 32 bit EFLAGS chứa bên trong thanh ghi FLAGS của 80286

Ngày đăng: 28/07/2014, 17:22

HÌNH ẢNH LIÊN QUAN

Hình 10.2. Dịch địa chỉ ảo  →  địa chỉ vật lý trong hệ thống phân đoạn. - Chương 10 - Các bộ vi xử lý tiên tiến của INTEL doc
Hình 10.2. Dịch địa chỉ ảo → địa chỉ vật lý trong hệ thống phân đoạn (Trang 5)
Hình 10.1. Chức năng dịch (chuyển đổi) địa chỉ của MMU. - Chương 10 - Các bộ vi xử lý tiên tiến của INTEL doc
Hình 10.1. Chức năng dịch (chuyển đổi) địa chỉ của MMU (Trang 5)
Hình 10.3. Phân đoạn vμ phân trang trong 80386. - Chương 10 - Các bộ vi xử lý tiên tiến của INTEL doc
Hình 10.3. Phân đoạn vμ phân trang trong 80386 (Trang 7)
Sơ đồ phối ghép CPU 80386 với bộ nhớ đ−ợc biểu diễn trên hình 10.6. - Chương 10 - Các bộ vi xử lý tiên tiến của INTEL doc
Sơ đồ ph ối ghép CPU 80386 với bộ nhớ đ−ợc biểu diễn trên hình 10.6 (Trang 12)
Sơ đồ phối ghép CPU Pentium với bộ nhớ đ−ợc biểu diễn trên hình 10.7. - Chương 10 - Các bộ vi xử lý tiên tiến của INTEL doc
Sơ đồ ph ối ghép CPU Pentium với bộ nhớ đ−ợc biểu diễn trên hình 10.7 (Trang 12)

TỪ KHÓA LIÊN QUAN

🧩 Sản phẩm bạn có thể quan tâm

w