Bài 1: Giới thiệu Kiến trúc & Tổ chức máy tính - TS. Nguyễn Hoàng Sơn

Tài liệu nghiên cứu Kien truc may tinh va he dieu hanh gioithieuvonneumannmachine1 2 3 cuuduongthancong com, tổng hợp lý thuyết và thực hành, cung cấp kiến thức chuyên sâu về .

Người đăng

Ẩn danh
56
2
0

Phí lưu trữ

30 Point

Tóm tắt

I. Tổng quan về kiến trúc máy tính và các thành phần cốt lõi

Kiến trúc máy tính là một lĩnh vực nền tảng trong khoa học máy tính, định hình cách thức một hệ thống máy tính hoạt động từ góc độ của người lập trình. Nó bao gồm các thuộc tính có thể nhận thấy, ảnh hưởng trực tiếp đến việc thực thi logic của một chương trình. Các thuộc tính này bao gồm tập lệnh (instruction set), số bit được sử dụng để biểu diễn các kiểu dữ liệu khác nhau, cơ chế vào/ra (I/O), và các kỹ thuật định địa chỉ bộ nhớ. Hiểu rõ về kiến trúc máy tính là bước đầu tiên để nắm vững cách phần mềm tương tác với phần cứng. Nó khác biệt với tổ chức máy tính, vốn tập trung vào các đơn vị hoạt động và sự liên kết giữa chúng để hiện thực hóa các đặc tả kiến trúc, ví dụ như chi tiết về tín hiệu điều khiển, giao diện và công nghệ bộ nhớ. Một hệ thống máy tính hiện đại, dù phức tạp đến đâu, đều thực hiện bốn chức năng cơ bản: xử lý dữ liệu (data processing), lưu trữ dữ liệu (data storage), di chuyển dữ liệu (data movement) giữa máy tính và thế giới bên ngoài, và điều khiển (control) toàn bộ các hoạt động trên. Các chức năng này được thực hiện bởi sự phối hợp nhịp nhàng của các thành phần phần cứng cốt lõi. Việc tìm hiểu sâu về kiến trúc Von Neumann sẽ làm rõ cách các chức năng và thành phần này được tích hợp một cách hiệu quả, tạo ra cuộc cách mạng cho ngành công nghiệp máy tính.

1.1. Phân biệt kiến trúc và tổ chức máy tính cơ bản

Hai thuật ngữ kiến trúc máy tínhtổ chức máy tính thường được sử dụng để mô tả một hệ thống máy tính, nhưng chúng mang ý nghĩa khác nhau. Kiến trúc máy tính đề cập đến các thuộc tính hệ thống mà một lập trình viên có thể thấy, có ảnh hưởng trực tiếp đến việc thực thi một chương trình. Ví dụ, tập lệnh, số bit biểu diễn dữ liệu, cơ chế I/O và phương pháp đánh địa chỉ là các yếu tố thuộc về kiến trúc. Một ví dụ điển hình là việc một máy tính có lệnh nhân (multiply instruction) hay không là một vấn đề về kiến trúc. Ngược lại, tổ chức máy tính đề cập đến cách các thành phần phần cứng được kết nối và hoạt động với nhau để hiện thực hóa kiến trúc đó. Nó bao gồm các chi tiết ẩn đối với lập trình viên như tín hiệu điều khiển, giao diện giữa các thành phần, và công nghệ bộ nhớ. Việc lệnh nhân được thực hiện bằng một đơn vị phần cứng chuyên dụng hay bằng cơ chế cộng lặp đi lặp lại là một vấn đề về tổ chức.

1.2. Khám phá 4 chức năng chính của một hệ thống máy tính

Một máy tính, ở cấp độ cơ bản nhất, thực hiện bốn chức năng chính. Thứ nhất là xử lý dữ liệu (Data processing), bao gồm việc thực hiện các phép toán số học và logic trên dữ liệu. Thứ hai là lưu trữ dữ liệu (Data storage), nơi dữ liệu và chương trình được lưu giữ tạm thời trong bộ nhớ chính hoặc lâu dài trong các thiết bị lưu trữ thứ cấp. Thứ ba là di chuyển dữ liệu (Data movement), liên quan đến việc truyền dữ liệu giữa máy tính và các thiết bị ngoại vi thông qua các module I/O. Cuối cùng là điều khiển (Control), chức năng được thực hiện bởi đơn vị điều khiển (Control Unit) bên trong CPU, có nhiệm vụ quản lý tài nguyên và điều phối hoạt động của ba chức năng còn lại. Tất cả các hoạt động phức tạp của máy tính đều là sự kết hợp của bốn chức năng nền tảng này.

1.3. Tìm hiểu các thành phần chính CPU bộ nhớ và I O

