Xin nói trước, đây không phải là ý kiến của riêng mình (mình không đủ kiến thức để làm điều này đâu), mà là 1 bài viết của chuyên gia Paul McLellan một trong những kỹ sư lâu năm trong nền công nghiệp bán dẫn. Đây là tổng hợp của ông ấy dựa trên kinh nghiệm, nghiên cứu của các hãng và mình chỉ dịch lại từ các trang tin nước ngoài. Bài viết này không nhằm để đã kích các hãng di động. Nó chỉ làm rõ người tiêu dùng có nên hay không chạy theo số nhân xử lý trên điện thoại di động. Và mình nghĩ các bạn nên không nên tự ti khi người khác cầm con điện thoại 4-core, 8-core còn bạn cầm con 2-core. Mở đầu, chúng ta sẽ nhắc một ít về lịch sử của đa nhân (Multi-core). Đa vi xử lý (Multi-core, Multi-processors) ban đầu được thúc đẩy trên thị trường PCs bởi Intel, bởi vì các quy luật lượng tử, hạt nhân sẽ bị phá vỡ nếu như Intel cứ tiếp tục nâng tần số xung trong các Chip của mình. Thay vào đó, để tăng cường khả năng tính toán thì không thể chỉ dựa vào sức mạnh của một nhân, hiệu suất sẽ được nâng cao nếu sử dụng đa nhân. Khi bắt đầu, việc này không khó và cho hiệu suất sử dụng tốt khi xây dựng trên nền tảng hai nhân, một lõi sẽ thực hiện tính toán chuyên sâu, lõi còn lại sẽ thực hiện các việc còn lại. Nhưng, nhiều nhân hơn làm mọi việc trở nên rắc rối. Do đó, hiện nay, phần lớn các phần mềm (game, ứng dụng văn phòng, ứng dụng đa phương tiện, trình duyệt web…) chỉ được xây dựng để dùng cho vi xử lý 2 nhân. Chỉ một số ứng dụng về xử lý hình ảnh, âm thanh chuyên dụng (dễ dàng áp dụng các thuật toán phân chia tính toán) là có thể điều khiển số lượng lớn nhân xử lý. Trên nền tảng di động, đa nhân thay đổi với tốc độ nhanh hơn từ khi năng lượng trở thành một vấn đề được quan tâm. Các vi xử lý trên di động hiện nay sẽ không thể phá vỡ được bước tường lượng tử (vốn dĩ đã ngăn cản các vi xử lý của PCs và làm cho tần số của chúng dần tới điểm bảo hòa) nhưng tăng tần số xung đồng nghĩa với việc pin sẽ tiêu hao nhanh hơn và đa nhân lại một lần nữa được nhắc đến. Nhưng nếu nhìn kỹ vào hai hình trên, một điều có thể dễ dàng nhận ra, tốc độ trên 1 nhân điện thoại vẫn chưa đạt đến điểm bảo hòa và nó vẫn có thể tiếp tục được tăng cường. Điều này hoàn toàn khác với PCs, nơi mà sự bảo hòa trên 1 nhân đã đạt được từ rất lâu. Nhưng, cũng như máy tính, quy mô các phần mềm hiện nay cho hiệu suất xử lý cao nhất ở đơn nhân và thấp hơn khi sử dụng đa nhân. Tại sao phải tăng số nhân cho di động trước khi nó đạt tới ngưỡng bảo hòa về tần số? Một điều hiển nhiên là nền tảng di động phát triển sau và nó kế thừa dựa trên những kinh nghiệm về cách khai thác lõi kép… Và nguyên nhân còn lại là “Marketing”. "Phần lớn" nền tảng trên di đông là 4 nhân (hoặc 8 nhân) ngay cả khi PCs dựa vào các nghiên cứu trước đó là một minh chứng cho thấy rõ là số nhân nhiều hơn hai sẽ vô dụng trong phần lớn công việc (sẽ không có ai dùng một chương trình xử lý ảnh chuyên nghiệp như Photoshop trên các máy tính bảng hay điện thoại của họ). Điều đó chỉ ra rằng nguyên nhân của việc tăng số nhân cho một chip không đến từ mặt công nghệ mà là một chiến lược Marketing đến người tiêu dùng. Một ví dụ khác cho việc này là khi duyệt web (trên nền HTML5), tốc độ xử lý trên thiết bị không quan trọng bằng băng thông của nhà mạng (đây là điều hiển nhiên nếu các máy tính bảng dùng 3G sẽ nhanh hơn máy tính cá nhân dùng mạng Dial-up). Tuy nhiên, nhìn vào hình trên, dễ dàng nhận thấy 2 nhân sẽ cải thiện 30% tốc độ so với 1 nhân trong khi 4 nhân chỉ tăng thêm 11% so với 2 nhân. Và một lần nữa, người ta thấy rằng hiệu năng của 1.4GHz Dual-core hơn hẳn 1.2GHz Quad-core. Điều này đã được nghiên cứu, chứng minh trong tất cả các công trình của ST Microelectronic-Ericsson. Hoàn toàn không có lợi khi chuyển từ 2 nhân sang 4 nhân. Và sự thật là 2 nhân với tốc độ hơn 15-20% sẽ luôn vượt 4 nhân.Ý nghĩa của việc này là nâng cao tần số của vi xử lý ở cùng một mức tiêu thụ năng lượng quan trọng hơn là việc cứ tăng số nhân (nhiều hơn 2). Kết: Việc xây dựng phần mềm cho số nhân nhiều hơn 2 là vô cùng khó khăn, do đó các phần mềm thông dụng chỉ chạy trên 1 hoặc 2 nhân. Các phần mềm benchmark sẽ luôn tối ưu để chạy trên số nhân phù hợp với sản phẩm. Do đó, không lạ khi các chỉ số bemchmark đều cho kết quả rất tốt trên các CPU 4 hay 8 nhân. Nhưng sự thật không phải vậy. Qua bài viết mình nghĩ các bạn sẽ có ít nhiều kiến thức về ma trận mà các hãng đang vẽ ra bằng việc tăng số core. Và đừng sai lầm khi sản phẩm Z chỉ dùng 2-core thì sao chạy nhanh bằng các ông sử dụng 4-core, 8-core. Còn nhiều nhân tố ảnh hưởng đến tốc độ 1 sản phẩm chứ không phải cứ hơn core là tốc độ sẽ ngon hơn. Tham khảo Semiwiki Đây là profile của Paul McLellan (một phần giúp nâng cao tính tin cậy của bài viết) http: // www. linkedin. com /pub/paul-mclellan/0/386/953 Mình còn tài liệu của ST và Ericsson nhưng nó rất sâu về chuyên ngành nên cũng ko public cho các bạn.
Hèn gì đo benchmark thấy điểm số Z10 thấp thê thảm mà thấy xài cũng nhanh, mượt, game tuyệt vời, đâu kém gì ai. Thằng bạn làm chung xài sky 840 nó hỏi benchmark mình nhiêu điểm, kiểm tra xong không dám trả lời nó luôn nhưng test browser, game chưa chắc thua à nghen .
Đúng là các hãng chay theo số nhân chủ yếu là quảng cáo, androi vì không thể cạnh tranh táo nên chuyển sang hướng phần cứng tăng số nhân để cho người dùng ảo tưởng sức mạnh. Nhưng trên thực tế táo và bb chỉ dùng chip 2 nhân mà vẫn mượt mà, chỉ androi mới chay đua vũ trang thôi
Chưa hiểu vì sao xây dựng 1 phần mềm lại bị gò bó bởi số nhân CPU ??? Theo mình hiểu thì phần mềm sẽ được dịch ra một đoạn mã thực thi bao gồm các lênh ( cộng trừ nhân chia, dịch, di chuyển vvv ). Các lệnh này được lưu thành 1 dãy ( gọi vậy cho dễ hiểu ). Dãy lệnh đó được phân chia cho 1 hoặc nhiều hơn 1 CPU để thực thi. Không bàn đến tốc độ hay năng lượng tiêu hao, ở đây có khó chăng chỉ là vấn đề phân chia đống lệnh đó đến các ông CPU như thế nào cho hợp lý và hiệu quả nhất. Và đó là điều mà người viết software ( đơn giản như điện thoại di động ) có cần thiết phải quan tâm không ? Mình nghĩ đó là phần lớn thuộc về cơ chế của phần cứng, vì mình nghĩ viết một app cho BlackBerry chẳng hạn, thì developer hầu như không quan tâm đến số lượng Core của điện thoại sắp chạy, hơn nữa, 1 app có thể chạy cho vài dòng điện thoại khác cấu trúc core, nhưng cùng nền OS.
Trên lý thuyết, mọi ứng dụng đa phân luồng đều chạy được trên thiết bị đơn nhân nhưng chậm. Nguồn : http://programmers.stackexchange.co...ltiple-threads-do-that-a-single-thread-cannot ( không biết đúng hay sai, xin đừng chém e ). Theo ý kiến cá nhân của e , chia làm 2 loại : 1 nhân và >= 2 ( lõi kép trở lên) , ứng dụng đa phân luồng dành cho 4 nhân chạy tốt từ 4 nhân trở lên, nhưng không tương thích với 2 nhân, gây chậm. Chắc đó cũng là lý do mà phần lớn ứng dụng đa nhân thời điểm này đều viết chủ yếu cho 2 nhân . Kiến thức là vô hạn trong khi hiểu biết của tớ là có hạn, tớ có file bdf của mc lellan nhưng khó hiểu, giải thích cặn kẽ chuyên sâu,lý do 2 nhân tốt hơn thời điểm này, bạn nào cần thì tớ gửi cho