ݺߣ

ݺߣShare a Scribd company logo
CHƯƠNG 5
MỨC MÁY THÔNG
   THƯỜNG

 Bộ môn Kỹ thuật máy tính – Khoa Điện Tử   1 / 50
Địa chỉ logic và địa chỉ vật lý




        Bộ môn Kỹ thuật máy tính – Khoa Điện Tử   2 / 50
Địa chỉ logic và địa chỉ vật lý
   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
            Bộ môn Kỹ thuật máy tính – Khoa Điện Tử   3 / 50
Khuôn dạng lệnh


     Opcode
                       (a)

     Opcode                  Address
                       (b)

     Opcode        Address 1       Address 2

                       (c)

       Bộ môn Kỹ thuật máy tính – Khoa Điện Tử   4 / 50
Khuôn dạng lệnh
  Chương trình bao gồm một dãy các chỉ thị,
  mỗi chỉ thị chỉ rõ một hành động cụ thể nào đó
 Một phần chỉ thị gọi là Opcode – mã phép
  toán
 Chỉ thị có thể không có địa chỉ hoặc có nhiều
  địa chỉ




         Bộ môn Kỹ thuật máy tính – Khoa Điện Tử   5 / 50
Khuôn dạng lệnh
    Các tiêu chuẩn thiết kế khuôn dạng chỉ thị
    1.   Chỉ thị ngắn tốt hơn chỉ thị dài
    2.   Có đủ chỗ trong chỉ thị để biểu diễn tất cả các
         thao tác
    3.   Độ dài word của máy là bội số nguyên của chiều
         dài ký tự: nếu mã ký tự có k bit thì chiều dài word
         cần phải là k, 2k, 3k, …  tránh lãng phí không
         gian nhớ chứa ký tự
    4.   Số bit trong trường địa chỉ càng ngắn càng tốt


             Bộ môn Kỹ thuật máy tính – Khoa Điện Tử   6 / 50
Khuôn dạng lệnh
   Mở rộng mã chỉ thị
       Chỉ thị có (n+k) bit:
           opcode: dài k bit  có 2k chỉ thị
           address: dài n bit  đánh được 2n ô nhớ
       Nếu
           opcode: dài k-1 bit  có 2k-1 chỉ thị
           address: dài n+1 bit  đánh được 2n+1 ô nhớ
        số chỉ thị chỉ còn một nửa, số ô nhớ tăng gấp
        đôi



              Bộ môn Kỹ thuật máy tính – Khoa Điện Tử     7 / 50
Khuôn dạng lệnh
   Ví dụ: xét một máy có chỉ thị dài 16 bit: 16 chỉ thị 3
    địa chỉ
    15 14 13 12 11 10 9          8   7    6    5     4   3    2    1     0




     Opcode          Address 1           Address 2           Address 3




              Bộ môn Kỹ thuật máy tính – Khoa Điện Tử                    8 / 50
Khuôn dạng lệnh
   Nếu nhà thiết kế cần 15 chỉ thị 3 địa chỉ, 14 chỉ
    thị 2 địa chỉ, 31 chỉ thị 1 địa chỉ, 16 chỉ thị
    không có địa chỉ nào làm thế nào?




           Bộ môn Kỹ thuật máy tính – Khoa Điện Tử   9 / 50
Khuôn dạng lệnh
                      0000 xxxx yyyy zzzz
       Mã chỉ         0001 xxxx yyyy zzzz   15 chỉ thị
       thị 4 bit      …                     3 địa chỉ
                      1101 xxxx yyyy zzzz
                      1110 xxxx yyyy zzzz

                      1111 0000 yyyy zzzz
       Mã chỉ         1111 0001 yyyy zzzz    14 chỉ thị
       thị 8 bit      …
                      1111 1100 yyyy zzzz
                                             2 địa chỉ
                      1111 1101 yyyy zzzz

                      1111 1110 0000 zzzz
       Mã chỉ         1111 1110 0001 zzzz

       thị 12         …

       bit
                      1111 1110 1110 zzzz     31 chỉ thị
                      1111 1110 1111 zzzz
                                              1địa chỉ
                      1111 1111 0000 zzzz
                      1111 1111 0001 zzzz
                      …
                      1111 1111 1110 zzzz

                      1111 1111 1111 0000
       Mã chỉ         1111 1111 1111 0001    16 chỉ thị
       thị 16         …                      không có
                      1111 1111 1111 1110
       bit                                   địa chỉ
                                                           10 /
                      1111 1111 1111 1111

      Bộ môn Kỹ thuật máy tính – Khoa Điện Tử
Khuôn dạng lệnh
   3 khuôn dạng lệnh cơ bản
     Lệnh tham chiếu bộ nhớ
     Lệnh tham chiếu thanh ghi
     Lệnh vào/ra
   Cấu trúc khuôn dạng lệnh
     Ví   dụ: Độ lớn: 16 bit, chia làm 3 phần
       Mã lệnh (opcode): 3bit
       Các thao tác: 13 bit




                                                        11 /
              Bộ môn Kỹ thuật máy tính – Khoa Điện Tử