Để thực hiện bốn chức năng chính, một máy tính được cấu thành từ bốn thành phần cơ bản. CPU (Central Processing Unit) hay bộ xử lý trung tâm, là bộ não của máy tính, chịu trách nhiệm điều khiển hoạt động và thực hiện các chức năng xử lý dữ liệu. Bộ nhớ chính (Main memory) dùng để lưu trữ dữ liệu và chương trình. I/O (Input/Output) là cơ cấu vận chuyển dữ liệu giữa máy tính và môi trường bên ngoài, chẳng hạn như bàn phím, màn hình. Cuối cùng, Kết nối hệ thống (System interconnection), thường là một hệ thống bus, cung cấp cơ chế giao tiếp giữa CPU, bộ nhớ chính và I/O. Trong đó, CPU là thành phần phức tạp nhất, lại bao gồm các bộ phận nhỏ hơn như Đơn vị điều khiển (Control Unit), Đơn vị số học và logic (ALU), và các thanh ghi (Registers).

II. Thách thức của máy tính thế hệ đầu Vấn đề lập trình cứng

Trước khi có sự ra đời của khái niệm chương trình lưu trữ, các máy tính điện tử đầu tiên đối mặt với một thách thức khổng lồ: sự thiếu linh hoạt trong lập trình. Những cỗ máy tiên phong như ENIAC (Electronic Numerical Integrator and Computer) dù là một kỳ quan công nghệ thời bấy giờ nhưng lại vô cùng cồng kềnh và đơn điệu trong vận hành. Vấn đề cốt lõi nằm ở phương pháp lập trình phần cứng (hardwired programming). Để thực hiện một tính toán cụ thể, các kỹ sư phải thiết kế và kết nối thủ công một cấu hình các thành phần logic. Quá trình này tương đương với việc 'lập trình' bằng cách cắm và rút dây, thay đổi các công tắc. Điều này có nghĩa là mỗi khi muốn máy tính thực hiện một nhiệm vụ mới, toàn bộ hệ thống phải được cấu hình lại về mặt vật lý. Quy trình này không chỉ tốn thời gian, công sức mà còn hạn chế nghiêm trọng khả năng ứng dụng của máy tính. Nó không thể nhanh chóng chuyển đổi giữa các tác vụ khác nhau, làm cho việc tính toán đa mục đích trở nên bất khả thi. Sự bất tiện và giới hạn này chính là động lực thúc đẩy các nhà khoa học, tiêu biểu là John von Neumann, tìm kiếm một giải pháp đột phá, dẫn đến sự ra đời của kiến trúc máy tính hiện đại.

2.1. Phân tích sự cồng kềnh và bất tiện của máy ENIAC

Máy tính ENIAC, hoàn thành vào năm 1946, là máy tính điện tử số đa năng đầu tiên. Tuy nhiên, 'đa năng' ở đây đi kèm với nhiều hạn chế. ENIAC là một cỗ máy khổng lồ, nặng 30 tấn, chứa 18.000 đèn chân không và tiêu thụ một lượng điện năng cực lớn. Vấn đề lớn nhất của nó là quy trình lập trình. Để chạy một chương trình mới, các lập trình viên phải cắm lại các dây cáp và đặt lại hàng ngàn công tắc, một công việc có thể mất nhiều ngày hoặc thậm chí vài tuần. Điều này làm cho ENIAC chỉ phù hợp với các bài toán lớn, lặp đi lặp lại, nơi thời gian thiết lập được bù đắp bằng thời gian tính toán dài. Sự thiếu linh hoạt này là một rào cản lớn cho sự phát triển của ngành điện toán.

2.2. Lập trình phần cứng hardwired programming là gì

Lập trình phần cứng là phương pháp mà trong đó trình tự các hoạt động tính toán được xác định bởi cấu hình vật lý của các thành phần logic. Thay vì một chương trình phần mềm, các kết nối dây dẫn và công tắc sẽ quyết định luồng xử lý của dữ liệu. Một tập hợp các thành phần logic cơ bản có thể được kết hợp theo nhiều cách khác nhau để lưu trữ dữ liệu nhị phân và thực hiện các phép toán. Khi cần một tính toán mới, một cấu hình kết nối mới phải được thiết kế và thực hiện. Theo tài liệu, quá trình này được mô tả là 'nối dây phần cứng cho mỗi chương trình mới'. Sự phụ thuộc vào cấu hình vật lý này làm cho việc thay đổi chức năng của máy tính trở nên cực kỳ khó khăn và không hiệu quả, hạn chế khả năng của máy tính ở mức rất cơ bản.

III. Phương pháp đột phá Khái niệm chương trình lưu trữ ra đời

