2010-12-29 87 views
28

Tôi đã cố đọc lên bộ xử lý 32 bit và 64 bit (http://en.wikipedia.org/wiki/32-bit_processing). Sự hiểu biết của tôi là một bộ xử lý 32 bit (như x86) đã đăng ký rộng 32 bit. Tôi không chắc điều đó có nghĩa là gì. Vì vậy, nó có đặc biệt "không gian bộ nhớ" có thể lưu trữ các giá trị số nguyên lên đến 2^32?Sự khác nhau giữa bộ xử lý 32 bit và 64 bit là gì?

Tôi không muốn nghe có vẻ ngu ngốc, nhưng tôi không biết gì về bộ xử lý. Tôi giả định 64-bit, nói chung, tốt hơn so với 32-bit. Mặc dù máy tính của tôi bây giờ (một tuổi, Win 7, Intel Atom) có bộ xử lý 32 bit.

+0

Tốt hơn? Nó phụ thuộc vào việc sử dụng, trong hầu hết trường hợp tôi không thay đổi một điều, nó có thể chi phí bộ nhớ nhiều hơn ... Tôi có nghĩa là, một int trong 64 bit chi phí gấp đôi như int trong 32 bit. – ykatchou

+1

@ykatchou: Bạn đang nhầm lẫn không gian đăng ký của bộ xử lý với RAM. Và một trong hai cách, sự đồng thuận chung là lợi ích của bộ vi xử lý 64 bit lớn hơn các kiểu dữ liệu con trỏ lớn hơn, v.v. được yêu cầu. –

Trả lời

29

Tất cả các tính toán diễn ra trong sổ đăng ký. Khi bạn thêm (hoặc trừ, hoặc bất kỳ) biến nào trong mã của bạn, chúng sẽ được nạp từ bộ nhớ vào thanh ghi (nếu chúng chưa có, nhưng trong khi bạn có thể khai báo vô số biến, số lượng thanh ghi có giới hạn). Vì vậy, việc đăng ký lớn hơn cho phép bạn thực hiện các phép tính "lớn hơn" trong cùng một thời điểm. Không phải là sự khác biệt về kích thước này quan trọng trong thực tế khi nói đến các chương trình thông thường (vì ít nhất tôi hiếm khi thao tác các giá trị lớn hơn 2^32), nhưng đó là cách nó hoạt động.

Ngoài ra, một số sổ đăng ký nhất định được sử dụng làm con trỏ vào không gian bộ nhớ của bạn và do đó giới hạn số lượng bộ nhớ tối đa mà bạn có thể tham chiếu. Bộ vi xử lý 32 bit chỉ có thể tham chiếu 2^32 byte (tức là khoảng 4 GB dữ liệu). Bộ xử lý 64 bit có thể quản lý rõ ràng hơn rất nhiều.

Có những hậu quả khác nữa, nhưng đây là hai hậu quả nảy sinh trong đầu.

+0

Cảm ơn câu trả lời. Tôi đã mua một Atom INtel 32 bit. Tại sao Intel vẫn sản xuất 32 bit khi họ có 64 bit? Là 32-bit cho lowend? (Thừa nhận PC của tôi là lowend của thị trường). –

1

Bộ xử lý 32 bit có thể giải quyết một ngân hàng bộ nhớ với địa chỉ 32 bit. Vì vậy, bạn có thể có 2^32 tế bào bộ nhớ và do đó một số lượng hạn chế của bộ nhớ địa chỉ (~ 4GB). Ngay cả khi bạn thêm một ngân hàng bộ nhớ khác vào máy của bạn, nó không thể được giải quyết. Do đó, các máy 64bit có thể giải quyết tối đa 2^64 ô nhớ.

+3

Đó là * một * sự khác biệt, nhưng hầu như không có sự khác biệt * duy nhất *. – cdhowie

+4

bạn được tự do cung cấp câu trả lời chi tiết hơn. – Simon

+0

Không, bạn đang nhầm lẫn giữa bus địa chỉ với bus dữ liệu. Lấy ví dụ những máy tính cũ 8 bit tốt như CBM64. Nó chỉ có 8 bit đăng ký nhưng vẫn có thể giải quyết một không gian bộ nhớ 16 bit. –

-4

có 8 bit trong một byte vì vậy nếu 32 bit của nó, bạn đang xử lý 4 byte dữ liệu ở bất cứ thứ gì ghz hoặc mhz cpu của bạn được tính theo giây. vì vậy nếu có CPU cpu 64 bit và CPU 32 bit có tốc độ tương tự, CPU 64 bit sẽ nhanh hơn

+0

Điều này không phải lúc nào cũng đúng. Số bit là kích thước của mỗi lệnh không liên quan trực tiếp đến tốc độ –

-4

Bộ xử lý 32 bit đang xử lý 32 bit dữ liệu dựa trên Ghz của Bộ xử lý trong mỗi bộ xử lý thứ hai và 64 bit xử lý 64 bit dữ liệu mỗi giây trên tốc độ máy tính của bạn có. cũng như bộ xử lý 34 bit hoạt động với 4GB RAM.

+0

Điều này không chính xác. –

+0

Uh .... lol, wut? – Krythic

16

Bộ xử lý cuộc gọi dữ liệu từ Bộ nhớ tức là RAM bằng cách đặt địa chỉ của nó cho MAR (Sổ địa chỉ bộ nhớ). Thiết bị điện tử chọn sau đó tìm thấy địa chỉ đó trong ngân hàng bộ nhớ và truy xuất dữ liệu và đặt nó vào MDR (Đăng ký dữ liệu bộ nhớ) Dữ liệu này được ghi lại trong một trong các thanh ghi trong bộ xử lý để xử lý tiếp. Đó là lý do kích thước của Bus dữ liệu quyết định kích thước của Registers trong Processor. Bây giờ, nếu bộ xử lý của tôi có đăng ký 32 bit, nó có thể gọi dữ liệu chỉ có kích thước 4 byte, tại một thời điểm. Và nếu kích thước dữ liệu vượt quá 32 bit, thì nó sẽ yêu cầu hai chu kỳ tìm nạp để có dữ liệu trong đó. Điều này làm chậm tốc độ của Máy 32 bit so với 64 bit, điều này sẽ hoàn thành hoạt động chỉ trong MỘT chu kỳ tìm nạp. Vì vậy, obviosly cho các dữ liệu nhỏ hơn, nó làm cho không có sự khác biệt nếu bộ vi xử lý của tôi được đồng hồ ở tốc độ tương tự. Một lần nữa, với bộ vi xử lý 64 bit và hệ điều hành 64 bit, hướng dẫn của tôi sẽ có kích thước 64 bit luôn luôn ... không cần thiết sử dụng hết dung lượng bộ nhớ.

0

Từ here:

Sự khác biệt chính giữa bộ vi xử lý 32-bit và bộ vi xử lý 64-bit là tốc độ mà họ hoạt động. Bộ xử lý 64 bit có thể có lõi kép, lõi tứ và sáu phiên bản lõi cho máy tính gia đình (với 8 phiên bản lõi sắp ra mắt).Nhiều lõi cho phép tăng cường xử lý điện và hoạt động máy tính nhanh hơn. Các chương trình phần mềm yêu cầu nhiều tính toán hoạt động nhanh hơn trên bộ vi xử lý đa nhân 64-bit , phần lớn. Điều quan trọng cần lưu ý là 64-bit máy tính vẫn có thể sử dụng các chương trình phần mềm 32 bit, ngay cả khi hệ điều hành Windows là phiên bản 64 bit.

Một khác biệt lớn giữa bộ vi xử lý 32 bit và bộ vi xử lý 64 bit là bộ nhớ tối đa (RAM) được hỗ trợ. 32-bit máy tính hỗ trợ tối đa 3-4 GB bộ nhớ, trong khi máy tính 64-bit 64 bit có thể hỗ trợ lượng bộ nhớ trên 4 GB. Điều này quan trọng đối với các chương trình phần mềm được sử dụng cho thiết kế đồ họa, kỹ thuật thiết kế hoặc chỉnh sửa video, trong đó nhiều tính toán được thực hiện để hiển thị hình ảnh, bản vẽ và cảnh quay video. Một điều cần lưu ý là các chương trình và trò chơi đồ họa 3D không mang lại lợi ích cho việc chuyển đổi sang máy tính 64 bit, trừ khi chương trình là chương trình 64 bit. Bộ xử lý 32 bit phù hợp cho bất kỳ chương trình nào được viết cho bộ xử lý 32 bit. Trong trường hợp trò chơi trên máy tính, bạn sẽ nhận được nhiều hiệu suất hơn bằng cách nâng cấp thẻ video thay vì để nhận bộ xử lý 64 bit.

Cuối cùng, bộ vi xử lý 64 bit ngày càng trở nên phổ biến hơn trong máy tính gia đình. Hầu hết các nhà sản xuất đều xây dựng máy tính với bộ vi xử lý 64 bit do giá rẻ hơn và bởi vì nhiều người dùng hiện đang sử dụng hệ điều hành và chương trình 64 bit. Các nhà bán lẻ bộ phận máy tính là cung cấp ít bộ xử lý 32 bit và sớm không thể cung cấp bất kỳ nào cả.

17

32 bit đầu tiên và 64 bit được gọi là kiến ​​trúc.

Những kiến ​​trúc có nghĩa là bao nhiêu dữ liệu một bộ vi xử lý sẽ xử lý trong vòng một chu kỳ hướng dẫn ví dụ: lấy giải mã-thực

Trong một giây có thể có hàng ngàn đến hàng tỷ chu kỳ chỉ dẫn phụ thuộc vào một thiết kế bộ xử lý.

32 bit có nghĩa là bộ vi xử lý có thể thực thi 4 byte dữ liệu trong một chu trình lệnh trong khi 64 bit có nghĩa là bộ vi xử lý thực thi có thể thực thi 8 byte dữ liệu trong một chu kỳ lệnh.

Vì bộ vi xử lý cần nói chuyện với các bộ phận khác của máy tính để nhận và gửi dữ liệu tức là bộ nhớ, bus dữ liệu và bộ điều khiển video, v.v ... vì vậy chúng cũng phải hỗ trợ truyền dữ liệu 64 bit. Tuy nhiên, vì những lý do thực tế như khả năng tương thích và chi phí, các bộ phận khác vẫn có thể nói chuyện với bộ vi xử lý trong 32 bit. Điều này xảy ra trong máy tính IBM ban đầu, nơi bộ vi xử lý 8088 của nó có khả năng thực hiện 16 bit trong khi nó nói chuyện với các bộ phận khác của máy tính trong 8 bit vì lý do chi phí và khả năng tương thích với các bộ phận hiện có.

Hãy tưởng tượng rằng trên máy tính 32 bit, bạn cần phải viết 'a' là 'A' tức là trong CAPSLOCK, vì vậy thao tác chỉ yêu cầu 2 byte trong khi máy tính sẽ đọc 4 byte dữ liệu dẫn đến chi phí. Chi phí trên máy tính 64 bit này tăng lên 6 byte. Vì vậy, 64 bit máy tính không nhất thiết phải nhanh chóng tất cả các lần.

Hãy nhớ rằng cửa sổ 64 bit chỉ có thể chạy trên bộ vi xử lý nếu nó hỗ trợ thực thi 64 bit.

0

32 bit và 64 bit về cơ bản là kích thước của thanh ghi, đăng ký loại bộ nhớ nhanh nhất và gần nhất với CPU. Bộ vi xử lý 64 bit có thể lưu trữ nhiều dữ liệu hơn để xử lý và truyền hơn đăng ký 32 bit nhưng cũng có các yếu tố khác dựa trên tốc độ của bộ xử lý như số lõi, bộ nhớ cache, kiến ​​trúc, v.v.

tham khảo: Difference between 32-bit processor and 64-bit processor

0

Từ what is the meaning of 32 bit or 64 bit process?? bởi kenshin123:

các địa chỉ ảo của một quá trình là ánh xạ của một bảng địa chỉ tương ứng với bộ nhớ vật lý thực trên hệ thống. Đối với lý do về hiệu quả và bảo mật, hạt nhân tạo ra một trừu tượng cho một quá trình mang lại cho nó ảo ảnh có địa chỉ riêng của nó không gian. Sự trừu tượng này được gọi là không gian địa chỉ ảo. Nó chỉ là bảng con trỏ tới bộ nhớ vật lý.

Vì vậy, quy trình 32 bit được cung cấp khoảng 2^32 hoặc 4GB không gian địa chỉ. Điều gì có nghĩa là điều này có nghĩa là dưới mui xe là quá trình được đưa ra một bảng 32-bit bảng 32-bit. Ngoài ra, bảng trang này có VAS 32 bit bản đồ thành 4GB bộ nhớ trên hệ thống.

Vì vậy, có, quy trình 64 bit có VAS 64 bit. Điều đó có ý nghĩa?

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