Kiến trúc ARM khác với x86 như thế nào? [đóng cửa]


192

Kiến trúc x86 có được thiết kế đặc biệt để hoạt động với bàn phím trong khi ARM dự kiến ​​là thiết bị di động không? Sự khác biệt chính giữa hai là gì?


37
Trừ khi x86 có cổng ps / 2 mà tôi không biết, nó không được chế tạo cho bàn phím hơn một cặp đồ lót bẩn :-)
paxdiablo

6
Tôi nghĩ rằng bàn phím đang đề cập đến một vai trò PC điển hình trái ngược với thiết bị vật lý.
tiếng ồn vô nghĩa

24
X86 không được thiết kế; Nó tiến hóa trên một hòn đảo, với một con chim lạ ăn mọi thứ cố gắng cầu nguyện trên đó. Bây giờ nó trông lạ hơn một con vịt mỏ vịt, và sẽ không làm tốt nếu một con tàu đầy động vật mới xuất hiện.
ctrl-alt-delor

5
@richard - Đáng buồn thay, đây là mô tả chính xác nhất về lịch sử của x86 tôi từng thấy. Nó nói khá nhiều về ngành công nghiệp.
Leeor

6
@Leeor Xin lỗi tôi đã mắc một lỗi nhỏ trong nhận xét của mình, tôi đã nói rằng con chim ăn động vật ăn thịt của x86, vì nó không ăn chúng, nó ngồi trên chúng. Cũng đáng lưu ý rằng lông mềm của chim nơi rất rất rất rất gọn gàng.
ctrl-alt-delor

Câu trả lời:


305

ARMlà một kiến trúc RISC (Tính toán bộ hướng dẫn giảm) trong khi x86là kiến trúc CISC (Tính toán tập lệnh phức tạp).

Sự khác biệt cốt lõi giữa những người trong khía cạnh này là các lệnh ARM chỉ hoạt động trên các thanh ghi với một vài hướng dẫn để tải và lưu dữ liệu từ / vào bộ nhớ trong khi x86 cũng có thể hoạt động trực tiếp trên bộ nhớ. Cho đến khi v8 ARM là một kiến ​​trúc 32 bit nguyên gốc, thiên về các hoạt động bốn byte so với các hoạt động khác.

Vì vậy, ARM là một kiến ​​trúc đơn giản hơn, dẫn đến diện tích silicon nhỏ và nhiều tính năng tiết kiệm năng lượng trong khi x86 trở thành một con thú quyền lực về cả tiêu thụ năng lượng và sản xuất.

Về câu hỏi về " Kiến trúc x86 có được thiết kế đặc biệt để hoạt động với bàn phím trong khi ARM dự kiến ​​sẽ là thiết bị di động không? ". x86không được thiết kế đặc biệt để làm việc với bàn phím không ARMdành cho thiết bị di động. Tuy nhiên, một lần nữa vì các lựa chọn kiến ​​trúc cốt lõi thực sự x86 cũng có hướng dẫn để làm việc trực tiếp IOtrong khi ARM thì không. Tuy nhiên với các bus IO chuyên dụng như USB, nhu cầu về các tính năng như vậy cũng đang dần biến mất.

Nếu bạn cần một tài liệu để trích dẫn, đây là những gì Hướng dẫn lập trình viên sê-ri Cortex-A (4.0) nói về sự khác biệt giữa các kiến ​​trúc RISC và CISC:

Bộ xử lý ARM là bộ xử lý RISC được giảm hướng dẫn (RISC).

Bộ xử lý máy tính phức hợp (CISC), như x86, có bộ hướng dẫn phong phú có khả năng thực hiện những việc phức tạp chỉ với một lệnh. Các bộ xử lý như vậy thường có số lượng đáng kể logic bên trong giải mã các hướng dẫn của máy thành chuỗi các hoạt động bên trong (microcode).

