Wednesday, May 20, 2015

LỊCH SỬ MẠCH BÁN DẪN IC

Sơ lược về IC

Vi mạch tích hợp, hay vi mạch, hay mạch tích hợp (integrated circuit, gọi tắt IC, còn gọi làchip theo thuật ngữ tiếng Anh) là các mạch điện chứa các linh kiện bán dẫn (như transistor) và linh kiện điện tử thụ động (như điện trở) được kết nối với nhau, kích thước cỡ micrômét (hoặc nhỏ hơn) chế tạo bởi công nghệ silicon cho lĩnh vực điện tử học.

Ai là người phát minh ra IC

Đó là thứ mà 2 nhà kỹ sư vật lý người Mỹ sáng chế ra, Jack Kilby và Robert Noyce.
Jack Kilby

Robert Noyce
12/09/1958 Jack Killby đã chế tạo thành công ra IC dao động với 5 linh kiện đơn giản trên một vật liệu giống nhau gọi là “chip”. Phát minh này không chỉ mang lại cho Killbly bằng sáng chế của Texas Instrucment mà còn mang lại cho ông một phần của giải thưởng Nobel vật lý năm 2000. Thực sự thì Robert Noyce cũng sẽ có thể nhận được giải Nobel cho sáng chế này nếu ông ấy không mất vào năm 1990. Thực sự trong thời gian sau đó, bản quyền về việc sáng chế ra IC luôn bị hai nhà sáng chế giành giật. Lý do, Jack Killby đã gửi đơn đăng ký quyền sáng chế trước nhưng Robert lại được duyệt trước. Điều đó dẫn đến mâu thuẫn giữa hai người, và các cuộc kiện tụng cứ diễn ra... cho đến khi tình hình thị trường và các nhà khoa học thời đó cho rằng, IC rất khó sản xuất và cho ra sản phẩm thực.
Để IC có thể ra đời, chúng ta phải kể đến việc làm nên tấm bán dẫn p-n của Russel Ohl vào năm 1940. Sau đó vào năm 1950, Bardeen, Bratain và Shockley, những người đã chế tạo ra junction transistor - một trong những linh kiện không thể thiếu của mọi loại IC, nhờ đặc tính đặc biệt của nó.

IC ra đời trong hoàn cảnh nào?

Trong khoảng thời gian trước khi IC ra đời, các nhà phát minh hay sáng chế đều sử dụng các linh kiện rời rồi hàn lại trên một hoặc rất nhiều mạch điện để chế tạo một máy. Trong thời gian ấy, các linh kiện điện tử bán dẫn khá là đắc, chưa ứng dụng thực tế được, đặc biệt là transistor. Vì vậy, người ta vẫn dùng bóng chân không (về cơ bản nó cũng có chức năng tương đương một chiếc transistor) "khổng lồ", một thiết bị rất là rẻ vào thời ấy. Nên, những chiếc máy tính ở thập niên 50, 60 rất to, cồng kềnh và cực kì tốn điện. Nhưng, việc sử dụng bóng chân không có một ưu điểm là rất dễ dàng thay thế (vì bóng đèn có chuôi đèn, và chỉ cần gỡ bóng hư thay bằng bóng mới), nên cho đến khi IC đã ra đời thì bóng chân không vẫn được dùng thêm một thời gian, sau đó mới bị thay thế bởi những loại máy tính hiện đại hơn, và mức độ tin cậy cao hơn.
Trong hoàn cảnh đó, IC đã ra đời để đem đếm một cuộc cách mạng thực sự trong lĩnh vực công nghệ thông tin!

IC đã tạo ra những ảnh hưởng gì và vì sao nó lại có thể làm như vậy được?

Hãy cũng nhắc lại khái niệm về IC... Nó là một mạch điện tích hợp, nghĩa là rất nhiều linh kiện cùng nằm trên một đơn vị diện tích (hiện nay người ta đã làm được những chú IC có rất linh kiện trên một đơn vị nano mét). Chính vì điều đó, mà nó đã thu gọn diện tích của mọi loại máy từ thập niên 70 đến nay (bạn hãy xem qua về lịch sử các loại máy ENIAC và UNIVAC để biết thêm về kích cỡ của những "người khổng lồ thật sự"). Và với giá thành rẻ của nó (nhờ có công nghệ Plamar của Robert Noyce), mọi chiếc máy sử dụng IC đều thích hợp với mọi đối tượng người dân, chứ không còn chỉ bó hẹp trong các văn phòng chính phủ hay các công ty liên doanh nữa!

