Tài liệu hạn chế xem trước, để xem đầy đủ mời bạn chọn Tải xuống
1
/ 12 trang
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
Nội dung
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 by 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 by 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 vo 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ọ ny. Bộ vi xử lý 16 bit 80186 về cơ bản giống nh mạch 8086 nhng đợc mở rộng thêm khả năng lm 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 vo 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 vo 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 vo cùng một thời gian với bộ vi xử lý 80186 nhng đợ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) để lm 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 thnh viên đầu tiên trong họ đợc thiết kế để có thể lm việc trong môi trờng đa nhiệm hoặc nhiều ngời sử dụng. 308 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ó độ di 32 bit lm cho tốc độ xử lý dữ liệu nhanh hơn. Một đoạn trong hệ vi xử lý 80386 có thể có độ di 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ệ lm việc đa nhiệm. Bộ vi xử lý 80486 về cơ bản có quy mô nh 80386, nhng 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ó dnh 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. Ngoi 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 dnh cho các phép toán với số nguyên (integer unit, IU), 2 bộ IU ny có khả năng lm việc song song. Tất cả các cải tiến ny đã 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 hnh đ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ệ lm 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 ny trong một khoảng thời gian cỡ vi mili giây v quay sang chạy một chơng trình ứng dụng của ngời khác trong vi 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 ny 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ỉ lm việc riêng với mình. Ta thấy các công việc của hình thức lm 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 bn 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 309 '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 bn khác. Trở lại lĩnh vực máy tính, một hệ điều hnh với khả năng phối hợp các hoạt động phân chia theo thời gian nh đã trình by ở trên có thể đợc gọi l hệ điều hnh có nhiều ngời sử dụng hoặc cũng có thể gọi l hệ điều hnh đ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 hnh. MS DOS không phải l một hệ điều hnh đ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ể lm việc đa nhiệm, nhng vì chạy dới DOS nên vẫn chỉ l đơn nhiệm. Các hệ điều hnh Unix, OS/2 hoặc MS Windows l các thí dụ của hệ điều hnh đa nhiệm. Các hệ điều hnh đa nhiệm có thể lm 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 lm 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ụ ny 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 ny 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ụ ny v lấy lại môi trờng của một tác vụ khác, công việc ny đợc gọi l chuyển ngữ cảnh. Vấn đề tranh chấp khi sử dụng chung ti nguyên Vấn đề tranh chấp giữa những ngời sử dụng chung một số ti 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 hnh phải có các cờ báo bận cho các ti nguyên đang đợc sử dụng v phải sắp xếp các nhu cầu dùng chung ti nguyên theo hng đợ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 lm 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 hnh phải có cơ chế bảo vệ sao cho một vùng nhớ đang đợc dùng cho tác vụ ny không bị hoạt động của các tác vụ khác lm cho sai lệch. Bản thân hệ điều hnh 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 no đó có thể có các lệnh ghi vo vùng nhớ chứa mã lệnh của hệ điều hnh. Nếu hệ điều hnh không có cơ chể bảo vệ thì thảm hoạ có thể xảy ra bất cứ lúc no do hệ điều hnh bị thay đổi v gây lỗi. Để giải quyết việc ny ngời ta 310 thờng cấu trúc hệ điều hnh từ nhiều lớp v gán mức đặc quyền thâm nhập vo các lớp ny cho ngời sử dụng v cho hệ điều hnh theo quy luật: ngời sử dụng chỉ đợc quyền thâm nhập vo vùng dữ liệu ở lớp ngoi với mức đặc quyền thấp nhất (lớp ngoi chứa mã v dữ liệu dnh cho ngời sử dụng). Khi muốn thâm nhập vo 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 hnh. Bản thân hệ điều hnh để 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 vo 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 lm việc trong hệ điều hnh đ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 hnh 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 lm hỏng. Một vi hệ điều hnh có thể lm luôn chức năng quản lý bộ nhớ, nhng 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) nhng lại lm 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ớ thnh các mảng nhỏ có độ lớn tính theo đoạn, động tác ny 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 ny 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 vo 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 no đó m mảng ny lại không có trong DRAM thì nó sẽ đợc tải vo DRAM. Nếu DRAM không còn chỗ để chứa thì một mảng no đó 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 vo. 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 lm 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. 311 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 hnh 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ỉ ny đợ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 MMU địa chỉ vật lý đị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 lm 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ều khiển + địa chỉ vật lý Bảng mô tả Bộ phận tính địa chỉ kiểu n p hân đo ạ 312 Trong các hệ thống có dùng bộ vi xử lý từ 80286-Pentium, khi lm việc trong chế độ phân đoạn, một bảng mô tả sẽ đợc dùng lm 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ỉ vo 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 dnh riêng để mã hoá mức đặc quyền thâm nhập vo một đoạn no đó của chơng trình đang chạy. ở bảng mô tả, mỗi phần tử của bảng ny 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 ny 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 no đó, 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 vo đ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 vo vùng nhớ. Bộ nhớ nhờ vậy m đợc bảo vệ. Dịch địa chỉ trong hệ thống lm việc theo cách phân trang Trong các hệ thống có dùng bộ vi xử lý từ 80386-Pentium, ngoi 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ý ny. 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 lm 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 lm 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 thnh đị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ý 313 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 di 32 bit, đợc đánh số từ CR0-CR3. Khi muốn cho các bộ vi xử lý lm việc theo chế độ phân trang, ta phải đa bit điều khiển thích hợp vo thanh ghi CR0 sao cho CR0 31 =1. CR3 lúc ny 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ỉ vo 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 vo 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 vo 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 lm 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 g hi điều khiển CR3 + + + CPU Bộ nhớ vật lý Bảng trang rang 31 0 31 0 31 0 31 0 Danh mục bảng t 314 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 hnh 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 vo trang hoặc vo bảng trang. Tổ hợp của 2 bit ny tạo thnh 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ý ny. 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 lm việc với băng chẵn thì phải có xung chọn A0=0, khi lm 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 hng (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. 315 Chế độ địa chỉ thực v chế độ bảo vệ CPU 80286 có thể lm 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ẽ lm việc ở chế độ địa chỉ thực, trong chế độ địa chỉ ny đị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 lm với 8086. Địa chỉ khởi động của 80286 l FFFFF0H, từ địa chỉ ny CPU nhảy về địa chỉ khởi động giống nh ở 8086 (FFFF0H) để bắt đầu lm việc. Trong chế độ ny 80286 hoạt động giống hệt 8086, nhng 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 hnh đa nhiệm, nó có thể đợc chuyển sang chế độ bảo vệ bằng cách thay đổi bit cho phép lm việc ở chế độ bảo vệ có trong thanh ghi từ trạng thái máy (MSW) của 80286. Lúc ny bộ MMU của 80286 bắt đầu lm việc v cho phép các cơ chế bộ nhớ ảo v cơ chế bảo vệ hoạt động. Trong chế độ ny 80286 có khả năng lm 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 đã lm 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 vo chân reset. Vậy l hệ điều hnh không có khả năng để chuyển qua lại giữa 2 chế độ. Hạn chế ny 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. Ngoi ra 80286 còn có các lệnh khác mạnh hơn v ta sẽ chỉ trình by 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 vo thanh ghi no đó. Độ di thanh ghi đích sẽ quyết định đó l byte hay từ. Ví dụ INS CX,DX ; đọc vo 1 từ INS CL,DX ; đọc vo 1 byte 316 + 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, vo ô nhớ do cặp ES:DI chỉ ra, sau đó DI sẽ tự động cập nhật để chỉ vo 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 no đó ra cổng có địa chỉ cho bởi nội dung thanh ghi DX . Độ di 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ỉ vo 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 vo ngăn xếp. + PUSH thtt: cất toán hạng tức thì toán hạng tức thì thtt vo 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 ny 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 di 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. 317 [...]... hệ điều hnh DOS của 8086 v các chơng trình ứng dụng v hệ điều hnh UNIX của 80386 có thể chạy trên cùng một bộ vi xử lý Bộ vi xử lý 80386 chuyển rất dễ dng từ chế độ bảo vệ sang chế độ 8086 ảo hoặc ngợc lại bằng cách lập/xoá bit VM trong thanh ghi EFLAGS Trong chế độ ny vi xử lý 80386 coi mỗi chơng trình l 1 tác vụ rồi dnh cho mỗi tác vụ một không gian địa chỉ 1 MB v nó tính địa chỉ vật lý theo cặp thanhghiđoạn:... nhờ vi c lập/xoá bit D0 của thanh ghi điều khiển CR0 Trong chế độ bảo vệ 80386 có thể lm vi c theo cách phân đoạn hoặc phân trang nh đã trình by trớc đây Mỗi đoạn có thể có độ di tới 4 GB, mỗi trang l 4 KB v bộ nhớ ảo có thể có độ di lớn nhất l 64 TB Phối ghép CPU 80386 với bộ nhớ 318 Sơ đồ phối ghép CPU 80386 với bộ nhớ đợc biểu diễn trên hình 10. 6 D31-D1 D31-D24 D7-D0 D15-D8 D23-D16 D7-D0 D7-D0 D7-D0... D7-D0 A29-A0 80386 A29-A0 A29-A0 A29-A0 BE3 BE2 BE1 BE0 A31-A2 (BE: Byte enable) Hình 10. 6 Phối ghép 80386 với bộ nhớ 32 bit Phối ghép Pentium với bộ nhớ Sơ đồ phối ghép CPU Pentium với bộ nhớ đợc biểu diễn trên hình 10. 7 A31-A3 D63-D0 D7 A28 D0 A28 D0 A28 D0 A28 D0 A28 D0 A28 D0 A28 D0 A28 Pentium D0 A0 D7 A0 D7 A0 D7 (8) (7) (6) BE7# BE6# BE5# A0 D7 (5) A0 D7 (4) A0 D7 (3) A0 D7 (2) A0 (1) BE7#-BE0#... nh ở bộ vi xử lý 8086 Các không gian 1 MB ny đợc CPU 80386 quản lý theo kiểu phân trang nên có thể nằm rải rác trong không gian tổng thể 4 GB m 80386 có khả năng phân biệt đợc Chính vì vậy có thể dùng các bit U/S v R/W để tạo ra cơ chế bảo vệ cho bộ nhớ trong chế độ 8086 ảo ny Chế độ bảo vệ Chế độ bảo vệ cho phép ta khai thác hết sức mạnh đợc thiết kế cho CPU 80386 Mạch 80386 chuyển chế độ lm vi c... xung reset 80386 lm vi c ở chế độ địa chỉ thực Địa chỉ khởi động của 80386 l FFFFFFFOH, từ địa chỉ ny CPU nhảy về địa chỉ khởi động giống nh ở 8086 (FFFF0H) để bắt đầu lm vi c Mục đích chính của chế độ địa chỉ thực l để khởi đầu cho 80386 chuẩn bị cho chế độ bảo vệ Chế độ 8086 ảo Chế độ ny cho phép các chơng trình ứng dụng của 8086 chạy đợc trên 80386 với cơ chế bảo vệ Đặc biệt các chơng trình ứng...CPU 80386 có thể lm vi c ở một trong ba chế độ: Chế độ địa chỉ thực Trong chế độ địa chỉ thực 80386 hoạt động ở chế độ phân đoạn với khả năng phân biệt địa chỉ bộ nhớ 1 MB v với các đoạn có độ di lớn nhất l 64 KB nh 8086 Các thanh ghi đa năng có thể có kích thớc 8-3 2 bit tuỳ theo toán hạng Ta có thể lm vi c với 4 thanh ghi đoạn dữ liệu Thanh ghi cờ cho chế độ... D0 A28 D0 A28 D0 A28 Pentium D0 A0 D7 A0 D7 A0 D7 (8) (7) (6) BE7# BE6# BE5# A0 D7 (5) A0 D7 (4) A0 D7 (3) A0 D7 (2) A0 (1) BE7#-BE0# BE4# BE3# BE2# BE1# BE0# (Cho Pentium BEi# BEi ) Hình 10. 7 Phối ghép Pentium với bộ nhớ 64 bit 319 . 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. 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 by 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 độ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ý ny. 3. CPU 80286 Bộ vi xử lý 80286