Giáo Trình Kiến Trúc Máy Tính - Nguyễn Hữu Lộ phần 8 doc

13 413 3
Giáo Trình Kiến Trúc Máy Tính - Nguyễn Hữu Lộ phần 8 doc

Đ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

Cấn Trúc Máy Tính -92- Hình 4.1 (a) mô tả một thanh ghi 8 bit được nối với một bus nhập và một bus xuất. Thanh ghi bao gồm 8 flip flop loại D, mỗi flip flop lưu trữ 1 bit và được nối với bus xuất qua một cổng đệm không đảo. Thanh ghi có hai tín hiệu điều khiển, CK và ối đến tất cả các flip flop. Bình thường 2 tín hiệu này g thỉnh thoảng chúng được xác lập, gây nên tác động tương ứng. Khi CK không xác lập, nội dung của tha xác l cho phép xuất OE (output enable), n ở trạng thái tónh nhưn nh ghi bởi các tín hiệu trên Bus. Khi CK ập, thanh ghi được nạp từ bus nhập. Khi OE không xác lập, thanh ghi không được kết nối với bus xuất. Ngược lại khi OE được xác lập, nội dung của thanh ghi được nạp nên bus xuất ( thanh ghi xuất thông tin lên bus ) Hình 4.1 (a) chi tiết một thanh ghi 8-bit nối với một bus nhập và một bus xuất b) ký hiệu của một thanh ghi 16 – bit với một bus nhập và 2 bus xuất Nếu có một thanh ghi khác, R chẳng hạn, có các ngõ vào nối với Bus xuất của thanh ghi vừa mô tả ở trên, thanh gi này có thể truyền thông tin đến R. Để thực hiện điều này, OE phải được xác lập và giữ ở trạng thái này đủ lâu để đưa thông tin lên bus ổn đònh. Kế đến đường CK của R được xác lập để nạp cho R thông tin này. Thao tác mở cổng đưa thông tin của một thanh ghi lên bus để nột thanh ghi khác nạp vào thường xảy ra ở lớp vi chương trình. Hình 4.1 b) trình bày một thanh ghi 16 bit với 2 bus xuất , mỗi bus được điều khiển bơiû một tín hiệu OE khác nhau Nguyễn Hữu Lộc Khoa Vật Lý Cấn Trúc Máy Tính -93- II. MỘT VÍ DỤ VỀ VI CHƯƠNG TRÌNH: Hình 4.2: Sơ đồ khối của 1 CPU đơn giản của một máy tính điện tử thiết kế theo phương pháp vi chương trình hoá. Để thực hiện một lệnh cộng (ADD) cần một hệ tối thiểu các phép vi toán: Ký tự gợi nhớ Ghi chú MAR-M Nối MAR với BUS M MBR-M Nối MBR với BUS M PC-D Nối PC với BUS D IA-D Nối IA (của IR) với BUS D AC-D Nối Accumulator với BUS D MTS Nối BUS M với BUS S qua ALU DTS Nối BUS D với BUS S qua ALU S-MAR Nối BUS S với MAR S-MBR Nối BUS S với MBR S-PC Nối BUS S với PC S-IR Nối BUS S với IR Nguyễn Hữu Lộc Khoa Vật Lý Cấn Trúc Máy Tính -94- S-AC Nối BUS S với AC R Đọc nội dung trong Mem ra MBR W Viết nội dung từ MBR vào Mem PLUS Cộng nội dung có trên BUS D và BUSM tại ALU và đưa ra BUS S ONE Nối BUS D với BUS S qua ALU cộng 1 JMP Nhảy đến đòa chỉ trong lệnh sau nếu A=0 JOPC Nhảy đến đòa chỉ của mã lệnh (giải mã lệnh) Hình 4.3: hệ tối thiểu các phép vi toán VI LỆNH MEM Nhảy ALU BUSM BUSD BUSS Đòa chỉ PC-MAR DTS PCD SMAR |ADDR|MBR R (MBR)IR MTS MBRM SIR DECODE JOPC (IA)MAR DTS IAD SMAR |DATA|MBR R MBR+A PLUS MBRM ACD SAC PC+1 ONE PCD SPC Hình 4.4: Vi chương trình thực hiện lệnh ADD Sử dụng các phương pháp viết chương trình: - Móc nối chương trình con - Đánh đòa chỉ chỉ số hoá - Đánh đòa chỉ thông số hoá Ưu điểm: mô phỏng nhiều thiết bò có chức năng khác nhau Xây dựng kết cấu của hệ thống có thể quyết đònh trong giai đoạn ối của quá tr Giảm sai lầm logic - Có khả năng bằng 1 máy - cu ình thiết kế Nguyễn Hữu Lộc Khoa Vật Lý Cấn Trúc Máy Tính -95- CHƯƠNG 5: g này giới t cấu t a lớp này. T iển trước bất kỳ một n gữ máy nào khác ổ biến. Do bởi trên n áy, vi chương tr ụng (không phải nữa, ngay trên n trình, sự phức tạp rất lớn của cấu trúc lớp 1 cũng đủ làm hầu hết những người lập trình n ài h ù m ùy s ệ ư kh o phe một ng ời sư (debu các v ơng trình mới trong khi một ng dụng áy. Đa tính na chương trình. I. CÁC THÍ DỤ VỀ LỚP MÁY QUI ƯỚC: LỚP MÁY QUY ƯỚC Chươn hiệu lớp máy qui ước (lớp 2) và thảo luận nhiều khía cạnh về heo lrúc củ òch sử, ngôn ngữ máy lớp 2 được phát tr gôn n và vẫn được xem là một ngôn ngữ máy ph hiều m ình được đặt trong bộ nhớ chỉ đọc, người sử d ương trình cho máy lớp 1. Hơnngười chế tạo máy) không thể viết ch ững máy người sử dụng có thể vi lập h e ngại, trừ những người lập trình chuyên nào có ghiệp. Ngo ra, do k ông co ột ma ự bảo v phần c ùng ở lớp 1, nên ông thể ch ùp ư ûa sai g) i chư người khác đa sử m ëc øy hơn nữa còn lớp người sử dụng lập vi cố g đònh nghóa một cách hính xác lớp máy qui ước là gì (có lẽ kh nh ngh a được) chún g lơ nà cách khảo sát các ví dụ, trước tiên là Intel. Mục đích của việc n hiên c ï C trình bày những ý tưởn thế nào với thế giới t hiếu theo nhiều cách khác nhau để trình bày những chọn lựa khác nhau của các nhà thiết kế khác nhau. Các CPU này tưởng thiết kế một máy tính như là một chuỗi các lớp máy. à cấu trúc của chúng sẽ được khảo sát về lập trình trên chúng cũng được giới thiệu tại những điểm cần thiết. Tuy nhiên, ở đây không cung cấp một mô tả hoàn toàn đầy đủ. Để hiểu thông suốt về tất cả chi tiết của các C g xuất bản. Cuối cùng, chương này chủ yếu xử lý những l trình của người sử dụng dùng đến (nghóa là chương trình ứng dụng). Các khía cạnh về cấu trúc và những lệnh liên quan đến người viết hệ điều hành sẽ bò bỏ qua hoặc được gác lại cho tới khi vấn đề được bàn đến trong chương 6. 1. Họ 8088 của Intel : Bắt đầu thảo luận về lớp máy qui ước với chip 8088 của Intel là thích hợp vì đây là bộ óc của các máy IPM PC và những máy mô phỏng theo, và do vậy CPU này được sử dụng rộng rãi hầu như trên khắp thế giới. Thay vì gắn c ông thể đò ó , g ta sẽ iới thiệu ùp máy y bằng g ứu ho PU hiện có này là nhằm g được thảo luận ở đây có thể được áp dụng như hực. Các máy này sẽ được so sánh và đối c được dùng để minh họa ý Những đặc tính khác nhau ve và thông tin PU, hãy tham khảo những tài liệu được các nhà chế tạo ra chún ệnh và cấu trúc mà các chương Nguyễn Hữu Lộc Khoa Vật Lý Cấn Trúc Máy Tính -96- Hình 5.1:Cấu trúc bộ nhớ của 8088 Ở lớp máy qui ước, 8088 và 8086 giống hệt nhau nên mọi điều chúng ta nói về 8088 cũng áp dụng được cho 8086. Chip 8088 có thể đòa chỉ hóa 2 20 byte, đánh số liên tục bắt đầu từ 0 như trình bày trong hình 5.1. oặc trên các từ 16 bit. Từ không PU phải cần đến giải p 20 xuất. Để truy xuất một lệnh ở ngoài tầm này, ta phải thay đổi nội dung thanh ghi phân đoạn truy xuất các phân đoạn dữ liệu và phân đoạn ngăn xếp. Cuối cùng, thanh ghi phân đoạn phụ (cũng dùng để truy xuất phân đoạn dữ liệu) là một thanh ghi dự phòng khi cần. Các lệnh có thể hoạt động trên các byte 8 bit h nhất thiết bắt đầu ở byte chẵn mặc dù với các từ bắt đầu ở byte chẵn, 8086 làm việc có hiệu quả hơn. Với bộ nhớ 2 20 byte, 8088 thực sự cần các đòa chỉ 20 bit để đòa chỉ hóa bộ nhớ. Vì các thanh ghi và mọi thứ khác của máy đều dùng các từ 16 bit, nên các số 20 bit rõ ràng không thuận tiện. Để giải quyết vấn đề này, các nhà thiết kế C háp gọi là "què quặt" (kludge=một biệt ngữ của máy tính chỉ một phương pháp không lòch sự và vụng về được dùng để làm một điều gì đó). Giải pháp này đưa ra 4 thanh ghi phân đoạn (segment): mã, dữ liệu, ngăn xếp và phụ (code, data, stack và extra), mỗi thanh ghi phân đoạn chứa một đòa chỉ bộ nhớ trỏ tới nền (base) của một phân đoạn 64K. Mỗi thanh ghi phân đoạn trỏ tới một nơi nào đó trong không gian đòa chỉ 2 byte, như trình bày trong hình 5.2. tất cả việc tìm nạp lệnh đều có liên quan đến thanh ghi phân đoạn mã. Thí dụ, nếu thanh ghi này trỏ đến đòa chỉ 96000 và bộ đếm chương trình có giá trò 1024, lệnh kế tiếp sẽ được tìm nạp từ đòa chỉ 97024. Với giá trò này của thanh ghi phân đoạn mã, các lệnh đặt trong tầm đòa chỉ từ 96000 tới 161535 đều được truy mã. Tương tự, thanh ghi phân đoạn dữ liệu và thanh ghi phân đoạn ngăn xếp dùng để Nguyễn Hữu Lộc Khoa Vật Lý Cấn Trúc Máy Tính -97- Sơ đồ này có nghóa là bất cứ lúc nào, 256K bộ nhớ đều có thể truy xuất được mà không phải thay đổi một thanh ghi phân đoạn nào cả. Hình 5.2: Sử dụng các thanh ghi phân đoạn trên 8088 Một số trình biên dòch giới hạn chương trình với chiều dài 64K cho văn bản chương trình (nghóa là các lệnh) và 64K khác cho cả dữ liệu và ngăn xếp nhằm tránh tổn p ết, các thanh ghi phân đoạn nên có độ rộng 20 bit để trỏ tới bất kỳ đòa chỉ nào trong không gian đòa chỉ 2 20 byte. Tuy nhiên, như đã nói trên, 8088 không được lệnh tương ứng để thực hiện phép toán sẽ dài hơn và chậm hơn so với những lệnh dùng thanh ghi AX. hí (overhead) thời gian kết hợp với việc nạp và cất liên tục các thanh ghi phân đoạn hoặc dùng thanh ghi phân đoạn phụ. Theo lý thuy trang bò để xử lí các số thanh ghi phân đoạn chỉ trỏ tới những đòa chỉ là bội số của 16 để 4 bit thấp nhất của đòa chỉ là zero và 4 bit này không cần cất vào thanh ghi phân đoạn. Như vậy, các thanh ghi phân đoạn chỉ chứa 16 bit cao của đòa chỉ 20 bit. 8088 có 14 thanh ghi 16 bit ( hình 5.3 ). Thanh ghi AX chủ yếu được dùng cho các phép toán số học. Thí dụ để tính tổng 2 số nguyên, chương trình có thể nạp 1 trong 2 số nguyên nào đó vào AX, sau đó cộng số thứ 2 với AX và cuối cùng cất AX vào bộ nhớ. Cũng có thể dùng những thanh ghi khác, nhưng các Nguyễn Hữu Lộc Khoa Vật Lý Cấn Trúc Máy Tính -98- Thanh ghi BX tiêu biểu dùng để chứa con trỏ ( pointer ) trỏ đến bộ nhớ, thanh ghi CX chứa số đếm trong các lệnh vòng lặp. Để lặp lại một vòng lặp n lần, CX được nạp giá trò n sau mỗi lần lặp, CX được giảm 1 cho đến khi CX bằng zero, vòng lặp kết thúc. DX là một thanh ghi mở rộng của AX trong các lệnh nhân và chia, thanh ghi này chứa nửa cao của một tích 32 bit hoặc nửa cao của số bò chia 32 bit. Mỗi thanh ghi 16 bit này (AX, BX,CX,DX) đều có nửa thấp và nửa cao, chúng đều có thể được đòa chỉ hoá riêng lẻ. Khi dùng phương pháp đòa chỉ hoá này, chúng hình nh bởi thanh ghi SI trong phân đoạn dữ liệu và đòa chỉ đích xác đònh bởi thanh ghi DI trong phân đoạn phụ. Thí dụ, lệnh cho phép di chuyển 1 số byte từ nguồn tới đích. Thanh ghi BP và SP thường được dùng để đòa chỉ hoá stack. BP trỏ tới đáy của khung ngăn xếp hiện tại và SP trỏ tới đỉnh của khung ngăn xếp. Biến cục bộ của thủ tục hiện tại thường được đòa chỉ hoá bằng cách cung cấp bước nhảy (offset) của biến từ BP (bởi vì biến cục bộ không thẻ chỉ rõ đòa chỉ liên quan tới SP). Kế tiếp là 4 thanh ghi phân đoạn, như đã mô tả trước đây, theo sau là bộ đếm chương trình PC dùng để trỏ tới lệnh kế tiếp (liên quan tới vò trí bắt đầu của phân đoạn mã). (a) Hình 5.3: Các thanh ghi 8088 thành một tập 8 thanh ghi 1 byte có thể dùng với lệnh thao tác trên các đại lượng 1 byte. Sử dụng các thanh ghi theo kiểu này là dấu vết còn tồn tại của cách làm việc trong 8088 cũ (CPU 8 bit). Thanh ghi SI và DI được dùng cho các thao tác chuỗi. Một thao tác chuỗi điển hình cần có đòa chỉ nguồn xác đò Nguyễn Hữu Lộc Khoa Vật Lý Cấn Trúc Máy Tính -99- Hai thanh ghi cuối cùng là con trỏ chương trình IP (instruction pointer) và các cờ (flag), trên hầu hết các máy khác chúng được gọi là bộ đếm chương trình và từ trạng thái chương trình PSW (program status word). Bộ đếm chương trình trỏ tới lệnh kế tiếp sẽ được thực hiện. Thanh ghi các cờ (xem hình 5.4) là thanh ghi mới. Thật ra đây không phải là thanh ghi bình thường màlà 1 tập hợp các bit có thể được thiết lập (set), xóa (clear) và kiểm tra bởi những lệnh khác nhau. Một cách tóm tắt, các bit có ý nghóa như sau: it D g (direction) của các thao tác chuổi. Bit I cho phép ngắt. Bit T cho phép chạy chương trình từng bước để theo dõi. B xác đònh hướn Hình 5.4: Thanh ghi các cờ của 8088 ố học bò tràn. Bit S được thiết lập bởi các lệnh số học, 1 cho kết quả âm, 0 cho kết quả dương. Tương t khi k ột lệnh số học. Có 7 bit không được sử dụng trong 8088, nhưng m g trên các byte 8-bit. Những biến thể này được phân biệt bằng một bit trong lệnh. i chuyển dữ liệu bên trong máy ; giữa các thanh ghi, bộ nhớ và ngăn xếp. Nhóm thứ 2 thực hiện các phép tính số học, cả số có dấu và không có dấu. Đối với phép nhân Các bit còn lại thường được gọi là các mã điều kiện (condition code) bởi vì chúng được thiết lập và xóa bởi những lệnh khác nhau tùy thuộc vào những điều kiện khác nhau xảy ra (kết quả âm, zero, và v.v… ). Bit 0 được thiết lập khi kết quả của phép toán s ự, bit Z được thiết lập là 1 khi kết quả bằng zero và bò xóa về 0 ết quả khác zero. Các bit A và C biểu thò số nhớ xuất hiện ở giữa và cuối toán hạng. Cuối cùng, bit P là bit kiểm tra chẵn lẻ (parity) kết quả của m ột số trong chúng được dùng cho những chip kế thừa. Tập lệnh của 8088 được liệt kê trong hình 5.5. Nhiều lệnh tham chiếu 1 hoặc 2 toán hạng (operand), hoặc trong các thanh ghi hoặc trong bộ nhớ. Thí dụ, lệnh INC cộng thêm 1 vào toán hạng. Lệnh ADD cộng nguồn vào đích. Một số lệnh có vài biến thể liên quan mật thiết. Thí dụ, các lệnh dòch bit có thể dòch trái hoặc dòch phải, có thể xử lý với bit có dấu hoặc không. Hầu hết các lệnh đều có nhiều dạng mã hoá khác nhau tuỳ thuộc vào bản chất của các toán hạng. Trong hình 5.5, trường scr là nguồn của thông tin và không bò thay đổi. Trái lại, trường dst là đích của thông tin và thường bò thay đổi bởi lệnh. Có những quy luật cho phép một toán hạch nào đó là nguồn hay là đích , chúng thường thay đổi giữa lệnh này với lệnh khác và chúng ta sẽ không bàn thêm ở đây. Đa số lệnh đều có 2 biến thể, một biến thể hoat động trên các từ 16-bit và một số biến thể hoặt độn Để thuận tiện, ta sẽ chia các lệnh thành nhiều nhóm. Nhóm đầu tiên chứa các lệnh d Nguyễn Hữu Lộc Khoa Vật Lý Cấn Trúc Máy Tính -100- chia, ực hiện các phép tính số BCD (binary-coded decimal), xử lý từng byte ø dạng lưu trữ này không có hiệu quả nhưng tránh được phân rồi sau đó phải đổi lại thành thập Các lệnh đại số logic và dòch / quay thao tác với các bit trong 1 từ hoặc 1 byte theo nhiều cách khác nhau. Một tích số hoặc số bò chia 32-bit được cất trong AX (chứa phần thấp) và DX (chứa phần cao). Nhóm thứ 3 th như là hai nibble (nửa byte)4 bit. Mỗi nibble chứa một số thập phân (từ 0 đến 9). Các tổ hợp bit từ 1010 tới 1111 không được dùng . một số nguyên 16-bit có thể chứa một số thập phân từ 0 đến 9999. Du sự cần thiết phải đổi số thập phân sang nhò phân để xuất kết quả. Những lệnh này được dùng để thực hiện các phép tính số học trên các số BCD. vài kết hợp cũng được cung cấp. Hình 5.5 tập lệnh của 8088 Hai nhóm lệnh kế tiếp thực hiện phép kiểm tra và so sánh, sau đó thực hiện nhảy dựa vào kết quả sinh ra. Kết quả của các lệnh kiểm tra và so sánh được cất trong những bit khác nhau của thanh ghi cờ. Jxx nghóa là tập các lệnh nhảy có điều kiện tùy thuộc vào kết quả của phép so sánh trước ( nghóa là, các bit trong thanh ghi cờ ). Nguyễn Hữu Lộc Khoa Vật Lý Cấn Trúc Máy Tính -101- 8088 có vài lệnh nạp, cất, di chuyển, so sánh và quét chuỗi các kí tự hoặc các từ. Những lệnh này có thể được mở đầu bằng 1 byte đặc biệt gọi là REP, byte này làm cho lệnh được lặp lại cho tới khi thỏa mãn một điều kiện nào đó, như CX chẳng hạn, trong 86, 80386 ) có một số lệnh tiền tố ( prefix ), và chúng ta đã đề cập đến một tiền tố, REP. Mỗi tiền tố này là một byte đặc biệt thường đứng trước lệnh. REP g để buộc lệnh phải tìm nạp toán hạng của lệnh từ ngăn xếp hoặc từ phân đoạn phụ thay vì từ phân đoạn dữ liệu. II. CÁC KHUÔN DẠNG LỆNH đó CX bò giảm 1 sau mỗi lần lặp cho tới khi bằng 0. Bằng cách này, các khối dữ liệu tùy ý có thể được di chuyển, so sánh, và v.v… Nhóm cuối cùng là những lệnh hỗn độn không thích hợp trong một nhóm nào cả. Những lệnh này bao gồm các lệnh biến đổi, xuất / nhập và dừng CPU. 8088 ( và cả 802 làm cho lệnh theo sau tiền tố này được lặp lại. LOCK dành riêng bus cho toàn bộ lệnh để cho phép đồng bộ đa xử lí. Những tiền tố khác được dùn Chương trình bao gồm một chuỗi các lệnh, mỗi lệnh xác đònh một động tác cụ thể nào đó. Một phần của lệnh được gọi là mã thao tác (operation code ) hoặc opcode cho biết động tác gì được thực hiện. Nhiều lệnh chứa hoặc chỉ rõ vò trí của dữ liệu được lệnh sử dụng. Thí dụ lệnh so sánh 2 ký tự xem chúng có giống nhau không cần phải xác đònh rõ các ký tự nào được so sánh. Vấn đề chung cho biết các toán hạng ở đâu được gọi là đònh đòa chỉ hay đòa chỉ hóa hay đánh đòa chỉ ( addressing ) sẽ được thảo luận trong phần sau nữa. Hình 5.6 trình bày vài khuôn dạng ( format ) tiêu biểu cho các lệnh lớp 2. Trên một số máy lớp 2, tất cả các lệnh có cùng chiều dài, trên một số máy khác có thể có 2 hoặc 3 chiều dài khác nhau. Hơn nữa các lệnh có thể có chiều dài ngắn hơn, bằng hoặc dài hơn chiều dài của 1 từ. Hình 5.6: 3 khuôn dạng chỉ thò tiêu biểu hí dụ về các khuôn dạng lệnh không ở trong bộ nhớ. Vì vậy tồn tại những lệnh cộng 2 thanh ghi,cộng thanh ghi với bộ nhớ T Họ 8088/80286/80386 của Intel Với các CPU của Intel,tình huốn hoàn toàn khác và rất ít theo quy luật. Nhìn chung, với các lệnh 2 toán hạng, nếu 1 toán hạng ở trong bộ nhớ, toán hạng kia Nguyễn Hữu Lộc Khoa Vật Lý [...]...Cấn Trúc Máy Tính -1 0 2- và cộng bộ nhớ với thanh ghi,nhưng không tồn tại lệnh cộng từ nhớ này với từ nhớ kia, PDP-11 cho phép điều này như là một kết quả trực tiếp cảu tính trực giao Trên 80 88 mỗi opcode là 1 byte, nhưng với 80 386 các opcodé-byte đều đã được tận dụng hết, vì thế opcode 15 được dùng như là phương tiện để đi tới các... sau Một cách tổng quát, có 2 phương pháp: sử dụng các Nguyễn Hữu Lộc Khoa Vật Lý -1 0 4- Cấn Trúc Máy Tính opcode khác nhau hoặc sử dụng một kiểu đònh đòa chỉ đặc biệt cho mỗi loại toán hạng Hình 5.7: Đòa chỉ trực tiếp Các CPU của Intel đều có đònh đòa chỉ trực tiếp 80 88 và 80 286 sử dụng các đòa chỉ trực tiếp 16 bit 80 386 sử dụng các đòa chỉ 16 bit ở các chế độ thực và ảo, các phân đoạn 16 bit ở chế... làm toán hạng hằng số ( thí dụ để chuyển số 100 vào thanh ghi) Mỗi lệnh có thể có 6 trường, mỗi trường có tầm từ 0 tới 5 byte Trên 80 88 và 80 286 , lệnh ngắn nhất dài 1 byte và lệnh dài nhất có 9 byte ( kể cả các tiền tố REF, LOCK và các tiền tố thay thế phân đoạn ) Trên 80 386 , lệnh ngắn nhất vẫn dài 1 byte, nhưng với việc cộng thêm các tiền tố, kích thước của toán hạng và kích thước của đòa chỉ, một lệnh... DX, SI, DI, BP hoặc SP cần được chỉ rõ như thanh ghi khác, nhưng các quy luật mã hoá cấm một số tổ hợp nào đó và dùng chúng cho những trường hợp đặc biệt Trên 80 386 , trong các phân đoạn 32 bit, các kiểu hoàn toàn khác với các kiểu trên 80 88 v 80 286 Một số các kiệu này cần thêm 1 byte, gọi là SIB (scale, index, base ) để cho thêm một đặc tính kỹ thuật nữa Sơ đồ này không phải là sơ đồ lý tưởng nhưng đơn... số đó cho phép có toán hạng tức thời, tùy thuộc vào cách chỉ ra đích và chiều dài của toán hạng tức thời (8, 16 hoặc 32 bit) 680 x0 có kiểu đònh đòa chỉ tức thời, một toán hạng nguồn bất kỳ có thể là hằng số Trên 680 00, một số lệnh chỉ cho phép hằng số là 8 bit hoặc 16 bit, nhưng trên 680 20 và 680 30 cả 3 loại chiều dài đều được phép Ngoài ra, các lệnh đặt biệt như ADDI, ADDQ và CMPI cho phép các lệnh... trong hầu hết các lệnh là 2 byte thứ 2 cho biết toán hạng ở đâu, tương tự với 2 trường kiểu/thanh ghi trong hình 5.21 Vì chỉ có 8 bit nên byte thứ 2 được chia thành 1 trường kiểu 2 bit và 2 trường thanh ghi 3 bit Như vậy chỉ có 4 cách để đòa chỉ hoá các toán hạng (PDP-11 có 8) và 1 trong các toán hạng luôn luôn phải là thanh ghi Một cách logic, một thanh ghi bất kỳtrong các thanh ghi AX, BX, CX, DX,... thực hiện phép toán số học chỉ có 1 đòa chỉ và người ta sử dụng 1 thanh ghi đặc biệt gọi là thanh chứa (accumulator), thanh ghi này cung lớp 1 toán hạng Nguyễn Hữu Lộc Khoa Vật Lý Cấn Trúc Máy Tính -1 0 3- Trên những máy này đòa chỉ thường là đòa chỉ cửa từ nhớ m, ở đó toán hạng được đònh vò Lệnh cộng xác đònh đòa chỉ m có kết quả là Accumulator:= accumulator + memory[m] Các lệnh cộng có 2 đòa chỉ sử... ảo, các phân đoạn 16 bit ở chế độ bảo vệ Trong chế độ bảo vệ 32 bit, các đòa chỉ trực tiếp dài 32 bit Lưu ý là trong mọi trường hợp, các đòa chỉ trực tiếp dều không bao trùm toàn bộ không gian đòa chỉ 86 0x0 có 2 dạng đònh đòa chỉ trực tiếp, một dạng với đòa chỉ 16 bit và một dạng với đòa chỉ 32 bit Các đòa chỉ trong 64K đầu tiên của bộ nhớ được tham chiếu bằng dạng ngắn trong khi các đòa chỉ trên 64K . Trúc Máy Tính -9 6- Hình 5.1:Cấu trúc bộ nhớ của 80 88 Ở lớp máy qui ước, 80 88 và 80 86 giống hệt nhau nên mọi điều chúng ta nói về 80 88 cũng áp dụng được cho 80 86. Chip 80 88 có thể đòa chỉ. D với BUS S qua ALU S-MAR Nối BUS S với MAR S-MBR Nối BUS S với MBR S-PC Nối BUS S với PC S-IR Nối BUS S với IR Nguyễn Hữu Lộc Khoa Vật Lý Cấn Trúc Máy Tính -9 4- S-AC Nối BUS S với AC R. ghi 80 88 thành một tập 8 thanh ghi 1 byte có thể dùng với lệnh thao tác trên các đại lượng 1 byte. Sử dụng các thanh ghi theo kiểu này là dấu vết còn tồn tại của cách làm việc trong 80 88 cũ

Ngày đăng: 14/07/2014, 01:21

Từ khóa liên quan

Mục lục

  • CHƯƠNG 1: GIỚI THIỆU CHUNG.

    • I. NGÔN NGỮ VÀ MÁY ẢO, MÁY TÍNH NHIỀU CẤP.

    • II. PHẦN CỨNG VÀ PHẦN MỀM:

    • III. LỊCH SỬ PHÁT TRIỂN MÁY TÍNH.

      • 1. Thế hệ không.

      • 2. Thế hệ thứ nhất.

      • 3. Thế hệ thứ hai.

      • 4. Thế hệ thứ ba.

      • 5. Thế hệ thứ tư.

      • CHƯƠNG 2: CẤU TRÚC CHUNG MÁY TÍNH.

        • I. CÁC BỘ XỬ LÝ.

          • 1. Thực hiện lệnh.

          • 2. Tổ chức CPU.

          • 3. Thực hiện lệnh song song.

          • II- BỘ NHỚ CHÍNH.

            • 1. Bit

            • 2. Địa chỉ bộ nhớ.

            • 3. Trật tự của byte.

            • 4. Mã sửa lỗi.

            • 5. Bộ nhớ chính trong các IBM PC.

            • III- CÁC THIẾT BỊ LƯU TRỮ (BỘ NHỚ PHỤ).

              • 1. Băng từ.

              • 2. Đĩa từ.

              • 3. Đĩa mềm.

              • 4. Đĩa quang.

              • IV - CÁC THIẾT BỊ VÀO / RA.

                • 1. Bàn phím.

Tài liệu cùng người dùng

Tài liệu liên quan