Vậy tại sao, IC lại có thể làm được những điều đó?
  1. Thứ nhất, vì công nghệ sản xuất ra IC ngày càng phát triển, kích thước của nó ngày càng nhỏ, giá thành ngày càng rẻ, chức năng ngày càng nhiều, độ bền cao, tuổi thọ cao... chính vì những ưu điểm vượt bậc, cộng với chiến lược kinh doanh ngay từ khi bắt đầu thương mại hóa của Killby và Noyce đã làm IC ngày càng phổ biến.
  2. Thứ hai, vì mạch điện ngày càng đơn giản, những người chế tạo / sáng chế máy không nhất thiết phải là các nhà khoa học, mà ngay cả học sinh, sinh viên và những nhà nghiên cứu tay ngang hoàn toàn có thể tự làm một sản phẩm độc đáo. Chính nhờ xây dựng được một cộng đồng rộng lớn như vậy, việc phát triển của IC ngày càng tăng nhằm đáp ứng nhu cầu đó.
  3. Thứ ba, vì con người ngày càng muốn mỏi thứ nhỏ hơn, đơn giản hơn và các chủ doanh nghiệp muốn kinh doanh tốt hơn, nên họ đã đầu tư rất nhiều tiền vào công nghệ sản xuất IC và dây chuyền tự động,...
Chính vì những lí do đó, mà công nghệ sản xuất IC và các sản phẩm sử dụng IC ngày càng tinh vi, hiện đại, nhỏ gọn và rẻ hơn. Hệ quả xảy ra là các ngành chế tạo máy, công nghệ thông tin, khoa học vi tính, y học,... (cơ bản là mọi ngành) có sự đột phá mạnh mẻ. Chỉ trong vòng hơn 50 năm, mà con người đã làm vô vàn những điều mà ở thời kì trước đó, họ xem rằng đó là những việc viển công, chẳng hạn như việc bay vào vũ trụ, đặt chân lên mặt trăng, chữa bệnh ung thư, mỗ không để lại sẹo,...

Kết luận

Cũng chính vì những ứng dụng thực tế không bàn cãi và những gì mà nó đem lại trong cuộc sống này mà chúng ta đã bầu chọn cho IC là phát minh quan trọng nhất trong thế kỷ XX. Bạn có biết, khi sáng tạo ra IC, những nhà phát minh nghĩ gì trong đầu mình không? Họ chỉ đơn giản nghĩ rằng, tôi cần tìm ra một sản phẩm có thể thâu tóm được linh kiện để đặt trong một môi trường nhất định và giảm giá thành những máy móc điện tử. Họ không hề nghĩ những phát minh của họ sẽ làm được những điều không tưởng mà mình vừa kể. Vì vậy, bạn đừng đặt quá nhiều niềm tin, thời gian để làm một thứ thay đổi cả thế giới, mà hãy dành thời gian tìm ra những khó khăn trong cuộc sống hiện đại, và tím cách tối ưu / sáng chế ra cái gì đó có thể khắc phục được nó.

LÀM THẾ NÀO ĐỂ MỘT NHÓM LẬP TRÌNH VIÊN LÀM VIỆC HIỆU QUẢ

Tại sao bài này QUAN TRỌNG với bạn?