Khuôn dạng lệnh
   Lệnh tham chiếu bộ nhớ
                   15   14            12   11             0
                    I        Opcode             Address

     12bit  để xác định địa chỉ
     3 bit xác định mã lệnh
     1 bit để xác định kiểu định địa chỉ
          I=0: định địa chỉ trực tiếp
          I=1 định địa chỉ gián tiếp




                                                              12 /
                Bộ môn Kỹ thuật máy tính – Khoa Điện Tử
Khuôn dạng lệnh
   Lệnh tham chiếu thanh ghi
               15   14         12   11                        0
               0         111             Thao tác thanh ghi

     Mã  lệnh: 111
     Bit 15 =0




                                                                  13 /
             Bộ môn Kỹ thuật máy tính – Khoa Điện Tử
Khuôn dạng lệnh
   Lệnh vào/ra
               15   14         12   11                     0
               1         111             Thao tác vào/ra

     Mã  lệnh: 111
     Bit 15 =1




                                                               14 /
             Bộ môn Kỹ thuật máy tính – Khoa Điện Tử
Khuôn dạng lệnh
   Một số lệnh cơ bản
         Tham chiếu thanh ghi
     Ký hiệu       I=0               I=1                                   Mô tả
    AND          0xxx         8xxx               And từ nhớ vào thanh ghi AC
    ADD          1xxx         9xxx               Add từ nhớ vào thanh ghi AC
    LDA          2xxx         Axxx               Load từ nhớ vào thanh ghi AC
    STA          3xxx         Bxxx               Lưu nội dung của thanh ghi AC vào bộ nhớ
    BUN          4xxx         Cxxx               Rẽ nhánh không điều kiện
    BSA          5xxx         Dxxx               Rẽ nhánh và lưu lại địa chỉ cũ
    ISZ          6xxx         Exxx               Tăng và skip nếu nội dung bằng 0

   Ví dụ:         15    14            12   11                         0
     AND (I=0)      0           000                      xxx                 ( 0xxx )

                   15    14            12   11                         0
     AND (I=1)      1           000                      xxx                 ( 8xxx )


                                                                                            15 /
                  Bộ môn Kỹ thuật máy tính – Khoa Điện Tử
Khuôn dạng lệnh
    Một số lệnh cơ bản
                                    Ký hiệu                                Mô tả
         Tham chiếu vào ra
                                    CLA       7800   Xóa thanh ghi AC
         Ví dụ:
                                    CLE       7400   Xóa bit nhớ
            CLA
                                    CMA       7200   Bù của thanh ghi AC
15   14         12 11         0
                                    CME       7100   Bù của bit nhớ
0         111      1000 0000 0000
                                    CIR       7080   Quay phải thanh ghi AC và bit nhớ
           INC                      CIL       7040   Quay trái thanh ghi AC và bit nhớ
15   14      12 11            0     INC       7020   Tăng AC
0         111      0000 0010 0000   SPA       7010   Giữ lệnh tiếp theo nếu AC dương
                                    SNA       7008   Giữ lệnh tiếp theo nếu AC âm
                                    SZA       7004   Giữ lệnh tiếp theo nếu AC=0
                                    SZE       7002   Giữ lệnh tiếp theo nếu bit nhớ bằng 0
                                    HLT       7001   Dừng máy tính




                                                                                             16 /
                        Bộ môn Kỹ thuật máy tính – Khoa Điện Tử
Khuôn dạng lệnh
   Một số lệnh cơ bản
         Vào/ra
      Ký hiệu                                              Mô tả
    INP            F800        Nhập ký tự vào thanh ghi AC
    OUT            F400        Lấy ký tự ra thanh ghi AC
    SKI            F200        Giữ cờ đầu vào
    SKO            F100        Giữ cờ đầu ra
    ION            F080        Khởi tạo chế độ ngắt
    IOF            F040        Hủy bỏ chế độ ngắt



   Ví dụ:           15   14            12     11                    0
     INP             1           111                1000 0000 0000

                     15   14            12     11                    0
     ADD (I=1)       1           111                0000 1000 0000


                                                                         17 /
                    Bộ môn Kỹ thuật máy tính – Khoa Điện Tử
Các chế độ địa chỉ
   Xác định địa chỉ của các toán hạng tham gia vào
    phép toán
   Xác định địa chỉ của các từ nhớ tham gia vào phép
    toán
   Các chế độ địa chỉ
     Tức  thời
     Trực tiếp
     Gián tiếp qua bộ nhớ
     Gián tiếp qua thanh ghi
     Chỉ số
     Thanh ghi
     Tương đối

                                                       18 /
             Bộ môn Kỹ thuật máy tính – Khoa Điện Tử
Các chế độ địa chỉ
   Địa chỉ tức thời
     Phần địa chỉ của chỉ thị chứa chính toán hạng đó
       Không có bộ nhớ tham chiếu để lấy dữ liệu
       Thực hiện nhanh
       Phạm vi bị giới hạn


                                Instruction
                     Opcode         Operand




                                                         19 /
              Bộ môn Kỹ thuật máy tính – Khoa Điện Tử
Các chế độ địa chỉ
   Trực tiếp
     Địa chỉ trong chỉ thị là địa chỉ của ô nhớ chứa toán hạng

                      Instruction

          Opcode          Address A
                                                Memory




                                                 Operand




                                                            20 /
             Bộ môn Kỹ thuật máy tính – Khoa Điện Tử
