được viết để hoàn thành nhiệm vụ được giao. Tương tự như vậy, phương thức giải quyết hơn cho các lập trình linh hoạt hơn trong việc thực hiện chức năng nhất định, chẳng hạn như các thao tác bảng và nhiều cách phân nhánh. Và, tất nhiên, với sự gia tăng kích thước bộ nhớ chính và tăng cường sử dụng bộ nhớ ảo, các lập trình viên muốn có thể để giải quyết các dãy bộ nhớ lớn hơn. Tất cả những điều này (opcodes, toán hạng, giải quyết các chế độ, dải địa chỉ) yêu cầu các bit và đẩy theo hướng dài hướng dẫn dài hơn. Nhưng thời gian hướng dẫn còn có thể là lãng phí. Một chỉ thị 64-bit chiếm gấp đôi không gian của một hướng dẫn 32-bit, nhưng có lẽ ít hơn hai lần là có ích. Ngoài cơ bản thương mại-off này, có những cân nhắc khác. Dù chiều dài hướng dẫn nên bằng với chiều dài bộ nhớ-chuyển giao (trong một hệ thống xe buýt, chiều dài databus) hay người ta phải là một bội số của người khác. Nếu không, chúng tôi sẽ không có được một số nguyên của hướng dẫn trong một chu kỳ lấy. Một xem xét có liên quan là tốc độ truyền tải bộ nhớ. Tỷ lệ này đã không bắt kịp với sự gia tăng tốc độ xử lý. Theo đó, bộ nhớ có thể trở thành một nút cổ chai nếu bộ xử lý có thể thực hiện hướng dẫn nhanh hơn nó có thể lấy chúng. Một giải pháp cho vấn đề này là sử dụng bộ nhớ cache (xem Phần 4.3); khác là sử dụng các hướng dẫn ngắn hơn. Như vậy, hướng dẫn 16-bit có thể được lấy tại hai lần tỷ lệ hướng dẫn 32-bit, nhưng có lẽ có thể được thực hiện ít hơn hai lần như nhanh chóng. Một tính năng dường như nhàm chán nhưng vẫn quan trọng là độ dài lệnh phải là một bội số của chiều dài ký tự, mà thường là 8 bit, và chiều dài của số điểm cố định. Để thấy điều này, chúng ta cần phải sử dụng các từ đó không may bệnh được xác định, từ [FRAI83]. Chiều dài từ bộ nhớ, trong một nghĩa nào đó, các đơn vị "tự nhiên" của tổ chức. Kích thước của một từ thường xác định kích thước của số điểm cố định (thường là hai người đều bình đẳng). Kích thước Word cũng thường là bằng hoặc ít nhất trọn vẹn liên quan đến, kích thước bộ nhớ chuyển. Bởi vì một dạng phổ biến của dữ liệu là dữ liệu ký tự, chúng tôi muốn có một từ để lưu trữ một số lượng không thể thiếu của các nhân vật. Nếu không, có lãng phí bit trong mỗi từ khi cất giữ nhiều nhân vật, hoặc một nhân vật sẽ phải dang chân ra một ranh giới từ. Tầm quan trọng của quan điểm này là như vậy mà IBM, khi giới thiệu System / 360 và muốn sử dụng ký tự 8-bit, đã quyết định đau lòng để di chuyển từ các kiến trúc 36-bit của các thành viên khoa học của loạt 700/7000 để một 32-bit kiến trúc.
Phân bổ Bits Chúng tôi đã xem xét một số yếu tố mà đi vào việc quyết định độ dài của các định dạng hướng dẫn. Một vấn đề khó khăn như nhau là làm thế nào để phân bổ các bit trong định dạng đó. Thương mại-off ở đây rất phức tạp. Đối với một chiều dài hướng dẫn được đưa ra, rõ ràng là có một sự đánh đổi giữa số opcodes và sức mạnh của khả năng giải quyết. Nhiều opcodes rõ ràng có nghĩa là nhiều bit trong lĩnh vực opcode. Đối với một định dạng hướng dẫn có chiều dài nhất định, điều này làm giảm số lượng bit có sẵn để giải quyết. Có một sự tinh tế thú vị để đổi này, và đó là việc sử dụng các opcodes chiều dài thay đổi. Trong phương pháp này, có một chiều dài tối thiểu opcode nhưng, đối với một số opcodes, các hoạt động bổ sung có thể được xác định bằng cách sử dụng các bit thêm trong hướng dẫn. Đối với một hướng dẫn fixedlength, lá này ít bit hơn để giải quyết. Như vậy, tính năng này được sử dụng cho những lệnh yêu cầu các toán hạng ít hơn và / hoặc ít mạnh mẽ giải quyết
đang được dịch, vui lòng đợi..
