Xét đoạn bộ nhớ có địa chỉ thay đổi từ 0000h ÷ FFFFh (chiều dài đoạn là 64 KB). Địa chỉ logic hay offset: địa chỉ trong một đoạn, là độ lệch (offset) từ vị trí 0 của một đoạn cho trước. Ví dụ : như địa chỉ logic 0010h của đoạn mã trong hình trên sẽ có địa chỉ thật sự là 28000h + 0010h = 28010h. Địa chỉ này gọi là địa chỉ vật lý. Địa chỉ vật lý chính là địa chỉ thật sự xuất hiện ở bus địa chỉ, nó có chiều dài 20 bit...
CHƯƠNG MỨC MÁY THƠNG THƯỜNG Bộ mơn Kỹ thuật máy tính – Khoa Điện Tử / 50 Địa logic địa vật lý Bộ môn Kỹ thuật máy tính – Khoa Điện Tử / 50 Địa logic địa vật lý Xét đoạn nhớ có địa thay đổi từ 0000h ÷ FFFFh (chiều dài đoạn 64 KB) Địa logic hay offset: địa đoạn, độ lệch (offset) từ vị trí đoạn cho trước Ví dụ : địa logic 0010h đoạn mã hình có địa thật 28000h + 0010h = 28010h Địa gọi địa vật lý Địa vật lý địa thật xuất bus địa chỉ, có chiều dài 20 bit Bộ mơn Kỹ thuật máy tính – Khoa Điện Tử / 50 Khuôn dạng lệnh Opcode (a) Opcode Address (b) Opcode Address Address (c) Bộ môn Kỹ thuật máy tính – Khoa Điện Tử / 50 Khn dạng lệnh Chương trình bao gồm dãy thị, thị rõ hành động cụ thể Một phần thị gọi Opcode – mã phép toán Chỉ thị khơng có địa có nhiều địa Bộ mơn Kỹ thuật máy tính – Khoa Điện Tử / 50 Khuôn dạng lệnh Các tiêu chuẩn thiết kế khuôn dạng thị Chỉ thị ngắn tốt thị dài Có đủ chỗ thị để biểu diễn tất thao tác Độ dài word máy bội số nguyên chiều dài ký tự: mã ký tự có k bit chiều dài word cần phải k, 2k, 3k, … tránh lãng phí khơng gian nhớ chứa ký tự Số bit trường địa ngắn tốt Bộ môn Kỹ thuật máy tính – Khoa Điện Tử / 50 Khuôn dạng lệnh Mở rộng mã thị Chỉ thị có (n+k) bit: Nếu opcode: dài k bit có 2k thị address: dài n bit đánh 2n ô nhớ opcode: dài k-1 bit có 2k-1 thị address: dài n+1 bit đánh 2n+1 ô nhớ số thị cịn nửa, số nhớ tăng gấp đơi Bộ mơn Kỹ thuật máy tính – Khoa Điện Tử / 50 Khuôn dạng lệnh Ví dụ: xét máy có thị dài 16 bit: 16 thị địa 15 14 13 12 11 10 Opcode Address Address Address Bộ mơn Kỹ thuật máy tính – Khoa Điện Tử / 50 Khuôn dạng lệnh Nếu nhà thiết kế cần 15 thị địa chỉ, 14 thị địa chỉ, 31 thị địa chỉ, 16 thị khơng có địa nào làm nào? Bộ mơn Kỹ thuật máy tính – Khoa Điện Tử / 50 Khuôn dạng lệnh Mã thị bit 0000 xxxx yyyy zzzz 0001 xxxx yyyy zzzz … 1101 xxxx yyyy zzzz 15 thị địa 1110 xxxx yyyy zzzz Mã thị bit 1111 0000 yyyy zzzz 1111 0001 yyyy zzzz … 1111 1100 yyyy zzzz 14 thị địa 1111 1101 yyyy zzzz Mã thị 12 bit 1111 1110 0000 zzzz 1111 1110 0001 zzzz … 1111 1110 1110 zzzz 1111 1110 1111 zzzz 1111 1111 0000 zzzz 31 thị 1địa 1111 1111 0001 zzzz … 1111 1111 1110 zzzz Mã thị 16 bit 1111 1111 1111 0000 1111 1111 1111 0001 … 1111 1111 1111 1110 1111 1111 1111 1111 16 thị địa Bộ mơn Kỹ thuật máy tính – Khoa Điện Tử 10 / Thao tác đọc nhớ - Bước The CPU removes the Memory Request and Read signals CPU Read Memory Memory request Register Data bus Address bus CPU latches the data into a register Bộ mơn Kỹ thuật máy tính – Khoa Điện Tử 29 / Thao tác ghi nhớ - bước The CPU sends out a Memory Request control signal to indicate that it wants to perform a memory operation CPU Memory Memory request Data bus Address bus CPU places address (YYYY) of the memory location on the address bus Bộ môn Kỹ thuật máy tính – Khoa Điện Tử 30 / Thao tác ghi nhớ - bước The CPU sends out a Write control signal to indicate that valid data is available on the data bus CPU Write Memory Memory request Register Data bus Address bus CPU places the data from a register onto the data bus Bộ môn Kỹ thuật máy tính – Khoa Điện Tử 31 / Thao tác ghi nhớ - bước The CPU removes the Write signal to complete the memory write operation CPU Write Memory Memory request Register Data bus Accessed location at YYYY Address bus Memory copies the data bus into the accessed location Bộ mơn Kỹ thuật máy tính – Khoa Điện Tử 32 / Lược đồ nhớ Là cách mô tả nhớ hệ thống thông qua hàng dọc; có nghĩa biểu diễn mơ hình ma trận nhớ hàng tương ứng với đơn vị nhớ Trong vùng địa nhớ gồm phân vùng nhỏ chứa nguồn tài nguyên riêng biệt Địa cao Địa thấp Bộ môn Kỹ thuật máy tính – Khoa Điện Tử 33 / Lược đồ nhớ Kích thước liệu lưu nhớ số lượng bit lưu đơn vị nhớ cố định số cột ma trận nhớ Một đoạn liệu: Các đoạn mã chương trình, liệu… Được lưu địa hàng nhớ Một số đoạn nhớ thiết kế dành riêng cho mục đích đặc biệt Ví dụ: BIOS, Hệ điều hành Bộ mơn Kỹ thuật máy tính – Khoa Điện Tử 34 / Lược đồ nhớ Kích thước khơng gian nhớ: số lượng đơn vị nhớ Ví dụ: không gian nhớ 2m, m đường địa cần có VXL Đỉnh nhớ có địa FFFFF = 1111 1111 1111 1111 1111 Bộ VXL truy cập vào địa cao nhớ cách đặt tất đường địa Bộ VXL có 20 đường địa chỉ: Không gian địa nhớ 220=1048 576=1MB Bộ mơn Kỹ thuật máy tính – Khoa Điện Tử 35 / Lược đồ nhớ Số phân vùng (partition) Số phân vùng:= (địa cao –địa thấp) +1 Hãy tính số phân vùng cho BIOS với Địa cao: FFFF=65535 Địa thấp: FF00=65280 Bộ mơn Kỹ thuật máy tính – Khoa Điện Tử 36 / Bộ giải mã địa ( Address Decoding ) Giải mã địa cách sử dụng địa phép thời điểm có thiết nhớ làm việc thiết bị khác không cấp phép Địa đầy đủ chia làm hai nhóm; Nhóm thứ sử dụng để xác định thiết bị nhớ Nhóm thứ hai xác định đơn vị nhớ thiết bị nhớ lựa chọn Bộ môn Kỹ thuật máy tính – Khoa Điện Tử 37 / Bộ giải mã địa ( Address Decoding ) Để chia địa thành hai nhóm cần phải biết độ lớn thiết bị nhớ khơng gian nhớ bao nhiêu? Kích thước khơng gian nhớ thiết bị : 2m, m số đường địa đến thiết bị am-1 am-2 am-3 … ak ak-1 ak-2 … a2 a1 a0 m-k bit dùng để xác định thiết bị nhớ k bit lại nối trực tiếp đến thiết bị nhớ Ta thấy, bit có trọng số cao để thực việc cho phép hay không cho phép thiết bị nhớ hoạt động, bit có trọng số thấp dùng để truy cập vào đơn vị nhớ 38 / Bộ mơn Kỹ thuật máy tính – Khoa Điện Tử Bộ giải mã địa ( Address Decoding ) Ví dụ, thiết bị nhớ có 28 đường địa , ta có 228=256Mega đơn vị nhớ Có nghĩa phải sử dụng 28 bit địa để xác định đơn vị nhớ thiết bị Tất Bit cịn lại địa đầy đủ sử dụng để kích hoạt hay khơng kích họat thiết bị Bộ VXL thơng qua bit cịn lại để xác định nhớ đặt đâu lược đồ nhớ Bộ mơn Kỹ thuật máy tính – Khoa Điện Tử 39 / Bộ giải mã địa ( Address Decoding ) Kích thước nhớ với số lượng đường địa cần thiết để truy cập vào tất đơn vị nhớ lược đồ nhớ Kích thước nhớ Số đường liệu Kích thước nhớ Số đường liệu 1K 10 256MEG 28 256K 18 1GIG 30 1MEG 20 4GIG 32 16MEG 24 64GIG 36 Bộ mơn Kỹ thuật máy tính – Khoa Điện Tử 40 / Bộ giải mã địa ( Address Decoding ) Ví dụ: Có VXL có khơng gian nhớ 256Meg có địa 35E3C03 truy cập vào thiết bị nhớ có dung lượng 16Meg Vậy Cần đường địa phép kích hoạt thiết bị nhớ có khơng gian nhớ 16 Meg này? Địa thiết bị nhớ 16 Meg địa sử dụng để truyền nhận liệu Địa thấp đồ nhớ thiết bị nhớ 16 Meg bao nhiêu? Địa cao đồ nhớ thiết bị nhớ 16 Meg bao nhiêu? Bộ môn Kỹ thuật máy tính – Khoa Điện Tử 41 / Bộ giải mã địa ( Address Decoding ) Ví dụ: Có VXL có khơng gian nhớ 256Meg có địa 35E3C03 truy cập vào thiết bị nhớ có dung lượng 16Meg Vậy Số đường địa phép kích hoạt thiết bị nhớ có khơng gian nhớ 16M là: 256M = 228 có 28 đường địa 16M=224 có 24 đường địa Như cần có đường địa từ 28 – 24 để kích hoạt khơng gian nhớ 16M Địa từ 23 – địa sử dụng để truyền nhận liệu 35E3C03 = 0011 0101 1110 0011 1100 0000 0011 0011 | 0000 0000 0000 0000 0000 0000 – địa thấp 0011 | 1111 1111 1111 1111 1111 1111 – địa cao Bộ mơn Kỹ thuật máy tính – Khoa Điện Tử 42 / Các kiểu thị Các thị vận chuyển liệu: vd: copy liệu Các thị cho phép tốn ngơi Các thị cho phép tóan ngơi Các thị so sánh nhảy có điều kiện Các thị gọi chương trình Các thị lặp Các thị vào/ra Bộ môn Kỹ thuật máy tính – Khoa Điện Tử 43 / ... thuật máy tính – Khoa Điện Tử / 50 Khn dạng lệnh Ví dụ: xét máy có thị dài 16 bit: 16 thị địa 15 14 13 12 11 10 Opcode Address Address Address Bộ mơn Kỹ thuật máy tính – Khoa Điện Tử / 50 Khuôn... 220=1048 57 6=1MB Bộ mơn Kỹ thuật máy tính – Khoa Điện Tử 35 / Lược đồ nhớ Số phân vùng (partition) Số phân vùng:= (địa cao –địa thấp) +1 Hãy tính số phân vùng cho BIOS với Địa cao: FFFF= 655 35. .. Bộ mơn Kỹ thuật máy tính – Khoa Điện Tử / 50 Khuôn dạng lệnh Opcode (a) Opcode Address (b) Opcode Address Address (c) Bộ mơn Kỹ thuật máy tính – Khoa Điện Tử / 50 Khn dạng lệnh Chương trình bao