Các chế độ địa chỉ
   Gián tiếp qua bộ nhớ
     Địa chỉ trong lệnh là địa chỉ ô nhớ chứa địa chỉ thứ 2. Địa
      chỉ thứ 2 là địa chỉ ô nhớ chứa toán hạng
                                                         Address 2
                    Instruction
          Opcode       Address A
                                            Memory
                                        Pointer to operand



                                             Operand




                                                                 21 /
             Bộ môn Kỹ thuật máy tính – Khoa Điện Tử
Các chế độ địa chỉ
   Gián tiếp qua thanh ghi
     Địa chỉ trong lệnh là địa chỉ thanh ghi. Nội dung
      thanh ghi là địa chỉ ô nhớ chứa toán hạng
                          Instruction
            Opcode        Register Address R
                                               Memory

                 Registers


             Pointer to Operand                 Operand




                                                          22 /
            Bộ môn Kỹ thuật máy tính – Khoa Điện Tử
Các chế độ địa chỉ
   Chỉ số
     Địa chỉ ô nhớ chứa toán hạng được xác định bằng cách
      cộng địa chỉ trong lệnh với nội dung thanh ghi chỉ số
                                Instruction
                  Opcode Register R     Address A
                                                    Memory
                       Registers


                   Pointer to Operand
                                              +        Operand




                                                                 23 /
             Bộ môn Kỹ thuật máy tính – Khoa Điện Tử
Các chế độ địa chỉ
   Tương đối
        Địa chỉ ô nhớ chứa toán hạng được xác định
        bằng cách cộng địa chỉ trong lệnh với nội dung
        thanh ghi PC




                                                       24 /
             Bộ môn Kỹ thuật máy tính – Khoa Điện Tử
Các chế độ địa chỉ
   Thanh ghi
     Trường địa chỉ của chỉ thị chứa số của thanh ghi đang
     chứa tóan hạng.
                           Instruction
                 Opcode       Register

                              Address
                                                 Registers



                                                      Operand




                                                                25 /
            Bộ môn Kỹ thuật máy tính – Khoa Điện Tử
Hoạt động của một phần tử (cell) nhớ




                                                  26 /
        Bộ môn Kỹ thuật máy tính – Khoa Điện Tử
Thao tác đọc bộ nhớ - Bước 1

                             CPU gửi ra tín hiệu điều khiển Memory
                             Request và Read để cho biết nó có yêu cầu
                             đọc bộ nhớ
      CPU             Read             Memory
                  Memory request


                     Data bus

                   Address bus



                     CPU places address (XXXX) of the
                     memory location on the address bus




                                                                 27 /
      Bộ môn Kỹ thuật máy tính – Khoa Điện Tử
Thao tác đọc bộ nhớ - Bước 2

                   Accessed location at XXXX


             CPU                Read           Memory
                            Memory request


                               Data bus

                             Address bus



Memory places data from the
accessed location onto the data bus




                                                        28 /
            Bộ môn Kỹ thuật máy tính – Khoa Điện Tử
Thao tác đọc bộ nhớ - Bước 3

                             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




                                                                  29 /
      Bộ môn Kỹ thuật máy tính – Khoa Điện Tử
Thao tác ghi bộ nhớ - bước 1

                             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




                                                                     30 /
       Bộ môn Kỹ thuật máy tính – Khoa Điện Tử
Thao tác ghi bộ nhớ - bước 2

                               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




                                                                           31 /
       Bộ môn Kỹ thuật máy tính – Khoa Điện Tử
Thao tác ghi bộ nhớ - bước 3

                                   The CPU removes the Write signal to complete
                                   the memory write operation

        CPU                Write              Memory
                      Memory request
       Register                                               Accessed location
                         Data bus                                at YYYY

                        Address bus




    Memory copies the data bus into the
    accessed location



                                                                          32 /
       Bộ môn Kỹ thuật máy tính – Khoa Điện Tử
Lược đồ nhớ
    Là cách mô tả bộ nhớ của hệ thống thông qua hàng dọc;
     có nghĩa là biểu diễn mô hình ma trận nhớ trong đó các
     hàng sẽ tương ứng với các đơn vị nhớ. Trong một vùng
     địa chỉ nhớ gồm các phân vùng nhỏ chứa các nguồn tài
     nguyên riêng biệt




       Địa chỉ cao




     Địa chỉ thấp




                                                              33 /
                    Bộ môn Kỹ thuật máy tính – Khoa Điện Tử
Lược đồ nhớ
   Kích thước các dữ liệu được lưu trong bộ nhớ chính là số
    lượng các bit có thể lưu trong một đơn vị nhớ là cố định và
    chính bằng số các cột trong ma trận nhớ đó
   Một đoạn dữ liệu:
     Các   đoạn mã của chương trình, các dữ liệu…
     Được     lưu trong một địa chỉ duy nhất hay chính là các hàng
        trong bộ nhớ đó.
   Một số đoạn trong bộ nhớ được thiết kế dành riêng cho các
    mục đích đặc biệt
       Ví dụ: BIOS, Hệ điều hành


                                                             34 /
               Bộ môn Kỹ thuật máy tính – Khoa Điện Tử
