So sánh mips và x86

TRƯƠNG ĐẠI HỌC SƯ PHẠM KỸ THUẬT THÀNH PHỐHỒ CHÍ MINHKHOA ĐIỆN – ĐIỆN TỬBÀI BÁO CÁOSO SÁNH BỘ VI XỬ LÝ ARM VÀ INTEL X86THÀNH PHỐ HÒ CHÍ MINH, THÁNG 11 NĂM 2016Thành ViênMSSV1MỤC LỤC2I.1.--ARMCấu Trúc ARMCấu trúc ARM (viết tắt từ tên gốc là Advanced RISC Machine) là một loạicấu trúc vi xử lý 32 bit và 64 bit kiểu RISC được sử dụng rộng rãi trong cácthiết kế nhúng. Do có đặc điểm tiết kiệm năng lượng, các bộ CPU ARMchiếm ưu thế trong các sản phẩm điện tử di động, mà với các sản phẩm nàyviệc tiêu tán công suất thấp là một mục tiêu thiết kế quan trọng hàng đầu.Ngày nay, hơn 75% CPU nhúng 32-bit là thuộc họ ARM, điều này khiếnARM trở thành cấu trúc 32-bit được sản xuất nhiều nhất trên thế giới. CPUARM được tìm thấy khắp nơi trong các sản phẩm thương mại điện tử, từthiết bị cầm tay (PDA, điện thoại di động, máy đa phương tiện, máy trò chơicầm tay, và máy tính cầm tay) cho đến các thiết bị ngoại vi máy tính (ổ đĩacứng, bộ định tuyến để bàn.) Một nhánh nổi tiếng của họ ARM là các vi xửlý Xscale của Intel.2.Quá Trình Hình Thành Và Phát Triển-Việc thiết kế ARM được bắt đầu từ năm 1983 trong một dự án phát triển củacông ty máy tính Acorn.-Nhóm thiết kế, dẫn đầu bởi Roger Wilson và Steve Furber, bắt đầu phát triểnmột bộ vi xử lý có nhiều điểm tương đồng với Kỹ thuật MOS 6502 tiên tiến.Acorn đã từng sản xuất nhiều máy tính dựa trên 6502, vì vậy việc tạo ra mộtchip như vậy là một bước tiến đáng kể của công ty này.-Nhóm thiết kế hoàn thành việc phát triển mẫu gọi là ARM1 vào năm 1985,và vào năm sau, nhóm hoàn thành sản phẩm ‘’thực’’ gọi là ARM2. ARM2 cótuyến dữ liệu 32-bit, không gian địa chỉ 26-bit tức cho phép quản lý đến 64Mbyte địa chỉ và 16 thanh ghi 32-bit. Một trong những thanh ghi này đóngvai trò là bộ đếm chương trình với 6 bit cao nhất và 2 bit thấp nhất lưu giữcác cờ trạng thái của bộ vi xử lý. Có thể nói ARM2 là bộ vi xử lý 32-bit khảdụng đơn giản nhất trên thế giới, với chỉ gồm 30.000 transistor (so với bộ vixử lý lâu hơn bốn năm của Motorola là 68000 với khoảng 68.000 transistor).Sự đơn giản như vậy có được nhờ ARM không có vi chương trình (mà chiếmkhoảng ¼ đến 1/3 trong 68000) và cũng giống như hầu hết các CPU vào thờiđó, không hề chứa cache. Sự đơn giản này đưa đến đặc điểm tiêu thụ công3suất thấp của ARM, mà lại có tính năng tốt hơn cả 286. Thế hệ sau, ARM3,được tạo ra với 4KB cache và có chức năng được cải thiện tốt hơn nữa.-Vào những năm cuối thập niên 80, hãng máy tính Apple Computer bắt đầuhợp tác với Acorn để phát triển các thế hệ lõi ARM mới. Công việc này trởnên quan trọng đến nỗi Acorn nâng nhóm thiết kế trở thành một công ty mớigọi là Advanced RISC Machines. Vì lý do đó bạn thường được giải thíchARM là chữ viết tắt của Advanced RISC Machines thay vì Acorn RISCMachine. Advanced RISC Machines trở thành công ty ARM Limited khicông ty này được đưa ra sàn chứng khoán London và NASDAQ năm 1998.-Kết quả sự hợp tác này là ARM6. Mẫu đầu tiên được công bố vào năm 1991và Apple đã sử dụng bộ vi xử lý ARM 610 dựa trên ARM6 làm cơ sở choPDA hiệu Apple Newton. Vào năm 1994, Acorn dùng ARM 610 làm CPUtrong các máy vi tính RiscPC của họ.-Trải qua nhiều thế hệ nhưng lõi ARM gần như không thay đổi kích thước.ARM2 có 30.000 transistors trong khi ARM6 chỉ tăng lên đến 35.000. Ýtưởng của nhà sản xuất lõi ARM là sao cho người sử dụng có thể ghép lõiARM với một số bộ phận tùy chọn nào đó để tạo ra một CPU hoàn chỉnh,một loại CPU mà có thể tạo ra trên những nhà máy sản xuất bán dẫn cũ vàvẫn tiếp tục tạo ra được sản phẩm với nhiều tính năng mà giá thành vẫn thấp.-Thế hệ thành công nhất có lẽ là ARM7TDMI với hàng trăm triệu lõi được sửdụng trong các máy điện thoại di động, hệ thống video game cầm tay, vàSega Dreamcast. Trong khi công ty ARM chỉ tập trung vào việc bán lõi IP,cũng có một số giấy phép tạo ra bộ vi điều khiển dựa trên lõi này.-Dreamcast đưa ra bộ vi xử lý SH4 mà chỉ mượn một số ý tưởng từ ARM(tiêu tán công suất thấp, tập lệnh gọn …) nhưng phần còn lại thì khác vớiARM. Dreamcast cũng tạo ra một chip xử lý âm thanh được thiết kế bởiYamaha với lõi ARM7. Bên cạnh đó, Gameboy Advance của Nintendo, dùngARM7TDMI ở tần số 16,78 MHz.-Hãng DEC cũng bán giấy phép về lõi cấu trúc ARM (đôi khi chúng ta có thểbị nhầm lẫn vì họ cũng sản xuất ra DEC Alpha) và sản xuất ra thế hệ StrongARM. Hoạt động ở tần số 233 MHz mà CPU này chỉ tiêu tốn khoảng 1 wattcông suất (những đời sau còn tiêu tốn ít công suất hơn nữa). Sau những kiệntụng, Intel cũng được chấp nhận sản xuất ARM và Intel đã nắm lấy cơ hội4này để bổ sung vào thế hệ già cỗi i960 của họ bằng Strong ARM. Từ đó,Intel đã phát triển cho chính họ một sản phẩm chức năng cao gọi tên làXscale.3. Chuẩn Giấy Phép ARM-Cấu trúc ARM được công ty Anh ARM Holding đăng ký bản quyền. Pháttriển đầu tiên vào những năm 1980, đến trong năm 2013 nó là kiến trúc đượcsử dụng phổ biến nhất. Trong năm 2011 các nhà sản xuất chip dựa trên kiếntrúc ARM đã báo cáo 7.9 tỉ bộ vi xử lý ARM đã được mua, hiện diện trong95% smartphone, 90% ổ đĩa cứng,40% truyền hình kĩ thuật số và set top box,15% trong vi điều khiển,20% trong máy tính di động.-Một mình ARM Holding không sản xuất chip điện tử, nhưng nó đăng kí bảnquyền của nó đến nhà sản xuất bán dẫn.Bộ vi xử lý và hệ thống trên chip dựatrên kiến trúc ARM bao gồm Qualcomm Snapdragon, nVidia Tegra,MediaTek và Texas Instruments OMAP.5II.INTEL X86-Thuật ngữ x86 dùng để chỉ tới kiến trúc tập lệnh của dòng vi xử lý 8086 củaIntel. 8086 được Intel đưa ra năm 1978.-Intel xem dòng phát triển 8086 là IA-32. Kiến trúc x86 này rất phổ biến chocác thế hệ máy tính cá nhân đang hiện hữu trong nhiều gia đình. Kiến trúcx86 gần như chiếm toàn bộ thị phần máy tính cá nhân, máy workstation vàcả server thậm chí siêu máy tính. Vì tính phổ biến của nó và hỗ trợ tài liệu rấttốt từ Intel nên x86 được rất nhiều lập trình phần mềm viết chương trìnhchạy trên nó. Phần mềm được viết cho x86 bao gồm các nền OS: MS DOS,Window, Linux,BSD và các biến thể Unix.-Kiến trúc x86 không phổ biến hoặc phù hợp lắm với hệ thống nhúng. Nếukiến trúc x86 được Intel gọi là IA-32 thì Intel còn có thế hệ không cùng kiếntrúc là IA-64 hay Itanium. Itanium có sự tiến bộ hơn so với x86 với thiết kếban đầu là 64 bit. Ngoài Intel sản xuất chip kiến trúc x86 còn có: AMD, VIA.1. Kiến Trúc X86-Thuật ngữ x86 chỉ đến họ kiến trúc tập lệnh dựa trên bộ vi xử lý 8086. Thuậtngữ x86 lấy từ hai số cuối của họ 8086. Rất nhiều thay đổi và mở rộng đượcthêm vào kiến trúc x86 qua nhiều năm. Kiến trúc này được hiện thực trongbộ vi xử lý từ Intel, AMD, VIA và nhiều tổ chức khác.-Như thuật ngữ trở thành phổ biến sau sự giới thiệu của 80386, nó thườnghàm ý nhị phân tương đương với bộ tập lệnh 32 bit của 80386. Điều này đôikhi khẳng định x86-32 tách biệt với gốc 16 bit x86-16 hoặc từ 64 bit x86-64.Mặc dù bộ vi xử lý x86 sử dụng trong máy tính cá nhân mới và máy chủ.-Mặc dù 8086 chủ yếu phát triển cho hệ thống nhúng và máy tính nhỏ, dòngx86 sớm phát triển tính năng và sức mạnh xử lý. Ngày nay x86 phổ biến cảmáy tính cá nhân trạm và di động và thay thế máy tính tầm trung và máychủ,trạm dựa trên RISC. Một lượng lớn phần mềm bao gồm hệ điều hànhnhư MS DOS, Windows, Linux, BSD, Solaris và Mac OS X hỗ trợ phầncứng x86.6-8086 thực tế là chế độ thực của bộ vi xử lý ngày nay.-Kiến trúc x86 có độ dài chỉ lệnh không cố định, chủ yếu hai mục đích củathiết kế CISC khẳng định tương thích ngược. Bộ tập lệnh không phải thuộcloại CISC đặc trưng nào tuy nhiên, cơ bản mở rộng có tính vị nhân hóa củaphiên bản đơn giản 8 bit 8008,8080. Một byte có thể đánh địa chỉ được và hỗtrợ 2 byte được lưu trong bộ nhớ với trật tự nhỏ về cuối. Được truy xuất bộnhớ đến địa chỉ không thẳng hàng với kích thước từ. Các phép toán có thểthực hiện với 8, 16, 32, 64 bit tùy theo thế hệ kiến trúc. Thực tế bộ tập chỉlệnh không được cải thiện tốt hơn cho việc lập trình. Opcode chính của x86có thể lên đến 3 byte mang lại khá linh động.2. Tổng Quan-Trong những năm 1980 và đầu những năm 1990, khi 8088 và 80286 vẫn cònsử dụng phổ biến, x86 hạn thường đại diện bất kỳ 8086 CPU tương thích.Hôm nay, tuy nhiên, x86 thường ngụ ý một khả năng tương thích nhị phâncũng với 32-bit tập lệnh của 80386. Điều này là do thực tế là tập lệnh này đãtrở thành một cái gì đó của một mẫu số chung thấp nhất cho nhiều hệ điềuhành hiện đại và có lẽ cũng vì hạn trở nên phổ biến sau khi sự ra đời của80386 vào năm 1985.-Một vài năm sau khi giới thiệu của 8086 và 8088, Intel đã thêm một số phứctạp để đề án đặt tên của nó và các thuật ngữ như "iAPX" của tham vọngnhưng xấu số Intel iAPX 432 bộ xử lý đã được thử nghiệm trên 8.086 giađình thành công hơn của chip, áp dụng như một loại tiền tố hệ thống cấp.Một 8086 hệ thống , bao gồm cả coprocessors như 8087 và 8089 , cũng nhưchip hệ thống Intel cụ thể đơn giản hơn, do đó được mô tả như một iAPX 86hệ thống . Cũng có những từ ngữ iRMX (cho các hệ điều hành) , iSBC (đốivới các máy tính đơn tấm mạch), và iSBX (đối với Ban multimodule dựatrên 8086 kiến trúc) - tất cả cùng nhau dưới tiêu đề Microsystem 80. Tuynhiên, đề án đặt tên này khá tạm thời, kéo dài trong một vài năm trong nhữngnăm đầu thập niên 1980.-Mặc dù 8086 chủ yếu được phát triển cho các hệ thống nhúng và đa ngườidùng hoặc người dùng đơn nhỏ máy tính, chủ yếu là để đối phó với những7thành công 8080-tương thích Zilog Z80 , dòng x86 sớm lớn trong tính năngvà sức mạnh xử lý. Hôm nay, x86 là phổ biến trong cả hai máy tính cá nhâncủa văn phòng phẩm và di động, và cũng được sử dụng trong các máy tínhtầm trung , máy trạm , máy chủ và mới nhất siêu máy tính cụm của Top500danh sách. Một số lượng lớn các phần mềm, bao gồm cả hệ điều hành (HĐH)như DOS , của Windows , Linux , BSD , Solaris và OS X , chức năng vớiphần cứng dựa trên x86.-X86 hiện đại là khá phổ biến trong các hệ thống nhúng , tuy nhiên, và nhỏđiện năng thấp ứng dụng (sử dụng pin nhỏ) cũng như các thị trường bộ vi xửlý với chi phí thấp, chẳng hạn như đồ gia dụng và đồ chơi, thiếu thốn mọimặt x86 đáng kể. Đơn giản 8-bit và 16-bit kiến trúc dựa trên phổ biến ở đây,mặc dù tương thích x86 VIA C7 , VIA Nano , AMD 's Geode , Athlon Neovà Intel Atom là những ví dụ của 32 và 64-bit thiết kế được sử dụng trongmột số tương đối năng lượng thấp và chi phí thấp phân đoạn.-Đã có nhiều nỗ lực, bao gồm cả bản thân Intel, kết thúc sự thống trị thịtrường của các "thanh nha" x86 kiến trúc được thiết kế trực tiếp từ bộ vi xửlý 8-bit đơn giản đầu tiên. Các ví dụ của việc này là iAPX 432 (một dự ánban đầu được đặt tên là "Intel 8800"), các Intel 960 , Intel 860 và Intel /Hewlett-Packard Itanium kiến trúc. Tuy nhiên, sự tinh tế liên tục của x86microarchitectures , mạch và sản xuất chất bán dẫn sẽ làm cho nó khó khănđể thay thế x86 trong nhiều phân đoạn. Mở rộng 64-bit của AMD x86 (màIntel cuối cùng đã trả lời với một thiết kế tương thích) và khả năng mở rộngcủa chip x86 như tám lõi Intel Xeon và 12 lõi AMD Opteron được gạch chânx86 như một ví dụ về cách liên tục sàng lọc các tiêu chuẩn công nghiệp đượcthành lập có thể cưỡng lại sự cạnh tranh từ các kiến trúc hoàn toàn mới.83. Quá Trình Hình Thành Và Phát Triển-Tại thời điểm khác nhau, các công ty như IBM , NEC , [h] AMD , TI , STM ,Fujitsu , OKI , Siemens , Cyrix , Intersil , C & T , NexGen , UMC , và DM &P bắt đầu thiết kế hoặc sản xuất x86 vi xử lý (CPU ) dành cho máy tính cánhân cũng như các hệ thống nhúng. Triển khai x86 như là bản sao hiếm khiđơn giản nhưng thường sử dụng nội bộ khác nhau microarchitectures cũngnhư các giải pháp khác nhau ở các cấp điện tử và vật lý. Khá tự nhiên, vi xửlý tương thích đầu là 16-bit, trong khi thiết kế 32-bit được phát triển sau này.Đối với các máy tính cá nhân trên thị trường, số lượng thực sự bắt đầu xuấthiện khoảng năm 1990 với i386 và i486 bộ xử lý tương thích, thường đượcđặt tên tương tự như chip ban đầu của Intel. Các công ty khác, được thiết kếhoặc sản xuất x86 hoặc x87 vi xử lý, bao gồm ITT Corporation , NationalSemiconductor , Công nghệ Hệ thống ULSI , và Weitek .-Sau khi hoàn toàn pipelined i486 , Intel đã giới thiệu Pentium tên thươnghiệu (trong đó, không giống như các con số, có thể được đăng ký thươnghiệu) cho các thiết lập mới của họ superscalar thiết kế x86; với các chươngtrình đặt tên x86 đã được dọn khỏi về mặt pháp lý, các nhà cung cấp x86khác phải chọn tên khác nhau cho các sản phẩm tương thích x86 của họ, vàbước đầu một số lựa chọn tiếp tục với các biến thể của sơ đồ thứ: IBM hợptác với Cyrix để sản xuất các 5x86 và sau đó là rất hiệu quả 6x86 (M1) và6x86 MX ( MII ) dòng Cyrix thiết kế, mà là những bộ vi xử lý x86 đầu tiênthực hiện đăng ký đổi tên để cho phép thực hiện suy đoán . AMD trong khiđó thiết kế và sản xuất tiên tiến nhưng bị trì hoãn 5k86 ( K5 ), trong đó, nộibộ, đã được chặt chẽ dựa trên đầu của AMD 29K RISC thiết kế; tương tựnhư NexGen's Nx586 , nó được sử dụng một chiến lược như vậy mà giaiđoạn đường ống dẫn chuyên dụng giải mã lệnh x86 thành thống nhất và dễdàng xử lý vi hoạt động , một phương pháp mà vẫn là cơ sở cho hầu hết cácthiết kế x86 cho đến ngày nay.-Một số phiên bản đầu của các bộ vi xử lý có vấn đề tản nhiệt. Các 6x86 cũngbị ảnh hưởng bởi một vài vấn đề tương thích nhỏ, Nx586 thiếu một đơn vịnổi điểm (FPU) và (sau đó rất quan trọng) pin-tương thích, trong khi K5 cóhiệu suất hơi đáng thất vọng khi nó đã được (cuối cùng) giới thiệu. Sự thiếu9hiểu biết của khách hàng lựa chọn thay thế cho các dòng Pentium hơn nữađóng góp cho những thiết kế này là tương đối thành công, mặc dù thực tếrằng K5 có khả năng tương thích Pentium rất tốt và 6x86 là nhanh hơn so vớiPentium đáng kể trên mã số nguyên. [J] AMD sau đó quản lý để thành lậpchính nó như là một contender nghiêm trọng với K6 bộ xử lý, dẫn tới sự rấtthành công Athlon và Opteron . Cũng có những ứng cử viên khác, chẳng hạnnhư Centaur Technology (trước đây là IDT ), Rise Công nghệ, và Transmeta .VIA Technologies năng lượng hiệu quả C3 và C7 bộ vi xử lý, được thiết kếbởi các Centaur công ty, đã được bán cho nhiều năm. Thiết kế mới nhất củaCentaur, các VIA Nano , là bộ vi xử lý đầu tiên của họ với superscalar vàthực hiện suy đoán . Đó là, có lẽ điều thú vị, được giới thiệu vào khoảngcùng thời gian như bộ xử lý của Intel đầu tiên "trong trật tự" kể từ khi P5Pentium , các Intel Atom.104. Kiến Trúc Tập Lênh-Các kiến trúc x86 là một chiều dài hướng dẫn biến, chủ yếu là " CISC " thiếtkế với sự nhấn mạnh về khả năng tương thích ngược . Các tập lệnh là khôngđiển hình CISC, tuy nhiên, nhưng về cơ bản là một phiên bản mở rộng củađơn giản tám-bit 8008 và 8080 kiến trúc. Byte-giải quyết được kích hoạt vàtừ được lưu trữ trong bộ nhớ với cuối nhỏ thứ tự byte. Bộ nhớ truy cập đếncác địa chỉ unaligned được phép cho tất cả các kích cỡ từ hợp lệ. Kích thướcbản địa lớn nhất cho số nguyên số học và bộ nhớ địa chỉ (hoặc hiệu số ) là16, 32 hoặc 64 bit tùy thuộc vào thế hệ kiến trúc (bộ vi xử lý mới hơn baogồm hỗ trợ trực tiếp cho các số nguyên nhỏ hơn là tốt). Nhiều giá trị vôhướng có thể được xử lý đồng thời thông qua các đơn vị SIMD có mặt trongthế hệ sau này, như mô tả dưới đây. Ngay lập tức giải quyết hiệu số và dữliệu ngay lập tức có thể được thể hiện như số lượng 8-bit cho các trường hợpthường xuyên xảy ra hoặc những bối cảnh mà một -128 .. 127 phạm vi là đủ.Do đó hướng dẫn điển hình là 2 hoặc 3 byte chiều dài (mặc dù một số cónhiều thời gian hơn, và một số là single-byte).-Để bảo tồn thêm không gian mã hóa, hầu hết các thanh ghi này được thể hiệntrong opcodes sử dụng ba hoặc bốn bit, sau đó thông qua một tiền tố opcodeở chế độ 64-bit, trong khi nhiều nhất là một toán hạng tới một chỉ dẫn có thểlà một vị trí bộ nhớ. Tuy nhiên, điều này bộ nhớ toán hạng cũng có thể làđiểm đến (hoặc một nguồn kết hợp và đích), trong khi các toán hạng khác,các nguồn , có thể là đăng ký hoặc ngay lập tức . Trong số các yếu tố khác,điều này góp phần vào một mã kích thước mà các đối thủ máy tám-bit và chophép sử dụng hiệu quả bộ nhớ Cache lệnh. Các số lượng tương đối nhỏ cácthanh ghi chung (còn được thừa hưởng từ tổ tiên 8-bit của nó) đã thực hiệnđăng ký, tương đối quyết (sử dụng hiệu nhỏ ngay lập tức) là một phươngpháp quan trọng của toán hạng truy cập, đặc biệt là trên stack. Do đó nhiềucông trình được đầu tư trong việc đưa ra như truy cập nhanh như đăng kýtruy cập, tức là một thông hướng dẫn một chu kỳ, trong hầu hết các trườnghợp các dữ liệu truy cập là có sẵn trong bộ nhớ cache cấp cao nhất.11III.SO SÁNH ARM VÀ X861. Bộ Xử Lí Trung Tâm-CPU (central processing unit - Bộ xử lí trung tâm) vẫn giữ nguyên vai tròcủa nó từ trước tới nay, là “bộ não” của thiết bị điện toán. Nhiệm vụ của nólà thực thi chuỗi các lệnh để điều khiển phần cứng trên thiết bị như mànhình, modem nhận sóng di động,... nhằm làm cho nguyên một khối thiết bịtrở thành chiếc điện thoại thông minh, hay máy tính bảng trở nên sống động.Thiết bị di động luôn là vật phức tạp, yêu cầu CPU phải thực thi hàng triệutập lệnh để có thể vận hành như chúng ta mong muốn. Tốc độ xử lí và mứctiêu thụ điện năng là hai yếu tố cực kỳ quan trọng. Tốc độ ảnh hưởng đến trảinghiệm người dùng trong khi mức tiêu thụ điện năng lại ảnh hưởng đến thờigian dùng pin. Thiết bị di động hoàn hảo phải có được cả về tốc độ lẫn tiêutốn ít điện năng.-Đó là lý do tại sao chọn lựa CPU là rất quan trọng. Một CPU ngốn điện sẽkhiến pin mau hết, nhưng một CPU hiệu quả và mạnh mẽ sẽ cho bạn cả haithứ: tốc độ và thời gian dùng pin lâu.-Ở mức cao nhất, sự khác biệt đầu tiên giữa CPU của ARM và Intel(x86) làARM dùng RISC (Reduced Instruction Set Computing – tập lệnh rút gọn) vàIntel dùng CISC (Complex Instruction Set Computing – tập lệnh đầy đủ).Nói ngắn gọn, RISC gọn hơn, cụ thể hơn trong khi CISC lớn hơn, phức tạphơn. Điều này có nghĩa là mỗi tập lệnh cần chuyển dịch ra từng lệnh đơn màCPU có thể thực thi, ví dụ thêm nội dung vào hai thanh ghi (register). CISCdiễn đạt một ý tưởng duy nhất nhưng CPU phải cần đến 3 hay 4 lệnh cơ bảnhơn nữa thì mới có thể thực thi được. Ví dụ, một CPU CISC nhận được lệnhlà cùng lúc thêm vào 2 số lưu trong bộ nhớ chính. Để làm điều này, CPUCISC cần lấy số từ địa chỉ 1 (1 công việc), lấy số từ địa chỉ 2 (công việc thứ2), thêm hai số vào bộ nhớ (công việc thứ 3) và cứ tiếp tục như thế.12-Mọi CPU hiện đại sử dụng một khái niệm gọi là microcode (vi mã), là mộttập lệnh nội hàm của CPU dùng để mô tả các công việc chi tiết như trên màCPU có thể thực hiện. Đó là những công việc ở cấp thấp nhất, nhỏ nhất màCPU thực sự phải làm. Trên bộ xử lý RISC, các công việc trong tập lệnhphức tạp và các công việc trong tập lệnh microcode rất gần nhau. Còn trênCISC, các lệnh phức tạp cần phải chia nhỏ thành các lệnh microcode nhỏhơn. Điều này có nghĩa là bộ giải mã tập lệnh phải làm việc nhiều hơn trênbộ nhớ CISC, còn bộ xử lý RISC thì xử lý đơn giản hơn, cũng có nghĩa là íttốn điện và hiệu quả cao hơn.132. Cấu Trúc Tập LệnhBộ xử lý arm ( Tập lệnh risc )- Bộ xử lý có kích thước miếng bándẫn nhỏ hơn: bộ xử lý đơn giản đòi hơiít transistor hơn, do đó kích thước cầndùng sẽ nhỏ hơn, dành vùng để tăngcác chức năng khác (bộ nhớ cache,quản lý bộ nhớ )- Thời gian phát sinh một sản phẩmngắn hơn (do kỹ thuật đơn giản hơn)- Cấu hình mạnh hơn: câu lệnh đơngiản RISC chỉ cần một chu kỳ xungnhịp để thực thi một lệnh- RISC đọc các xung/nhịp nhanh hơntuy. Tuy nhiên bộ xử lý có kiến trúc vixử lí RISC cần có một thanh RAMnhanh, đây là một hướng đi mới đầytiềm năng- Đòi hỏi phải có các phần mềm hỗ trợmềm để xử lí các phần chương trình dophần cứng để lại.- Hệ thống dễ bị chậm nếu thực hiệncác công việc phức tạp- Tiết kiệm năng lượng nên chiếm ưuthế trong các sản phẩm điện tử di động,mà với các sản phẩm này việc tiêu táncông suất thì là rất thấp- Tốc độ xử lý nhanh hơn-Bộ xử lý x86 ( Tập lệnh cisc )- Câu lệnh tuy phức tập nhưng tập lệnhchương trình ngắn gọn hơn -> để tốnbộ nhớ hơn khi lưu trữ- CISC hoạt động rất mạnh về khả năngtích hợp các mã lệnh để tăng hiệu suấtcủa mình- Thực hiện được các lệnh phức tạp- Lập trình đơn giản hơn với câu lệnh ítvà dễ dàng hơn- Bộ vi xử lí của phần cứng có khảnăng hiểu và thực hiện một chuỗi thứtự các hoạt động cần làm- Quá trình thực thi lệnh được xử lýtrực tiếp trên bộ nhớ và không yêu cầungười lập trình phải gọi một cách rõràng để sử dụng (tải và lưu trữ chứcnăng của nó)- Sử dụng rất nhiều code trong ROMđể giải mã các lệnh khi thực thi143. Phạm Vi Xử Dụng-ARM các thiết bị cầm tay điển hình là điện thoại di động-X86 chủ yếu máy tính cá nhân< bảng so sánh>NănglượngGiá cảMáy vi tínhbộ vi xử lý máy tính mạnh hơnthường đòi hỏi một lượng lớnnăng lượng và làm mát. Máy tínhđược trang bị để cung cấp cácyêu cầu đối với các bộ xử lý, vìvậy có thể tính năng khả năngtính toán cao hơn.Giá cho một máy tính (máy tínhđể bàn hoặc máy tính xách tay)có thể rất khác nhau, tùy thuộcvào khả năng của mình, lưu trữ,và các tính năng. Một máy tínhmạnh hơn sẽ đắt hơn, nhưng giámáy tính có thể dao động từ $300 đến $ 2000.Kích thước Máy tính để bàn sử dụng mànmàn hìnhhình với kích thước màn hìnhlớn. màn hình kích thước tiêuchuẩn là từ 17 "và 24" ở hầu hếtcác trường hợp, nhưng màn hìnhlớn hơn có thể được sửdụng. Chúng bao gồm một TVhoặc máy chiếu. Máy tính xáchtay có đặc trưng là màn hìnhkích thước lên đến 17 ".Điện thoai thông minhĐiện thoại thông minh nhỏ gọnhơn và không có khả năng cungcấp lượng điện năng và làm mátbộ vi xử lý mạnh hơn yêu cầu. Họlà những hạn chế để xử lý điện ápthấp hơn, mặc dù các bộ xử lý củaloại hình này đang trở nên tiêntiến hơn và mạnh mẽ.điện thoại di động, đặc biệt làđiện thoại thông minh, có thể thayđổi trong giá dựa trên sức mạnhvà tính năng khác nhau, nhưngkhông nhiều như các máytính. Giá cả có thể được $ 100 đến$ 500 trong hầu hết trường hợpvới hợp đồng.Điện thoại thông minh, do kíchthước nhỏ hơn, tính năng kíchthước màn hình nhỏ hơn từ 2.5"đến 4.8", với một vài trường hợpngoại lệ. Để có được một kíchthước màn hình lớn hơn (lên đến10 "), bạn sẽ phải dấn thân vào thịtrường tablet, mà đôi khi có thểtính năng khả năng gọi điện thoại,nhưng đó không phải là tiêuchuẩn.15Khả năngdi chuyểnLưu trữKết nốiHệ điêuhànhMáy tính để bàn không được coilà di động. Họ không phải là dễdàng để di chuyển xungquanh. Máy tính xách tay đượccầm tay, trọng lượng nhẹ, và dễdàng để đặt trong một chiếc balô. Tuy nhiên, máy tính xách tayvới màn hình lớn hơn (17 "+) cóthể là cồng kềnh và khó khănhơn để thực hiện, trọng lượnglên đến bảy hay tám pounds.Ổ cứng máy tính đã có hơn mộtterabyte (TB) và tiếp tục gia tăngkích thước. Ngay cả các máytính cơ bản nhất đi kèm với mộtổ đĩa cứng 250 gigabyte (GB)hôm nay.Điều này áp dụng chocả máy tính xách tay máy tính đểbàn và. Đối với hầu hết mọingười, lưu trữ sẽ không là mộtvấn đề, vì ngay cả 250 GB là quáđủ cho nhiều người sử dụng.Điện thoại thông minh, trong khilớn hơn một chiếc điện thoại diđộng tiêu chuẩn một chút, vẫncòn nhiều di động hơn so với bấtkỳ máy tính. Họ rất nhẹ và có thểphù hợp trong ví hoặc túi quần dễdàng. Chúng được thiết kế đểđược ở khắp mọi nơi với bạn, vìvậy định nghĩa của di động.Một số điện thoại thông minh đikèm với xây dựng trong lưu trữ,từ 8 GB đến 64 GB. Trong một sốtrường hợp, một khe cắm mở rộngcó thể có sẵn để thêm một chip bộnhớ bổ sung cho khả năng lưu trữnhiều hơn. Điện thoại thông minh,nói chung, sẽ cung cấp dunglượng lưu trữ ít hơn so với mộtmáy tính, nhưng đối với hầu hếtngười dùng, lưu trữ được cungcấp là đầy đủ hơn. Như các chipbộ nhớ tăng kích cỡ, như vậy sẽkhả năng lưu trữ của một điệnthoại thông minh.Mặc dù máy tính có thể kết nốiĐiện thoại thông minh có một kếvới 3G, 4G hoặc mạng điện thoại hoạch dữ liệu cho phép chúngkhác, máy tính không đi kèm với được kết nối với Internet mọi lúc,các trang thiết bị cần thiết. Hầumiễn là điện thoại nhận được tínhết các máy tính xách tay dựahiệu từ một tháp điện thoại ditrên wi-fi tín hiệu để kết nối với động.Internet.Máy tính đến với một hệ điềuViên nén đi kèm với một hệ điềuhành đầy đủ hơn đặc trưng do có hành hơn rút gọn xuống do có khảsức mạnh và yêu cầu bộ nhớ máy năng tính toán hạn chế hơn và bộtính. Cả hai máy tính để bàn vànhớ. Các androi OS và Apple IOSmáy tính xách tay có thể chạylà những hệ thống đầy đủ hoạtmột phiên bản đầy đủ tính năngđộng cho người dùng máy, nhưngcủa một hệ điều hành, với cáckhông phải là hệ điều hành đầy đủ16Nhập dữliệu vàngười sửdụng đầuvàotùy chọn để lựa chọn hệ điềuhành trên máy tính.tính năng tìm thấy trong máytính.Ngay cả hệ điều hànhWindows được tìm thấy trên điệnthoại thông minh chọn là mộtphiên bản rút gọn của được tìmthấy trên một máy tính.aMột máy tính sử dụng một bànphím để nhập dữ liệu mà hầu hếtngười dùng đã quen thuộc với vàthoải mái sử dụng. Con chuộtcũng có sẵn để di chuyển dễdàng và nhấn chuột.Điện thoại thông minh tính năngmột bàn phím cảm ứng trên mànhình đó là nhỏ hơn nhiều so vớimột máy tính tiêu chuẩn. Bànphím nhỏ hơn có thể làm cho gõkhó khăn hơn cho người sử dụng,đặc biệt là đối với những người cóngón tay to. Một số điện thoạithông minh được trang bị bànphím trượt ra, với các phím thựctế để báo chí.Một lần nữa, bànphím này là nhỏ hơn nhiều so vớimột bàn phím máy tính và vẫn cóthể là khó khăn cho một số ngườidùng.174. Điện Năng Sử Dụng-Sự khác biệt lớn tiếp theo giữa bộ xử lý ARM và Intel(x86) là ARM ngay từban đầu đã được thiết kế với mục đích hiệu quả về điện năng. Và ARM đãtinh thông về công nghệ hướng đến yếu tố này. Tuy vậy, Intel lại rất “sành”trong việc thiết kế ra những bộ xử lý mạnh mẽ dành cho máy tính bàn vàmáy chủ. Đến nay, Intel vẫn dẫn đầu ngành trong thị trường máy bàn và máychủ từ 20 năm qua. Tuy vậy, khi đến với di động, Intel lại tiếp tục sử dụngcùng cấu trúc tập lệnh CISC mà họ dùng cho máy bàn và chỉnh sửa cấu trúcấy cho hợp với thiết bị di động.-Bộ xử lý Intel i7 trung bình sản sinh nhiệt lượng khoảng 45W. Một chip SoCcủa điện thoại thông minh chạy nền ARM (gồm cả GPU) có ngưỡng nhiệtlượng tối đa khoảng 3W, ít hơn 15 lần so với Intel i7. Intel hiện nay có đượcđội ngũ kỹ sư giỏi, hùng hậu. Bộ xử lý Atom mới nhất của họ có thiết kếnhiệt tương tự với bộ xử lý nền ARM, nhưng để làm được điều đó thì họ phảisử dụng quy trình sản xuất 22 nm mới nhất. Theo hướng này, chỉ số nanometcàng thấp thì càng hiệu quả về điện năng. Bộ xử lý ARM cũng có những đặctính nhiệt lượng tương tự nhưng ở quy trình xử lý nanomet lớn hơn. Ví dụ,Qualcomm Snapdragon 805 sử dụng quy trình 28 nm.185. Điện Toán 64-Bit-Khi nói đến điện toán 64-bit, cũng có vài khác biệt quan trọng giữa ARM vàIntel. Bạn cần biết Intel thậm chí không phải là công ty phát minh ra bản 64bit của tập lệnh x86 của họ. Trước đây còn có tên là x86-64 (hoặc đôi khi chỉvắn tắt là x64), tập lệnh này thực chất do AMD thiết kế. Câu chuyện là Intelmuốn đi lên điện toán 64-bit nhưng nếu sử dụng kiến trúc 32-bit x86 để tạora bản 64-bit là không hiệu quả. Vì vậy, Intel khởi động một dự án bộ xử lý64-bit mới tên là IA64. Và kết quả là dòng bộ xử lý Itanium ra đời. Trong khiđó, AMD biết họ không thể sản xuất được bộ xử lý tương thích IA64 nênAMD đi trước một bước khi mở rộng thiết kế x86 để có thể tương thích đượcvới bộ định địa chỉ và thanh ghi 64-bit. Kết quả là kiến trúc mang tênAMD64 ra đời, trở thành chuẩn 64-bit không chính thức dành cho bộ xử lýx86.-Dự án IA64 chưa bao giờ đạt được thành công mỹ mãn và đến nay đã đi vàongõ cụt. Cuối cùng, Intel cũng phải chấp nhận AMD64. Các sản phẩm diđộng hiện thời của Intel là bộ xử lý 64-bit sử dụng tập lệnh 64-bit do AMDthiết kế nhưng có vài khác biệt nhỏ.-Còn với ARM, câu chuyện lại khác đi. Nhận thấy nhu cầu điện toán 64-bitcho di động, ARM công bố kiến trúc ARMv8 64-bit hồi năm 2011. Đây làkết quả của quá trình nhiều năm nghiên cứu về kiến trúc tập lệnh (ISA,instruction set architecture) ARM thế hệ tiếp theo. Kiến trúc ARMv8 sử dụnghai trạng thái thực thi, AArch32 và AArch64.-Giống như tên của hai trạng thái này, ARMv8 chạy mã 32-bit bằng AArch32và mã 64-bit bằng AArch64. Điểm nhấn của thiết kế ARM là bộ xử lý có thểchuyển đổi qua lại giữa hai trạng thái rất mượt trong suốt quá trình vận hành.Bộ giải mã cho các lệnh 64-bit hoàn toàn mới, không cần tương thích với bộgiải mã 32-bit. Tuy vậy, bộ xử lý này lại có vấn đề về khả năng tương thíchngược.196. Điện Toán Không Đồng Nhất-Kiến trúc big.LITTLE (kiểu chơi chữ: ý nói nhỏ nhưng lớn, lớn nhưng nhỏ)của ARM là một cải tiến mà Intel không thể bắt kịp. Trong big.LITTLE, cácnhân CPU không cần cùng loại. Trước nay, một bộ xử lý nhân đôi hay nhântứ có 2 hoặc 4 nhân cùng loại. Vì vậy, bộ xử lý Atom nhân đôi có hai nhânx86-64 giống nhau, đều có tốc độ xử lý như nhau và sử dụng cùng mức nănglượng. Nhưng với big.LITTLE, ARM đưa ra khái niệm điện toán không đồngnhất (heterogeneous computing) cho thiết bị di động. Điều này có nghĩa làcác nhân có thể khác nhau về tốc độ xử lý lẫn điện năng tiêu thụ. Khi thiết bịdi động không phải làm nhiều việc thì nhân điện năng thấp chạy, nhưng khitải các ứng dụng nặng như game thì nhân tốc độ cao sẽ vào cuộc.-Nhưng đây mới là điều kỳ diệu. Khi nói về thiết kế CPU, có một loạt quyếtđịnh quan trọng về mặt thiết kế ảnh hưởng trực tiếp đến tốc độ xử lý vàlượng điện năng tiêu tốn của bộ xử lý. Khi một lệnh được giải mã và chuẩnbị được đưa vào thực thi thì CPU (cả ARM lẫn Intel) sử dụng luồng pipeline,điều này nghĩa là mỗi một phần của quy trình giải mã lệnh ấy đều đang đượcxử lý song song. Nên giai đoạn 1 là CPU đi lấy lệnh từ bộ nhớ, sau đó giaiđoạn 2 là lọc ra loại lệnh nào cần được kiểm tra và giải mã, giai đoạn 3 làlệnh đó sẽ được thực thi, và cứ tiếp tục vòng lặp như vậy. Điểm hay củaluồng xử lý pipeline là trong khi lệnh đầu tiên đang ở giai đoạn 2 thì lệnhtiếp theo đã nằm ở giai đoạn 1. Khi lệnh đầu tiên đang ở giai đoạn 3 thì lệnhthứ 2 đã đến giai đoạn 2 và lệnh thứ 3 đang ở giai đoạn 1, liên tục như vậy.-Để đẩy nhanh tiến độ thì luồng pipeline này được chỉnh sửa để lệnh có thểđược thực thi theo một trật tự khác một chương trình thông thường. Có mộtnguyên tắc logic để quy định lệnh tiếp theo là gì dựa trên nội dung của lệnhtrước đó. Cả Intel và ARM đều đưa ra nguyên tắc logic riêng nhưng đó làcông nghệ phức tạp. Phức tạp ở đây có ý là tốn nhiều điện năng để xử lý.Trên bộ xử lý Intel, các nhà thiết kế chọn cách áp dụng một lệnh nào đó cócần được sắp xếp để thực thi hay không. Nhưng với điện toán bất đồng thìkhông là vấn đề. Nhân ARM Cortex-A53 đưa hết các lệnh vào thực thi màkhông cần sắp xếp, nghĩa là ít tốn điện năng hơn; còn nhân Cortex-A57 thìsắp xếp lệnh đầu vào, nghĩa là chạy nhanh hơn nhưng tốn nhiều điện năng20hơn. Trong bộ xử lý big.LITTLE, có cả hai nhân Cortex-A53 và Cortex-A57và hai nhân này được sử dụng tuỳ vào nhu cầu. Bạn không cần đến một lệnhthực thi cực nhanh nào chỉ để âm thầm đồng bộ email nhưng bạn lại cần lệnhđó khi chơi game. Vậy nhân thích hợp cần dùng đúng thời điểm.-Nguyên tắc sử dụng logic phức tạp trong bộ xử lý để tăng tốc độ xử lý vàlogic đơn giản để tiết kiệm điện không chỉ đơn thuần là áp dụng cho dònglệnh pipeline. Nguyên tắc này cũng áp dụng cho các đơn vị tính toán dấuchấm động cho đến logic SIMD (như NEON trên ARM và SSE/MMX trênIntel) và cách mà bộ đệm cache L1 và L2 chạy. Intel đưa ra một giải phápcho mỗi chip Atom SoC, còn ARM thông qua đối tác của họ, đưa ra đượcnhiều cấu hình nhân xử lý, nhiều nhân trong số này có thể đặt đồng thời trênmột tấm silicon.217. Tính Tương Thích-ARM hiện dẫn đầu thị trường về bộ xử lý di động. Các đối tác của ARM đãxuất khoảng 50 tỉ chip dựa trên thiết kế của ARM cho mọi thiết bị di động vàthiết bị nhúng trên thị trường. Đối với Android, ARM là chuẩn không chínhthức và hiện thực này đang tạo ra vấn đề đối với Intel và MIPS. Mặc dùAndroid sử dụng Java là ngôn ngữ lập trình chủ đạo nhưng nó cũng cho phépcác nhà lập trình tận dụng mã nguồn (như C, C++) hiện thời để tạo ứng dụng.Nhưng nhìn chung, những ứng dụng được thiết kế riêng (native) đều đượcbiên dịch cho bộ xử lý ARM, còn với Intel và MIPS thì không. Để giải quyếtđiều này, Intel và MIPS cần dùng một phần mềm chuyển dịch chuyên biệt đểchuyển đổi các lệnh ARM thành mã nguồn cho bộ xử lý của họ. Điều này lạitác động đến hiệu năng. Tính đến nay, MIPS và Intel có thể khẳng định tínhtương thích chip của họ với các app trên Play Store đạt khoảng 90%. Con sốnày đạt gần đến 100% đối với 150 app nằm trong top đầu. Một mặt, đây cóthể là dấu hiệu tốt nhưng mặt khác, nó lại cho thấy sự thống trị của ARM màcác nhà thiết kế bộ xử lý khác cần phải tạo thêm một lớp tương thích nữa.228. Kết Luận-Tạo một CPU là ngành kinh doanh phức tạp. ARM, Intel và MIPS đều đangnỗ lực hết mình để mang ra thị trường công nghệ tốt nhất cho thiết bị diđộng. Tuy nhiên, rõ ràng ARM đang đi đầu. Họ tập trung tốt và điện năngtiêu tốn của bộ xử lý, thiết lập 64-bit gọn đẹp, điện toán không đồng nhất vàhọ gần như trở thành chuẩn trong ngành điện toán di động.23