2009-03-07 28 views
11

Máy có phải là WORD luôn giống hoặc không phụ thuộc vào kiến ​​trúc máy? Và ý nghĩa của từ WORD ngữ cảnh nhạy cảm hoặc thường áp dụng?Có bao nhiêu bit là một WORD và là hằng số đó trên các kiến ​​trúc khác nhau?

+1

Trong winapi nói, từ vẫn được cố định vào Windows 16 bit và do đó 16-bit, ngay cả trên kiến ​​trúc với kích thước máy lớn. Vì vậy, nói chung trong các chương trình Windows HLL, từ là 16-bit, do đó, nó chắc chắn là bối cảnh nhạy cảm. Như Guffa đã nói, 16 bittism vẫn tồn tại trong bộ x86. –

Trả lời

23

Kích thước từ máy phụ thuộc vào kiến ​​trúc, nhưng cũng như cách hệ điều hành đang chạy ứng dụng.

Trong Windows x64, ví dụ ứng dụng có thể chạy dưới dạng ứng dụng 64 bit (có từ 64 bit mahine) hoặc ứng dụng 32 bit (có từ máy 32 bit). Vì vậy, kích thước của một từ máy có thể khác nhau ngay cả trên cùng một máy.

Thuật ngữ WORD có ý nghĩa khác nhau tùy thuộc vào cách sử dụng. Nó có thể có nghĩa là một từ máy hoặc một loại có kích thước cụ thể. Trong ngôn ngữ lắp ráp x86 WORD, DOUBLEWORD (DWORD) và QUADWORD (QWORD) được sử dụng cho kích thước 2, 4 và 8 byte, bất kể kích thước từ máy.

10

Một từ thường là kích thước dữ liệu "gốc" của CPU. Đó là, trên một CPU 16-bit, một từ là 16 bit, trên một CPU 32-bit, nó là 32 và vân vân.

Và ngoại lệ, tất nhiên, là x86, trong đó một từ rộng 16 bit (vì x86 ban đầu là CPU 16 bit), DWORD là 32 bit (vì nó trở thành CPU 32 bit), và một QWORD là 64 bit (vì nó hiện có các phần mở rộng 64 bit được bật lên)

+2

Bạn có nghĩa là tôi không thể sử dụng QWORD trên máy 32 bit? – selurvedu

+2

@selurvedu Bình luận cũ, nhưng đối với những người có thể gặp phải điều này trong tương lai; bạn có thể có thể. Bộ vi xử lý Intel có xu hướng có đăng ký MMX 64 bit cho phép bạn sử dụng QWORD và bạn luôn có thể đọc/ghi 64 bit dữ liệu đến/từ bộ nhớ (lưu ý đến tính xác thực). –

+0

Đối với điểm @ SomeGuy về tính cuối cùng, [bài đăng này] (https://stackoverflow.com/q/7865511/2636454) là hữu ích trong việc hiểu điều đó. – GDP2

3

Nó phụ thuộc vào kiến ​​trúc máy. Tài liệu This giải thích một số khái niệm cơ bản về điều này.

1

16 bit (2 byte) cho một từ là phổ quát cho x86.

0

Hiểu biết của tôi là WORD là lượng bit có thể được đẩy vào CPU với một hành động (trên một máy cụ thể), vì vậy trong kiến ​​trúc 8 bit, nó là 8 bit và trên kiến ​​trúc 64 bit hiện đại nó là 64 bit.

+1

Trong vùng đất 8 bit, chúng ta sẽ không bao giờ nói từ khi chúng ta có nghĩa là byte. Một định nghĩa phổ biến của từ đã được chỉ đơn giản là "hai byte", ngay cả trên các hệ thống với 9-bit byte và 18-bit từ. PDP-10 đến với tâm trí ở đó ... – RBerteig

2

Có.

Ok, hãy để tôi trở nên rõ ràng hơn một chút. Giả sử chúng ta đang nói về các từ của bộ nhớ, có hai định nghĩa rộng.

Đầu tiên, một từ thường là kích thước tự nhiên của một mục duy nhất có thể truy cập nguyên tử trong phần cứng. Đó là rất nhiều kích thước phụ thuộc vào nền tảng, nhưng thường là 16, 32 hoặc 64 bit, nhưng các kích thước khác đã được tìm thấy trong tự nhiên.

Thứ hai, nó thường được sử dụng để cụ thể có nghĩa là giá trị 16 bit. Trong bối cảnh đó, bạn sẽ thấy DWORD được sử dụng để có nghĩa là một giá trị 32-bit. Việc sử dụng này là phổ biến trên các nền tảng x86, đặc biệt là Windows, nhưng được sử dụng trên DEC PDP-11 và VAX và các con cháu của Motorola 68000.

Telling đó là việc sử dụng dự định phụ thuộc vào bối cảnh ...

1

Tất cả các bạn trẻ yappin' trên khoảng 32 bit và 64 bit thiss rằng: bạn đã biết, đã ở đó và là kiến ​​trúc máy khác hơn so với gia đình x86. Một PDP-11 có từ 40 bit, f'rinstance.

Nhưng câu trả lời đơn giản nhất là chỉ tìm kiếm Wikipedia.

+0

Ai đó thiếu cảm giác hài hước, hoặc phải loại bỏ các điểm danh tiếng? Hãy vui vẻ, dù bằng cách nào. –

+0

PDP-11 có từ 16 bit. PDP-10 (DEcSystem-10) có từ 36 bit. Tôi không biết về kiến ​​trúc DEC với các từ 40 bit, nhưng chúng có rất nhiều! –

+0

PDP-11 (ít nhất là chạy RT-11, nhưng tôi nghĩ nó cũng được sử dụng trong các HĐH DEC khác) đã sử dụng một bộ ký tự lạ gọi là Rad50 cho phép tên tệp 6.3 vừa với ba từ, với ba ký tự cho mỗi từ. DEC thích đóng gói dữ liệu kỳ quặc ;-) (Tôi có PDP-11 đang chạy trong văn phòng của mình). – RBerteig

1

Một "từ" trong các chữ cái nhỏ phụ thuộc vào kiến ​​trúc.

Một "WORD" bằng chữ hoa, như được định nghĩa trong Windows SDK, là 16 bit.

Tương tự: "DWORD" - (từ kép) 32 bit. "QWORD" ... 64 bit.

Các vấn đề liên quan