Lược đồ nhớ

    Kích thước không gian nhớ: số lượng các đơn vị
     nhớ
    Ví dụ: không gian nhớ 2m, m là đường địa chỉ cần
     có của bộ VXL
    Đỉnh của bộ nhớ có địa chỉ là
        FFFFF = 1111 1111 1111 1111 1111.
      Bộ VXL truy cập vào địa chỉ cao nhất của bộ nhớ bằng
       cách đặt tất cả các đường địa chỉ đều bằng 1
      Bộ   VXL có 20 đường địa chỉ:
        Không gian địa chỉ nhớ sẽ là 220=1048 576=1MB
                                                        35 /
             Bộ môn Kỹ thuật máy tính – Khoa Điện Tử
Lược đồ nhớ
   Số phân vùng (partition)
             Số phân vùng:= (địa chỉ cao –địa chỉ thấp) +1

   Hãy tính số phân vùng cho BIOS với
     Địa   chỉ cao: FFFF=65535
     Địa   chỉ thấp: FF00=65280




                                                             36 /
             Bộ môn Kỹ thuật máy tính – Khoa Điện Tử
Bộ giải mã địa chỉ ( Address Decoding )

   Giải mã địa chỉ là một cách sử dụng địa chỉ để cho
    phép tại một thời điểm chỉ có một thiết nhớ làm việc
    trong khi các thiết bị khác không được cấp phép.
   Địa chỉ đầy đủ được chia ra làm hai nhóm;
       Nhóm thứ nhất được sử dụng để xác định thiết bị nhớ
     Nhóm    thứ hai xác định đơn vị nhớ trong thiết bị nhớ được
        lựa chọn




                                                           37 /
              Bộ môn Kỹ thuật máy tính – Khoa Điện Tử
Bộ giải mã địa chỉ ( Address Decoding )
   Để chia một địa chỉ ra thành hai nhóm như trên cần
    phải biết được độ lớn của thiết bị nhớ đó và không gian
    nhớ là bao nhiêu?
   Kích thước không gian nhớ của thiết bị : 2m, m là số
    đường địa chỉ đế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 còn lại được nối trực tiếp đến thiết bị nhớ
   Ta thấy, các bit có trọng số cao luôn để thực hiện việc
    cho phép hay không cho phép thiết bị nhớ hoạt động,
    các bit có trọng số thấp được 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 chỉ ( Address Decoding )
   Ví dụ, một thiết bị nhớ có 28 đường địa chỉ , ta có
    228=256Mega đơn vị nhớ. Có nghĩa là phải sử dụng
    28 bit địa chỉ để xác định đơn vị nhớ trong thiết bị đó.
    Tất cả các Bit còn lại trong địa chỉ đầy đủ đó sẽ được
    sử dụng để kích hoạt hay không kích họat thiết bị.
    Bộ VXL cũng thông qua các bit còn lại này để xác
    định bộ nhớ sẽ được đặt ở đâu trong lược đồ nhớ.




                                                       39 /
             Bộ môn Kỹ thuật máy tính – Khoa Điện Tử
Bộ giải mã địa chỉ ( Address Decoding )
    Kích thước bộ nhớ cùng với số lượng các
     đường địa chỉ cần thiết để truy cập vào tất cả
     các đơn vị nhớ trong lược đồ nhớ đó.
     Kích thước nhớ   Số đường dữ liệu   Kích thước nhớ   Số đường dữ liệu
     1K               10                 256MEG           28
     256K             18                 1GIG             30
     1MEG             20                 4GIG             32
     16MEG            24                 64GIG            36




                                                                             40 /
             Bộ môn Kỹ thuật máy tính – Khoa Điện Tử
Bộ giải mã địa chỉ ( Address Decoding )
    Ví dụ: Có một bộ VXL có không gian nhớ là 256Meg
     đang có địa chỉ là 35E3C03 truy cập vào một thiết bị nhớ
     có dung lượng là 16Meg. Vậy
        Cần bao nhiêu đường địa chỉ để cho phép kích hoạt thiết
         bị nhớ có không gian nhớ là 16 Meg này?
        Địa chỉ nào trong thiết bị nhớ 16 Meg là địa chỉ sẽ được sử
         dụng để truyền nhận dữ liệu
        Địa chỉ thấp nhất trong bản đồ nhớ của thiết bị nhớ 16
         Meg là bao nhiêu?
        Địa chỉ cao nhất trong bản đồ nhớ của thiết bị nhớ 16 Meg
         là bao nhiêu?


                                                                  41 /
              Bộ môn Kỹ thuật máy tính – Khoa Điện Tử
Bộ giải mã địa chỉ ( Address Decoding )
   Ví dụ: Có một bộ VXL có không gian nhớ là 256Meg đang có địa chỉ là
    35E3C03 truy cập vào một thiết bị nhớ có dung lượng là 16Meg. Vậy
       Số đường địa chỉ để cho phép kích hoạt thiết bị nhớ có không gian
        nhớ 16M là:
            256M = 228  có 28 đường địa chỉ
            16M=224  có 24 đường địa chỉ
            Như vậy cần có 4 đường địa chỉ từ 28 – 24 để kích hoạt không
             gian nhớ 16M
       Địa chỉ từ 23 – 0 là địa chỉ được sử dụng để truyền nhận dữ liệu
       35E3C03 = 0011 0101 1110 0011 1100 0000 0011
                  0011 | 0000 0000 0000 0000 0000 0000 – địa chỉ thấp nhất
                  0011 | 1111 1111 1111 1111 1111 1111 – địa chỉ cao nhất


                                                                           42 /
                 Bộ môn Kỹ thuật máy tính – Khoa Điện Tử
