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

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-


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


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

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

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.


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
-102-
và co
hương tiện để đi tới các opcode 2
byte. Cấu trúc duy nhất trong trường opcode là việc dùng bit thấp trong một số lệnh để


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 8088 và
80286, 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 80386, 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 có thể dài tới 17 by

Các lệnh có thể được phân loại theo số đòa chỉ sử dụng. Nên nhớ rằng tập các
thanh ghi được đánh số của CPU thực tế hình thành một bộ nhớ tốt độ cao và xác đònh
một không gian đòa chỉ i 2 được xếp vào loại
có 2 đòa chỉ bởi vì lệnh phải xác đònh các thanh ghi nào tham gia vào phép cộng, giống
như l ác từ nhớ nào được cộng.
ù thể có 1, 2 và 3 đòa chỉ. Trên nhiều máy, việc
thực
. Một lệnh cộng thanh ghi 1 với thanh gh
ệnh cộng 2 từ nhớ phải cho biết c
Một cách tổng quát, các lệnh co
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
-103-
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ử dụng 1 đòa chỉ là nguồn và đòa chỉ kia là đích . sau
đó cộng nguồn với đích:
Destination := destination + source
Các lệnh có 3 đòa chỉ cho biết 2 nguồn và 1 đích. Nội dung của 2 nguồn được
cộng với nhau và cất kết quả vào đích.

quả hơn.
2. Đònh đòa chỉ trực tiếp
Phương pháp đơn giản khác để xác đònh một toán hạng là cung lớp đòa chỉ của
từ nhớ chứa toán hạng. Dạng này được gọi là đònh đòa chỉ trực tiếp (Direct addressing
). Chi tiết về cách thức máy tính nhận biết đòa chỉ nào là tức thời, đòa chỉ nào là trực
tiếp sẽ được thảo luận 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ý
Cấn Trúc Máy Tính
-104-
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. 8088 và 80286 sử dụng các đòa
chỉ trực tiếp 16 bit. 80386 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ế độ 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ôn
nhiều trường toán hạng.
3.
g gian đòa chỉ . 860x0 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 cần dạng dài. Cả 2 dạng này được
xác đònh bởi các giá trò trong trường MOD 3 bit, và do vậy áp dụng cho tất cả các lệnh
có một hoặc
Đònh đòa chỉ thanh ghi
Khái niệm đònh đòa chỉ thanh ghi cũng giống như đònh đòa chỉ trực tiếp. trong dạng
ònh đòa chỉ này, trường đòa chỉ chứa số của các thanh ghi lưu giữ toán hạng. Một máy
ới 16 thanh ghi và 65536 từ nhớ thực sự có 2 không gian đòa chỉ. Người ta nghó đến
đ


Nhờ tải bản gốc

Tài liệu, ebook tham khảo khác

Music ♫

Copyright: Tài liệu đại học © DMCA.com Protection Status