24/05/2018, 22:43

CPU đa nhân

, CPU đa lõi (tiếng Anh: multi-core) là bộ vi xử lý trung tâm (Central Processing Unit) có nhiều đơn vị vi xử lý được tích hợp trên cùng một CPU vật lý duy nhất. Một cách khác, chúng giống như sự ghép nối nhiều CPU thông thường trước đây trở thành một CPU ...

, CPU đa lõi (tiếng Anh: multi-core) là bộ vi xử lý trung tâm (Central Processing Unit) có nhiều đơn vị vi xử lý được tích hợp trên cùng một CPU vật lý duy nhất. Một cách khác, chúng giống như sự ghép nối nhiều CPU thông thường trước đây trở thành một CPU duy nhất.

nhân được giới thiệu lần đầu tiên vào năm 2001 bởi hãng IBM với loại CPU Power4 dành riêng cho các máy chủ. Bắt đầu từ đó các hãng sản xuất CPU khác bắt đầu chú ý đến thể loại và định hướng phát triển sản phẩm của mình theo theo thể loại này. Hai nhà sản xuất CPU cho PC lớn là AMD và Intel cũng có các phản ứng khác nhau: AMD đã bắt đầu có định hướng ngay cho , Intel còn dè dặt trong giai đoạn đầu, nhưng cũng bắt đầu vào cuộc.[1] Kể từ đó có một sự cạnh tranh giữa hai hãng để chiếm lĩnh thị phần CPU máy tính trên phương diện đa nhân, hiệu năng xử lý và giá bán, sự cạnh tranh này vẫn còn tồn tại cho đến thời điểm hiện nay và chưa có dấu hiệu kết thúc.

Phân loại máy tính và chức năng

Không như nhiều người hiểu rằng máy tính chỉ đơn giản là những chiếc máy giống như họ đã biết và từng làm việc hàng ngày (hoặc một số rất ít người hiểu chúng như những chiếc máy tính cầm tay dùng cho các phép tính cộng trừ đơn giản dành cho học sinh), chúng đã được làm nhiều loại để phục vụ cho các nhu cầu của những người sử dụng khác nhau hoặc cho nhiều người sử dụng. Phần phân loại dưới đây sơ lược giúp bạn hiểu thêm về nghĩa rộng hơn của máy tính quen dùng:

  • Phần lớn các máy tính trên thế giới hiện nay thuộc thể loại máy tính cá nhân, một cách hiểu đơn giản là chúng dành cho một người sử dụng (cá nhân) và làm việc với chúng trong duy nhất một thời điểm. Máy tính cá nhân có thể thực hiện nhiều chương trình khác nhau ở các thời điểm khác nhau, chúng có thể được sử dụng rộng rãi bởi những người sử dụng ở văn phòng như một công cụ trợ giúp cho công việc, hoặc được sử dụng ngoài nơi làm việc (ở nhà) với mục đích chủ yếu cho giải trí, truy cập thông tin thông qua mạng Internet toàn cầu hoặc các nhu cầu riêng khác.
  • Phần ít hơn là các máy tính được thiết kế cho các kỹ sư, kỹ thuật viên, các nhà khoa học hoặc những người sử dụng văn phòng với các ứng dụng không thông thường để thực hiện các phần mềm đòi hỏi đến năng lực lớn hơn và sự ổn định, các máy này thường được gọi là máy trạm (workstation)[2].
  • Phần còn lại có số lượng ít nhất, được thiết kế riêng biệt chỉ để thực hiện một vài nhiệm vụ mà có thể không cần đến sự điều khiển của con người một cách liên tục theo thời gian: ví dụ các máy chủ để phục vụ các mục đích khác nhau trong một mạng nhỏ hoặc các mạng Internet rộng lớn.

Khác với các loại các máy tính được liệt kê ở trên là các loại máy tính chuyên dụng đặc biệt, chúng thường thiết kế riêng cho một mục đích, chỉ sử dụng một vài phần mềm chuyên dụng: ví dụ các máy tính công nghiệp hoặc các máy tính ở một dạng nhỏ hơn sử dụng hệ điều hành nhúng cho các mục đích khác.