Các kiểu chỉ thị
   Các chỉ thị vận chuyển dữ liệu: vd: copy dữ liệu
   Các chỉ thị cho phép toán 2 ngôi
   Các chỉ thị cho phép tóan một ngôi
   Các chỉ thị so sánh và nhảy có điều kiện
   Các chỉ thị gọi chương trình con
   Các chỉ thị lặp
   Các chỉ thị vào/ra



                                                       43 /
            Bộ môn Kỹ thuật máy tính – Khoa Điện Tử

More Related Content

BGKTMT Ch5 mức máy qui ước

  • 1. CHƯƠNG 5 MỨC MÁY THÔNG THƯỜNG Bộ môn Kỹ thuật máy tính – Khoa Điện Tử 1 / 50
  • 2. Địa chỉ logic và địa chỉ vật lý Bộ môn Kỹ thuật máy tính – Khoa Điện Tử 2 / 50
  • 3. Địa chỉ logic và địa chỉ vật lý  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 Bộ môn Kỹ thuật máy tính – Khoa Điện Tử 3 / 50
  • 4. Khuôn dạng lệnh Opcode (a) Opcode Address (b) Opcode Address 1 Address 2 (c) Bộ môn Kỹ thuật máy tính – Khoa Điện Tử 4 / 50
  • 5. Khuôn dạng lệnh   Chương trình bao gồm một dãy các chỉ thị, mỗi chỉ thị chỉ rõ một hành động cụ thể nào đó  Một phần chỉ thị gọi là Opcode – mã phép toán  Chỉ thị có thể không có địa chỉ hoặc có nhiều địa chỉ Bộ môn Kỹ thuật máy tính – Khoa Điện Tử 5 / 50
  • 6. Khuôn dạng lệnh  Các tiêu chuẩn thiết kế khuôn dạng chỉ thị 1. Chỉ thị ngắn tốt hơn chỉ thị dài 2. Có đủ chỗ trong chỉ thị để biểu diễn tất cả các thao tác 3. Độ dài word của máy là bội số nguyên của chiều dài ký tự: nếu mã ký tự có k bit thì chiều dài word cần phải là k, 2k, 3k, …  tránh lãng phí không gian nhớ chứa ký tự 4. Số bit trong trường địa chỉ càng ngắn càng tốt Bộ môn Kỹ thuật máy tính – Khoa Điện Tử 6 / 50
  • 7. Khuôn dạng lệnh  Mở rộng mã chỉ thị  Chỉ thị có (n+k) bit:  opcode: dài k bit  có 2k chỉ thị  address: dài n bit  đánh được 2n ô nhớ  Nếu  opcode: dài k-1 bit  có 2k-1 chỉ thị  address: dài n+1 bit  đánh được 2n+1 ô nhớ   số chỉ thị chỉ còn một nửa, số ô nhớ tăng gấp đôi Bộ môn Kỹ thuật máy tính – Khoa Điện Tử 7 / 50
  • 8. Khuôn dạng lệnh  Ví dụ: xét một máy có chỉ thị dài 16 bit: 16 chỉ thị 3 địa chỉ 15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0 Opcode Address 1 Address 2 Address 3 Bộ môn Kỹ thuật máy tính – Khoa Điện Tử 8 / 50
  • 9. Khuôn dạng lệnh  Nếu nhà thiết kế cần 15 chỉ thị 3 địa chỉ, 14 chỉ thị 2 địa chỉ, 31 chỉ thị 1 địa chỉ, 16 chỉ thị không có địa chỉ nào làm thế nào? Bộ môn Kỹ thuật máy tính – Khoa Điện Tử 9 / 50
  • 10. Khuôn dạng lệnh 0000 xxxx yyyy zzzz Mã chỉ 0001 xxxx yyyy zzzz 15 chỉ thị thị 4 bit … 3 địa chỉ 1101 xxxx yyyy zzzz 1110 xxxx yyyy zzzz 1111 0000 yyyy zzzz Mã chỉ 1111 0001 yyyy zzzz 14 chỉ thị thị 8 bit … 1111 1100 yyyy zzzz 2 địa chỉ 1111 1101 yyyy zzzz 1111 1110 0000 zzzz Mã chỉ 1111 1110 0001 zzzz thị 12 … bit 1111 1110 1110 zzzz 31 chỉ thị 1111 1110 1111 zzzz 1địa chỉ 1111 1111 0000 zzzz 1111 1111 0001 zzzz … 1111 1111 1110 zzzz 1111 1111 1111 0000 Mã chỉ 1111 1111 1111 0001 16 chỉ thị thị 16 … không có 1111 1111 1111 1110 bit địa chỉ 10 / 1111 1111 1111 1111 Bộ môn Kỹ thuật máy tính – Khoa Điện Tử
  • 11. Khuôn dạng lệnh  3 khuôn dạng lệnh cơ bản  Lệnh tham chiếu bộ nhớ  Lệnh tham chiếu thanh ghi  Lệnh vào/ra  Cấu trúc khuôn dạng lệnh  Ví dụ: Độ lớn: 16 bit, chia làm 3 phần  Mã lệnh (opcode): 3bit  Các thao tác: 13 bit 11 / Bộ môn Kỹ thuật máy tính – Khoa Điện Tử
  • 12. Khuôn dạng lệnh  Lệnh tham chiếu bộ nhớ 15 14 12 11 0 I Opcode Address  12bit để xác định địa chỉ  3 bit xác định mã lệnh  1 bit để xác định kiểu định địa chỉ  I=0: định địa chỉ trực tiếp  I=1 định địa chỉ gián tiếp 12 / Bộ môn Kỹ thuật máy tính – Khoa Điện Tử
  • 13. Khuôn dạng lệnh  Lệnh tham chiếu thanh ghi 15 14 12 11 0 0 111 Thao tác thanh ghi  Mã lệnh: 111  Bit 15 =0 13 / Bộ môn Kỹ thuật máy tính – Khoa Điện Tử
  • 14. Khuôn dạng lệnh  Lệnh vào/ra 15 14 12 11 0 1 111 Thao tác vào/ra  Mã lệnh: 111  Bit 15 =1 14 / Bộ môn Kỹ thuật máy tính – Khoa Điện Tử
  • 15. Khuôn dạng lệnh  Một số lệnh cơ bản  Tham chiếu thanh ghi Ký hiệu I=0 I=1 Mô tả AND 0xxx 8xxx And từ nhớ vào thanh ghi AC ADD 1xxx 9xxx Add từ nhớ vào thanh ghi AC LDA 2xxx Axxx Load từ nhớ vào thanh ghi AC STA 3xxx Bxxx Lưu nội dung của thanh ghi AC vào bộ nhớ BUN 4xxx Cxxx Rẽ nhánh không điều kiện BSA 5xxx Dxxx Rẽ nhánh và lưu lại địa chỉ cũ ISZ 6xxx Exxx Tăng và skip nếu nội dung bằng 0  Ví dụ: 15 14 12 11 0 AND (I=0) 0 000 xxx ( 0xxx ) 15 14 12 11 0 AND (I=1) 1 000 xxx ( 8xxx ) 15 / Bộ môn Kỹ thuật máy tính – Khoa Điện Tử
  • 16. Khuôn dạng lệnh  Một số lệnh cơ bản Ký hiệu Mô tả  Tham chiếu vào ra CLA 7800 Xóa thanh ghi AC  Ví dụ: CLE 7400 Xóa bit nhớ CLA CMA 7200 Bù của thanh ghi AC 15 14 12 11 0 CME 7100 Bù của bit nhớ 0 111 1000 0000 0000 CIR 7080 Quay phải thanh ghi AC và bit nhớ INC CIL 7040 Quay trái thanh ghi AC và bit nhớ 15 14 12 11 0 INC 7020 Tăng AC 0 111 0000 0010 0000 SPA 7010 Giữ lệnh tiếp theo nếu AC dương SNA 7008 Giữ lệnh tiếp theo nếu AC âm SZA 7004 Giữ lệnh tiếp theo nếu AC=0 SZE 7002 Giữ lệnh tiếp theo nếu bit nhớ bằng 0 HLT 7001 Dừng máy tính 16 / Bộ môn Kỹ thuật máy tính – Khoa Điện Tử
  • 17. Khuôn dạng lệnh  Một số lệnh cơ bản  Vào/ra Ký hiệu Mô tả INP F800 Nhập ký tự vào thanh ghi AC OUT F400 Lấy ký tự ra thanh ghi AC SKI F200 Giữ cờ đầu vào SKO F100 Giữ cờ đầu ra ION F080 Khởi tạo chế độ ngắt IOF F040 Hủy bỏ chế độ ngắt  Ví dụ: 15 14 12 11 0 INP 1 111 1000 0000 0000 15 14 12 11 0 ADD (I=1) 1 111 0000 1000 0000 17 / Bộ môn Kỹ thuật máy tính – Khoa Điện Tử
  • 18. Các chế độ địa chỉ  Xác định địa chỉ của các toán hạng tham gia vào phép toán  Xác định địa chỉ của các từ nhớ tham gia vào phép toán  Các chế độ địa chỉ  Tức thời  Trực tiếp  Gián tiếp qua bộ nhớ  Gián tiếp qua thanh ghi  Chỉ số  Thanh ghi  Tương đối 18 / Bộ môn Kỹ thuật máy tính – Khoa Điện Tử
  • 19. Các chế độ địa chỉ  Địa chỉ tức thời  Phần địa chỉ của chỉ thị chứa chính toán hạng đó  Không có bộ nhớ tham chiếu để lấy dữ liệu  Thực hiện nhanh  Phạm vi bị giới hạn Instruction Opcode Operand 19 / Bộ môn Kỹ thuật máy tính – Khoa Điện Tử
  • 20. Các chế độ địa chỉ  Trực tiếp  Địa chỉ trong chỉ thị là địa chỉ của ô nhớ chứa toán hạng Instruction Opcode Address A Memory Operand 20 / Bộ môn Kỹ thuật máy tính – Khoa Điện Tử
  • 21. Các chế độ địa chỉ  Gián tiếp qua bộ nhớ  Địa chỉ trong lệnh là địa chỉ ô nhớ chứa địa chỉ thứ 2. Địa chỉ thứ 2 là địa chỉ ô nhớ chứa toán hạng Address 2 Instruction Opcode Address A Memory Pointer to operand Operand 21 / Bộ môn Kỹ thuật máy tính – Khoa Điện Tử
  • 22. Các chế độ địa chỉ  Gián tiếp qua thanh ghi  Địa chỉ trong lệnh là địa chỉ thanh ghi. Nội dung thanh ghi là địa chỉ ô nhớ chứa toán hạng Instruction Opcode Register Address R Memory Registers Pointer to Operand Operand 22 / Bộ môn Kỹ thuật máy tính – Khoa Điện Tử
  • 23. Các chế độ địa chỉ  Chỉ số  Địa chỉ ô nhớ chứa toán hạng được xác định bằng cách cộng địa chỉ trong lệnh với nội dung thanh ghi chỉ số Instruction Opcode Register R Address A Memory Registers Pointer to Operand + Operand 23 / Bộ môn Kỹ thuật máy tính – Khoa Điện Tử
  • 24. Các chế độ địa chỉ  Tương đối  Địa chỉ ô nhớ chứa toán hạng được xác định bằng cách cộng địa chỉ trong lệnh với nội dung thanh ghi PC 24 / Bộ môn Kỹ thuật máy tính – Khoa Điện Tử
  • 25. Các chế độ địa chỉ  Thanh ghi  Trường địa chỉ của chỉ thị chứa số của thanh ghi đang chứa tóan hạng. Instruction Opcode Register Address Registers Operand 25 / Bộ môn Kỹ thuật máy tính – Khoa Điện Tử
  • 26. Hoạt động của một phần tử (cell) nhớ 26 / Bộ môn Kỹ thuật máy tính – Khoa Điện Tử
  • 27. Thao tác đọc bộ nhớ - Bước 1 CPU gửi ra tín hiệu điều khiển Memory Request và Read để cho biết nó có yêu cầu đọc bộ nhớ CPU Read Memory Memory request Data bus Address bus CPU places address (XXXX) of the memory location on the address bus 27 / Bộ môn Kỹ thuật máy tính – Khoa Điện Tử
  • 28. Thao tác đọc bộ nhớ - Bước 2 Accessed location at XXXX CPU Read Memory Memory request Data bus Address bus Memory places data from the accessed location onto the data bus 28 / Bộ môn Kỹ thuật máy tính – Khoa Điện Tử
  • 29. Thao tác đọc bộ nhớ - Bước 3 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 29 / Bộ môn Kỹ thuật máy tính – Khoa Điện Tử
  • 30. Thao tác ghi bộ nhớ - bước 1 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 30 / Bộ môn Kỹ thuật máy tính – Khoa Điện Tử
  • 31. Thao tác ghi bộ nhớ - bước 2 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 31 / Bộ môn Kỹ thuật máy tính – Khoa Điện Tử
  • 32. Thao tác ghi bộ nhớ - bước 3 The CPU removes the Write signal to complete the memory write operation CPU Write Memory Memory request Register Accessed location Data bus at YYYY Address bus Memory copies the data bus into the accessed location 32 / Bộ môn Kỹ thuật máy tính – Khoa Điện Tử
  • 33. Lược đồ nhớ  Là cách mô tả bộ nhớ của hệ thống thông qua hàng dọc; có nghĩa là biểu diễn mô hình ma trận nhớ trong đó các hàng sẽ tương ứng với các đơn vị nhớ. Trong một vùng địa chỉ nhớ gồm các phân vùng nhỏ chứa các nguồn tài nguyên riêng biệt Địa chỉ cao Địa chỉ thấp 33 / Bộ môn Kỹ thuật máy tính – Khoa Điện Tử
  • 34. Lược đồ nhớ  Kích thước các dữ liệu được lưu trong bộ nhớ chính là số lượng các bit có thể lưu trong một đơn vị nhớ là cố định và chính bằng số các cột trong ma trận nhớ đó  Một đoạn dữ liệu:  Các đoạn mã của chương trình, các dữ liệu…  Được lưu trong một địa chỉ duy nhất hay chính là các hàng trong bộ nhớ đó.  Một số đoạn trong bộ nhớ được thiết kế dành riêng cho các mục đích đặc biệt  Ví dụ: BIOS, Hệ điều hành 34 / Bộ môn Kỹ thuật máy tính – Khoa Điện Tử
  • 35. Lược đồ nhớ  Kích thước không gian nhớ: số lượng các đơn vị nhớ  Ví dụ: không gian nhớ 2m, m là đường địa chỉ cần có của bộ VXL  Đỉnh của bộ nhớ có địa chỉ là FFFFF = 1111 1111 1111 1111 1111.  Bộ VXL truy cập vào địa chỉ cao nhất của bộ nhớ bằng cách đặt tất cả các đường địa chỉ đều bằng 1  Bộ VXL có 20 đường địa chỉ: Không gian địa chỉ nhớ sẽ là 220=1048 576=1MB 35 / Bộ môn Kỹ thuật máy tính – Khoa Điện Tử
  • 36. Lược đồ nhớ  Số phân vùng (partition) Số phân vùng:= (địa chỉ cao –địa chỉ thấp) +1  Hãy tính số phân vùng cho BIOS với  Địa chỉ cao: FFFF=65535  Địa chỉ thấp: FF00=65280 36 / Bộ môn Kỹ thuật máy tính – Khoa Điện Tử
  • 37. Bộ giải mã địa chỉ ( Address Decoding )  Giải mã địa chỉ là một cách sử dụng địa chỉ để cho phép tại một thời điểm chỉ có một thiết nhớ làm việc trong khi các thiết bị khác không được cấp phép.  Địa chỉ đầy đủ được chia ra làm hai nhóm;  Nhóm thứ nhất được sử dụng để xác định thiết bị nhớ  Nhóm thứ hai xác định đơn vị nhớ trong thiết bị nhớ được lựa chọn 37 / Bộ môn Kỹ thuật máy tính – Khoa Điện Tử
  • 38. Bộ giải mã địa chỉ ( Address Decoding )  Để chia một địa chỉ ra thành hai nhóm như trên cần phải biết được độ lớn của thiết bị nhớ đó và không gian nhớ là bao nhiêu?  Kích thước không gian nhớ của thiết bị : 2m, m là số đường địa chỉ đế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 còn lại được nối trực tiếp đến thiết bị nhớ  Ta thấy, các bit có trọng số cao luôn để thực hiện việc cho phép hay không cho phép thiết bị nhớ hoạt động, các bit có trọng số thấp được 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ử
  • 39. Bộ giải mã địa chỉ ( Address Decoding )  Ví dụ, một thiết bị nhớ có 28 đường địa chỉ , ta có 228=256Mega đơn vị nhớ. Có nghĩa là phải sử dụng 28 bit địa chỉ để xác định đơn vị nhớ trong thiết bị đó. Tất cả các Bit còn lại trong địa chỉ đầy đủ đó sẽ được sử dụng để kích hoạt hay không kích họat thiết bị.  Bộ VXL cũng thông qua các bit còn lại này để xác định bộ nhớ sẽ được đặt ở đâu trong lược đồ nhớ. 39 / Bộ môn Kỹ thuật máy tính – Khoa Điện Tử
  • 40. Bộ giải mã địa chỉ ( Address Decoding )  Kích thước bộ nhớ cùng với số lượng các đường địa chỉ cần thiết để truy cập vào tất cả các đơn vị nhớ trong lược đồ nhớ đó. Kích thước nhớ Số đường dữ liệu Kích thước nhớ Số đường dữ liệu 1K 10 256MEG 28 256K 18 1GIG 30 1MEG 20 4GIG 32 16MEG 24 64GIG 36 40 / Bộ môn Kỹ thuật máy tính – Khoa Điện Tử
  • 41. Bộ giải mã địa chỉ ( Address Decoding )  Ví dụ: Có một bộ VXL có không gian nhớ là 256Meg đang có địa chỉ là 35E3C03 truy cập vào một thiết bị nhớ có dung lượng là 16Meg. Vậy  Cần bao nhiêu đường địa chỉ để cho phép kích hoạt thiết bị nhớ có không gian nhớ là 16 Meg này?  Địa chỉ nào trong thiết bị nhớ 16 Meg là địa chỉ sẽ được sử dụng để truyền nhận dữ liệu  Địa chỉ thấp nhất trong bản đồ nhớ của thiết bị nhớ 16 Meg là bao nhiêu?  Địa chỉ cao nhất trong bản đồ nhớ của thiết bị nhớ 16 Meg là bao nhiêu? 41 / Bộ môn Kỹ thuật máy tính – Khoa Điện Tử
  • 42. Bộ giải mã địa chỉ ( Address Decoding )  Ví dụ: Có một bộ VXL có không gian nhớ là 256Meg đang có địa chỉ là 35E3C03 truy cập vào một thiết bị nhớ có dung lượng là 16Meg. Vậy  Số đường địa chỉ để cho phép kích hoạt thiết bị nhớ có không gian nhớ 16M là:  256M = 228  có 28 đường địa chỉ  16M=224  có 24 đường địa chỉ  Như vậy cần có 4 đường địa chỉ từ 28 – 24 để kích hoạt không gian nhớ 16M  Địa chỉ từ 23 – 0 là địa chỉ được sử dụng để truyền nhận dữ liệu  35E3C03 = 0011 0101 1110 0011 1100 0000 0011 0011 | 0000 0000 0000 0000 0000 0000 – địa chỉ thấp nhất 0011 | 1111 1111 1111 1111 1111 1111 – địa chỉ cao nhất 42 / Bộ môn Kỹ thuật máy tính – Khoa Điện Tử
  • 43. Các kiểu chỉ thị  Các chỉ thị vận chuyển dữ liệu: vd: copy dữ liệu  Các chỉ thị cho phép toán 2 ngôi  Các chỉ thị cho phép tóan một ngôi  Các chỉ thị so sánh và nhảy có điều kiện  Các chỉ thị gọi chương trình con  Các chỉ thị lặp  Các chỉ thị vào/ra 43 / Bộ môn Kỹ thuật máy tính – Khoa Điện Tử