Chương 1: Giới thiệu chung về kiến trúc máy tính1.1. Khái niệm về kiến trúc máy tính:
Kiến trúc máy tính (Computer Architecture) là một khái niệm trừu tượng của một hệ thống tính toán dưới quan điểm của người lập trình hoặc người viết chương trình dịcch. Nói cách khác, kiến trúc máy tính được xem xét theo khía cạnh mà người lập trình có thể can thiệp vào mọi mức đặc quyền, bao gồm các thanh ghi, ô nhớ các ngắt … có thể được thâm nhập thông qua các lệnh.
Đang xem: Kiến trúc máy tính là gì
1.2. Lịch sử phát triển của máy tính:
Trước khi máy tính điện tử ra đời, công cụ tính toán của con người được bắt đầu từ ngón tay, các hòn sỏi, bản tính gảy bằng ngón tay, máy cộng cơ khí, máy tính cơ khí.
Kể từ khi ra đời, máy tính điện tử như một cuộc cách mạng chuyển kỹ thuật tính toán sang một giai đoạn mới, giai đoạn bán tự động và tự động hoá. Con người có thể ra lệnh cho máy vi tính làm các công việc thay mình.
Ban đầu, máy tính đơn thuần là chỉ để tsnh toán, gõ văn bản, sau đó là đến các tiện ích khác như xem phim, nghe nhạc, chơi điện tử, xử lý đồ hoạ, kết nối mạng… Để có được những thành quả như ngày hôm nay, máy tính điện tử đã trải qua nhiều chặng đường phát triển khác nhau. Sau đây chúng ta sẽ đi tìm hiểu cụ thể từng thời kỳ đó
– Từ năm 1943 đến năm 1955:
+ Các máy tính được chế tạo từ bóng đèn điện tử chân không, tiêu thụ điện năng lớn. Tốc độ tính toán vài nghìn phép tính trên một giây. Ngôn ngữ lập trình là các ngôn ngữ ký hiệu, ngôn ngữ máy.
+ ENIAC (Electronic Numerical Integrator and Computer) là máy tính điện tử số đầu tiên do Giáo sư Mauchly và người học trò Eckert tại Đại học Pennsylvania thiết kế vào năm 1943 và được hoàn thành vào năm 1946 được BRL (Ballistics Research Laboratory – Phòng nghiên cứu đạn đạo quân đội Mỹ) dùng cho việc tính toán chính xác và nhanh chóng các bảng số liệu đạn đạo cho từng loại vũ khí mới. Đây là một máy tính khổng lồ với thể tích dài 20 mét, cao 2,8 mét và rộng vài mét. ENIAC bao gồm: 18.000 đèn điện tử, 1.500 công tắc tự động, cân nặng 30 tấn và tiêu thụ 140KW giờ. Nó có 20 thanh ghi 10 bit (tính toán trên số thập phân). Có khả năng thực hiện 5.000 phép toán cộng trong một giây. Công việc lập trình bằng tay bằng cách đấu nối các đầu cắm điện và dùng các ngắt điện.
+ IAS (Institute for Advanced Studies) được giáo sư toán học John Von Neumann (cố vấn của dự án ENIAC) đã đưa ra ý tưởng thiết kế máy tính bắt đầu từ 1947 và hoàn thành 1952 tại học viện nghiên cứu cao cấp Princeton của Mỹ. Chương trình được lưu trong bộ nhớ, bộ điều khiển sẽ lấy lệnh và biến đổi giá trị của dữ liệu trong phần bộ nhớ, bộ làm toán và luận lý (ALU: Arithmetic And Logic Unit) được điều khiển để tính toán trên dữ liệu nhị phân, điều khiển hoạt động của các thiết bị vào ra. Đây là một ý tưởng nền tảng cho các máy tính hiện đại ngày nay. Máy tính này còn được gọi là máy tính Von Neumann.
+ Vào những năm đầu của thập niên 50, những máy tính thương mại đầu tiên được đưa ra thị trường: hệ máy UNIVAC (Universal Automatic Computer) phiên bản I, II và hệ máy IBM (International Business Machine) 701, 702.
– Từ năm 1956 đến năm 1965:
+ Các máy tính sử dụng các bóng đèn điện tử chân không có nhược điểm là tốc độ tính toán chậm, nhiệt lượng toả ra lớn và kích thước cồng kềnh. Để khắc phục nhược điểm này, các máy tính được chế tạo từ các chất bán dẫn, tiêu thụ điện năng ít hơn. Ý tưởng dùng chất bán dẫn được Bardeen, Brattain, Shockley của phòng thí nghiệm Bell Labs đã phát minh và đã được giải Nobel vật lý năm 1956. Tốc độ tính toán hàng vạn phép tính trên một giây. Được trang bị bộ nhớ trong lớn, các thiết bị ngoại vi bắt đầu phát triển như màn hình trắng đen, bàn phím…
+ Máy tính PDP-1 của DEC (Digital Equipment Corporation) và IBM 7094 là những máy tính nhỏ gọn đầu tiên tiêu biểu cho thời kỳ này.
+ Ngôn ngữ cấp cao xuất hiện (như FORTRAN năm 1956, COBOL năm 1959, ALGOL năm 1960) và hệ điều hành kiểu tuần tự (Batch Processing) được dùng. Trong hệ điều hành này, chương trình của người dùng thứ nhất được chạy, xong đến chương trình của người dùng thứ hai và cứ thế tiếp tục.
– Từ năm từ năm 1966 đến năm 1975:
+ Công nghệ bán dẫn ra đời là một bước nhảy vọt, đã khắc phục được những hạn chế của các bóng đèn điện tử chân không và thoả mãn được những đòi hỏi lúc bấy giờ. Tuy nhiên sau quá trình phát triển này đã dần bộc lộ những mặt yếu kém. Ví dụ khi cần đáp ứng máy tính có tốc độ cao hơn, khả năng tính toán lớn và các ứng dụng đa dạng thì kích thước của nó càng tăng lên và giá thành cao hơn. Chính vì vậy mà một công nghệ mới ra đời đã khắc phục những nhược điểm trên, đó là công nghệ vi mạch hay còn gọi là IC (Integrated Circuit) được Jack Kilby và Robert Noyce đề xuất từ năm 1958. Các máy tính được chế tạo từ các mạch IC có tốc độ tính toán hàng triệu phép tính trên giây, có màn hình đồ hoạ màu.
+ IBM360 là họ máy tính công nghiệp đầu tiên được sản xuất một cách có kế hoạch. Đặc biệt khái niệm họ máy tính bao gồm các máy tính tương thích nhau là một khái niệm mới và hết sức thành công. Nhờ đó mà một chương trình được viết cho máy này cũng sẽ dùng được trên những máy khác cùng họ với nó. Khái niệm này đã được dùng cho đến ngày nay.
+ PDP-8 đã sử dụng một cấu trúc rất phổ dụng hiện nay cho các máy mini và vi tính là cấu trúc đường truyền. Đường truyền PDP-8, được gọi là Omnibus, gồm 96 đường tín hiệu riêng biệt, được sử dụng để mang chuyển tín hiệu điều khiển, địa chỉ và dữ liệu.
+ Năm 1971 đánh dấu sự ra đời của bộ vi xử lý đầu tiên của Intel là 4004, nó có 4bit Bus dữ liệu và 12bit Bus địa chỉ, được tích hợp từ các mạch IC và đóng trong 1 chip nhỏ. Chiếc máy tính điện tử sử dụng bộ vi xử lý trên được gọi là máy vi tính. Tốc độ của nó từ hàng triệu đến vài trục triệu phép tính trên dây.
+ Vào thời điểm này, các ngôn ngữ lập trình về hệ điệu hành phát triển mạnh và đặc biệt là các phần mềm ứng dụng ngày một phong phú hơn.
– Từ năm 1976 đến năm 1980:
+ Công nghệ IC không ngừng phát triển, các vi mạch ngày càng được cấy nhiều linh kiện hơn, kích thước ngày một nhỏ gọn hơn, tốc độ xử lý cao hơn. Đặc biệt nhiều IC công suất lớn ra đời và là cơ sở để các vi xử lý 8080, 8085 của Intel ra đời. Các vi xử lý này có 8bit Bus dữ liệu và 16bit Bus địa chỉ, nâng tốc độ xử lý lên tới hàng trăm triệu phép tính trên giây.
+ Năm 1980 đánh dấu sự ra đời của chiếc máy vi tính cá nhân đầu tiên của IBM sử dụng bộ vi xử lý Intel 8086 có 16bit Bus dữ liệu và 20bit Bus địa chỉ, tăng khả năng xử lý lên tới vài trăm triệu phép tính trên giây, có khả năng quản lý bộ nhớ lên tới 1MB. Hệ điều hành bắt đầu phát triển mạnh như DOS của Microsoft, ngoài ra còn có ngôn ngữ trí tuệ nhân tạo Prolog (Programming Logic).
– Từ năm 1981 đến năm 1983:
+ Ra đời chiếc máy vi tính cá nhân PC XT của IBM sử dụng bộ vi xử lý 8088 của Intel có 8bit Bus dữ liệu và 20 bit Bus địa chỉ. Đến đây, nhìn về gốc độ kỹ thuật ta thấy máy vi tính PC XT là một bước thụt lùi về công nghệ, vì năm 80 đã ra đời chiếc máy vi tính cá nhân sử dụng bộ xử lý 8086 có 16bit Bus dữ liệu và 20 bit Bus địa chỉ. Tuy nhiên lý do ra đời của PC XT lại là yếu tố thương mại, bởi vì lúc bấy giờ trên thị trường xuất hiện đa số các vi xử lý 8bit, trong khi vi xử lý 8086 và vi xử lý 16bit không tương thích với hệ thống máy vi tính cũ và giá thành của nó quá cao. Vì thế hãng Intel đã tung ra thị trường vi xử lý 8088 mặc dù cấu trúc bên trong của nó là các vi mạch của vi xử lý 8086. Vi xử lý 8088 giao tiếp với các thiết bị khác qua Bus 8bit, vì vậy giá của nó rẻ hơn vi xử lý 8086 và nó được ví như bộ xử lý dọn đường cho công nghệ 16 bit sau này.
+ PC XT là máy vi tính đầu tiên được trang bị ổ cứng, có đĩa mềm 360KB và bộ nhớ trong lên tới 256KB, có khe cắm mở rộng ISA (Industry Standard Architecture) 8bit tăng khả năng kết nối các thành phần ngoại vi.
– Từ năm 1984 đến năm 1987:
+ Ra đời chiếc máy vi tính cá nhân PC AT của IBM sử dụng bộ vi xử lý 80286 của Intel có 16bit Bus dữ liệu và 24bit Bus địa chỉ, nâng khả năng quản lý bộ nhớ lên tới 16MB. Ngoài khả năng hoạt động trong chế độ thực như các máy vi tính trước đó thì PC AT còn có thêm khả năng hoạt động trong chế độ đa nhiệm, khe cắm ISA được mở rộng thành khe cắm chuẩn 16bit.
+ Tốc độ hoạt động của PC AT từ 6-8Mhz, các giao diện đồ hoạ bắt đầu phát triển, chuột máy vi tính xuất hiện như một công cụ hữu ích cho đồ hoạ. Hệ điều hành DOS không ngừng phát triển, và đặc biệt xuất hiện hệ điều hành đa chương trình đầu tiên Window1.0 giúp cho giao tiếp giữa người sử dụng và máy vi tính dễ dàng hơn.
– Từ năm 1988 đến năm 1989:
Ra đời máy vi tính sử dụng bộ vi xử lý 80386 của Intel có 32bit Bus dữ liệu và 32bit Bus địa chỉ, nâng khả năng quản lý bộ nhớ lên tới 4GB. Tốc độ xử lý của nó là 33Mhz, được trang bị khe cắm mở rộng 32bit EISA (Extended Industry Standard Architecture), có nhiều thiết bị ngoại vi phục vụ cho các nhu cầu giải trí, xem phim, nghe nhạc, trò chơi, đồ hoạ… tuy nhiên chất lượng chưa cao.
– Từ năm 1990 đến năm 1992:
+ Ra đời chiếc máy vi tính sử dụng bộ vi xử lý 80486 cũng có 32bit Bus dữ liệu và 32bit Bus địa chỉ như vi xử lý 80386, tuy nhiên nó được bổ sung thêm 8KB bộ nhớ đệm mã lệnh vì vậy tốc độ của nó nhanh hơn rất nhiều so với vi xử lý 80386. Tốc độ của nó lên tới 66Mhz.
+ Máy vi tính thế hệ này được trang bị Bus cục bộ VESA (Video Electronics Standard Asociation) đáp ứng các nhu cầu về tốc độ và độ phân giải của các Card Video, truyền dữ liệu của các máy vi tính thông qua mạng. Hệ điều hành được cải tiến nhiều hơn, đặc biệt là về đa phương tiện đó là Windows 3.0.
– Từ năm 1993 đến 1994:
+ Đánh dấu sự ra đời của máy vi tính sử dụng bộ vi xử lý 80586 (hay gọi là Pentium). Nó mở ra một thế hệ máy vi tính mới hoạt động với 64bit Bus dữ liệu và 32bit Bus địa chỉ, có 8KB bộ nhớ đệm cho mã lệnh và 8KB bộ nhớ đệm cho dữ liệu. Tốc độ hoạt động lên tới 200Mhz.
+ Máy vi tính thế hệ này được trang bị Bus 32bit PCI (Peripheral Compoments Interconnect – Bus kết nối các thành phần ngoại vi), nó có tốc truyền gấp 4 lần Bus ISA và là Bus hỗ trợ chức năng “cắm là chạy” (Plug and Play).
+ Đặc biệt xuất hiện hệ điều hành Windows NT là hệ điều hành tách rời khỏi DOS, có nhiều tính năng bảo mật và quản trị mạng cao. Tuy nhiên kích cỡ của nó tương đối lớn, đòi hỏi cấu hình cao nên chủ ớêu phục vụ cho các máy chủ và trạm làm việc.
– Từ năm 1995 đến năm 1999:
+ Lần lượt ra đời các thế hệ máy vi tính như Pentium MMX, Pentium Pro, Pentium II. Pentium MMX (Multimendia Extension) là thế hệ máy vi tính nhắm vào thị trường máy vi tính gia đình. Nó phát huy được những mục đích về đa phương diện như đồ hoạ, chơi Game, xem phim, nghe nhạc… Còn Pentium Pro lại nhắm vào thị trường máy chủ và các trạm làm việc, nó thích hợp cho việc xử lý những công việc tính toán có độ phức tạp cao, đặc biệt là trong lĩnh vực quản trị mạng. Pentium II kết hợp cả hai loại máy vi tính trên, đặc biệt có khả năng xử lý đồ hoạ 3D và nhiều ứng dụng về Multimendia.
+ Các loại máy vi tính này được trang bị Bus tuần tự đa năng USB (Universa Serial Bus ) là loại Bus có tốc độ nhanh gấp 10 lần tốc độ của giao diện song song và gấp 100 lần so với giao diện tuần tự. Đặc biệt Bus này có khả năng kết nối được 127 thiết bị ngoại vi thông qua hệ thống cáp USB.
+ Tốc độ của các máy vi tính này tương đối cao từ 133450MHZ. Đặc biệt trong thời gian đó lần lượt ra đời các hệ điều hành Windows 95 và hệ điều hành Windows 98 là những hệ điều hành 32bit với giao diện đẹp, nhiều tính năng hỗ trợ về Multimedia, quản trị mạng và Internet…
– Từ n¨m 1999:
Xuất hiện Pentium III đã đánh dấu một bước ngoặt lớn, nó hỗ trợ mạnh về khả năng biểu diễn không gian 3 chiều, khả năng nhận biết và tổng hợp tiếng nói và đặc biệt là có thể làm nhiều công việc cùng một lúc. Tính năng của nó rất phong phú đa dạng như vừa giải quyết những bài toán phức tạp, vừa có thể nghe nhạc, xem phim, xem tivi, chơi Game tốc độ cao, truy cập Web… Tốc độ của máy vi tính Pentium tương đối cao từ 4501,2 Ghz.
Ngoài sự phát triển rầm rộ không ngừng của Pentium III, đầu năm 2000 xuất hiện Pentium IV với tốc độ chóng mặt từ 1,44,4 Ghz. Đây là loại máy vi tính được sử dụng cho các nhà chuyên nghiệp xử lý phim ảnh, thiết kế đồ hoạ, công nghệ số, quản trị mạng… Nó thực sự trở thành một cánh tay đắc lực và không thể thiếu đối với người sử dụng. Cũng năm 2000 này hãng Microsofl cho ra đời hệ điều hành Windows 2000, đây là một hệ điều hành hỗ trợ tốt nhất cho Pentium IV. Điểm nổi bật của nó chính là khả năng bảo mật rất cao, hỗ trợ tốt công nghệ siêu phân luồng của Pentium IV…1.3. Phân loại máy tính:
Dựa vào kích thước vật lý, hiệu suất và lĩnh vực sử dụng, hiện nay người ta phân loại máy tính như sau:
– Phân loại máy tính truyền thống:
+ Máy tính lớn (Mainframe Computer)
+ Máy tính nhỏ (Minicomputer)
+ Máy vi tính (Microcomputer/Personal Computer):
Desktop ComputerLaptop Computer + Máy tính cầm tay (Handheld Computer)
+ Máy điều khiển (Micro-Controller)
– Phân loại máy tính hiện đại:
+ Máy tính để bàn (Desktop Computer)
+ Máy chủ (Server)
+ Máy tính nhúng (Embedded Computer)
Dựa vào kiến trúc của máy tính người ta phân loại máy tính ra các loại như sau:-
Kiến trúc đơn dòng lệnh đơn dữ liêu (Single Instruction Single Data – SISD):-
Kiến trúc đơn dòng lệnh đã dữ liệu (Single Instruction Multiple Data – CIMD):-
Kiến trúc đa dòng lệnh đa dữ liệu (Multiple Instruction Multiple Data – MIMD):1.4. Chức năng của máy tính:
– Nhận thông tin (Receive Input): thu nhận thông tin từ bên ngoài và chuyển đổi các thông tin này sang dạng biểu diễn và lưu trữ được trên máy tính. Thiết bị để đáp ứng thao tác này gọi là thiết bị nhập (Input Device) đó là các thiêt bị như: bàn phím, chuột…
– Xử lý thông tin (Process Information): thực hiện tính toán biến đổi thông tin từ những dạng ban đầu thành những thông tin kết quả. Thông qua thiết bị xử lý hay còn gọi là bộ xử lý trung tâm (Central Processing Unit), thông tin sẽ được xử lý tính toán đồng thời điều hành mọi hoạt động cơ bản của máy tính.
– Xuất thông tin kết quả (Produce Output): đưa các thông tin sau khi xử lý ra thế giới bên ngoài đáp ứng các yêu cầu của người sử dụng. Thiết bị để đáp ứng chức năng này gọi là thiết bị xuất (Output Device) đó là các thiêt bị như: màn hình, máy in, máy chiếu…
– Lưu trữ thông tin (Store Information): ghi nhớ các thông tin tức thời hoặc lâu dài để xử lý. Thiết bị để đáp ứng thao tác này gọi là thiết bị lưu trữ (Storage Device), đó là các thiêt bị lưu trữ tức thời như bộ nhớ đáp ứng việc lưu các tập lệnh chương trình, thông tin dữ liệu tính toán hoặc các thiết bị lưu trữ lớn và lâu dài như: đĩa cứng, đĩa mềm, đĩa quang…1.5. Cấu trúc tổng quát của máy tính:
– Phần cứng (Hardware): có thể được hiểu đơn giản là tất cả các phần trong một hệ máy tính mà chúng ta có thể thấy hoặc sờ được.
+ Thiết bị nhập (Input): là thiết bị cho phép thông tin hay dữ liệu được nhập vào máy tính thông qua: bàn phím, chuột, máy quét…
+ Thiết bị xuất (Output): là thiết bị cho phép thông tin hay dữ liệu có thể được xuất ra từ máy tính thông qua: màn hình, máy in, máy chiếu, loa…
+ Bộ xử lý trung tâm (Central Processing Unit – CPU): được coi như bộ não của máy tính, là thiết bị điều khiển mọi hoạt động của máy tính, điều khiển việc thực thi các thiết bị, điều khiển việc tính toán lưu trữ theo yêu cầu của chương trình, được chia làm 3 loại chính như sau: Khối điều khiển (Control Unit – CU): chịu trách nhiệm điều khiển toàn bộ các hoạt động của hệ thống thông qua các chỉ thị trong chương trình Khối tính toán số học và luân lý (Arithmetic Logic Unit): chịu trách nhiệm thực hiện các phép tính số học (cộng, trừ, nhân, chia …), các phép tính luân lý (AND,
OR, NOT, XOR) và các phép tính quan hệ (so sánh lớn hơn, nhỏ hơn, bằng nhau…).Các thanh ghi (Registers): thiết kế bằng các mạch điện tử làm nhiệm vụ bộ nhớ trung gian, bộ nhớ tạm lưu trữ mã lệnh, kết quả tính toán tính theo yêu cầu của khối điều khiển. Các thanh ghi mang các chức năng chuyên dụng giúp tăng tốc độ trao đổi thông tin trong máy tính. Ngoài ra, CPU còn được gắn với một đồng hồ (Clock) hay còn gọi là bộ tạo xung nhịp. Tần số đồng hồ càng cao thì tốc độ xử lý thông tin càng nhanh.
+ Bộ nhớ (Memory): là thiết bị làm nhiệm vụ lưu trữ tạm thời hoặc lâu dài thông tin, thông tin lưu trữ gồm: các dữ liệu từ ngoài đưa vào, các chỉ thị của chương trình, các kết quả sau khi xử lý.
Bộ nhớ trong: Bộ nhớ chỉ đọc (Read Only Memory – ROM): loại bộ nhớ này chỉ đọc thông tin có sẵn được ghi bởi nhà sản xuất, thông tin trong ROM không bị mất đi khi mất điện.Bộ nhớ truy cập ngẫu nhiên (Random Access Memory – RAM): loại bộ nhớ này chỉ lưu trữ tạm thời thông tin trong quá trình xử lý, khi tắt máy, mất điện hoặc khởi động lại thì thông tin trên RAM sẽ mất đi. Dung lượng RAM càng lớn tốc độ truy xuất máy tính càng nhanh. Bộ nhớ ngoài: là thiết bị lưu trữ thông tin với dung lượng lớn, thông tin không bị mất khi không có điện. Có thể cất giữ và di chuyển bộ nhớ ngoài độc lập với máy tính. Đĩa mềm (Floppy Disk): loại đĩa đường kính 3.5inch dung lượng 1.44 MB.Đĩa cứng (Hard Disk): là thiết bị lưu trữ chính của máy tính, có dung lượng từ vài GB đến vài trăm GB và lớn hơn nữa.Đĩa quang: là loại 4.72inch, thiết bị phổ biến dùng để lưu trữ các phần mềm mang nhiều thông tin, hình ảnh, âm thanh và thường được sử dụng trong các phương tiện đa truyền thông (Multimedia). Có hai loại phổ biến là đĩa CD (Compact Disk có dung lượng khoảng 700 MB và đĩa DVD (Digital Versilite Disk) có dung lượng khoảng 4.7 GB.Ngoài ra còn có thẻ nhớ (Memory Stick, Compact Flash Card), USB (Universal Serial Bus) Flash Drive có dung lượng phổ biến là 32 MB, 64 MB, 128 MB… – Phần mềm (Software): là các chương trình dữ liệu được viết sẵn để điều khiển các hoạt động của máy tính.
+ Chương trình: là tập hợp các phát biểu được viết bằng một ngôn ngữ lập trình nào đó để điều khiển hoạt động của máy tính, thực thi các yêu cầu nào đó của người sử dụng.
+ Phần mềm hệ thống (System Software): gồm có các hệ điều hành và các phần mềm tiện ích đáp ứng việc điều hành hệ thống thực hiện các tác vụ cơ bản trên hệ thống máy tính.
+ Phần mềm ứng dụng (Application Software): là các chương trình viết sẵn đáp ứng một số công việc cụ thể nào đó cho người sử dụng trên máy tính.
Xem thêm: Phương Pháp / Cách Tự Học Tiếng Anh Là Gì, Tự Học Tiếng Anh Hiệu Quả
+ Ngôn ngữ lập trình: là hệ thống các kí hiệu tuân theo các qui định về ngữ pháp, ngữ nghĩa để xây dựng các chương trình điều khiển hoạt động của máy tính.