Trừ các máy tính trong những giai đoạn phát triển đầu tiên (thường chỉ thiết kế cho một vài chức năng) hoặc một số máy tính lớn phục vụ riêng biệt cho các mục đích khoa học ngày nay, các máy tính còn lại trong thời gian gần đây (được phân loại như trên) thường có thể dùng để thực hiện nhiều nhiệm vụ khác nhau. Người sử dụng có thể cài đặt các phần mềm khác nhau (miễn là chúng tương thích với hệ điều hành cài đặt trên máy tính đó). Các máy chủ thường được cho rằng chỉ phục vụ chuyên cho một mục đích, cung cấp một loại dịch vụ nhưng cũng có thể chuyển đổi, thiết đặt lại để phục vụ cho các nhiệm vụ khác.

Nhu cầu xử lý đa nhiệm

Phần trên mới cho thấy tất cả các máy tính có thể sử dụng cho các mục đích khác nhau, tuy nhiên trên thực tế các máy tính còn có thể dùng cho nhiều mục đích cho cùng một thời điểm.

  • Đối với máy tính cá nhân (cho văn phòng và gia đình), ví dụ một người sử dụng máy tính để soạn thảo một văn bản bằng tiếng Việt thì cũng đã có ít nhất hai phần mềm hoạt động: phần mềm soạn thảo văn bản và một phần mềm hỗ trợ bỏ dấu tiếng Việt nào đó. Trong ví dụ này nếu nói có hai phần mềm đồng thời hoạt động là chưa chính xác, bởi xét rộng ra thì đã có rất nhiều phần mềm đang hoạt động ở chế độ nền (background) trong hệ điều hành mà nhiều người sử dụng không nhận ra. Đối với các máy trạm với sự khác biệt chỉ ở các phần mềm chuyên dụng và đòi hỏi ổn định nên cũng tương tự đối với máy tính cá nhân.
  • Đối với các máy chủ thì ngay cả một số kỹ thuật viên hoặc người quản trị mạng cũng cho rằng chúng chỉ phục vụ một vài mục đích riêng biệt, tuy nhiên trên thực tế các máy chủ được kết hợp đồng thời cung cấp nhiều dịch vụ nếu như chúng đủ mạnh. Thực tế ở mức sử dụng trong một mạng nhỏ thì đã có rất nhiều máy chủ đã được thiết đặt để cung cấp nhiều dịch vụ đồng thời.

Những nội dung cần xử lý đồng thời trên thực hiện trên một máy tính sử dụng một CPU đơn nhân có thể tuỳ thuộc vào mức độ cần xử lý của các ứng dụng, số ứng dụng hoạt động cùng một thời điểm mà người sử dụng có thể không nhận thấy khi sử dụng đồng thời các ứng dụng yêu cầu xử lý thấp (chẳng hạn chỉ soạn thảo văn bản kết hợp nghe nhạc số dạng nén) trên một máy tính có một dung lượng bộ nhớ RAM không quá thấp so với yêu cầu của hệ điều hành. Tuy nhiên với các ứng dụng cần nhiều đến xử lý như thực hiện một trong các nội dung: xử lý đồ hoạ, biên tập video, chơi game, nghe nhạc và kết hợp đồng thời với các ứng dụng thông thường (duyệt web, soạn thảo...) cùng với một phần mềm diệt virus bảo vệ trực tiếp thì người sử dụng sẽ cảm nhận rõ ràng về sự chậm chạp của hệ thống. Cùng số lượng và mức độ của các ứng dụng đó, nếu được xử lý trên một máy tính có hai CPU độc lập thì hệ thống sẽ thực hiện nhanh hơn và hiếm khi xảy ra các hiện tượng chậm chạp xử lý ứng dụng, lỗi hệ thống, treo máy...

Khi mà các hệ điều hành và các ứng dụng ngày nay đã chú tâm hơn nhiều đến giao diện, sự ổn định, khả năng bảo mật...để đáp ứng mọi nhu cầu của người sử dụng máy tính thì càng đòi hỏi đến năng lực của CPU cần lớn lên. Nếu như các CPU thông dụng trong các máy tính cá nhân để bàn hiện nay có thể hoạt động trên các hệ điều hành lỗi thời như Windows 95, Windows 98 khá nhanh và tốt thì đến các hệ điều hành Windows XP hiện tại cũng trở lên chậm chạm và có thể còn chậm hơn nữa nếu sử dụng hệ điều hành Windows Vista gần đây nhất của hãng Microsoft trong thời điểm đầu năm 2008.

Luồng xử lý của CPU

