Giáo trình kiến trúc máy tính phần 1

66 414 0
Giáo trình kiến trúc máy tính phần 1

Đ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

Chơng I Giới thiệu chung kiến trúc máy tính I Khái niệm kiến trúc máy tính Kiến trúc máy tính (Computer architecture) khái niệm trừu tợng hệ thống tính toán dới quan điểm ngời lập trình ngời viết chơng trình dịch Nói cách khác, kiến trúc máy tính đợc xem xét theo khía cạnh mà ngời lập trình can thiệp vào mức đặc quyền, bao gồm ghi, ô nhớ ngắt đợc thâm nhập thông qua lệnh II Lịch sử phát triển máy tính Chiếc máy tính điện tử ENIAC đợc đời năm 1946, đợc chế tạo từ đèn điện tử, rơle điện tử chuyển mạch khí Lịch sử phát triển máy tính điện tử chia làm bốn hệ nh sau: - Thế hệ 1: (1945-1955) Máy tính đợc xây dựng sở đèn điện tử mà đèn tợng trng cho bit nhị phân Do máy có khối lợng lớn, tốc độ chậm tiêu thụ điện lớn Nh máy ENIAC có khối lợng 30 tấn, tiêu thụ công suất 140KW - Thế hệ thứ 2: (1955-1965) Máy tính đợc xây dựng sở đèn bán dẫn (transistor), máy tính hệ có tênlà TX-0 (transistorized experimental computer 0) - Thế hệ thứ ba: (1965-1980) Máy tính đợc xây dựng vi mạch cỡ nhỏ (SSI) cỡ vừa (MSI), điển hình hệ máy System/360 IBM Thế hệ máy tính có bớc đột phá nh sau: - Tính tơng thích cao: Các máy tính họ có khả chạy chơng trình, phần mềm - Đặc tính đa chơng trình: Tại thời điểm có vài chơng trình nằm nhớ số đợc cho chạy chơng trình khác chờ hoàn thành thao tác vào/ra - Không gian địa lớn - Thế hệ thứ t: (1980- ) Máy tính đợc xây dựng vi mạch cỡ lớn (LSI) cực lớn (VLSI) Đây hệ máy tính số ngày nay, nhờ công nghệ bán dẫn phát triển vợt bậc, mà ngời ta chế tạo mạch tổ hợp mức độ cực lớn Nhờ máy tính ngày nhỏ hơn, nhẹ hơn, mạnh giá thành rẻ Máy tính cá nhân bắt đầu xuất phát triển thời kỳ Dựa vào kích thớc vật lý, hiệu suất lĩnh vực sử dụng, ngời ta thờng chia máy tính số hệ thứ t thành loại chính, loại trùm lên phần: - Microcomputer: Còn gọi PC (personal computer), máy tính nhỏ, có chip vi xử lý số thiết bị ngoại vi Thờng dùng cho ngời, dùng độc lập dùng mạng máy tính - Minicomputer: Là máy tính cỡ trung bình, kích thớc thờng lớn PC Nó thực đợc ứng dụngmà máy tính cỡ lớn thực Nó có khả hỗ trợ hàng chục đến hàng trăm ngời làm việc Minicomputer đợc sử dụng rộng rãi ứng dụng thời gian thực, ví dụ điều khiển hàng không, tự động hoá sản xuất - Supermini: Là máy Minicomputer có tốc độ xử lý nhanh họ Mini thời điểm định Supermini thờng đợc dùng hệ thống phân chia thời gian, ví dụ máy quản gia mạng - Mainframe: Là máy tính cỡ lớn, có khả hỗ trợ cho hàng trăm đến hàng ngàn ngời sử dụng Thờng đợc sử dụng chế độ công việc xếp theo lô lớn (Large-Batch-Job) xử lý giao dịch (Transaction Processing), ví dụ ngân hàng - Supercomputer: Đây siêu máy tính, đợc thiết kế đặc biệt để đạt tốc độ thực phép tính dấu phẩy động cao đợc Chúng thờng có kiến trúc song song, hoạt động hiệu cao số lĩnh vực Dựa vào kiến trúc máy tính ngời ta phân máy tính loại khác nh sau: - Kiến trúc SISD (single instruction - single data, đơn dòng lệnh - đơn dòng liệu), sơ đồ nh hình 1-1 Các tín hiệu điều khiển lệnh Khối điều khiển Khối chấp hành lệnh liệu Hệ thống nhớSISD Hình 1-1: Kiến trúc máy tính - Kiến trúc CIMD (Single Instruction Multiple Data, đơn dòng lệnh- đa liệu), sơ đồ nh hình 1-2 Các tín hiệu điều khiển Khối điều khiển Khối chấp hành Khối chấp hành Khối chấp hành n liệu lệnh Hệ thống nhớ Hình 1-2: Kiến trúc SIMD - Kiến trúc MIMD (Multiple Instruction Multiple Data, đa dòng lệnh- đa liệu), sơ đồ nh hình 1-3 Các tín hiệu điều khiển Khối điều khiển lệnh Khối chấp hành Khối điều khiển n liệu Hệ thống nhớ lệnh Khối chấp hành n liệu Hình 1-3: Kiến trúc MIMD Chơng II Biểu diễn thông tin máy tính I Hệ nhị phân (Binary) I.1 Khái niệm: Hệ nhị phân hay hệ đếm số có hai số Đó hệ đếm dựa theo vị trí Giá trị số tuỳ thuộc vào vị trí Các vị trí có trọng số bậc luỹ thừa số Chấm số đợc gọi chấm nhị phân hệ đếm số Mỗi số nhị phân đợc gọi bit (BInary digiT) Bit bên trái bit có trọng số lớn (MSB, Most Significant Bit) bit bên phải bit có trọng số nhỏ (LSB, Least Significant Bit) nh dới đây: 23 22 21 20 2-1 2-2 MSB 1 1 LSB Chấm nhị phân Số nhị phân (1010.11)2 biểu diễn thành: (1010.11)2 = 1*23 + 0*22 + 1*21 + 0*20 + 1*2-1 + 1*2-2 = (10.75)10 Chú ý: dùng dấu ngoặc đơn số dới để ký hiệu số hệ đếm I.2 Biến đổi từ nhị phân sang thập phân Ví dụ : Biến đổi số nhị phân (11001)2 thành số thập phân: Trọng số vị trí: 24 23 22 21 20 Giá trị vị trí: 16 Số nhị phân: 1 0 Số thập phân: 1*24 + 1*23 + 0*22 + 0*21 + 1*20 = (25)10 I.3 Biến đổi thập phân thành nhị phân Để thực việc đổi từ thập phân sang nhị phân, ta áp dụng phơng pháp chia lặp nh sau: lấy số thập phân chia cho số để thu đợc thơng số số d Số d đợc ghi lại để làm thành tố số nhị phân Sau đó, số thơng lại đợc chia cho số lần để có thơng số thứ số d thứ Số d thứ hai số nhị phân thứ hai Quá trình tiếp diễn số thơng Ví dụ 1: Biến đổi số thập phân (29)10 thành nhị phân: 29/2 = 14 + 1(LSB) 14/2 = + 7/2 = + 3/2 = + 1/2 = + 1(MSB) Vậy (29)10 = (1101)2 Đối với phần lẻ số thập phân, số lẻ đợc nhân với số số nhớ đợc ghi lại làm số nhị phân Trong trình biến đổi, số nhớ đầu bit MSB số nhớ cuối bit LSB Ví dụ 2: Biến đổi số thập phân (0.625)10 thành nhị phân: 0.625*2 = 1.250 Số nhớ 1, bit MSB 0.250*2 = 0.500 Số nhớ 0.500*2 = 1.000 Số nhớ 1, bit LSB Vậy : (0.625)10 = (0.101)2 II Hệ thập lục phân (Hexadecima) II.1 Khái niệm: Các hệ máy tính đại thờng dùng hệ đếm khác hệ thập lục phân Hệ thập lục phân hệ đếm dựa vào vị trí với số 16 Hệ dùng số từ đến ký tự từ A đến F nh bảng sau: Bảng 2.1 Hệ thập lục phân: Thập lục phân A B C D E F Thập phân 10 11 12 13 14 15 Nhị phân 0000 0001 0010 0011 0100 0101 0110 0111 1000 1001 1010 1011 1100 1101 1110 1111 II.2.Biến đổi thập lục phân thành thập phân Các số thập lục phân đợc biến đổi thành thập phân cách tính tổng số nhân với giá trị vị trí Ví dụ : Biến đổi số a.(5B)16 b (2AF)16 thành thập phân a Số thập lục phân: B Trọng số vị trí: 161 160 Giá trị vị trí : 16 Số thập phân: 5*16 + B*1 = (91)10 b Số thập lục phân: A F Trọng số vị trí: 162 161 160 Giá trị vị trí : 256 16 Số thập phân: 2*256 + A*16 + F*1 = (687)10 II.3.Biến đổi thập phân thành thập lục phân Để biến đổi số thập phân thành thập lục phân, ta sử dụng phơng pháp chia lặp, với số 16 Ví dụ : Biến đổi (1776)10 thành thập lục phân 1776/16 = 111 + (LSB) 111/16 = + 15 F 6/16 = + (MSB) Số thập lục phân: (6F0)16 II.4 Biến đổi thập lục phân thành nhị phân Các số thập lục phân dễ đổi thành nhị phân Thực số thập lục phân cách biểu diễn số nhị phân thuận lợi mà (bảng 2-1) Để đổi số thập lục phân thành nhị phân, cần thay cách đơn giản số thập lục phân bốn bit nhị phân tơng đơng Ví dụ: Đổi số thập lục (DF6)16 thành nhị phân: D F 1101 1111 0110 (DF6)16 = (110111110110)2 II.5 Biến đổi nhị phân thành thập lục phân Để biến đổi số nhị phân thành số thập lục phân tơng đơng cần gộp lại thành nhóm gồm bit nhị phân, dấu chấm nhị phân Ví dụ: Biến đổi số nhị phân (1111101000010000)2 thành thập lục phân 1111 1010 0001 0000 F A Số thập lục phân: (FA10)16 III Hệ BCD (Binary Code decimal) Giữa hệ thập phân hệ nhị phân tồn hệ lai: hệ BCD cho số hệ thập phân mã hoá hệ nhị phân, thích hợp cho thiết bị đo có thêm phần hiển thị số đầu dùng loại đèn số khác dùng bốn số hệ nhị phân (bốn bit) để mã hoá số hệ thập phân có giá trị nằm khoảng từ Nh ta không dùng hết tổ hợp có bit; tầm quan trọng số BCD nên vi xử lý thờng có lệnh thao tác với chúng Ví dụ: (35)10 = (00110101)2 IV Bảng mã ASCII.(American Standard Code for Information Interchange) Ngời ta xây dựng mã để biểu diễn cho ký tự nh số Và ký hiệu đặc biệt khác Các mã gọi mã ký tự số Bảng mã ASCII mã bit đợc dùng phổ biến hệ máy tính Với mã bit nên có = 128 tổ hợp mã Mỗi ký tự (chữ hoa chữ thờng) nh số thập phân từ ký hiệu đặc biệt khác đợc biểu diễn mã số nh bảng 2-2 Việc biến đổi thành ASCII mã ký tự số khác, tốt sử dụng mã tơng đơng bảng Ví dụ: Đổi ký tự BILL thành mã ASCII: Ký tự B I L L ASCII 1000010 1001001 1001100 1001100 HEXA 42 49 4C 4C Bảng 2-2: Mã ASCII R O W A B C D E F B4 0 0 0 0 1 1 1 1 Bits(row) B3 B2 B1 0 0 1 1 0 0 1 1 0 1 0 1 0 1 0 1 1 1 1 1 000 NUL SOH STX ETX EOT ENQ ACK BEL BS HT LF VT FF CR SO SI 001 DLE DC1 DC2 DC3 DC4 NAK SYN ETB CAN EM SUB ESC FS GS RS US Column bits(B7B6B5) 010 011 100 101 110 SP ! # $ % & ( ) * + , / : ; < = > ? @ A B C D E F G H I J K L M N O P Q R S T U V W X Y Z [ \ ] ^ _ \ a b c d e f g h i j k l m n o 111 p q r s t u v w x y z { | } ~ DEL Control characters: NUL = Null; DLE = Data link escape; SOH = Start Of Heading; DC1 = Device control 1; DC2 = Device control 2; DC3 = Device control DC4 = Device control 4; STX = Start of text; ETX = End of text; EOT = End of transmission; ENQ = Enquiry; NAK = Negative acknowlege ACK = Acknowlege; SYN = Synidle; BEL = Bell ETB = End od transmission block; BS = Backspace; CAN = Cancel HT = Horizontal tab; EM = End of medium; LF = Line feed; SUB = Substitute VT = Vertical tab; ESC = Escape; FF = From feed; FS = File separator SO = Shift out; RS = Record separator; SI = Shift in; US = Unit separator V Biểu diễn giá trị số máy tính V.I Biểu diễn số nguyên a Biểu diễn số nguyên không dấu: Tất số nh mã máy vi tính đợc biểu diễn chữ số nhị phân Để biểu diễn số nguyên không dấu, ngời ta dùng n bit Tơng ứng với độ dài số bit đợc sử dụng, ta có khoảng giá trị xác định nh sau: Số bit Khoảng giá trị n bit: 2n - bit 255 Byte 16 bit 65535 Word b Biểu diễn số nguyên có dấu: Ngời ta sử dụng bit cao biểu diễn dấu; bit dấu có giá trị tơng ứng với số nguyên dơng, bit dấu có giá trị biểu diễn số âm Nh khoảng giá trị số đợc biểu diễn đợc tính nh sau: Số bit Khoảng giá trị: n bit 2n-1-1 bit -128 127 Short integer 16 bit -32768 32767 Integer 32 bit -231 231-1 (-2147483648 2147483647) Long integer V.2 Biểu diễn số thực(số có dấu chấm (phẩy) động) Có hai cách biểu diễn số thực hệ nhị phân: số có dấu chấm cố định (fĩed point number) số có dấu chấm động (floating point number) Cách thứ đợc dùng VXL(micro processor) hay vi điều khiển (micro controller) cũ Cách thứ hay đợc dùng có độ xác cao Đối với cách biểu diễn số thực dấu chấm động có khả hiệu chỉnh theo giá trị số thực Cách biểu diễn chung cho hệ đếm nh sau: R = m.Be Trong m phần định trị, hệ thập phân giá trị tuyệt đối phải nhỏ Số e phần mũ B số hệ đếm Có hai chuẩn định dạng dấu chấm động quan trọng là: chuẩn MSBIN Microsoft chuẩn IEEE Cả hai chuẩn dùng hệ đếm nhị phân Thờng dùng theo tiêu chuẩn biểu diễn số thực IEEE 7541985(Institute of Electric & Electronic Engineers), chuẩn đợc hãng chấp nhận đợc dùng xử lý toán học Intel Bit dấu nằm vị trí cao nhất; kích thớc phần mũ khuôn dạng phần định trị thay đổi theo loại số thực Giá trị số thực IEEE đợc tính nh sau: R = (-1)S*(1+M1*2-1 + +Mn*2-n)*2E E -127 Chú ý: giá trị M0 mặc định - Dùng 32 bit để biểu diễn số thực, đợc số thực ngắn: -3,4.1038 < R < 3,4.1038 31 S 30 23 22 E7 - E0 |Định trị (M1 - M23) - Dùng 64 bit để biểu diễn số thực, đợc số thực dài: -1,7.10308 < R < 1,7.10308 63 S 62 52 51 E10 - E0 Định trị (M1 - M52) Ví dụ tính số thực: 0100 0010 1000 1100 1110 1001 1111 1100 Phần định trị: 2-4+2-5+2-8+2-9+2-10+2-12+2-15+ +2-16+2-17+2-18+2-19+2-20+2-21 = 0,1008906 Giá trị ngầm định là: 1,1008906 Phần mũ: 28+22+20 =133 Giá trị thực (bit cao bit dấu): 133-128=6 Dấu: = số dơng Giá trị số thực là: R = 1,1008906.26 = 70,457 Phơng pháp đổi số thực sang số dấu phẩy động 32 bit: - Đổi số thập phân thành số nhị phân - Biểu diễn số nhị phân dới dạng 1, xxxBy (B: số 2) - Bit cao 31: lấy giá trị với số dơng, với số âm - Phần mũ y đổi sang mã excess -127 y, đợc xác định cách: y + (7F)16 - Phần xxx phần định trị, đợc đa vào từ bit 22 Ví dụ: Biểu diễn số thực (9,75)10 dới dạng dấu phẩy động Ta đổi sang dạng nhị phân: (9,75)10 = (1001.11)2 = 1,00111B3 Bit dấu: bit 31 = Mã excess - 127 là: 7F + = (82) 16 = 82H = (10000010)2 Đợc đa vào bit tiếp theo: từ bit 30 đến bit 23 Bit 22 mặc định Cuối số thực (9,75)10 đợc biểu diễn dới dạng dấu phẩy động 32 bit nh sau: 0100 0001 0001 1100 0000 0000 0000 0000 bit |31|30 23|22 0| Chơng III Các khối máy tính I Giới thiệu sơ lợc cấu trúc máy vi tính So với từ đời, cấu trúc sở máy vi tính ngày không thay đổi Mọi máy tính số coi nh đợc hình thành từ sáu phần (nh hình 3-1): Hình 3-1: Giới thiệu sơ đồ khối tổng quát máy tính số Data Bus Control Bus Bộ xử lý trung tâm (CPU) Bộ nhớ (Memory) ROM-RAM Bộ nhớ (Mass store Unit) Phối ghép vào/ra (I/O) Thiết bị vào (Input Unit) Thiết bị (Output Unit) Adrress Bus Trong sơ đồ này, khối chức máy tính số gồm: - Khối xử lý trung tâm (central processing unit, CPU), - Bộ nhớ (memory), nh RAM, ROM - Bộ nhớ ngoài, nh loại ổ đĩa, băng từ - Khối phối ghép với thiết bị ngoại vi (vào/ra) - Các phận đầu vào, nh bàn phím, chuột, máy quét - Các phận đầu ra, nh hình, máy in Bốn khối chức đầu liên hệ với thông qua tập đờng dây để truyền tín hiệu, gọi chung bus hệ thống Bus hệ thống bao gồm bus thành phần; ứng với tín hiệu xác lập địa từ CPU đến đơn vị thành phần ta có bus địa chỉ; với liệu đợc liên hệ khối qua bus liệu (data bus); tín hiệu điều khiển bao gồm lệnh, đáp ứng, trạng thái khối đợc xác lập qua bus điều khiển Sự khác biệt quan trọng hệ máy tính kích thớc tốc độ, máy tính nhỏ nhanh, mạnh theo năm Sự phát triển không ngừng hệ máy tính nhờ vào hai yếu tố quan trọng, phát triển công nghệ chế tạo IC công nghệ chế tạo nhớ II Bộ nhớ II.1 Cơ sở nhớ Các nhớ chia làm hai loại tổng quát, ROM RAM ROM Read-only Memory(bộ nhớ đọc) RAM Random-access Memory (bộ nhớ truy xuất ngẫu nhiên) Nói chung ROM chứa liệu cách cố định thay đổi Còn RAM đọc ghi vào Khái niệm truy xuất ngẫu nhiên có nghĩa vị trí nhớ đợc mở đợc gọi lúc nào, thông tin không cần phải đọc hay ghi vào cách Về thực chất, RAM ROM truy xuất ngẫu nhiên Chỉ có điều khác ROM cho phép đọc mà ghi vào nó, RAM nhớ đọc ghi, RAM đợc gọi nhớ đọc/ghi Cấu trúc nhớ Hình 2-2 trình bày sơ đồ khối mạch nhớ Mạch nhớ đợc nối với phận khác máy tính thông qua đờng địa đờng dây liệu Kiểm soát mạch nhớ đờng dây cho phép (enable), riêng RAM có thêm đờng dây kiểm soát đọc/ghi (Read/write) Các mạch nhớ nói chung đợc tổ chức dới dạng ma trận, gồm hàng cột để xác định vị trí hay địa nhớ Mỗi ô ma trận gọi phần tử (cell) hay vị trí nhớ (memory location) Vị trí hay phần tử nhớ đợc dò tìm cách chọn địa nhờ mạch giải mã địa Mạch gồm hai phần: mạch chọn địa hàng RAS (row-address selector) mạch chọn địa cột CAS (Column-address selector) Các đờng dây địa chọn địa hàng cột Đờng dây enable dùng để mở mạch điện lối nhớ theo ba trạng thái Còn đờng dây Read/write định dạng thao tác thực Bộ nhớ có tổ chức bit loại có tổ chức lời (word organized) Bộ nhớ tổ chức bit lu giữ bit đơn vị trí địa Bộ nhớ tổ chức lời đợc lựa chọn nhóm phần tử nhớ lúc với vị trí địa Mỗi nhốm phần tử nhớ thờng byte (8 bit), lời (16 bit) Số đờng dây địa mạch nhớ định số vị trí nhớ cực đại tính theo công thức sau: Số vị trí nhớ cực đại = 2N đó, N số lợng đờng địa Addres lines (m) Memory device Data lines (n) Read/write Device(chip) enable enable (RAM only)nhớ (basic memory device) a Mạch Column address selector(CAS) Memory address lines from system Read/write enable Row address selector (RAS) Memory matrix Data Buffers Data lines b Sơ đồ khối (Block diagram) Hình 2-2 Mạch nhớ Device enable II.2 ROM-BIOS Bất hệ máy tính có vi mạch ROM vi mạch chứa chơng trình hệ điều hành vào sở BIOS (basic input/output system) Những chơng trình cần thiết để khởi động máy cài đặt chế độ làm việc sở cho thiết bị ngoại vi Nói chung, chia ROM thành bốn loại ROM mặt nạ (maskable ROM) loại ROM nhà sản xuất nạp sẵn liệu, liệu thay đổi đợc ROM nạp chơng trình (PROM - programable ROM) loại mạch mà ngời dùng nạp liệu vào thông qua thiết bị đốt PROM Khi nạp liệu PROM thay đổi PROM xoá, gọi EPROM (erasable PROM) loại ROM mà ngời dùng nạp liệu vào liệu xoá thay đổi thiết bị đặc biệt EPROM xoá điện (electric EPROM) loại ROM nạp xoá liệu điện đợc mà sử dụng tia cực tms nh với EPROM Trong máy tính đại, ngời ta thờng sử dụng Flash BIOS dùng EEPROM Nh nội dung BIOS máy tính đợc thay đổi để tơng thích với mở rộng nâng cấp hệ thống, mà điều thực máy tính hệ cũ sử dụng BIOS dùng PROM EPROM BIOS gồm nhiều chơng trình hàm Phần đầu chơng trình BIOS kiểm tra hệ thống máy tính, trình gọi POST Nếu hệ thống sử dụng Card 10 26 18 bits TAG Line Valid Bits Tag Valid Bits Hình Format Entry SET Cache Directory trực tiếp hai đờng Phần TAG dài 17/18 bit số hiệu 131972 trang 32 KB (hoặc 262144 trang 16 KB) nhớ Còn TAG_BIT TAG có hữu hiệu hay không Nếu TAG_BIT = tất dòng SET không hữu hiệu Nếu TAG_BIT = bit bit LINE_VALID_BITS có nghĩa dòng tơng ứng Cache chứa thông tin hữu hiệu, tức thông tin đợc cập nhật tự động Ví dụ: Nếu SET = 00005FFh, ta chuyển sang dạng nhị phân: SET = 0000 0000 0000 0000 0101 1111 1111 Từ ta có: TAG = 0000 0000 0000 0000 010 = 2(10) TAG_VALID = 1, dòng LINE_VALID_BIT = 1111 1111 hữu hiệu Tức tất dòng Cache hữu hiệu *Cache trực tiếp Khi VXL 386 bắt đầu chu kỳ đọc nhớ, cấp địa song song cho nơi Latch địa local bus controller, lối vào địa controller interface nhớ Cache đó, Cache Controller định VXL cần đọc từ nhớ hay từ Cache Nó thực điều cách thông dịch địa so sánh với ENTRY Cache Directory Hình trờng (field) bit địa cho Cache trực tiếp cà Cache hai đờng Trong 17/ 18 bit lớn A15 - A31 (hoặc A14 - A31) TAG để trang nhớ cần đọc thông tin từ vào VXL Các bit tiếp theo, A5 A14 (hoặc A5 - A13) gọi địa SET nhớ Cache, chỗ cần truy nhập vào Còn bit bé A2 - A4 để chọn dòng SET A31 A1 17 bits TAG (1 of 217 pages) A31 A A4 A2 Set address Line select (1 of 1024 SETS) (1 of LINES) A1 17 bits TAG (1 of 218 pages) A14 A13 A A4 A2 Set address Line select (1 of 512 SETS) (1 of LINES) Hình Các trờng bit địa dùng cho Cache trực tiếp hai đờng Khi địa VXL đặt vào lối vào địa Controller, phần SET địa đợc dùng để chọn 1024 ENTRY SET Cache Directory Sau Controller tiến hành kiểm tra nh sau: 52 - So sánh trờng TAG địa với TAG ENTRY SET đợc chọn, chúng phải trùng - Bit TAG_VALID_BIT ENTRY SET đợc chọn phải - LINE_VALID_BIT ENTRY tơng ứng với giá trị phần LINE_SELECT địa phải = Nếu ba điều kiện thoả mãn thông tin cần phải đọc từ nhớ đợc lu nhớ Cache hữu hiệu Và Controller khởi đầu chu kỳ đọc liệu từ Cache thay từ nhớ Đây trờng hợp trúng Cache Nếu hai điều kiện đầu thoả mãn, LINE_VALID_BIT = trợt Cache, tức ENTRY SET Directory tơng ứng với trang nhớ chính, nhng dòng từ kép cần phải đọc vào VXL lại cha đợc chuyển sang Cache, gọi trợt dòng Khi VXL phải đọc từ nhớ từ kép, đồng thời đợc đa vào nhớ Cache LINE_VALID_BIT ENTRY Cache Directory đợc xác định Do thông tin đợc đọc vào Cache đánh dấu hữu hiệu Nếu kiểm tra TAG không khớp TAG_VALID_BIT = xảy trợt TAG (tag miss) Đó trờng hợp đọc trang không đợc Cache, Cache nhng không hữu hiệu Trong trờng hợp Controller phải khởi đầu chu kỳ đọc từ nhớ viết vào nhớ Cache Lúc TAG SET ENTRY Directory đợc cập nhật phần TAG địa chỉ, TAG_VALID_BIT đợc lập 1, LINE_VALID_BIT địa trỏ đợc lập 1, LINE_VALID_BITS bị xoá Bằng cách trang hữu hiệu ENTRY dòng đợc lập nên tất ENTRY khác SET baay tơng ứng với thông tin trang khác nhớ trở nên không hữu hiệu * Cache hai đờng hình nêu cách tổ chức nhớ Cache, format ENTRY SET, trờng địa hai trờng hợp Cache trực tiếp Cache hai đờng Trong trờng hợp (hình ) Cache hai đờng hai Directory A B ứng với hai ENTRY, có thêm 512 cờ Least Recently Used dài bit (LRU bit) Những cờ theo dõi xem BANK A BANK B giữ thông tin lâu không sử dụng Những cờ đợc Controller kiểm tra thuật toán thay thông tin lâu không dùng Thao tác đọc thông tin từ nhớ Cache hai đờng giống nh Cache trực tiếp Biết (ở sơ đồ h ) SET_ADDRESS có bit Đầu tiên địa bit đợc dùng để chọn 512 lối vào SET hai Directory A B Tiếp theo TAG_ADDRESS 18 bit đợc so sánh với TAG lối vào SET, TAG_VALID_BITS đợc kiểm tra, LINE_VALID_BIT tơng ứng với mã LINE_SELECT (A2 đến A4) đợc kiểm tra lối vào SET Nếu ba điều kiện kiểm tra đợc thoả mãn hai lối vào SET ta nói trúng Cache thông tin dòng đợc đọc vào VXL từ BANK tơng ứng nhớ Cache Mạt khác, xảy trợt Cache không khớp TAG hai VALID_BIT bị xoá, LINE_VALID_BIT không đợc lập lối vào nào, algorithm kiểm tra bit cờ LRU SET đợc chọn địa SET để xác định xem lối vào BANK A hay BANK B lâu không đợc dùng hơn, sau thông tin đợc đọc vào từ nhớ viết vào BANK nhớ lâu không đợc dùng 53 II.9 Làm tơi nhớ DRAM Bộ nhớ DRAM có hàng cần phải đợc làm tơi chu kỳ 2mS Mạch làm tơi chip nhớ phải kiểm tra điện áp ô nhớ, lớn V cc/2 nạp tới Vcc , bé Vcc/2 xả hết 0V Để đọc từ từ BANK nhớ DRAM, trớc hết DRAM Controller mạch khác cấp tín hiệu WE# = Sau gửi nửa thấp địa chỉ, ứng với địa hàng, tín hiệu RAS# = Sau thời gian, controller cấp nửa địa cao, ứng với địa cột, tín hiệu CAS# = Sau thời gian định, từ cần có xuất Output Data nhớ Để viết vào DRAM, tín hiệu tơng tự, ngoại trừ sau tín hiệu CAS# = 0, controller cấp WE# = để quy định viết vào RAM Controller làm tơi DRAM cách gửi địa 512 địa hàng cấp RAS# = theo chu kỳ, khoảng 4mS Việc làm tơi đợc tiến hành theo burst mode theo distributed mode Trong burst mode toàn 512 hàng đợc định địa đánh nhịp lần lợt cách 4mS Còn distributed mode hàng đợc định địa đánh nhịp sau 4/512 mS Hình mạch làm t DRAM với controller làm tơi 8208 Hình Mạch làm tơi nhớ dùng 8028 Những nhiệm vụ việc điều khiển nhớ DRAM máy tính là: - Làm tơi ô nhớ sau khoảng thời gian vài mS - Cấp hai nửa địa tín hiệu RAS#, CAS# thích hợp - Bảo đảm thao tác đọc/viết làm tơi không xảy đồng thời - Cấp tín hiệu đọc/viết để điều khiển chiều số liệu Hình mô tả sơ đồ Controller 8208 làm tơi MByte cho hệ VXL 8086 Bộ nhớ chia thành BANK (mỗi BANK bit) Controller bảo đảm cấp địa hàng địa cột, tín hiệu RAS#, CAS#, tín hiệu READ/WRITE Các chân trạng thái S0 - S3 VXL đấu thẳng tới chân vào 8208 Controller giải mã tín hiệu tín hiệu đọc viết mà VXL yêu cầu Do đó, đa số thòi gian VXLđợc dùng để đọc byte/từ RAM mà không cần có chu kỳ chờ Nếu 8208 chu kỳ làm tơi nhớ mà VXL muốn đọc RAM 8208 lu giữ AACK cao buộc VXL cấp thêm chu kỳ đợi để 8208 kịp hoàn thành chu kỳ làm tơi Để tiết kiệm chân, chân số liệu (để nạp từ điều khiển), chân PDI nối mass cho phép 8208 tự khởi đầu hoạt động đa số ứng dụng Còn trờng hợp khác chân PDI đợc điều khiển ghi dịch vào song song - nối tiếp, nhờ từ điều khiển đợc nạp vào 8208 Sau Reset chân WE/PCLK cấp dãy xung đánh nhịp cho từ điều khiển từ ghi dịch nạp vào 8208 Từ điều khiển đợc thực nối lối vào ghi dịch Ta dùng DMAC để làm tơi nhớ Hình ví dụ mạch BANK với dung lợng 256KB nhớ máy tính dùng chế độ đọc DMA ảo Bộ 54 định thời 8253 lập trình để phát xung nhịp 15àS Xung đợc nối vào lối vào xin DMA (DMA Request) DREQ0 8237 DMAC đợc lập trình để đọc từ nhớ viết vào cổng không tồn Khi DMAC nhận xung này, gửi tín hiệu HOLD_REQUEST tới VXL VXL trả lời tín hiệu HLDA đặt chân trạng thái trở kháng cao Khi đó: 8237 chiếm lấy bus, gửi địa nhớ, tín hiệu đọc nhớ tín hiệu chấp nhận DMA kênh (DACK0) Tám bit địa thấp gửi tới nhớ, DACK0 để cung cấp xung RAS# cho bank DRAM để làm tơi nhớ động Sau thao tác DMA ghi địa hành DMAC đợc tự động tăng/giảm (tuỳ thuộc cách lập trình lúc đầu) để làm tơi hàng (row) nhớ sau Nếu 8237 lập trình để truyền 64 kByte, khỏi đầu địa 0, tăng đếm sau lần DMA, tự khởi động (autoinitialize), dẫy địa gửi làm tơi tất 256 hàng DRAM Mỗi hàng làm tơi 15ns Ví dụ với tần số clock 4.77MHz dùng IBM PC, chu kỳ DMA để làm tơi 820 ns 15 ns, tức 5% thời gian VXL Để kiểm tra Parity bank nhớ có bit, bit để giữ số liệu, bit thứ bit Parity Mỗi mạch 74 LS280 dùng để phát/ kiểm parity cho byte cất vào parity bit byte đợc viết vào nhớ Khi bit đơc đọc ra, parity đợc kiểm tra Nếu parity sai tín hiệu báo lỗi đợc gửi tới cổng 8255 VXL đọc Khi bắt đầu bật máy, trình POST xảy ra, viết mẫu byte vào tất ô nhớ, kiểm tra cách đọc lại chúng với parity bit II.10 Chuyển mảng số liệu DMA Thờng xuyên có nhu cầu chuyển mảng số liệu nhớ ngoại vi Lúc ta dùng DMAC Hình mô tả chế hoạt động DMAC với VXL để truyền số liệu nhớ ngoại vi (ổ đĩa thông minh) Khi ta bật máy lúc đầu khoá vị trí đóng từ VXL tới ngoại vi, nhớ Chúng ta lập trình để chạy DMAC, ví dụ để đọc file từ ổ đĩa để viết vào nhớ Muốn 55 phải gửi loạt lệnh tới controller ổ đĩa yêu cầu đọc block liệu từ đĩa Khi controller có byte đầu tiên, gửi DMA Request(DREQ) cho DMAC, channel DMAC không bị che chắn , DMAC gửi HOLD REQUEST tới chân HOLD VXL, VXL treo bus cao gửi HLDA cho DMAC, DMAC nhận HLDA VXL, cho tín hiệu điều khiển để đặt ba khoá vị trí DMA, cắt VXL ra, sau DMAC cho địa cấp cho nhớ, DMAC gửi DMAAcknowlege (DACK0) cho ổ đĩa để đa số liệu, cuối cấp MEMW#=0 IOR#=0 bus điều khiển, nhờ liệu đợc đọc vào từ ngoaị vi viết ô nhớ, truyền số liệu hoàn thành DMAC thu lại tín hiệu HRQ, VXL lấy lại bus lần DMA sau Hình mạch chi tiết sơ đồ hình Trong 8237 DMAC 8272 controller ổ đĩa mềm, 8282 dùng để latch bit địa gửi từ VXL (do ALE 8086 điều khiển ) 8237 (do AEN AD dress STrobe điều khiển) Khi đóng điện DMAC cấp AEN = 0, vi mạch U1, U2, U4 đợc hữu hiệu Và ALE từ VXL đợc dùng để đánh nhịp (STroBe) cho vi mạch Do chúng chốt địa A0-A19 VXL bus địa nh trờng hợp thông thờng (không DMA) Khi DMAC muốn chiếm lấy bus, cấp AEN= 1, dẫn đến: - Khoá không cho U1 làm việc, cắt địa A0 -A7 từ VXL, DMAC trực tiếp cấp địa thấp cho nhớ truyến số liệu, - AEN =1 làm đổi vị trí Multiplex khiến cho việc đánh nhịp cho U2 thực ADSTB DMAC Để tiết kiệm chân, DMAC bit địa cao qua chân số liệu D0-D7, với ADSTB=1 báo địa cao A15- A8 DMAC cấp cho qua nhớ latch U2 -Cũng AEN =1, bit A16- A19 U3 cấp từ bit D10 -D13 ta lập trình cứng -Cuối cùng, tín hiệu điều khiển đợc đổi nối từ output cảu VXL sang output DMAC ( gồn IOR#, IƠ#, MEMƯ#, MEMR#) 56 Các buffer số liệu hai chiều 8286 cho phép truyền bit số liệu tới/từ controller đĩa từ/tới byte cao byte thấp nhớ Bit địa A0 dùng để chọn đờng cho hai byte nhớ chẵn/lẻ DMAC có kênh (channel), nhiều ghi để: -Ghi địa nhớ sở(16 bit) -Ghi số đếm từ (word) nhớ sở -Địa nhớ hành -Ghi địa tạm thời -Ghi số đếm tạm thời -Ghi trạng thái -Ghi địa lệch -Ghi tạm thời -Các ghi mode -Ghi chắn DMA -Ghi yêu cầu xin DMA DMAC có chân địa bit vào IOR#, IOW# để điều khiển hoạt động đọc/viết ghi Nó có flip flop để trỏ địa byte cao/byte thấp có chân số liệu Các flip flop đợc lần lợt tự động lật trạng thái phép cấp 16 bit địa nhờ cổng bit Tất nhiên để điều khiển hoạt động DMAC cần phải lập trình khởi đầu nó, lập trình hoạt động sau DMAC lập trình để truyền 1byte cho request, khối byte cho request, hay truyền nhận đợc tín hiệu dừng từ chân vào/ra EOP# Đại thể phải làm việc sau: - Viết từ điều khiển vào địa 1101 để xoá flip flop - Viết từ điều khiển vào địa 1000 - Viết từ mode cho channel (dùng địa 1011) - Viết địa nhớ tới địa ghi sở cho channel ta cần - Viết số byte ta muốn truyền tới địa ghi đếm số lợng từ sở cho kênh - Viết từ/ từ điều khiển để xoá mặt nạ cho channel/ channel cần dùng Table a A3 A2 A1 1 1 1 1 1 1 1 1 0 0 0 0 1 1 1 1 0 0 1 1 0 0 1 1 Table b SIGNALS A0 0 1 0 1 0 1 0 1 IOR 1 1 1 1 Name base address register base word count register IOW 1 1 1 1 Operation Read status register write command register illegal write request register illegal write single mask register set illegal write mode register illegal clear byte pointer flip/ flop read temporary register master clear illegal clear mask register illegal write all mask register bits Size 16 bits 16 bits number 4 57 current address register current word count register temporary address register temporary word count register status register command register temporary register mode register mask register request register 16 bits 16 bits 16 bits 16 bits bits bits bits bits bits bits 4 1 1 1 58 chanel register operation base and current address write current address read base and current word count write current word count read base and current address write current address read base and current word count write current word count read base and current address write current address read base and current word count write current word count read base and current address write current address read base and current word count write current word count read signal CS IOR Bảng : 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 0 1 0 1 0 1 0 1 0 1 0 1 0 1 0 IOW 0 1 0 1 0 1 0 1 0 1 0 1 0 1 0 1 A3 A A1 A0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 1 1 1 1 1 1 1 0 0 0 0 1 1 1 1 0 0 0 0 1 1 1 1 0 0 1 1 0 0 1 1 0 0 1 1 0 0 1 1 internal flip - flop data bus db0 - db7 1 1 1 1 1 1 1 1 A0 - a7 a8 - a15 A0 - a7 a8 - a15 W0 - w7 w8 - w15 w0 - w7 w8 - w15 A0 - a7 a8 - a15 A0 - a7 a8 - a15 W0 - w7 w8 - w15 w0 - w7 w8 - w15 A0 - a7 a8 - a15 A0 - a7 a8 - a15 W0 - w7 w8 - w15 w0 - w7 w8 - w15 A0 - a7 a8 - a15 A0 - a7 a8 - a15 W0 - w7 w8 - w15 w0 - w7 w8 - w15 Các ghi địa DMAC8237 59 Trong máy tính AT ta dùng hai DMAC, địa chúng mapping I/O nh sau: 000 -01F : DMAC 1(8237A) 0C0 -0DF : DMAC (8237) 087, 083, 081, 082, 08B, 089, 08A, 08F: DMA Page Register (cấp địa A16 -A23 cho kênh 0, 1, 2, 3, 5, 6, 7, làm tơi) Bốn kênh DMAC (đánh số từ tới ) dùng để truyền số liệu bit adapter I/O bit với nhớ 16 bit Mỗi kênh giúp truyền 16 MByte số liệu tổ chức thành khối 64 kByte ( Các chân BHE đảo A0) DMAC2 có kênh từ -7 Kênh dùng để nối tầng bốn kênh đến vào VXL Ba kênh 5, 6, dùng truyền số liệu 16 bit adapter I/O16 bit với nhớ 16 bit Các kênh DMA truyền 16 MByte khối 128 kByte Các kênh 5, 6, truyền số liệu byte bắt đầu địa lẻ (các chân A0, BHE = 0) Trong slot ISA máy vi tính AT có chân sau dùng cho hai DMAC: DRQ0, DRQ1, , DRQ2, DRQ3, DRQ4, DRQ5, DRQ6, DRQ7 DACK0 ACK1, DACK2, DACK3, DACK4, DACK5, DACK6, DACK7 Chơng VII Giao diện máy vi tính Một hệ thống máy tính điển hình từ cỡ nhỏ đến cỡ trung bình, bao gồm vi xử lý trung tâm, nhớ hệ thống phối ghép vào/ Các thành phần liên hệ với thông qua hệ thống bus Chơng nghiên cứu phần cuối hệ thống máy tính, phối ghép vào/ Cụ thể chip phối ghép vào/ ra, máy tính đợc liên hệ với giới bên thông qua chip I Các chip vào/ (I/O chip) 60 Trong giới máy tính, có nhiều loại chip vào/ra chủng loại chip liên tục xuất Trong số chip thông dụng nói đến chip điều khiển truyền thông UART, USART, chip điều khiển hiển thị hình CRTC, chip điều khiển đơn vị ổ đĩa HDC/FDC chip điều khiển vào/ qua cổng song song PIO I.1 Chip nhận - phát không đồng UART Chip UART (Universal Asynchronous Receiver Transmitter), đọc byte liệu từ bus liệu chuyển bit liệu lên đờng dây nối tiếp tới thiết bị đầu cuối (terminal) nhận liệu từ terminal Các chip UART thờng hoạt động tốc độ từ 50bps tới 19,2 Kbps I.2 Chip nhận - phát đồng bộ/không đồng USART Chip USART(Universal Synchronouns Asynchronous Receiver Transmitter) quản lý việc truyền liệu đồng việc sử dụng nhiều giao thức khác nhau, nh sử dụng tất chức UART I.3 Các chip vào/ra song song PIO(Parallel I/O) Một chip PIO điển hình chip 8255A, nh hình 7.1 Nó có 24 cổng vào/ra, ghép nối với thiết bị tơng thích TTL, nh bàn phím, chuyển mạch, máy in Cho phép CPU đọc ghi bit liệu cổng vào/ra, làm cho chip hoạt động linh hoạt CPU định cấu hình cho 8255A cách nạp giá trị cho ghi trạng thái bên vi mạch Vi mạch gồm: a Phần ghép nối với vi xử lý có: - Bộ đệm số liệu để trao đổi liệu hai chiều (vào, ra) vi xử lý vi mạch - Bộ logic điều khiển đọc/ghi, tức giải mã địa lệnh cho ghi đệm ghi điều khiển b Phần ghép nối với thiết bị có: - Trạm A trạm B, trạm đợc gắn với ghi chốt bit, có chức vào tuỳ theo chơng trình khởi phát - Trạm C bit, chia thành hai phần, nửa thấp bit nửa cao bit Tuỳ theo chế độ sử dụng đợc xác lập lời điều khiển, trạm C đợc dùng để trao đổi liệu vào (chế độ 0); điều khiển đối thoại với thiết bị vi xử lý trạm A trạm B chế độ cách xác lập xoá bit PCj ; điều khiển đối thoại với thiết bị vi xử lý trạm A B chế đọ 61 chế độ 2, đọc bit trạm C, ta biết đợc trangh thái trạm A B c Phần mạch điều khiển nội bộ: Có khối điều khiển (nhóm A hay nhóm B) trạm A, B C I.1.1 Các lệnh ghi đọc cửa (trạm) ghi điều khiển Với tổ hợp tín hiệu địa (A0, A1), chọn chip ( CS ), lệnh đọc ( RD ), ghi ( WR ) vi xử lý Chơng VII Vào liệu với thiết bị ngoại vi I Vai trò nhiệm vụ phối ghép I.1 Vai trò phối ghép Bộ phối ghép nằm trung gian máy vi tính thiết bị ngoài, đóng vai trò trung chuyển liệu (nhận truyền) chúng Khi truyền liệu từ máy vi tính thiết bị ngoài, phối ghép đóng vai trò nhận liệu từ máy tính nguồn cấp liệu cho thiết bị Khi truyền liệu từ thiết bị vào máy vi tính, phối ghép đóng vai trò nhận liệu từ thiết bị nguồn cấp liệu vào cho máy tính I.2 Nhiệm vụ phối ghép Bộ phối ghép làm nhiệm vụ phối hợp trao đổi liệu máy tính thiết bị mức công suất tín hiệu, dạng tín hiệu, tốc độ phơng thức trao đổi I.2.1 Phối hợp mức công suất tín hiệu Mức tín hiệu máy vi tính thờng mức (0V, 5V) thiết bị ngoài, mức cao ( 15V, 48V) thấp ([...]... ghi W =1 AX BX CX DX SP DI BP SI Thanh ghi W=0 AL BL CL DL AH BH CH DH Mã REG Thanh ghi đoạn Mã 000 011 0 01 010 10 0 11 1 10 1 11 0 ES CS SS DS 00 01 10 11 Bảng 4-2: Phối hợp MOD và R/M để tạo ra các chế độ địa chỉ MOD R/M 000 0 01 010 00 01 10 [BX] + [SI] [BX] + [DI] [BP] + [SI] [BX] + [SI] + d8 [BX] + [DI] + d8 [BP] + [SI] + d8 [BX] + [SI] + d16 [BX] + [DI] + d16 [BP] + [SI] + d16 W=0 AL CL DL 11 W =1 AX... A1/A8 A2/A9 A3/A10 A4/A 11 A5/A12 A6/A13 CS Row address Latch Row decorder 1 DRAM memory array Chip selected 12 8x128 Address latching timing 12 8 1 128 Buffers sense amps and refresh Column address latch A7 A13 CAS 1 CS WR Din Dout 12 8 Column Decorder 11 Hình 2-3 Sơ đồ khối DRAM 16 .384 bits (16 Kb) III Bộ xử lý trung tâm CPU Bộ xử lý trung tâm CPU là cốt lõi của một máy vi tính CPU thực hiện mọi tính toán và... chỉ vật lý (riêng BP phải đợc cộng với SP) Ví dụ 1: Mã hoá các lệnh: a MOV CL,[BX]; b MOV 0F3H[SI],CL a MOV CL, [BX] 1 0 0 0 1 0 1 Các bit mã hoá CL; Chuyển 1 bite; 0 0 0 0 0 1 1 1 1 ô nhớ có địa chỉ DS:BX; Opcode Chuyển tới thanh ghi b MOV 0F3H[SI], CL 1 0 0 0 1 0 0 0 0 1 0 0 1 1 0 0 1 1 1 1 0 0 1 1 Các bit mã hoá CL; ô nhớ có địa chỉ DS:SI; chuyển 1 bite; Opcode Chuyển từ thanh ghi; d8 = F3H II Tập... AL(AX) Nếu con số trong AL là 000 011 01B và ; trong BL là 0 011 0 011 B thì kết quả trong thanh ghi ; AL sau phép AND là: AL 0000001B OR AL, BL ; nội dung thanh ghi BL đợc hợp với nội dung trong ; thanh ghi AL từng bit một và kết quả đợc lu trong ;thanh ghi AL(AX) Nếu con số trong AL là ; 000 011 01B và trong BL là 0 011 0 011 B thì kết quả ;trong thanh ghi AL sau phép AND là: AL 0 011 111 B Ví dụ 3: AND BL, 0FH ; che... [DI] + d16 [BP] + [SI] + d16 W=0 AL CL DL 11 W =1 AX CX DX 17 011 10 0 10 1 11 0 [BP] + [DI] [BP] + [DI] + d8 [SI] [SI] + d8 [DI] [DI] + d8 d16 [BP] + d8 (Địa chỉ trực tiếp) [BX] [BX] + d8 Chế độ bộ nhớ 11 1 [BP] + [DI] + d16 [SI] + d16 [DI] + d16 [BP] + d16 [BX] + d16 BL AH CH DH BX SP BP SI BH DI Chế độ thanh ghi Ghi chú: - d8: disp 8 bit, d16: disp 16 bit - Các gía trị cho trong các cột 2, 3, 4 là các địa... nhau Lệnh này không tác động đến cờ Ví dụ 1: Xác định kết quả của đoạn chơng trình sau: MOV BL, 0 011 0 011 B NOT BL MOV MEM1, BL Nội dung của thanh ghi BL đợc nạp vào là 0 011 0 011 B Sau khi thực hiện phép NOT thì nội dung của thanh ghi BL là 11 0 011 00B và giá trị này đợc đa vaò vị trí nhớ đợc chỉ ra bởi nhãn MEM1 AND/OR: Và/Hoặc hai toán hạng dạng tổng quát của lệnh AND/OR là: AND Đích, Nguồn OR Đích, Nguồn... mã lệnh đợc quy định khá chặt chẽ hình 4 -1 dới đây cho thấy cấu trúc nhị phân của một lệnh dịch chuyển MOV đích, nguồn dùng để chuyền dữ liệu giữa 2 thanh ghi hoặc giữa ô nhớ và thanh ghi 1 0 0 0 1 Mã lệnh Byte 1 0 D W MOD REG Byte 2 Địa chỉ phần thấp Byte 3 M/R Địa chỉ phần cao Byte 4 Hình 4 -1: Cấu trúc mã lệnh - Bit D (direction) chỉ hớng cho thanh ghi REG D =1 chỉ dữ liệu đi đến REG; D=0 thì chỉ dữ... (displacement values) đợc dùng để tính địa chỉ hiệu dụng của toán hạng trong các vùng nhớ DS và SS Sự có mặt của các giá trị diạch chuyển xác định tính tơng đối (so với cơ sở) của địa chỉ Ví dụ: MOV CL, [BX] + 10 MOV CX, [BX +10 ] MOV AL, [BP] + 10 ; chuyển nội dung 2 ô nhớ liên tiếp có địa ; chỉ DS:(BX +10 ) và DS:(BX +11 ) vào CX ; tơng tự nh lệnh trên ; chuyển nội dung ô nhớ SS:(BP +10 ) vào AL III 6 Chế độ địa... trỏ cà thanh ghi chỉ số chỉ rộng 16 bit nên không thể định địa chỉ cho toàn bộ nhớ vật lý của máy tính là (220 = 1. 048.576 = 1Mbyte) Vì vậy trong chế độ thực (real mode) bộ nhớ đợc chia làm nhiều đoạn để một thanh ghi con trỏ 16 bit có thể quản lý đợc Các thanh ghi đoạn 16 bit sẽ chỉ ra địa chỉ đầu của 4 đoạn trong bộ nhớ, dung lợng lớn nhất của mỗi đoạn nhớ sẽ dài 2 16 = 64 Kbyte và tại một thời điểm... ảnh tính chẵn (parity) của tổng số bit 1 có trong kết quả Cở PF =1 khi tổng số bit 1 trong kết quả là chẵn (even parity, parity chẵn) - Bit 4: AF (auxliary carry flag) cờ nhớ phụ dùng cho các phép tính với mã BCD AF = 1 khi có nhớ hoặc mợn từ một số BCD thấp (4 bit thấp) sang một số BCD cao (4 bit cao) - Bit 6: ZF (zero flag) cờ rỗng, ZF = 1 khi kết quả bằng 0 - Bit 7: SF (sing flag) cờ dấu, SF = 1 khi ... mã có từ dài 10 bit nh sau: 0000000000, 0000 011 111 , 11 111 00000, 11 111 111 11 Mã có khoảng cách 5, tức sửa đợc lỗi kép Ví dụ ta nhận đợc từ 000000 011 1, máy thu biết từ phải 0000 011 111 (nếu coi nh... B I L L ASCII 10 00 010 10 010 01 10 011 00 10 011 00 HEXA 42 49 4C 4C Bảng 2-2: Mã ASCII R O W A B C D E F B4 0 0 0 0 1 1 1 1 Bits(row) B3 B2 B1 0 0 1 1 0 0 1 1 0 1 0 1 0 1 0 1 1 1 1 1 000 NUL SOH STX... (M1 - M23) - Dùng 64 bit để biểu diễn số thực, đợc số thực dài: -1, 7 .10 308 < R < 1, 7 .10 308 63 S 62 52 51 E10 - E0 Định trị (M1 - M52) Ví dụ tính số thực: 010 0 0 010 10 00 11 00 11 10 10 01 111 1 11 00

