Giáo trình Kiến trúc máy tính
Mục đích: Giới thiệu cách phân loại máy tính. Phân tích các thông số đo khả năng xử lý
của máy tính, làm quen với toán logic - đại số boolean, tìm hiểu một số mạch logic đơn
giản, tìm hiểu kiến trúc tuần tự Vonneuman và nguyên lý hoạt động của kiến trúc này.
Yêu cầu: Sinh viên biết cách phân loại máy tính, biết rõ đặc điểm của từng loại. Nắm vững
các thông số đo khả năng xử lý của máy tính. Biết cách thiết kế một số mạch logic cơ bản.
Áp dụng vào làm bài tập.
1.1 Máy tính và phân loại máy tính
1.1.1 Máy tính
1.1.1.1 Khái niệm
Máy tính là thiết bị điện tử thực hiện các công việc: nhận dữ liệu vào, xử lý dữ liệu
theo dãy các lệnh được nhớ sẵn bên trong và đưa dữ liệu (thông tin) ra. Thông tin lưu trữ
trên máy tính là thông tin số hoặc biểu diễn dưới dạng quy luật logic. Hoạt động của máy
tính được điều khiển bằng một phần mềm gọi là hệ điều hành. Máy tính được lắp ghép bởi
các thành phần có thể thực hiện các chức năng đơn giản đã định nghĩa trước. Quá trình tác
động tương hỗ phức tạp của các thành phần này tạo cho máy tính một khả năng xử lý thông
tin. Nếu được thiết lập chính xác (thông thường bởi các chương trình máy tính) máy tính
có thể mô phỏng lại một số khía cạnh của một vấn đề hay của một hệ thống. Trong trường
hợp này, khi được cung cấp một bộ dữ liệu thích hợp nó có thể tự động giải quyết vấn đề
hay dự đoán trước sự thay đổi của hệ thống. [1]
Từ “máy tính” (computers), đầu tiên được dùng cho những người tính toán số học,
có hoặc không có sự trợ giúp của máy móc, nhưng hiện nay nó hoàn toàn có nghĩa là một
loại máy móc. Đầu tiên máy tính chỉ giải các bài toán số học, nhưng máy tính hiện đại làm
được nhiều hơn thế. Đến những năm 1990, khái niệm máy tính đã thực sự tách rời khỏi
khái niệm điện toán và trở thành một ngành khoa học riêng biệt với nhiều lĩnh vực đa dạng
và khái niệm hơn hẳn ngành điện toán thông thường và được gọi là công nghệ thông tin.
1.1.1.2 Các nguyên lý cơ bản của máy tính
Máy tính có thể làm việc thông qua sự chuyển động của các bộ phận cơ khí, điện tử
(electron), photon, hạt lượng tử hay các hiện tượng vật lý khác đã biết. Mặc dù máy tính
được xây dựng từ nhiều công nghệ khác nhau song gần như tất cả các máy tính hiện nay
đều là máy tính điện tử. Máy tính có thể trực tiếp mô hình hóa các vấn đề cần được giải
quyết. Trong khả năng của nó các vấn đề cần được giải quyết sẽ được mô phỏng gần giống
nhất với những hiện tượng vật lý đang khai thác. Ví dụ, dòng chuyển động của các điện tử
có thể được sử dụng để mô hình hóa sự chuyển động của nước trong đập Trong phần
lớn các máy tính ngày nay, trước hết, mọi vấn đề sẽ được chuyển thành các yếu tố toán học
bằng cách diễn tả mọi thông tin liên quan thành các số theo hệ nhị phân (hệ thống đếm dựa
trên các số 0 và 1 hay còn gọi là hệ đếm cơ số hai). Sau đó, mọi tính toán trên các thông
tin này được tính toán bằng đại số Boole (Boolean algebra). Các mạch điện tử được sử14
dụng để miêu tả các phép tính Boole. Vì phần lớn các phép tính toán học có thể chuyển
thành các phép tính Boole nên máy tính điện tử đủ nhanh để xử lý phần lớn các vấn đề toán
học.
Trang 1
Trang 2
Trang 3
Trang 4
Trang 5
Trang 6
Trang 7
Trang 8
Trang 9
Trang 10
Tải về để xem bản đầy đủ
Tóm tắt nội dung tài liệu: Giáo trình Kiến trúc máy tính
hi: số lượng thanh ghi các bộ xử lý kiến trúc IA-64 là 256 thanh ghi. Trong đó, 128 thanh ghi tổng quát (GR) 64 bit cho các tính toán số nguyên, luận lý; 128 thanh ghi 82 bit (FR) cho các phép tính dấu chấm động và dữ liệu đồ hoạ; ngoài ra, còn có 64 thanh ghi thuộc tính (PR)1 bit để chỉ ra các thuộc tính lệnh đang thi hành. - Nhiều bộ thi hành lệnh: hiện nay, một máy tính có thể có tám hay nhiều hơn các bộ thi hành lệnh song song. Các bộ thi hành lệnh này được chia thành bốn kiểu: o Kiểu I (I-Unit): dùng xử lý các lệnh tính toán số nguyên, dịch, luận lý, so sánh, đa phương tiện. o Kiểu M (M-Unit): Nạp và lưu trữ giữa thanh ghi và bộ nhớ thêm vào một vài tác vụ ALU. o Kiểu B (B-Unit): Thực hiện các lệnh rẽ nhánh. o Kiểu F (F-Unit): Các lệnh tính toán số dấu chấm động b) Định dạng lệnh trong kiến trúc IA-64 Kiến trúc IA-64 định nghĩa một gói (buldle) 128 bit chứa ba lệnh (mỗi lệnh dài 41 bit) và một trường mẫu (template field) 5 bit. Bộ xử lý có thể lấy một hay nhiều gói lệnh thi hành cùng lúc. Trường mẫu (template field) này chứa các thông tin chỉ ra các lệnh có thể thực hiện song song . Các lệnh trong một bó có thể là các lệnh độc lập nhau. Bộ biên dịch sẽ sắp xếp lại các lệnh trong các gói lệnh kề nhau theo một thứ tự để các lệnh có thể được thực hiện song song. Trong một lệnh, mã lệnh chỉ có 4 bit chỉ ra 16 khả năng có thể để thi thi hành một lệnh và 6 bit chỉ ra thanh ghi thuộc tính được dùng với lệnh. Tuy nhiên, các mã tác vụ này còn tuỳ thuộc vào vị trí của lệnh bên trong gói lệnh, vì vậy khả năng thi hành của lệnh nhiều hơn số mã tác vụ được chỉ ra. 128 - bit bundle instruction slot 2 instruction slot 1 instruction slot 0 template 41 41 41 5 Hình 6.11 Định dạng lệnh trong kiến trúc IA - 64 41 - bit instruction Major opcode PR 4 31 6 Hình 6.12 Dạng tổng quát của một lệnh trong gói lệnh 173 Major opcode other modifying bits GR 3 GR 2 GR 1 PR 4 10 7 7 7 6 Hình 6.13 Mô tả các trường trong một lệnh (41 bit). PR: Predicate register. GR: General hay Floating-point 6.4.2 Kiến trúc mạng nơ-ron Mạng nơ-ron AI- Artifician Neutral Network - Máy tính dưới dạng nơ-ron nhân tạo. Thông thường, một mạng nơ-ron bao gồm một hoặc nhiều nhóm các nơ-ron được kết nối vật lý với nhau hoặc có liên quan với nhau về chức năng. Một nơ-ron đơn có thể được nối với nhiều nơ-ron khác và tổng số nơ-ron và kết nối trong một mạng có thể là một giá trị cực kỳ lớn. Các kết nối, gọi là các khớp thần kinh (synapses), thường nối từ các axon tới các tế bào tua gia thần kinh (dendrite), tuy có thể có các vi mạch dendrodentritic và các kết nối khác. Ngoài tín hiệu điện, còn có các dạng tín hiệu khác phát sinh từ việc khuyếch tán các chất dẫn chuyền xung động thần kinh (neurotransmitter). Chúng có ảnh hưởng đối với tín hiệu điện. Do vậy, cũng như các mạng sinh học khác, mạng nơ-ron vô cùng phức tạp. Trong khi hiện nay, dù chưa đạt được một mô tả chi tiết nào về hệ thần kinh, người ta vẫn ngày càng hiểu rõ hơn về các cơ chế cơ bản. 6.4.3 Kiến trúc Nehalem Đại diện cho kiến trúc Nehalem chính là hai bộ xử lý điển hình Intel Core i7 965 và Core i7 920. Bên cạnh hiệu năng cao, hai bộ xử lý này còn cung cấp cho người dùng những công nghệ mới mẻ và hữu ích, chúng có cache L2 riêng cho mỗi nhân (dung lượng 256KB, độ trễ thấp). Ngoài ra, các nhân xử lý còn thực hiện việc lấy lệnh và trao đổi dữ liệu trên cache L3 dung lượng cho phép lên đến 8MB. Kiến trúc Nehalem, Intel đã thiết kế hai tuyến bus riêng biệt. Cụ thể, để “liên kết” đến thiết bị ngoại vi như card đồ họa, đĩa cứng... hai BXL Intel Core i7 965 và 920 được cung cấp tuyến bus Intel QuickPath Interconnect (Intel QPI) với tốc độ giao tiếp có thể đạt đến lần lượt là 6,4GT/s (Core i7 965) và 4,8GT/s (Core i7 920). Việc giao tiếp giữa bộ nhớ và chip điều khiển bộ nhớ tích hợp (chỉ hỗ trợ loại DDR3) trong bộ xử lý được thực hiện trên một tuyến bus hoàn toàn độc lập với Intel QPI. Ngoài ra, kiến trúc Nehalem cũng chuẩn bị cho nguời dùng một “bộ sưu tập” những công nghệ hữu ích. Đầu tiên, bạn sẽ được gặp lại công nghệ siêu phân luồng (Hyper Threading) đã quen thuộc với người dùng từ thời những bộ xử lý Intel Pentium. Với công nghệ này, một nhân trong bộ xử lý có thể hoạt động đồng thời với hai luồng xử lý, nghĩa là hai bộ xử lý nền Nehalem bốn nhân có thể cung cấp cho nguời dùng 8 luồng xử lý đồng thời để giải quyết các ứng dụng. Để thực hiện yêu cầu tiết kiệm năng lượng, Intel đã đưa vào bộ xử lý của mình công nghệ Power Gates giúp loại bỏ dòng điện rò trên các nhân đang được đặt ở trạng thái nghỉ và đưa điện áp trên đó về mức gần như bằng 0. Bên cạnh đó, Intel cũng tích hợp vào những bộ xử lý nền Nehalem một chip điều khiển năng lượng PCU (Power Control Unit) để sử dụng hiệu quả điện trên các nhân. Đây chính là điểm 174 quyết định cho công nghệ Turbo Boost khi PCU có thể điều khiển các thành phần điện năng, xung nhịp và các cảm ứng trạng thái ở mỗi nhân một cách độc lập. Khi yêu cầu của tải công việc cao hơn nhưng chưa tới mức cần phải “bật” thêm nhân mới, các nhân xử lý đang hoạt động có thể được “đẩy” xung nhịp lên mức cao hơn để gánh vác phần việc này. Do đó, các nhân trong những bộ xử lý Nehalem có thể sẽ hoạt động tại các mức xung nhịp khác nhau. Một số điểm mới khác trên dòng bộ xử lý nền Nehalem cũng cần đề cập đến là tập lệnh đa phương tiện mới SSE4.2 với thêm 7 lệnh bổ sung giúp cải thiện khả năng xử lý văn bản, chuỗi hay một số ứng dụng đặc trưng; cải tiến công nghệ ảo hóa (Intel Vitualization) để các máy ảo có thể hoạt động hiệu quả hơn... Sau sự xuất hiện của những bộ xử lý kiến trúc Core có hiệu năng khá cao, kiến trúc Nehalem mới của Intel tiếp tục đem đến cho người dùng thế hệ bộ xử lý tiếp theo với hiệu năng được cải thiện đáng kể, minh chứng là kết quả thử nghiệm vượt trội so với những bộ xử lý theo nền kiến trúc Core cũ. Bên cạnh đó, những bộ xử lý nền Nehalem cũng đem đến cho người dùng những công nghệ tiết kiệm điện năng, ảo hóa hay những cải tiến trong mặt thiết kế. Nhờ đó, cùng với một bo mạch chủ chipset Intel X58, bộ xử lý nền Nehalem sẽ góp phần đem đến cho người dùng những hệ thống máy tính có ưu thế lớn về sức mạnh xử lý và độ ổn định, đáp ứng tốt nhất yêu cầu làm việc và giải trí của người dùng. 6.4.4 Kiến trúc máy tính lượng tử Các nhà khoa học phát triển kỹ thuật mới này khai thác hành vi của điện tử, tập trung vào spin của nó thay vì điện tích. Electron, hay còn gọi là điện tử là một hạt sơ cấp có vai trò vô cùng quan trọng. Bạn có biết tất cả các thiết bị điện tử ngày nay, theo cái tên của chúng, đều khai thác tính chất điện của electron. Chúng ta sản xuất điện, chế tạo bóng đèn, điện thoại, máy tính đều dựa vào điều đó. Nhưng electron bản thân chúng không chỉ có tính chất điện. Khai thác các đặc trưng còn lại của điện tử sẽ mở ra nhiều hướng ứng dụng mới vô cùng tuyệt vời. Đó chính là điều mà một nhóm các nhà khoa học quốc tế tại Phòng thí nghiệm Berkeley, Hoa Kì đã làm. Họ phát triển một kỹ thuật mới để khai thác hành vi của điện tử, tập trung vào spin của nó thay vì điện tích. Điều này hứa hẹn mở ra một kiến trúc máy tính và truyền thông tin lượng tử mới. Trong khi gây sốc một vật liệu silic đặc thù bằng vi sóng, các nhà nghiên cứu nhận ra spin điện tử của chúng nhanh chóng bị thay đổi. Nó sẽ nhanh chóng chuyển từ trạng thái kích thích xuống trạng thái cơ bản, đồng thời phát ra một photon ánh sáng. Spin là một khái niệm vật lý đặc trưng cơ bản của điện tử. Nó chỉ có thể nhận một trong hai giá trị. Vì vậy, có thể hình dung spin giống như một đồng xu hoặc sấp hoặc ngửa. Đặc trưng này dẫn đến ý tưởng sử dụng spin để miên tả các bit 0 và 1 trong máy tính. Đây là một điều rất thú vị. Hãy thử tưởng tượng một điện tử như một đồng xu. Máy tính ngày nay miêu tả 1 bit dữ liệu bằng cách đóng mở dòng điện trong các transistor siêu nhỏ. Mặc dù vậy, nó vẫn giống như bạn phải ném hàng ngàn đồng xu qua một khoảng cách cực lớn chỉ để mô tả 1 bit. Với spin, bạn đơn thuần là lật tại chỗ hai mặt của đồng xu để nó thể hiện các bit khác nhau. Mặc dù vậy, việc lật một đồng xu spin là không đơn giản. Hiệu ứng này chỉ xảy 175 ra trong tự nhiên mỗi 10.000 năm. Tuy nhiên, bằng nghiên cứu mới này, các nhà khoa học có thể khiến việc này diễn ra chỉ trong 1 giây. “Nó giống như một nghệ sĩ tung hứng ném quả bóng lên trời và nó rơi xuống với tốc độ nhanh gấp 1.000 lần. Cùng với đó phát ra một luồng ánh sáng”, Thomas Schenkel, nhà vật lý làm việc tại Bộ phận Công nghệ gia tốc và Ứng dụng vật lý thuộc Berkeley Lab cho biết. “Kết quả này của chúng tôi rất quan trọng cho việc xử lí thông tin lượng tử”, Patrice Bertet, người dẫn đầu thí nghiệm tại Ủy ban Năng lượng nguyên tử Pháp (CEA) cho biết. “Thật vậy, đây sẽ là nền móng hướng tới sự kết hợp mạnh mẽ của spin điện tử với photon, mà sẽ hình thành cơ sở một kiến trúc máy tính lượng tử mới”. Trong các máy tính ngày nay, thông tin được lưu trữ trong các bit riêng lẻ. Mỗi bit được gán giá trị 0 hoặc 1. Máy tính lượng tử được hứa hẹn là sẽ mạnh mẽ hơn gấp nhiều lần, bởi nó sử dụng một loại khác của bit có tên qubit. Một qubit có thể cùng lúc nhận hai giá trị 0 và 1, theo một hiệu ứng kì lạ của cơ học lượng tử. Nếu xây dựng được một mảng liên kết các qubit, máy tính lượng tử có khả năng thực hiện rất rất nhiều tính toán cùng lúc. Nghiên cứu mới đã chỉ ra rằng trong khi spin của điện tử có thể đóng vai trò một qubit, photon vi sóng phát ra có thể làm việc như một cách thức truyền thông tin. Kết hợp lại, chúng ta sẽ có một kiến trúc máy tính lượng tử mới. “Những gì chúng tôi cần làm bây giờ là kết nối các spin với nhau”, Morton nói. “Chúng tôi cần phải kết cặp các qubit với nhau nếu muốn thực hiện tính toán”. Để làm được điều này, các nhà nghiên cứu đã thực hiện thí nghiệm tại cơ sở CEA, Pháp. Họ sử dụng những tinh thể siêu tinh khiết của silic, sau đó pha tạp với một số nguyên tử bismuth. Schenkel mô tả công việc này giống như bạn đang cố ép những quả bóng bowling vào một mạng lưới bóng bàn vậy. Sau đó, một mạch siêu dẫn bằng nhôm được tạo ra dể hình thành khoang cộng hưởng cho phép điều chỉnh chính xác vi sóng phát ra. Đồng xu spin của các điện tử bismuth lúc này đều ở trạng thái lật. Khi quá trình phát vi sóng bắt đầu, khoang cộng hưởng nhôm được tinh chỉnh sao cho tới một trạng thái nào đó, các đồng xu spin đều bị lật úp trở lại, đồng thời phát ra một photon ánh sáng. Các khoa học cho biết nghiên cứu mới này của họ không chỉ có ý nghĩa với việc phát triển máy tính lượng tử. Hiệu ứng còn giúp nâng cao chất lượng của kỹ thuật chụp cộng hưởng từ MRI, ứng dụng trong y tế, nghiên cứu cấu trúc vật liệu và phân tử sinh học. Bertet nói nhóm nghiên cứu sẽ tiếp tục rút ngắn thời gian lật những spin này xuống cỡ một mili giây. Khi đó, “điều này sẽ mở đường cho nhiều ứng dụng mới hơn nữa”. 176 CÂU HỎI ÔN TẬP VÀ BÀI TẬP CHƯƠNG 6 ***** Câu hỏi hướng dẫn ôn tập, thảo luận Câu 1. Phân loại các kiến trúc song song theo Mycheal Flynn? Câu 2. Vẽ sơ đồ của kiến trúc Single Instruction Stream, Single Data Stream? Câu 3. Vẽ sơ đồ của kiến trúc Single Instruction Stream, Multiple Data Stream? Câu 4. Vẽ sơ đồ của kiến trúc Multiple Instruction Stream, Single Data Stream? Câu 5. Vẽ sơ đồ của kiến trúc Multiple Instruction Stream, Multiple Data Stream? Câu 6. Trình bày về kiến trúc song song mức lệnh và song song mức luồng? Câu 7. Các ví dụ về siêu máy tính dùng kỹ thuật xử lý song song? Câu 8. Kiến trúc RISC là gì? Phân tích đặc trưng của máy tính dùng kiến trúc RISC? Câu 9. Kiến trúc CISC là gì? Phân tích đặc trưng của máy tính dùng kiến trúc CISC? Câu 10. So sánh những đặc tính khác nhau cơ bản của kiến trúc RISC và CISC? Câu 11. Mạng liên kết trong có những dạng nào? Nêu đặc trưng điển hình của mỗi dạng? Câu 12. Trình bày một số kiến trúc trong tương lai mà em biết? Câu hỏi trắc nghiệm Câu 1. Có mấy mô hình kiến trúc máy tính dựa vào sự phân loại của Flynn A. 1 B. 2 C. 4 D. 3 Câu 2. Mô hình SISD có mấy đơn vị điều khiển tín hiệu A. 1 B. 2 C. n D. 3 Câu 3. Mô hình SISD có mấy đơn vị xử lý số học A. 1 B. 2 C. 3 D. n Câu 4. Mô hình SIMD có mấy đơn vịđiều khiển A. 2 B. 1 C. 3 D. n Câu 5. Mô hình SIMD có mấy đơn vị xử lý số học A. 2 B. 1 C. 3 D. n Câu 6. Mô hình MISD có mấy đơn vị điều khiển A. 2 B. 1 C. 3 D. n Câu 7. Mô hình MISD có mấy đơn vị xử lý số học A. 2 B. 1 C. 3 D. n Câu 8. Mô hình MIMD có mấy đơn vị điều khiển A. 2 B. 1 C. n D.3 Câu 9. Mô hình MIMD có mấy đơn vị xử lý số học 177 A. n B. 1 C. 2 D. 3 Câu 10. Mục đích của xử lý song song là A. Làm giảm thời gian tính toán của hệ thống B. Giải quyết các bài toán có kích thước dữ liệu lớn C. Giải quyết các bài toán có độ phức tạp cao D. Làm giảm thời gian tính toán của hệ thống, giải quyết các bài toán có kích thước dữ liệu lớn, giải quyết các bài toán có độ phức tạp cao. Câu 11. Để tăng cường hiệu quả của máy tính, người ta đã nghĩ tới giải pháp song song bằng cách: A. Tăng số lượng bộ nhớ B. Tăng tốc độ xử lý C. Tăng số lượng bộ xử lý D. Tăng thiết bị vào ra Câu 12. SIMD thuộc loại máy tính: A. Một dòng lệnh, một dòng số liệu B. Nhiều dòng lệnh, một dòng số liệu C. Một dòng lệnh, nhiều dòng số liệu D. Nhiều dòng lệnh, nhiều dòng số liệu. Câu 13. MIMD thuộc loại máy tính: A. Nhiều dòng lệnh, nhiều dòng số liệu B. Một dòng lệnh, nhiều dòng số liệu C. Nhiều dòng lệnh, một dòng số liệu D. Một dòng lệnh, một dòng số liệu. Câu 14. MISD thuộc loại máy tính: A. Nhiều dòng lệnh, nhiều dòng số liệu B. Một dòng lệnh, nhiều dòng số liệu C. Nhiều dòng lệnh, một dòng số liệu D. Một dòng lệnh, một dòng số liệu. Câu 15. SISD thuộc loại máy tính: A. Nhiều dòng lệnh, nhiều dòng số liệu B. Một dòng lệnh, nhiều dòng số liệu C. Nhiều dòng lệnh, một dòng số liệu. D. Một dòng lệnh, một dòng số liệu. 178 TÀI LIỆU THAM KHẢO [1] Tiến sĩ Nguyễn Kim Khánh: bài giảng Kiến trúc máy tính trường Đại học Bách Khoa Hà Nội. 2015 [2] Nguyễn Đình Việt: Kiến trúc máy tính. Nhà xuất bản Đại học Quốc Gia Hà Nội. 2010 [3] Tiến sĩ Trần Công Hùng: Kiến trúc máy tính tiên tiến. Nhà xuất bản Thông tin và truyền thông. 2011 [4] Báo cáo Cấu trúc và bảo trì hệ thống - ĐH Kỹ thuật hậu cần CAND [5] John L. Henness & David A. Patterson. Computer Architecture. A Quantitative Approach. 2006 (4th edition). [6] William Stallings. Computer Organization and Architecture. Designing for Performance - 2009 (6th edition). [7] David A. Patterson & Jonhn L. Hennessy. Computer Organization and design: The hardware/Software Interface. 2005 (3th edition).Patterson, Hennessy - Computer Organization and Design; The Hardware-Software Interface, 2E (Morgan Kaufman, 1997).pdf [8] David Tarnoff: Computer Organization and Design Fundamentals. 2007. Revised First Edition.pdf 179
File đính kèm:
- giao_trinh_kien_truc_may_tinh.pdf