Để giải quyết những hạn chế của lập trình cứng, một ý tưởng mang tính cách mạng đã ra đời: khái niệm chương trình lưu trữ (stored-program concept). Thay vì xây dựng một phần cứng chuyên dụng cho mỗi tác vụ, các nhà khoa học đã đề xuất xây dựng một phần cứng đa năng (general-purpose hardware) có khả năng thực hiện một tập hợp các hàm số học và logic tổng quát. Hoạt động của phần cứng này sẽ được điều khiển bởi các tín hiệu. Ý tưởng cốt lõi là biểu diễn một chương trình dưới dạng một chuỗi các mã lệnh (instruction codes). Mỗi mã lệnh này, khi được một bộ phận giải mã tiếp nhận, sẽ phát ra một tập hợp tín hiệu điều khiển tương ứng để kích hoạt một thao tác cụ thể trên phần cứng đa năng. Do đó, việc lập trình không còn là nối lại dây phần cứng nữa, mà chỉ đơn giản là cung cấp một chuỗi mã lệnh mới. Chuỗi các lệnh này chính là phần mềm (software). Khái niệm này đã đặt nền móng cho máy tính hiện đại, biến chúng từ những cỗ máy tính toán đơn nhiệm thành các công cụ đa năng, linh hoạt. Ba nguyên lý cơ bản của máy tính stored-program đã định hình nên toàn bộ ngành công nghiệp máy tính sau này.

3.1. Sự phát triển của phần cứng đa năng general purpose

Sự chuyển đổi từ lập trình cứng sang lập trình mềm đòi hỏi một loại phần cứng mới: phần cứng đa năng. Thay vì được thiết kế để chỉ thực hiện một nhiệm vụ, phần cứng này được xây dựng với các chức năng số học và logic tổng quát. Nó có thể thực hiện cộng, trừ, so sánh, và các thao tác logic cơ bản khác. Hoạt động của nó không được xác định trước mà phụ thuộc hoàn toàn vào các tín hiệu điều khiển được cung cấp. Một bộ phận biên dịch (hoặc giải mã) trong máy tính sẽ nhận các mã lệnh từ chương trình và chuyển đổi chúng thành các tập tín hiệu điều khiển tuần tự, ra lệnh cho phần cứng đa năng phải làm gì với dữ liệu. Điều này cho phép cùng một bộ phần cứng có thể thực hiện vô số các tác vụ khác nhau chỉ bằng cách thay đổi chương trình.

3.2. Ba nguyên lý cơ bản của máy tính stored program

Khái niệm chương trình lưu trữ được xây dựng dựa trên ba nguyên lý cơ bản, được đề xuất bởi John von Neumann và các cộng sự. Thứ nhất, dữ liệu và lệnh (instructions) đều được lưu trữ chung trong một bộ nhớ đọc-ghi duy nhất. Điều này cho phép máy tính có thể xử lý chính các lệnh của nó như là dữ liệu, một khả năng cực kỳ mạnh mẽ. Thứ hai, nội dung trong bộ nhớ được định vị (truy cập) thông qua địa chỉ của nó, bất kể đó là loại dữ liệu gì. CPU không cần biết một vị trí trong bộ nhớ đang chứa lệnh hay dữ liệu. Thứ ba, việc thực thi chương trình diễn ra một cách tuần tự, từ lệnh này đến lệnh kế tiếp, trừ khi có một lệnh rẽ nhánh thay đổi luồng thực thi. Ba nguyên lý này đã trở thành nền tảng cho kiến trúc Von Neumann.

IV. Bí quyết kiến trúc Von Neumann Phân tích cấu trúc máy tính IAS

Từ ý tưởng về chương trình lưu trữ, nhà toán học John von Neumann đã thiết kế một mẫu máy tính cụ thể tại Viện Nghiên cứu Cao cấp Princeton, được gọi là máy tính IAS (Institute for Advanced Studies). Cấu trúc của máy IAS đã trở thành khuôn mẫu cho hầu hết các máy tính đa năng sau này và được biết đến rộng rãi với tên gọi kiến trúc Von Neumann. Kiến trúc này bao gồm bốn thành phần chính hoạt động phối hợp. Bộ nhớ chính (Main Memory) có chức năng lưu trữ cả dữ liệu và lệnh. Đơn vị số học và logic (ALU - Arithmetic-Logic Unit) thực hiện các thao tác xử lý trên dữ liệu nhị phân. Đơn vị điều khiển chương trình (Program Control Unit) có nhiệm vụ thông dịch các lệnh trong bộ nhớ và tạo điều kiện để chúng được thực thi. Cuối cùng, Thiết bị vào/ra (I/O Equipment) được điều khiển bởi đơn vị điều khiển để di chuyển dữ liệu giữa máy tính và môi trường bên ngoài. Cấu trúc này định nghĩa một luồng hoạt động rõ ràng: lệnh và dữ liệu được nạp từ bộ nhớ vào CPU, CPU xử lý chúng, và kết quả được lưu lại vào bộ nhớ hoặc gửi ra thiết bị ngoại vi. Sự đơn giản và hiệu quả của mô hình này đã giúp nó tồn tại và phát triển cho đến tận ngày nay, trở thành nền tảng cho hầu hết các máy tính cá nhân, máy chủ và thiết bị di động.

4.1. Sơ đồ cấu trúc máy tính IAS và các thành phần chính