Các CPU đã được hệ điều hành yêu cầu xử lý đồng thời các phần mềm một cách gián đoạn và xen kẽ nhau khi người sử dụng thực hiện đồng thời nhiều phần mềm (như trong các ví dụ nêu trên). Mỗi phần mềm nếu không đòi hỏi một sự xử lý liên tục thì chúng được đáp ứng từng phần. Đa số các phần mềm sử dụng trong văn phòng một cách thông thường nhất đều đã được xử lý như vậy. Ví dụ: khi bạn đang duyệt web và cùng soạn thảo một văn bản sẽ có các khoảng thời gian mà bạn phải đọc một trang web hoặc lúc bạn đang soạn thảo văn bản thì có nghĩa là trình duyệt web lúc đó có thể không cần thiết phải xử lý bởi chúng đã tải xuống (download) đủ thông tin để phục vụ hiển thị nội dung trang web đó. Đây chỉ là một ví dụ đơn giản với những ứng dụng đơn giản để cho thấy việc các CPU có thể phân tách để xử lý các nhiệm vụ một cách đồng thời.

Nếu như người sử dụng thực thi các phần mềm ứng dụng yêu cầu đến xử lý lớn một cách đồng đều thì dễ nhận thấy rằng hệ thống có thể trở nên chậm chạp bởi mỗi ứng dụng lại chỉ được xử lý lần lượt xen kẽ nhau. Nếu như có hai bộ xử lý đồng thời trong cùng một máy tính thì cả hai ứng dụng lớn này đều có thể thực hiện được tốt hơn hay không. Hoặc như có một CPU nhưng đồng thời đáp ứng yêu cầu của hai hoặc nhiều hơn các ứng dụng trong cùng một thời điểm thì có cải thiện được tốc độ làm việc chung của máy tính hay không ?

Hãy xem một ví dụ sau: Nếu có một nhóm người chờ trước cổng một phòng khám da liễu, phòng chờ cách cửa vào một khoảng xa.

  • CPU đơn nhân, đơn luồng: giống như việc chỉ có một cửa vào, và trong đó có một bác sĩ chỉ khám lần lượt từng người với điều kiện mỗi người hết 10 phút, trong đó ưu tiên khám hết nữ giới sau đó mới đến lượt nam giới - thời gian khám hết nhóm người đó sẽ rất lâu và nam giới phải chờ lâu hơn mặc dù đến sớm.
  • CPU đơn nhân, đa luồng: giống như việc có một cửa, mỗi người khám 10 phút, khám xen kẽ cả nam giới và nữ giới. Giải quyết được việc người nào đến trước thì xong trước.
  • CPU đơn nhân, đa luồng, có công nghệ phân luồng ảo: Giống như có một cửa, ai khám xong trước thì ra trước (có thể dưới 10 phút), có hai bác sĩ phụ nhau chia theo từng công đoạn lúc này thời gian nhanh hơn nhiều cho việc khám tất cả nhóm người.
  • : Giống như phòng khám có hai cửa, trong đó có hai nhóm bác sĩ độc lập và đồng thời có thể khám hai người một thời điểm.
  • CPU có lượng cache L2 lớn hoặc có thêm cache L3: Tương đương với phòng chờ ở ngay cửa của phòng khám (người được yêu cầu vào khám đi vào nhanh hơn).

Qua ví dụ trên ta thấy rằng CPU có khả năng xử lý nhiều luồng, đa nhân, có công nghệ siêu phân luồng...thì sẽ xử lý công việc nhanh hơn. Đây là lúc mà người đọc có thể trả lời câu hỏi phía trên một cách tự tin rằng “có, nó cải thiện được tốc độ làm việc chung”.

Hình thức sử dụng nhiều CPU trên cùng một máy tính hoặc nhiều máy tính kết nối với nhau để trở thành một hệ thống máy tính lớn hơn để cùng thực hiện một nhiệm vụ hoặc đồng thời nhiều nhiệm vụ có liên quan đến nhau đã được áp dụng từ trước khi xuất hiện các CPU hai nhân. Các máy trạm hoặc máy chủ trước đây thường được gắn nhiều hơn một CPU trên cùng một bo mạch chủ để có thể thực hiện công việc tối ưu hơn, tốc độ nhanh hơn. Đây có thể là những lý do đầu tiên để các nhà sản xuất phần cứng bắt tay vào nghiên cứu để cho ra đời các sau này.

0