Ngược lại, các kiến ​​trúc RISC có số lượng hướng dẫn mục đích chung nhỏ hơn, có thể được thực hiện với các bóng bán dẫn ít hơn đáng kể, làm cho silicon rẻ hơn và tiết kiệm điện hơn. Giống như các kiến ​​trúc RISC khác, lõi ARM có số lượng lớn các thanh ghi mục đích chung và nhiều lệnh được thực thi trong một chu kỳ. Nó có các chế độ địa chỉ đơn giản, trong đó tất cả các địa chỉ tải / lưu trữ có thể được xác định từ nội dung đăng ký và các trường hướng dẫn.

Công ty ARM cũng cung cấp một bài báo có tiêu đề Kiến trúc, Bộ xử lý và Điều khoản phát triển thiết bị mô tả cách các điều khoản đó áp dụng cho tính kinh doanh của họ.

Một ví dụ so sánh kiến ​​trúc tập lệnh:

Ví dụ: nếu bạn cần một số khối so sánh bộ nhớ tạm thời trong ứng dụng của bạn (được tạo bởi trình biên dịch, bỏ qua chi tiết), đây là cách nó có thể trông như thế nào trên x86

repe cmpsb         /* repeat while equal compare string bytewise */

trong khi ở ARMdạng ngắn nhất có thể trông giống như (không kiểm tra lỗi, v.v.)