Vì sao iPhone luôn là cái điện thoại "nảy sinh" trong đầu bạn khi bạn muốn mua một chiếc điện thoại. Nhưng sau đó, vì các lý do khách quan lẫn chủ quan, bạn phải sở hữu một chiếc điện thoại khác. Ở đây, chúng ta không bàn nhau vì sao iPhone luôn là chiếc điện thoại đầu tiên mà ta nghĩ đến (vì nó không đúng với tất cả mọi người), nó chỉ là một ví dụ để bạn thấy sự hiệu quả của iPhone trong việc chiếm lĩnh thị trường điện thoại và cả những sản phẩm của Apple vậy.
Nhắc lại đến việc sáng tạo ra một sản phẩm mới, chắc hẳn bạn luôn muốn nó ra đời và có hiệu quả trong thực tiễn. Tuy nhiên, không phải sản phẩm nào mới ra đời cũng được mọi người chào đón một cách nồng nhiệt như iPhone. Gác lại đến vấn đề hiệu quả của sản phẩm, đó là chuyện khó. Trước tiên, ta phải giải quyết chuyện dễ, đó là kết hợp sức mạnh của nhiều người để tạo nên một đội ngũ mạnh mẽ trong việc lập trình. Bây giờ câu hỏi đặt ra cho bạn là? Bạn muốn trở thành một phần của một nhóm có cùng lý tưởng và tiến đến thành công, HAY tự bạn sẽ tìm đến thành công bởi một mình bạn? Nếu chọn phương án đầu tiên, bài viết này sẽ rất QUAN TRỌNG với bạn. Vì trong lịch sử, hiện thực, phim ảnh, truyện tranh,... một người dù có sức mạnh lớn như thế nào đi chăng nữa thì cũng sẽ không thể biến (hay áp đặt) mong muốn, suy nghĩ của họ lên người khác mãi mãi được. Nếu có thời gian, bạn nên xem phim X-Men: Days of Future Past (2014) vì nó sẽ cho bạn biết được tầm quan trọng của việc làm việc nhóm hơn những gì có thể nói ra bằng lời hoặc viết ra được. Hãy thử cảm nhận...
Vậy làm thế nào để bạn có thể cùng với nhóm của bạn làm việc cùng nhau một cách có hiệu quả? Khám phá nó trong bài viết, bạn nhé!

Những vấn đề bạn có thể gặp phải khi hoạt động một mình

Trước tiên, nếu là một người phản biện cho bài viết này, mình sẽ thắc mắc, vì sao mình lại biết những vấn đề này và vì sao nó lại cấp bách và giải quyết đầu tiên?

Mình bắt đầu tiếp xúc với ngôn ngữ lập trình từ lớp 7 (2009, thực sự bắt đầu vào năm 2008), nó xuất phát không bởi vì mình thật sự muốn nó lúc đó, bởi vì con người ta thường sẽ sợ những cái mới. Nhưng khi được trải nghiệm nó một cách từ từ bởi động lực từ chính bản thân mình, mọi thứ dần dần trở nên cực kỳ thú vị heart. Và suốt quá trình đó, mình đã gặt hái được một số giải thưởng của riêng minh. Tuy nhiên, nếu nhìn nhận lại cả quá trình mình trải nghiệm, thì nó có khá nhiều vấn đề... mà khi đang trải nghiệm, bạn không thể nào nhận ra hoặc nhận ra nhưng xem đó là những vấn đề dễ dàng và tự nhiên thời gian sẽ "giải quyết chúng" hộ bạn.
Trước đây, mình có suy nghĩ, mình là "trọng tâm của thế giới của riêng mình" và trong một thời gian hơn 4 năm, nó cũng có một số hiệu quả nhất định. Nó giúp mình dễ dàng trong việc đưa ra quyết định; giúp mình dễ dàng xây dựng những thứ mình muốn trong quá trình lập trình; giúp mình dễ tìm được sự thỏa mãn chiến thắng; và khi có ý kiến trái chiều hoặc phản biện, việc đầu tiên, không cần suy nghĩ, mình sẽ phản biện lại ý kiến đó mà chưa cần xem xét những lời phản biện hoặc góp ý ấy;... Nếu bạn là một người đã "chinh chiến" nhiều năm trong "cuộc săn giải thưởng", VÀ thấy được con người của bạn trong ví dụ của mình thì ắc hẳn, chúng ta sẽ xem việc mình "thành công" là bởi chính bản thân mình, không nhìn nhận ra được vì sao mình lại có thể thành công hoặc nhìn ra một phần nhưng lại nhanh chóng quên bén mất khi đi chiến đấu! Và hơn nữa, việc suy nghĩ theo hướng đó, còn gây ra những vấn đề nan giản hơn nữa.