Máy tính IAS là hiện thực hóa của kiến trúc Von Neumann. Cấu trúc của nó bao gồm Bộ nhớ chính để lưu trữ chương trình và dữ liệu. ALUĐơn vị điều khiển chương trình (PCU) được gộp chung vào một khối trung tâm là CPU. ALU thực hiện các phép toán, trong khi PCU đọc lệnh từ bộ nhớ, giải mã và điều khiển ALU thực thi. Thiết bị I/O kết nối với hệ thống thông qua đơn vị điều khiển. Tất cả các thành phần này được liên kết với nhau qua một hệ thống bus, cho phép truyền tải dữ liệu và tín hiệu điều khiển. Mô hình này được gọi là 'máy von Neumann' và là cơ sở cho các thiết kế máy tính hiện đại.

4.2. Cách tổ chức bộ nhớ từ nhớ word và định dạng lệnh

Trong thiết kế của máy IAS, bộ nhớ chứa 1000 vị trí lưu trữ, mỗi vị trí được gọi là một từ nhớ (word). Mỗi word có độ dài 40 bit. Dữ liệu số được biểu diễn bằng 1 bit dấu và 39 bit giá trị. Điểm đặc biệt là mỗi word bộ nhớ có thể chứa hai lệnh 20-bit. Một lệnh 20-bit này lại được chia thành hai phần: 8 bit cho mã lệnh (opcode) để xác định loại thao tác cần thực hiện (ví dụ: cộng, lưu trữ), và 12 bit cho địa chỉ (address) để chỉ định vị trí của toán hạng trong bộ nhớ. Cách tổ chức này cho phép tiết kiệm không gian bộ nhớ và tối ưu hóa việc nạp lệnh từ bộ nhớ vào CPU.

4.3. Vai trò của ALU đơn vị điều khiển và thiết bị I O

Trong kiến trúc Von Neumann, mỗi thành phần có một vai trò rõ ràng. ALU là nơi thực hiện các phép tính toán học (cộng, trừ) và các phép toán logic (AND, OR, NOT) trên dữ liệu. Đơn vị điều khiển (Control Unit) là nhạc trưởng của hệ thống. Nó tìm nạp các lệnh từ bộ nhớ, giải mã chúng và gửi đi các tín hiệu điều khiển đến các bộ phận khác (như ALU, bộ nhớ, I/O) để thực thi lệnh đó. Thiết bị I/O, được quản lý bởi đơn vị điều khiển, đóng vai trò là cổng giao tiếp, cho phép dữ liệu và lệnh được đưa vào hệ thống từ bên ngoài và kết quả tính toán được xuất ra cho người dùng hoặc các thiết bị khác.

V. TOP các thế hệ máy tính dựa trên kiến trúc Von Neumann

Kiến trúc Von Neumann không chỉ là một lý thuyết mà còn là nền tảng vững chắc cho sự phát triển bùng nổ của các thế hệ máy tính. Kể từ khi ra đời, mô hình này đã định hướng cho sự tiến hóa của công nghệ phần cứng qua nhiều giai đoạn. Thế hệ thứ nhất bắt đầu với việc sử dụng đèn chân không (vacuum tubes), tạo ra những cỗ máy khổng lồ như ENIAC, đánh dấu bước chân đầu tiên của kỷ nguyên điện toán. Thế hệ thứ hai chứng kiến một cuộc cách mạng về kích thước và hiệu suất với sự ra đời của transistor (bóng bán dẫn), thay thế cho đèn chân không. Máy tính trở nên nhỏ hơn, nhanh hơn, rẻ hơn và đáng tin cậy hơn. Đây cũng là thời kỳ phát triển của các ngôn ngữ lập trình bậc cao và phần mềm hệ thống. Thế hệ thứ ba được định hình bởi công nghệ mạch tích hợp (Integrated Circuits - IC), cho phép tích hợp hàng trăm transistor lên một con chip silicon nhỏ. Sự kiện này, cùng với Định luật Moore, đã thúc đẩy quá trình thu nhỏ và tăng tốc độ xử lý một cách đáng kinh ngạc. Cuối cùng, thế hệ thứ tư bắt đầu với sự phát minh ra bộ vi xử lý (microprocessor), tích hợp toàn bộ CPU lên một chip duy nhất, mở đường cho cuộc cách mạng máy tính cá nhân. Mỗi thế hệ đều là một bước tiến dựa trên nguyên lý cơ bản của kiến trúc Von Neumann.

5.1. Thế hệ thứ nhất với đèn chân không và sự ra đời ENIAC

Thế hệ máy tính đầu tiên (khoảng thập niên 1940-1950) được đặc trưng bởi việc sử dụng đèn chân không làm thành phần chuyển mạch và khuếch đại chính. Những máy tính này, tiêu biểu là ENIAC, rất lớn, tiêu thụ nhiều năng lượng và thường xuyên hỏng hóc do đèn chân không có tuổi thọ ngắn. Mặc dù ENIAC ra đời trước và sử dụng lập trình cứng, các máy tính sau đó trong thế hệ này, như IAS, đã áp dụng mô hình chương trình lưu trữ của Von Neumann, đặt nền móng cho các thế hệ sau.