Ngày đăng: 03/04/2016, 22:26

Từ khóa liên quan

Mục lục

  • 80387DX

  • III. Các chế độ địa chỉ

  • III.5. Chế độ địa chỉ tương đối cơ sở (based relative addresing).

    • Chương V. Các BUS trong vi xử lý và máy vi tính

    • I. Chức năng và thông số của BUS

    • II.1. Bus trong vi xử lý và bus bộ xử lý

    • III.1 Trọng tài bus tập trung

    • III.2 Trọng tài bus không tập trung

      • Người ta chỉ sử dụng 3 đường dây, không phụ thuộc vào số lượng thiết bị nối với bus. Bao gồm:

      • + Yêu cầu chiếm dụng bus (bus request)

      • + Trạng thái bus (bus busy), được bus master đặt ở mức tích cực

      • + Trọng tài bus, được mắc nối tiếp qua các thiết bị

      • Khi không có thiết bị nào yêu cầu chiếm bus, đường dây trọng tài bus truyền mức tích cực tới tất cả các thiết bị. Khi một đơn vị nào đó muốn chiếm dụng bus, đầu tiên nó kiểm tra bus có rỗi không và kiểm tra đầu vào của đường trọng tài bus, nếu thấy có điện áp IN = 5V thì nó có thể xin bus bằng cách đưa tín hiệu yêu cầu bus (Request) và xoá tín hiệu OUT, tức là đặt OUT = 0V. Do đó các thiết bị ưu tiên thấp hơn sẽ không xin được bus. Lúc này nó trở thành bus master.

      • IV. Xử lý ngắt

        • V. Một số bus thông dụng

        • V.1 Bus IBM PC

          • Tín hiệu đồng hồ OSC và CLK

          • Các đường địa chỉ và dữ liệu

          • Các tín hiệu liên quan đến DMA

            • V.2. Bus IBM PC/AT

            • Với giải pháp mở rộng PC bus, bổ sung thêm vào các khe cắm cũ một đoạn khe cắm ngắn, trên đó có 36 dây tín hiệu, tăng thêm cho bus địa chỉ 4 dây, bus dữ liệu 8 dây, các đường yêu cầu ngắt, kênh DMA, ... . Nhờ vậy các card mở rộng trước đây vẫn dùng cho IBM PC có thể dùng cho IBM PC/AT.

            • V.3. Bus PCI

            • V.4. Bus nối tiếp chung USB

              • Chương VI. kiến trúc Bộ nhớ máy vi tính

              • I. Các khái niệm chung

              • III. Tổ chức bộ nhớ trong của máy vi tính

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

  • Đang cập nhật ...

Tài liệu liên quan