top:
ldrb r2, [r0, #1]! /* load a byte from address in r0 into r2, increment r0 after */
ldrb r3, [r1, #1]! /* load a byte from address in r1 into r3, increment r1 after */
subs r2, r3, r2    /* subtract r2 from r3 and put result into r2      */
beq  top           /* branch(/jump) if result is zero                 */

sẽ cung cấp cho bạn một gợi ý về cách các bộ hướng dẫn RISC và CISC khác nhau về độ phức tạp.


9
ARMv8-A có kiến ​​trúc 64 bit được gọi là AArch64.
kyrias

9
Mặc dù x86 có một số chỉ dẫn rất mạnh mẽ, cánh tay vẫn có thể đánh bại nó trong một cuộc chiến (nếu cả hai có cùng tốc độ xung nhịp). Điều này một phần là do cánh tay có một bộ thanh ghi tốt, khi x86 dành 1/2 thời gian để di chuyển dữ liệu vào và ra khỏi bộ thanh ghi giới hạn của nó (điều này không đúng với x86-64, vì nó có nhiều thanh ghi hơn ). Và một phần vì tính đơn giản của Arm dành chỗ cho bộ đệm lớn hơn và có tất cả các hướng dẫn có điều kiện (làm cho bộ nhớ cache bị mất ít hơn). Và cánh tay di chuyển nhiều lệnh (chỉ lệnh không RISC), cho phép nó di chuyển dữ liệu nhanh chóng.
ctrl-alt-delor

4
Tôi có thể viết mã ARM nhanh hơn, mặc dù lớn hơn, bằng cách sử dụng nhiều thanh ghi hơn. Nếu tôi nhìn vào cách triển khai này, x86 mất đồng hồ 5 + 9 × N, ARM mất đồng hồ 4 × N (cả hai số liệu đều không bỏ lỡ bộ đệm). Điểm x86 tốt hơn cho các byte lệnh trong ví dụ này: x86 = 2 byte, arm = 16 byte. ARM đạt điểm số tốt hơn nhiều trong số liệu này trong các thử nghiệm thực tế hơn, ví dụ: khi thoát khỏi vòng lặp r2 sẽ có thông tin về việc nếu các chuỗi bằng / lớn hơn, do đó sẽ có mã điều kiện. Cánh tay có thể chạy các hướng dẫn khác trước khi kiểm tra mã điều kiện. Arm không phải phân nhánh khi kiểm tra mã điều kiện.
ctrl-alt-delor

2
@JeremyFelix Dường như stackoverflow.com/questions/13106297/ này Có nhiều đường ống khác nhau cho các loại hướng dẫn khác nhau, thậm chí có những đường dẫn trùng lặp. CPU chia các hướng dẫn thành các hướng dẫn vi mô và các lệnh này có thể chạy song song giữa các đường ống.
auselen

2
Bạn nói rằng, trong khi x86 cũng có thể hoạt động trên bộ nhớ trực tiếp. tuy nhiên, đối với x86 (trước x86-64), nó có quá ít thanh ghi đến mức không có bản nào cũng như bản thân, bạn phải lưu trữ mọi thứ trong bộ nhớ; khoảng hướng dẫn trong một chương trình chỉ để di chuyển mọi thứ. Trong khi đó, ARM rất ít hướng dẫn cần thiết để di chuyển dữ liệu.
ctrl-alt-delor 17/2/2016

93

Không có bất cứ thứ gì cụ thể cho bàn phím hoặc thiết bị di động, ngoài thực tế là trong nhiều năm, ARM đã có một lợi thế khá lớn về mức tiêu thụ năng lượng, khiến nó trở nên hấp dẫn đối với tất cả các loại thiết bị chạy bằng pin.

Theo như sự khác biệt thực tế: ARM có nhiều thanh ghi hơn, được hỗ trợ cho hầu hết các hướng dẫn từ lâu trước khi Intel bổ sung và từ lâu đã kết hợp tất cả các loại kỹ thuật (gọi chúng là "thủ thuật", nếu bạn thích) để tiết kiệm năng lượng ở hầu hết mọi nơi có thể.

Cũng có một sự khác biệt đáng kể trong cách hai hướng dẫn mã hóa. Intel sử dụng mã hóa độ dài biến khá phức tạp trong đó một lệnh có thể chiếm bất cứ nơi nào từ 1 đến 15 byte. Điều này cho phép các chương trình khá nhỏ, nhưng làm cho việc giải mã lệnh tương đối khó khăn (như trong: giải mã các lệnh nhanh song song giống như một cơn ác mộng hoàn toàn).

ARM có hai chế độ mã hóa lệnh khác nhau: ARM và THUMB. Trong chế độ ARM, bạn có quyền truy cập vào tất cả các hướng dẫn và mã hóa cực kỳ đơn giản và nhanh chóng để giải mã. Thật không may, mã chế độ ARM có xu hướng khá lớn, do đó, khá phổ biến khi một chương trình chiếm khoảng gấp đôi bộ nhớ so với mã Intel. Chế độ ngón tay cái cố gắng giảm thiểu điều đó. Nó vẫn sử dụng mã hóa hướng dẫn khá thông thường, nhưng giảm hầu hết các lệnh từ 32 bit xuống 16 bit, chẳng hạn như bằng cách giảm số lượng thanh ghi, loại bỏ sự chiếm hữu từ hầu hết các hướng dẫn và giảm phạm vi của các nhánh. Ít nhất trong kinh nghiệm của tôi, điều này vẫn không thường cung cấp cho khámã hóa dày đặc như mã x86 có thể nhận được, nhưng nó khá gần và việc giải mã vẫn khá đơn giản và dễ hiểu. Mật độ mã thấp hơn có nghĩa là bạn thường cần ít nhất một chút bộ nhớ và (nói chung là nghiêm túc hơn) bộ đệm lớn hơn để có hiệu suất tương đương.

Đã có lúc Intel chú trọng nhiều hơn vào tốc độ so với mức tiêu thụ năng lượng. Họ bắt đầu nhấn mạnh tiêu thụ năng lượng chủ yếu vào bối cảnh của máy tính xách tay. Đối với máy tính xách tay, mục tiêu năng lượng điển hình của họ là ở mức 6 watt cho một máy tính xách tay khá nhỏ. Gần đây hơn ( nhiều gần đây hơn) mà họ đã bắt đầu nhắm mục tiêu các thiết bị di động (điện thoại, máy tính bảng, vv) Đối với thị trường này, họ đang tìm kiếm một vài watt hoặc lâu hơn ở hầu hết. Họ dường như đang làm khá tốt điều đó, mặc dù cách tiếp cận của họ khác biệt rất nhiều so với ARM, nhấn mạnh công nghệ chế tạo trong đó ARM chủ yếu nhấn mạnh vào kiến ​​trúc vi mô (không ngạc nhiên khi xem xét rằng ARM bán thiết kế và để chế tạo cho người khác).

Tùy thuộc vào tình huống, mức tiêu thụ năng lượng của CPU thường quan trọng hơn mức tiêu thụ năng lượng của nó. Ít nhất là khi tôi sử dụng các thuật ngữ, mức tiêu thụ năng lượng đề cập đến việc sử dụng năng lượng trên cơ sở tức thời (ít nhiều). Tuy nhiên, tiêu thụ năng lượng bình thường hóa cho tốc độ, vì vậy, nếu (ví dụ) CPU A tiêu thụ 1 watt trong 2 giây để thực hiện công việc và CPU B tiêu thụ 2 watt trong 1 giây để thực hiện cùng một công việc, cả hai CPU đều tiêu thụ cùng một lượng năng lượng (hai watt giây) để thực hiện công việc đó - nhưng với CPU B, bạn nhận được kết quả nhanh gấp đôi.

Bộ xử lý ARM có xu hướng làm rất tốt về mặt tiêu thụ điện năng. Vì vậy, nếu bạn cần thứ gì đó cần "sự hiện diện" của bộ xử lý gần như liên tục, nhưng không thực sự làm được nhiều việc, chúng có thể hoạt động khá tốt. Ví dụ: nếu bạn đang thực hiện hội nghị video, bạn thu thập một vài phần nghìn giây dữ liệu, nén nó, gửi nó, nhận dữ liệu từ người khác, giải nén nó, phát lại và lặp lại. Ngay cả một bộ xử lý thực sự nhanh cũng không thể dành nhiều thời gian để ngủ, vì vậy đối với các tác vụ như thế này, ARM thực sự rất tốt.

Bộ xử lý của Intel (đặc biệt là bộ xử lý Atom của họ, thực sự dành cho các ứng dụng năng lượng thấp) cực kỳ cạnh tranh về mặt tiêu thụ năng lượng. Mặc dù chúng chạy gần hết tốc độ, chúng sẽ tiêu thụ nhiều năng lượng hơn hầu hết các bộ xử lý ARM - nhưng chúng cũng hoàn thành công việc nhanh chóng, vì vậy chúng có thể quay lại ngủ sớm hơn. Nhờ đó, họ có thể kết hợp thời lượng pin tốt với hiệu năng tốt.

Vì vậy, khi so sánh cả hai, bạn phải cẩn thận về những gì bạn đo lường, để chắc chắn rằng nó phản ánh những gì bạn thực sự quan tâm. ARM làm rất tốt việc tiêu thụ năng lượng, nhưng tùy thuộc vào tình huống, bạn có thể dễ dàng quan tâm nhiều hơn đến mức tiêu thụ năng lượng hơn là tiêu thụ năng lượng tức thời.


đó là lý do tại sao ? RISC cần nhiều RAM hơn, trong khi CISC nhấn mạnh vào kích thước mã nhỏ hơn và sử dụng ít RAM hơn so với RISC
Waqar Naeem

Chế độ ngón tay cái (độ dài thay đổi cho phép mã hóa ngắn) không phải là một sự khác biệt ; đó là cách x86 luôn hoạt động (nhưng moreso, với độ dài lệnh thay đổi từ 1 đến 15 byte và khó giải mã hơn nhiều so với Thumb2). Chế độ ARM (mã hóa chiều rộng cố định với các lệnh không phá hủy 3 toán hạng) là điểm khác biệt so với x86!
Peter Cordes

Có bộ xử lý nhanh hơn không phải là một trợ giúp lớn - hội nghị video có thể là một ví dụ tốt hơn: độ trễ thấp có nghĩa là bạn không thể giải mã thành một bộ đệm có kích thước phù hợp và quay trở lại trạng thái ngủ sâu hoặc trung bình . "Cuộc đua đến giấc ngủ" là một khái niệm quan trọng trong việc tiêu thụ năng lượng cho một lượng tính toán cố định, với điều kiện là các CPU hiện đại có thể tiết kiệm năng lượng đáng kể khi không hoạt động (đồng hồ dừng hoặc thậm chí tắt nguồn các phần của lõi. Hoặc trong giấc ngủ sâu hơn, cũng lưu lại sau khi viết lại.) ... và đó là điểm bạn đưa ra trong đoạn tiếp theo, tất nhiên. >. <
Peter Cordes

@PeterCordes: Mã hóa Chế độ Thumb không giống như mã hóa x86. Mặc dù nó không hoàn toàn như mã hóa ARM, nhưng nó vẫn có định dạng khá cố định. Tăng mật độ chủ yếu là từ việc loại bỏ các bit đơn giản hiếm khi được sử dụng trong mã hóa ARM. Ví dụ, hầu như tất cả các lệnh ARM đều có điều kiện, nhưng các điều kiện chỉ được sử dụng một tỷ lệ khá nhỏ thời gian (vì vậy hầu hết các lệnh THUMB không phân nhánh là vô điều kiện).
Jerry Coffin

@PeterCordes: Bạn nói đúng: hội nghị video là một ví dụ tốt hơn - Tôi đã chỉnh sửa nó trong. Cảm ơn bạn.
Jerry Coffin

39

Bổ sung cho đoạn đầu tiên của Jerry Coffin . Tức là, thiết kế ARM cho mức tiêu thụ điện năng thấp hơn.

Công ty ARM, chỉ cấp phép cho công nghệ CPU. Họ không tạo ra chip vật lý. Điều này cho phép các công ty khác thêm các công nghệ ngoại vi khác nhau, thường được gọi là SOC hoặc hệ thống trên chip. Cho dù thiết bị là máy tính bảng, điện thoại di động hay hệ thống giải trí trong xe hơi. Điều này cho phép các nhà cung cấp chip điều chỉnh phần còn lại của chip cho một ứng dụng cụ thể. Điều này có thêm lợi ích,

  1. Chi phí hội đồng thấp hơn
  2. Công suất thấp hơn (ghi chú 1)
  3. Sản xuất dễ dàng hơn
  4. Yếu tố hình thức nhỏ hơn

ARMhỗ trợ các nhà cung cấp SOC với AMBA , cho phép những người triển khai SOC mua ngoài các mô-đun của bên thứ 3; như Ethernet, bộ nhớ và bộ điều khiển ngắt. Một số nền tảng CPU khác hỗ trợ điều này, như MIPS , nhưng MIPS không có ý thức về sức mạnh.

Tất cả những điều này đều có lợi cho một thiết kế cầm tay / chạy bằng pin. Một số chỉ tốt xung quanh. Đồng thời, ARMcó một lịch sử của các thiết bị hoạt động bằng pin; Apple Newton , Psion Ban tổ chức . Các PDA phần mềm sở hạ tầng đã được thừa hưởng bởi một số công ty để tạo ra điện thoại thông minh các thiết bị loại. Mặc dù, những người đã phát minh lại GUI để sử dụng với điện thoại thông minh đã thành công hơn .

Sự gia tăng của các Open sourcebộ công cụ và operating systemscũng tạo điều kiện cho các SOCchip khác nhau . Một tổ chức đóng sẽ có vấn đề khi cố gắng hỗ trợ tất cả các thiết bị khác nhau có sẵn cho ARM. Hai nền tảng di động phổ biến nhất là Andriod và OSx / IOS, dựa trên hệ điều hành LinuxFreeBSD, Mach và NetBSD . Open Sourcegiúp các SOCnhà cung cấp cung cấp hỗ trợ phần mềm cho bộ chip của họ.

Hy vọng, tại sao x86 được sử dụng cho bàn phím là hiển nhiên. Nó có phần mềm, và quan trọng hơn là những người được đào tạo để sử dụng phần mềm đó. Netwinder là một ARMhệ thống ban đầu được thiết kế cho bàn phím . Ngoài ra, nhà sản xuất hiện đang xem xét ARM64 cho thị trường máy chủ. Điện / nhiệt là một mối quan tâm tại các trung tâm dữ liệu 24/7.

Vì vậy, tôi muốn nói rằng hệ sinh thái phát triển xung quanh những con chip này cũng quan trọng như các tính năng như tiêu thụ điện năng thấp. ARMđã phấn đấu cho năng lượng thấp, tính toán hiệu năng cao hơn trong một thời gian (giữa đến cuối những năm 1980) và họ có rất nhiều người trên tàu.

Lưu ý1: Nhiều chip cần trình điều khiển xe buýt để liên lạc với nhau ở điện áp và ổ đĩa đã biết. Ngoài ra, các chip riêng biệt thường cần các tụ điện hỗ trợ và các thành phần nguồn khác có thể được chia sẻ trong hệ thống SOC .


22

ARM giống như một chiếc xe thể thao của Ý:

  • Cân bằng tốt, điều chỉnh tốt, động cơ. Cung cấp khả năng tăng tốc tốt, và tốc độ tối đa.
  • Tuyệt vời đuổi theo, phanh và hệ thống treo. Có thể dừng lại nhanh chóng, có thể góc mà không bị chậm lại.

X86 giống như một chiếc xe cơ bắp của Mỹ:

  • Động cơ lớn, bơm nhiên liệu lớn. Cung cấp tốc độ tối đa tuyệt vời, và tăng tốc, nhưng sử dụng nhiều nhiên liệu.
  • Phanh đáng sợ, bạn cần đặt một cuộc hẹn trong nhật ký của bạn, nếu bạn muốn làm chậm.
  • Tay lái khủng khiếp, bạn phải giảm tốc độ.

Tóm lại: x86 dựa trên thiết kế từ năm 1974 và hoạt động tốt trên đường thẳng (nhưng sử dụng nhiều nhiên liệu). Cánh tay sử dụng ít nhiên liệu, không làm chậm cho các góc (nhánh).


Ẩn dụ hơn, đây là một số khác biệt thực sự.

  • Arm có nhiều thanh ghi hơn.
  • Arm có một vài thanh ghi mục đích đặc biệt, x86 là tất cả các thanh ghi mục đích đặc biệt (vì vậy ít di chuyển các thứ xung quanh).
  • Arm có ít lệnh truy cập bộ nhớ, chỉ đăng ký tải / lưu trữ.
  • Arm là kiến ​​trúc Harvard nội bộ thiết kế của tôi.
  • Arm rất đơn giản và nhanh chóng.
  • Hướng dẫn cánh tay là chu kỳ kiến ​​trúc đơn (trừ tải / lưu trữ nhiều).
  • Hướng dẫn cánh tay thường làm nhiều hơn một điều (trong một chu kỳ).
  • Nếu cần thêm một lệnh Arm, chẳng hạn như lưu trữ vòng lặp & tăng tự động của x86, Arm vẫn thực hiện nó trong các chu kỳ ít xung nhịp hơn.
  • Arm có nhiều hướng dẫn có điều kiện.
  • Công cụ dự đoán nhánh của Arm rất đơn giản (nếu vô điều kiện hoặc ngược lại giả định nhánh, người khác giả định không phân nhánh) và thực hiện tốt hơn rằng một rất rất phức tạp trong x86 (không có đủ không gian ở đây để giải thích nó, không phải là tôi có thể giải thích ).
  • Arm có một bộ hướng dẫn nhất quán đơn giản (bạn có thể biên dịch bằng tay và tìm hiểu bộ hướng dẫn một cách nhanh chóng).

7
Sự tương tự này bị phá vỡ ở chỗ những chiếc xe thể thao của Ý bị hỏng bất cứ lúc nào chúng có thể nhận được trong khi CPU ARM thì không, và trong khi có thể dễ dàng thực hiện, bạn thực sự không thể mua một CPU ARM có thể làm tốc độ CPU của máy tính để bàn , hãy để một mình
ổ cắm

1
Hiệu suất khôn ngoan, nó cạnh tranh trực tiếp với một số bộ xử lý Xeon lớn nhất / nhanh hơn (ví dụ E5-2690 v3) nhưng với công suất thấp hơn, chi phí thấp hơn. quora.com/ từ
ctrl-alt-delor

1
Đối với khối lượng công việc song song ồ ạt như cơ sở dữ liệu và máy chủ I / O, chắc chắn. Đối với hiệu suất đơn luồng, không ai thiết kế lõi ARM ở bất cứ đâu gần lớn như x86. Không có lý do gì họ không thể, chỉ là không ai có. "Thuế x86" đối với năng lượng và diện tích chết không lớn so với lượng silicon được sử dụng cho các máy móc không theo thứ tự trong các lõi CPU công suất cao. Chắc chắn có mụn cóc ở x86, nhưng RISC có nhược điểm về mật độ mã (thường không quan trọng lắm, nhưng nó vẫn quan trọng). Điều này được tranh luận nhiều lần trên các diễn đàn realworldtech.com .
Peter Cordes

1
@richard: Có rất nhiều thứ bạn không "cần", nhưng điều đó làm tăng mật độ mã. Thủ thuật là cân bằng độ phức tạp giải mã với kích thước mã / số lượng lệnh. Việc tăng chiều rộng của lõi không theo thứ tự là cực kỳ tốn kém trong việc tiêu thụ năng lượng, vì vậy việc đóng gói nhiều công việc hơn vào mỗi hướng dẫn là có giá trị. Một sự gia tăng nhỏ trong độ phức tạp giải mã rẻ hơn nhiều. CPU x86 hiện đại đã quản lý để giải mã x86 nhanh chóng. (Không đủ nhanh để giữ lõi OOO rộng 4 được cung cấp từ bộ giải mã thay vì bộ đệm uop-cache hoặc vòng lặp, và tất nhiên với chi phí điện năng cao.)
Peter Cordes

3
@ Evi1M4chine, nó cũng bị phá vỡ ở chỗ một chiếc xe thể thao của Ý cực kỳ đắt tiền, trong khi một chiếc xe cơ bắp của Mỹ tương đối rẻ. Và chiếc xe cơ bắp là những gì nó là bởi vì nó đơn giản, trong khi một cái gì đó như một chiếc Ferrari là rất rất phức tạp. Hoàn toàn trái ngược với CISC so với RISC
Lorenzo Dematté

15

Kiến trúc ARM ban đầu được thiết kế cho máy tính cá nhân Acorn (Xem Acorn Archimedes , khoảng năm 1987 và RiscPC ), cũng giống như các máy tính cá nhân dựa trên bàn phím giống như các mẫu máy tính IBM dựa trên x86. Chỉ các triển khai ARM sau này chủ yếu nhắm vào phân khúc thị trường di động và nhúng.

Ban đầu, các CPU RISC đơn giản có hiệu năng tương đương có thể được thiết kế bởi các nhóm kỹ thuật nhỏ hơn nhiều (xem Berkeley RISC ) so với các CPU làm việc trong quá trình phát triển x86 tại Intel.

Nhưng, ngày nay, các chip ARM nhanh nhất có các đơn vị điều phối lệnh không theo thứ tự rất phức tạp được thiết kế bởi các nhóm kỹ thuật lớn và lõi x86 có thể có thứ gì đó giống như lõi RISC được cung cấp bởi một đơn vị dịch thuật lệnh.

Vì vậy, bất kỳ sự khác biệt hiện tại giữa hai kiến ​​trúc đều liên quan nhiều hơn đến nhu cầu thị trường cụ thể của các hốc sản phẩm mà các nhóm phát triển đang nhắm mục tiêu. .


Vẫn có sự khác biệt lớn về kiến ​​trúc. Tuy nhiên, intel đã thực hiện một công việc tuyệt vời và đầu tư rất nhiều tiền, để làm cho CPU có kiến ​​trúc kém hoạt động rất tốt (người ta tự hỏi điều gì có thể được thực hiện, nếu tất cả nỗ lực này được đưa vào CPU được kiến ​​trúc tốt).
ctrl-alt-delor
Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.