5.2. Thế hệ thứ hai và ba Transistor và Mạch tích hợp IC

Sự phát minh ra transistor vào năm 1947 đã mở ra thế hệ máy tính thứ hai (cuối thập niên 1950 - giữa 1960). Transistor nhỏ hơn, nhanh hơn, tiêu thụ ít điện năng hơn và đáng tin cậy hơn nhiều so với đèn chân không. Thế hệ thứ ba (giữa 1960 - đầu 1970) tiếp tục cuộc cách mạng thu nhỏ với mạch tích hợp (IC). Công nghệ vi điện tử (microelectronics) cho phép đặt nhiều transistor lên một chip bán dẫn duy nhất. Các máy tính như IBM System/360 và PDP-8 (máy tính mini đầu tiên) là những sản phẩm tiêu biểu, chứng minh sức mạnh của việc tích hợp trên quy mô lớn.

5.3. Thế hệ thứ tư Sự bùng nổ của bộ vi xử lý Microprocessor

Thế hệ thứ tư (từ đầu thập niên 1970 đến nay) được đánh dấu bằng sự ra đời của bộ vi xử lý (microprocessor). Công nghệ tích hợp quy mô lớn (LSI) và rất lớn (VLSI) đã cho phép tích hợp hàng ngàn, rồi hàng triệu transistor lên một con chip, tạo ra một CPU hoàn chỉnh. Intel 4004 là bộ vi xử lý thương mại đầu tiên, mở đường cho sự phát triển của máy tính cá nhân. Tất cả các bộ vi xử lý hiện đại, từ Intel Core i-series đến chip di động, đều là hậu duệ trực tiếp của thế hệ này và vẫn tuân theo các nguyên tắc cơ bản của kiến trúc Von Neumann.

VI. Kết luận Di sản và tương lai của kiến trúc máy tính hiện đại

Kiến trúc Von Neumann đã và đang là kim chỉ nam cho thiết kế máy tính trong hơn 70 năm. Di sản của nó hiện hữu trong mọi thiết bị điện toán, từ siêu máy tính đến điện thoại thông minh. Khả năng lưu trữ chung cả chương trình và dữ liệu trong một bộ nhớ duy nhất đã tạo ra một sự linh hoạt vô song, cho phép phần mềm phát triển độc lập với phần cứng và mở ra một kỷ nguyên của các ứng dụng đa dạng. Tuy nhiên, kiến trúc này cũng đối mặt với những thách thức trong bối cảnh hiện đại. 'Thắt cổ chai Von Neumann' (Von Neumann bottleneck), tình trạng bus hệ thống không đáp ứng kịp tốc độ xử lý của CPU và nhu cầu truy cập bộ nhớ, trở thành một vấn đề lớn. Để giải quyết, các nhà thiết kế đã đưa ra nhiều cải tiến như sử dụng bộ nhớ cache, kiến trúc song song, và các kỹ thuật dự đoán nhánh. Tương lai của kiến trúc máy tính sẽ tiếp tục xoay quanh việc cân bằng hiệu suất, cải thiện tốc độ giao tiếp giữa các thành phần, và giảm tiêu thụ năng lượng. Dù có những kiến trúc mới xuất hiện, những nguyên lý nền tảng mà John von Neumann đặt ra vẫn sẽ là bài học cơ bản cho bất kỳ nhà thiết kế hệ thống máy tính nào.

6.1. Di sản của kiến trúc Von Neumann trong máy tính ngày nay

Di sản lớn nhất của kiến trúc Von Neumann là khái niệm máy tính đa năng được điều khiển bởi chương trình lưu trữ. Hầu hết mọi máy tính chúng ta sử dụng ngày nay, bất kể nhà sản xuất hay mục đích sử dụng, đều tuân theo mô hình cơ bản này: một CPU tìm nạp lệnh và dữ liệu từ một bộ nhớ chung để thực thi. Sự phân tách rõ ràng giữa phần cứng và phần mềm, cho phép các lập trình viên tạo ra vô số ứng dụng mà không cần thay đổi cấu trúc vật lý của máy, chính là nhờ vào mô hình này. Nó đã dân chủ hóa công nghệ máy tính và là động lực chính đằng sau cuộc cách mạng kỹ thuật số.

6.2. Các thách thức hiện tại Cân bằng hiệu suất và tốc độ

Mặc dù thành công, kiến trúc Von Neumann cũng bộc lộ những hạn chế khi tốc độ CPU tăng nhanh hơn nhiều so với tốc độ truy cập bộ nhớ. Tình trạng này gây ra 'thắt cổ chai', làm chậm hiệu suất chung của hệ thống. Các giải pháp hiện đại để giảm thiểu vấn đề này bao gồm: sử dụng hệ thống bộ nhớ cache đa cấp để lưu trữ dữ liệu thường dùng gần CPU hơn, tăng tốc độ bus liên kết giữa CPU và bộ nhớ, và phát triển các kiến trúc song song (parallel architectures) với nhiều lõi xử lý hoạt động đồng thời. Việc liên tục cải thiện tổ chức và cấu trúc chip để cân bằng giữa tốc độ, công suất và độ trễ truy xuất bộ nhớ là thách thức lớn nhất đối với các nhà thiết kế kiến trúc máy tính ngày nay.