Vậy, những vấn đề mình gặp phải là gì?


Thiết nghĩ, có 3 vấn đề lớn mà bạn đã gặp phải!
Thứ nhất, khi gặp những vấn đề khó với bản thân, chúng ta sẽ rất hứng thú giải quyết. Nhưng khi gặp những về đơn giản hơn, cộng với số lượng nhiều thì sẽ gây ra tâm lý chán nản (vì làm hoài làm lại thì chán lắm).
Thứ hai, luôn có suy nghĩ, sản phẩm mình làm ra sẽ được mọi người đón nhận và cảm thấy thỏa mãn vì điều đó. Và không còn có ý nghĩ sẽ tiếp tục phát triển "đứa con tinh thần" để nó tốt hơn nữa (vì bản thân ta nghĩ nó đã tốt nhất mất rồi devil).
Thứ ba, bạn luôn nghĩ rằng, mình sẽ được ưu tiên nhất, và khi có thắc mắc thì sẽ được "người biết" trả lời. Vì suy nghĩ, mình "ham học hỏi" mà!
Yeah, hầu hếu chúng ta đều có suy nghĩ mình là "trọng tâm của thế giới". Suy nghĩ của một đứa trẻ, cũng như đứa trẻ ấy, cần được chăm sóc và nuôi dưỡng một cách cẩn thận. Chúng ta có suy nghĩ "mình là trọng tâm", cùng bởi vì,  được chăm sóc quá tốt! Nói không ngoa, chỉ cần nhìn thấy những người mẹ, người bà,... đi theo săn sóc những đứa trẻ đang tuổi ăn tuổi lớn (ý mình từ 3 - 5 tuổi) từng tí một, phải làm mọi cách tốt nhất để nó ăn,... thì bạn có thấy được cái "trọng tâm" chưa? Đồng ý với bạn là nó cần ăn để có thể trạng tốt, được trí thông minh trời phú, và tất cả mọi bậc cha mẹ đều nghĩ rằng, điều đó là tốt nhất cho con mình. Chúng ta không xét tính chất tốt xấucủa nó, mà chỉ cần nghĩ rộng hơn ra một tí là thấy, chính từ những hành động nhỏ nhặt ấy đã nuôi dưỡng suy nghĩ mình là trọng tâm của thế giới. Có ý kiến phản biện rằng, khi nó lớn hơn, ta sẽ bắt nó tập ăn tự lập, tập sống tự lập,... Ngược lại vấn đề, bạn cảm thấy thế nào khi một đứa trẻ đang được "sướng" mà mình lại "tước" đi cái quyền đó, từ đó, những đứa trẻ sinh ra sự bất đồng và càng ngày nó càng phát triển phức tạp hơn. Vậy, hãy chấp nhận rằng bạn có những vấn đề đó nếu bạn được ba mẹ chăm sóc như vậy.

Vậy làm thế nào để giải quyết những vấn đề này?

Bây giờ, bạn đã biết vì sao bạn có những vấn đề ấy, vậy để giải quyết nó, chẳng còn cách nào khác, bạn phải thay đổi một cách dần dần suy nghĩ "mình là trọng tâm của thế giới". Vậy thay đổi nó thành cái gì, và vì sao lại phải thay đổi theo hướng ấy?
Khi phủ định suy nghĩ của mệnh đề "mình là trong tâm của thế giới", ta sẽ có mệnh đề "mình là một phần của thế giới", vậy ta sẽ thay đổi suy nghĩ của bản thân theo hướng này. Nó sẽ giúp thay đổi cách ta nhìn nhận cuộc sống: giúp ta cảm thấy vui vẻ khi làm việc (vì ta biết ta là một phần của cộng đồng, và khi hoàn thành công việc, cộng đồng ta đang sinh sống sẽ hạnh phúc); giúp ta loại trừ "bộ lọc" ý kiến, biết lắng nghe, biết phản hồi và biết chung sống với người khác (vì chẳng còn có một giọng nói trong đầu bắt ta không được làm việc này, phải làm việc kia nữa, bản thân ta không còn áp đặt chính mình,...); ... và quan trọng nhất, đó là ta sẽ không còn xem những giải thưởng là nhất, xem những chiến tích là nhất, mà sự thành công lúc bấy giờ, cũng sẽ được định nghĩa khác trong suy nghĩ của bạn. Nó không còn đơn thuần là sự đạt được một điều gì đó, mà còn là sự chia sẻ, để những phần khác của cộng đồng được tiếp cận với nó!
Việc thay đổi suy nghĩ là khó, nên bạn hãy cứ để mọi việc tự nhiên và dần dần thay đổi. Tuy nhiên, đôi khi vẫn cần có một tí quyết đoán để bạn đưa ra quyết định, vì trước khi lo cho cả nhóm, hãy hoàn thiện công việc của mình trước.