17/07/2025

Trích đoạn nội dung tài liệu

KIEÁN TRUÙC MAÙY TÍNH & HỆ ĐIỀU HÀNH TS. Nguyeãn Hoàng Sôn 1 CuuDuongThanCong.com https://fb.com/tailieudientucntt Tài liệu tham khảo 1. William Stallings, Computer Organization and Architecture – Designing for Performance, 8th Edition, Prentice-Hall International, Inc 2. Principles of Computer Architecture, Miles Murdocca and Vincent Heuring 2 CuuDuongThanCong.com https://fb.com/tailieudientucntt Baøi 1 GIÔÙI THIEÄU Kieán truùc & Toå chöùc maùy tính 3 CuuDuongThanCong.com https://fb.com/tailieudientucntt Toå chöùc vaø Kieán truùc Hai thuaät ngöõ nhaèm moâ taû moät heä thoáng maùy tính.

 Kieán truùc ñeà caäp ñeán caùc thuoäc tính maø ngöôøi laäp trình nhaän thaáy ñöôïc, aûnh höôûng tröïc tieáp ñeán thöïc thi chöông trình (Instruction set, soá bit bieåu dieãn data type, cô caáu I/O, addressing)  Toå chöùc maùy tính ñeà caäp ñeán caùc ñôn vò hoaït ñoäng vaø sự lieân keát giöõa chuùng, thöïc hieän caùc ñaëc taû kieán truùc (chi tieát phaàn cöùng, control signals, interfaces, memory technology)  Ví duï xaây döïng multiply instruction 4 CuuDuongThanCong.com https://fb.com/tailieudientucntt Caáu truùc vaø Chöùc naêng  Caáu truùc: cuï theå hoùa caùc thaønh phaàn vaø các mối lieân heä giữa các thành phần, laø hieän thöïc cụ thể cuûa toå chöùc maùy tính.  Chöùc naêng: hoaït ñoäng, thể hiện vai trò cụ thể cuûa moãi thành phần trong caáu truùc.com https://fb.com/tailieudientucntt Chöùc naêng maùy tính  Data processing  Data storage  Data movement (I/O, peripheral, communication)  Control 6 CuuDuongThanCong.com https://fb.com/tailieudientucntt Nguoàn vaø ñích cuûa data Cô caáu vaän chuyeån data Cô caáu ñieàu kieån Phöông tieän Phöông tieän löu tröõ data xöû lyù data 7 CuuDuongThanCong.com https://fb.com/tailieudientucntt 8 CuuDuongThanCong.com https://fb.com/tailieudientucntt Caùc thaønh phaàn chính Coù boán thaønh phaàn chính: •CPU: Ñieàu khieån caùc hoaït ñoäng vaø thöïc hieän caùc chöùc naêng xöû lyù data •Main memory: Löu tröõ data •I/O: vaän chuyeån data giöõa maùy tính vôùi beân ngoaøi •System interconnection: cung caáp cô cheá truyeàn thoâng giöõa ba thaønh phaàn treân 9 CuuDuongThanCong.com https://fb.com/tailieudientucntt MT Communication line CPU Ngoaïi vi Main memory System Interconnection Maùy tính •Löu tröõ •Xöû lyù I/O 10 CuuDuongThanCong.com https://fb.com/tailieudientucntt  Moät maùy tính coù theå coù moät hay nhieàu CPU  Dung löôïng boä nhôù laø tuøy choïn  Cô caáu I/O coù qui moâ khaùc nhau tuøy theo nhu caàu 11 CuuDuongThanCong.com https://fb.com/tailieudientucntt  Thaønh phaàn phöùc taïp nhaát laø CPU  Control unit ALU (Arithmetic and Logic Unit) Register CPU Interconnection 12 CuuDuongThanCong.com https://fb.com/tailieudientucntt CU CPU Sequencing Control unit ALU logic Control Unit Regisers CPU bus vaø Decoders Conrol Registers memory 13 CuuDuongThanCong.com https://fb.com/tailieudientucntt Sô löôïc lòch söû phaùt trieån 3000 BC 4000 BC 14 CuuDuongThanCong.com https://fb.com/tailieudientucntt Sô löôïc lòch söû phaùt trieån (tt)  Theá heä thöù nhaát:  Ñeøn chaân khoâng (vacuum tubes)  ENIAC  Von Neumann/ Alan Turing 15 CuuDuongThanCong.com https://fb.com/tailieudientucntt Máy tính ENIAC 16 CuuDuongThanCong.com https://fb.com/tailieudientucntt Sô löôïc lòch söû phaùt trieån:Máy tính ENIAC 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. Đâ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.com https://fb.com/tailieudientucntt Sô löôïc lòch söû phaùt trieån(tt)  Theá heä thöù hai:  Transistor  Multiplexer  Laäp trình möùc cao  Phaàn meàm heä thoáng 18 CuuDuongThanCong.com https://fb.com/tailieudientucntt Mouse (1964) 19 CuuDuongThanCong.com https://fb.com/tailieudientucntt Sô löôïc lòch söû phaùt trieån (tt)  Theá heä thöù 3:  Maïch tích hôïp (Integrated Circuits)  SSI, MSI  Microelectronics  IBM/360, PDP-8( minicomputer ñaàu tieân, duøng bus)  Luaät Moore  Số lượng transistors trên một microchip tăng lên gấp đôi sau mỗi 18-24 tháng.  Tốc độ microprocessor tăng lên gấp đôi sau mỗi 18-24 tháng.

 Giá thành trên một microchip giảm một nửa sau mỗi 18-24 tháng Tham khảo: http://www.com/intel/museum/25anniv/hof/moore.com https://fb.com/tailieudientucntt Sô löôïc lòch söû phaùt trieån (tt)  Theá heä thöù 4:  LSI, VLSI, ULSI  Semiconductor Memory  Microprocessor  Caùc theá heä sau 21 CuuDuongThanCong.com https://fb.com/tailieudientucntt 22 CuuDuongThanCong.com https://fb.com/tailieudientucntt 23 CuuDuongThanCong.com https://fb.com/tailieudientucntt Sơ đồ kiến trúc của PIII 24 CuuDuongThanCong.com https://fb.com/tailieudientucntt 25 CuuDuongThanCong.com https://fb.com/tailieudientucntt 26 CuuDuongThanCong.com https://fb.com/tailieudientucntt Intel Core 2 Dual 27 CuuDuongThanCong.com https://fb.com/tailieudientucntt Naâng cao chaát löôïng  Toác ñoä boä vi xöû lyù  Döï ñoaùn nhaùnh  Phaân tích luoàng soá lieäu  Thöïc thi coù döï baùo  Caân ñoái hieäu suaát  Caûi thieän toå chöùc vaø caáu truùc chip.com https://fb.com/tailieudientucntt 29 CuuDuongThanCong.com https://fb.com/tailieudientucntt 30 CuuDuongThanCong.com https://fb.com/tailieudientucntt Giaûi phaùp caân ñoái hieäu suaát  Boä nhôù lôùn hôn  Cache  Lieân keát CPU-memory toác ñoä cao  Thieát keá  Toác ñoä giöõa caùc thieát bò  Caùc öùng duïng vaø thieát bò ngoaïi vi 31 CuuDuongThanCong.com https://fb.com/tailieudientucntt Caûi thieän toå chöùc vaø caáu truùc chip  Toác ñoä vaø clock rate  Kích thöôùc vaø toác ñộ cache  Kieán truùc song song  Caùc heä quaû  Coâng suaát  Treã (RC delay)  Treã truy xuaát boä nhôù (Memory latency) 32 CuuDuongThanCong.com https://fb.com/tailieudientucntt Baøi 2 STORED-PROGRAM VAØ GENERAL-PURPOSE COMPUTER 33 CuuDuongThanCong.com https://fb.com/tailieudientucntt Söï xuaát hieän stored-program vaø general-purpose hardware  Moät taäp nhoû caùc linh kieän logic cô baûn coù theå keát hôïp vôùi nhau theo caùc caùch khaùc nhau ñeå löu tröõ döõ lieäu nhò phaân vaø thöïc hieän caùc pheùp toaùn soá hoïc vaø luaän lyù treân döõ lieäu ñoù.  Khi caàn moät tính toaùn naøo ñoù, moät caáu hình keát noái caùc thaønh phaàn logic ñöôïc thieát keá vaø thöïc hieän. Coù theå hieåu ñoù chính laø daïng laäp trình.com https://fb.com/tailieudientucntt Phaàn cöùng ñöôïc xaây döïng töø caùc thaønh phaàn logic Tuaàn töï caùc chöùc naêng Caùc Data soá hoïc vaø luaän lyù keát quaû Laäp trình phaàn cöùng (hardware programming) 35 CuuDuongThanCong.com https://fb.com/tailieudientucntt Söï xuaát hieän stored-program vaø general-purpose hardware (tt)  Neáu taát caû caùc öùng duïng ñeàu thöïc hieän baèng hardwired progam => baát tieän vaø khaû naêng cuûa maùy tính raát haïn cheá  Xaây döïng caùc chöùc naêng soá hoïc vaø luaän lyù toång quaùt (general-purpose hardware)  Hoaït ñoäng döïa vaøo tín hieäu ñieàu khieån 36 CuuDuongThanCong.com https://fb.com/tailieudientucntt Caùc maõ leänh (instruction codes) Bieân dòch Taäp tín hieäu ñieàu khieån DATA Caùc chöùc naêng Caùc keát quaû soá hoïc vaø luaän lyù toång quaùt 37 CuuDuongThanCong.com https://fb.com/tailieudientucntt Phaùt sinh tín hieäu ñieàu khieån  Toaøn boä chöông trình laø moät tuaàn töï goàm nhieàu böôùc.  Moãi böôùc caàn tieán haønh moät vaøi pheùp soá hoïc vaø luaän lyù treân data naøo ñoù.

 Moãi böôùc caàn moät taäp tín hieäu töông öùng  Moät code duy nhaát cho moät taäp tín hieäu coù theå  Moät segment töông öùng trong phaàn cöùng toång quaùt chaáp nhaän moät taäp tín hieäu ñieàu khieån ñöôïc phaùt ra.com https://fb.com/tailieudientucntt Phaùt sinh tín hieäu ñieàu khieån(tt)  Laäp trình baây giôø: thay vì noái daây phaàn cöùng cho moãi chöông trình môùi, chæ caàn cung caáp moät tuaàn töï môùi cuûa caùc code  Moãi code thöïc ra laø moät instruction, ñöôïc phaàn bieân dòch tieáp nhaän vaø phaùt ra taäp tín hieäu ñieàu khieån töông öùng.  Tuaàn töï caùc instruction ñoù laø software 39 CuuDuongThanCong.com https://fb.com/tailieudientucntt Ba khaùi nieäm cô baûn veà stored-program  Data vaø instruction ñöôïc löu tröõ trong moät boä nhôù ñoïc-ghi.  Noäi dung trong boä nhôù ñöôïc ñònh vò theo vò trí, khoâng caàn bieát kieåu data laø gì.  Thöïc thi chöông trình theo kieåu tuaàn töï, töø instruction naøy ñeán instruction keá tieáp.com https://fb.com/tailieudientucntt I/O module  Data vaø instruction phaûi ñöôïc ñöa vaøo trong heä thoáng qua module nhaäp  Caàn laáy hay thoâng baùo keát quaû tính toaùn thoâng qua module xuaát  Goïi chung laø I/O module 41 CuuDuongThanCong.com https://fb.com/tailieudientucntt Boä nhôù chính  Thieát bò nhaäp ñöa data vaø inst vaøo theo tuaàn töï, nhöng chöông trình khoâng phaûi thöïc thi theo tuaàn töï moät caùch cöùng nhaéc.

 Hoaït ñoäng tính toaùn coù theå phaûi truy xuaát nhieàu döõ kieän hôn taïi moät thôøi ñieåm theo moät tuaàn töï khoâng theå döï ñoaùn ñöôïc. =>caàn coù nôi löu tröõ taïm thôøi caû data vaø inst, ñoù laø boä nhôù chính 42 CuuDuongThanCong.com https://fb.com/tailieudientucntt Boä nhôù 0 : 1 Instruction CPU 2 MAR Instruction : Instruction MBR : Data I/O AR Data I/O BR I/O module Buffer 43 CuuDuongThanCong.com https://fb.com/tailieudientucntt Bài 3 KIẾN TRÚC VON NEUMANN VÀ KIẾN TRÚC HARVARD 44 CuuDuongThanCong.com https://fb.com/tailieudientucntt KIẾN TRÚC VON NEUMANN  ENIAC (Electronic Numerical Integrator And Computer) laø maùy tính ñieän töû daïng general- purpose ñaàu tieân.  ENIAC toû ra naëng neà vaø ñôn ñieäu  Caûi tieán töø yù töôûng stored-program, nhaø toaùn hoïc John von Neumann thieát keá ra maùy tính môùi goïi laø IAS (Institute for Advanced Studies) laø khuoân maãu cho taát caû caùc maùy tính general-purpose sau naøy.com https://fb.com/tailieudientucntt 46 CuuDuongThanCong.com https://fb.com/tailieudientucntt ALU Boä nhôù Thieát bò chính I/O Program Control Unit Caáu truùc cuûa maùy tính IAS 47 CuuDuongThanCong.com https://fb.com/tailieudientucntt Maùy von Neumann  Main memory: löu tröõ caû data vaø instruction  ALU: thao taùc treân soá lieäu nhò phaân  PCU: bieân dòch vaø taïo ñieàu kieän thöïc thi caùc inst  Thieát bò I/O ñöôïc ñieàu khieån bôûi CU 48 CuuDuongThanCong.com https://fb.com/tailieudientucntt Maùy von Neumann  Boä nhôù chöùa 1000 vò trí hay töø nhôù (word), moãi word coù 40 bit.  Moãi soá (data)ñöôïc bieåu dieãn goàm 1bit daáu vaø 39 bit giaù trò  Moãi word coù theå chöùa hai inst 20 bit  Moät inst goàm 8 bit op code vaø 12 bit ñòa chæ 49 CuuDuongThanCong.com https://fb.com/tailieudientucntt 0 1 39 Giaù trò Sign Number word bit Instruction traùi Instruction phaûi 0 7 8 19 20 28 39 Op code addr Op code addr Instruction word 50 CuuDuongThanCong.com https://fb.

Nội dung được bảo vệ bản quyền — Tải xuống đầy đủ