Vậy làm việc nhóm sẽ có những lợi ích gì và vấn đề gì?


Khi làm việc cùng với nhóm những đứa bạn có cùng đam mê lập trình với bạn thì sẽ thích thú và thoải mái, hầu như ít khi nào còn cảm giác căng thẳng. Tuy nhiên, việc họp mặt làm cùng nhau không phải lúc nào cũng tốt nhất, vì mỗi người đều có một thời gian biểu khác nhau và lựa là khoảng thời gian thích hợp để cùng nhau làm việc thì hơi khó đối với những nhóm lớn hơn 2 người.
Lợi ích của việc làm việc nhóm rất nhiều, nhưng làm thế nào để làm việc nhóm có hiệu quả trong việc lập trình thì hơi khó. Vì đặc thù của nhóm lập trình là phát triển hệ thống trên máy vi tính, nên việc cùng nhau làm trên một máy vi tính thì chẳng hiệu quả rồi. Vậy vấn đề lớn nhất đó là làm thế nào để mỗi người tự code theo những nhiệm vụ được giao và sau đó sẽ có một người nào đó tổng hợp lại?
Đó là điều thúc đẩy sự ra đời của hệ thống Subversion, tiếp đến là hệ thống Version Control System (VCS) và hiện tại nổi bật và dễ dàng nhất là Git.

Version Control System là gì?


"Version Control System" có nghĩa là hệ thống quản trị phiên bản devil. Vậy tại sao ta cần dùng nó? Huh, bạn có bao giờ thắc mắc vì sao các phần mềm luôn có phiên bản? Và mỗi khi cập nhập, họ cập nhập rất nhanh không? Bạn đã từng làm nên các sản phẩm nhưng mỗi khi muốn tạo một phiên bản mới thì bạn sẽ sửa thẳng trên phiên bản cũ luôn đồng thời tạo ra một bản copy đặt tên là "phiên bản cũ", đúng không nào? Nhưng mỗi lần muốn lấy lại code cũ, bạn phải copy code mới chèn vào code cũ và mỗi lần như vậy phải đỗi thư mục, đổi file rất mất thời gian phải không ? Và với Version Control System, bạn sẽ làm được điều đó một cách khoa học và cực kỳ tiết kiệm thời gian!

Kết luận


Chúng ta đã biết được vì sao một lập trình viên cần nhóm của riêng mình. Và với những hệ thống phần mềm lưu trữ phiên bản, bạn và những người bạn cùng đam mê sẽ dễ dàng thực hiện được nó. Đó, cũng là lý do vì sao những cuộc thi về phần mềm, phần cứng hiện nay rất khuyến khích sự tham gia của nhóm dự thi, bởi vì họ mong muốn những thí sinh có được những suy nghĩ rộng lớn hơn, biết cách chia sẻ công việc và có được những người bạn cùng chung lý tưởng. Như vậy, những sản phẩm của những nhóm ấy có khả năng được phát triển nhiều hơn nữa...

Lời ngỏ

Trong bài viết sau, mình sẽ hướng dẫn sử dụng Git, bởi vì đây là một công cụ rất đơn giản và hiệu quả để các bạn quản lý nhóm dự án của mình. Học cách phân chia công việc và làm được những dự án lớn hơn nữa. Một người khó có thể biết hết mọi thứ trên đời, nhưng khi kết hợp lại thì không có gì là không thể!