lOMoARcPSD| 58137911
BÀI GIẢI CHO BÀI TẬP KIẾN TRÚC MÁY TÍNH Chương 1:
Bài 1:
Bài giải:
Cơ sở hình thành:
Lý thuyết: Các nghiên cứu toán học và lý thuyết máy tính như Máy Turing của Alan
Turing và lý thuyết logic Boole.
Kỹ thuật: Sử dụng bóng đèn điện tử để thực hiện các phép toán và xử lý dữ liệu, mặc
dù công nghệ còn hạn chế và tiêu tốn năng lượng lớn.
Nhu cầu: Nhu cầu tính toán trong quân sự (giải mã mật mã, tính toán bắn pháo) và khoa
học thúc đẩy sự phát triển.
Thành tựu:
ENIACUNIVAC là hai máy tính tiêu biểu, trong đó ENIAC là máy tính điện tử đầu
tiên và UNIVAC là máy tính thương mại đầu tiên.
Công dụng:
Quân sự: Tính toán chiến lược và giải mã mật mã.
Khoa học: Hỗ trợ tính toán các vấn đề phức tạp trong nghiên cứu.
Tài chính: Được sử dụng trong tính toán và xử lý dữ liệu cho các mục đích thống kê, tài
chính.
Bài 2
lOMoARcPSD| 58137911
Bài giải:
Máy tính lượng tử (Quantum Computing) là một lĩnh vực đang phát triển mạnh mẽ trong khoa
học máy tính và vật lý, nhằm sử dụng các nguyên lý của cơ học lượng tử để giải quyết các bài
toán mà máy tính cổ điển không thể xử lý hiệu quả. Dưới đây là tổng quan về máy tính lượng tử,
bao gồm các nguyên lý cơ bản, các ứng dụng tiềm năng và các nghiên cứu mới nhất trong lĩnh
vực này.
1. Nguyên lý cơ bản của máy tính lượng tử
Máy tính lượng tử dựa trên các nguyên lý của cơ học lượng tử, đặc biệt là superposition (chồng
chập)entanglement (rối lượng tử). Superposition (Chồng chập): Trong máy tính cổ
điển, bit có thể có một trong hai giá trị: 0 hoặc 1. Tuy nhiên, trong máy tính lượng tử, qubit
thể ở trạng thái superposition, tức là đồng thời ở trạng thái 0 và 1 với một xác suất nhất định.
Điều này giúp máy tính lượng tử xử lý nhiều trạng thái cùng lúc, mở ra khả năng tính toán vượt
trội so với máy tính cổ điển.
Entanglement (Rối lượng tử): Khi hai qubit được rối lượng tử, trạng thái của chúng trở
nên liên kết với nhau, bất kể khoảng cách giữa chúng. Điều này giúp truyền tải thông tin
giữa các qubit một cách nhanh chóng và hiệu quả, tạo ra sự liên kết mạnh mẽ trong các
phép toán lượng tử.
2. Các thành tựu trong nghiên cứu máy tính lượng tử
Máy tính lượng tử đã đạt được một số tiến bộ quan trọng trong những năm gần đây. Các công ty
công nghệ lớn như IBM, Google, Intel, và các tổ chức nghiên cứu như CERN đã phát triển các
mô hình và thuật toán mới để khai thác tiềm năng của máy tính lượng tử. Một số cột mốc đáng
chú ý:
Google đã công bố việc đạt được "supremacy lượng tử" vào năm 2019, chứng minh rằng
máy tính lượng tử của họ có thể giải quyết một bài toán mà máy tính cổ điển không thể
xử lý trong thời gian hợp lý.
IBM cung cấp các dịch vụ quantum computing qua nền tảng IBM Quantum
Experience, cho phép người dùng thử nghiệm và lập trình trên các máy tính lượng tử
thực tế.
lOMoARcPSD| 58137911
Intel đang nghiên cứu và phát triển các vi mạch lượng tử để xây dựng các hệ thống tính
toán lượng tử có thể mở rộng và khả năng hoạt động ổn định hơn trong môi trường thực
tế.
3. Ứng dụng của máy tính lượng tử
Máy tính lượng tử có thể mở rộng khả năng giải quyết các bài toán trong nhiều lĩnh vực khác
nhau:
Mô phỏng vật lý và hóa học: Máy tính lượng tử có thể mô phỏng các quá trình vật lý và
hóa học phức tạp, giúp nghiên cứu các phản ứng hóa học, cấu trúc phân tử, và vật liệu
mới.
Mã hóa và bảo mật thông tin: Các thuật toán lượng tử có thể giúp phát triển các phương
pháp mã hóa mạnh mẽ hơn và bảo mật hơn, cũng như phá giải những hệ thống mã hóa cổ
điển hiện tại.
Tối ưu hóa: Máy tính lượng tử có thể giải quyết các bài toán tối ưu hóa phức tạp, như tối
ưu hóa chuỗi cung ứng, tối ưu hóa lịch trình, và tối ưu hóa tài chính, nhanh hơn nhiều so
với các phương pháp cổ điển.
AI và học máy (Machine Learning): Máy tính lượng tử có thể cải thiện hiệu suất trong
các thuật toán học máy, giúp xử lý dữ liệu lớn và tìm kiếm mẫu trong các tập dữ liệu
phức tạp.
4. Thách thức trong phát triển máy tính lượng tử
Dù có tiềm năng to lớn, máy tính lượng tử vẫn đối mặt với nhiều thách thức:
Ổn định qubit: Qubit rất dễ bị ảnh hưởng bởi các yếu tố bên ngoài như nhiệt độ, từ
trường và độ ẩm, khiến cho việc duy trì trạng thái lượng tử trong thời gian dài trở thành
một vấn đề lớn.
Tính mở rộng: Việc xây dựng máy tính lượng tử với hàng triệu qubit có thể thực hiện
các phép toán thực tế vẫn là một thách thức về mặt kỹ thuật.
Thuật toán và phần mềm: Phát triển các thuật toán lượng tử phù hợp và phần mềm hỗ
trợ để tận dụng tối đa khả năng của máy tính lượng tử vẫn là một lĩnh vực nghiên cứu
đang được tiến hành.
5. Tương lai của máy tính lượng tử
Dù còn nhiều thách thức, nhưng tương lai của máy tính lượng tử rất hứa hẹn. Các công ty như
Google, IBM, IntelMicrosoft đang tiếp tục đầu tư mạnh vào nghiên cứu và phát triển máy
tính lượng tử. Các ứng dụng như mô phỏng vật lý lượng tửtối ưu hóa lượng tử có thể
mang lại những bước đột phá trong khoa học, công nghệ, và kinh tế.
Ngoài ra, các công nghệ như học máy lượng tử (quantum machine learning)mã hóa
lượng tử đang trở thành một xu hướng nghiên cứu mới, mở ra nhiều cơ hội cho các nhà khoa
học và kỹ sư trong việc giải quyết các vấn đề mà các máy tính cổ điển không thể xử lý hiệu quả.
lOMoARcPSD| 58137911
Bài 3:
Bài giải:
1. Thành phần thiết bị ngoại vi trong mô hình Von Neumann
Mô hình Von Neumann là mô hình kiến trúc máy tính cơ bản, trong đó bộ vi xử lý (CPU) được
chia thành ba thành phần chính: Bộ điều khiển (Control Unit - CU), Bộ xử lý số học và logic
(ALU), và Bộ nhớ (Memory). Tuy nhiên, để máy tính có thể giao tiếp với thế giới bên ngoài,
cần phải có các thiết bị ngoại vi, hay còn gọi là thiết bị nhập/xuất (I/O devices).
Các thiết bị ngoại vi trong mô hình Von Neumann bao gồm các phần cứng giúp máy tính nhận
dữ liệu đầu vào (input) từ người sử dụng và gửi dữ liệu ra ngoài (output) cho người sử dụng hoặc
các thiết bị khác.
2. Vai trò của thiết bị ngoại vi trong mô hình Von Neumann
Nhập (Input): Thiết bị nhập giúp máy tính nhận dữ liệu từ người sử dụng hoặc môi
trường bên ngoài. Dữ liệu này có thể là văn bản, hình ảnh, âm thanh hoặc các tín hiệu
khác.
Xuất (Output): Thiết bị xuất giúp máy tính truyền tải kết quả xử lý ra ngoài dưới dạng
dễ hiểu đối với người sử dụng hoặc các hệ thống khác (ví dụ: màn hình, máy in, loa).
Các thiết bị ngoại vi đóng vai trò quan trọng trong việc kết nối máy tính với thế giới bên ngoài
và hỗ trợ giao tiếp giữa người sử dụng và hệ thống máy tính.
3. Phần cứng của thiết bị ngoại vi
Trong mô hình Von Neumann, thiết bị ngoại vi chủ yếu hoạt động qua giao tiếp với bộ nhớ
CPU. Dưới đây là một số phần cứng quan trọng của thiết bị ngoại vi:
a. Thiết bị nhập (Input Devices):
Bàn phím (Keyboard): Thiết bị đầu vào cơ bản, giúp người dùng nhập dữ liệu dưới dạng
văn bản. Hoạt động thông qua các phím bấm, tín hiệu từ các phím sẽ được chuyển đổi
thành mã ASCII hoặc mã số tương ứng.
Chuột (Mouse): Dùng để di chuyển con trỏ trên màn hình và thực hiện các thao tác chọn.
Khi di chuyển, chuột gửi tín hiệu đến máy tính về vị trí của con trỏ.
Máy quét (Scanner): Chuyển đổi hình ảnh hoặc tài liệu in sang dạng số để máy tính có
thể xử lý.
Microphone: Thu âm thanh và chuyển đổi thành tín hiệu số cho máy tính.
lOMoARcPSD| 58137911
b. Thiết bị xuất (Output Devices):
Màn hình (Monitor): Hiển thị thông tin dưới dạng đồ họa hoặc văn bản cho người sử
dụng.
Máy in (Printer): Chuyển dữ liệu từ máy tính ra giấy dưới dạng văn bản hoặc hình ảnh.
Loa (Speakers): Chuyển đổi tín hiệu số thành âm thanh, giúp người dùng nghe được âm
thanh hoặc nhạc từ máy tính.
c. Các thiết bị ngoại vi khác:
USB (Universal Serial Bus): Cổng kết nối ngoài cho phép kết nối với nhiều thiết bị khác
nhau như chuột, bàn phím, ổ cứng ngoài, hoặc điện thoại.
4. Nguyên lý hoạt động của thiết bị ngoại vi
Thiết bị ngoại vi trong mô hình Von Neumann hoạt động thông qua việc giao tiếp với CPU và bộ
nhớ của máy tính qua các cổng I/O (input/output ports). Dữ liệu từ thiết bị ngoại vi được chuyển
vào bộ nhớ của máy tính (quá trình nhập) hoặc từ bộ nhớ ra thiết bị ngoại vi (quá trình xuất).
Quá trình nhập:
1. Thiết bị ngoại vi gửi tín hiệu (dữ liệu) qua cổng I/O.
2. CPU nhận dữ liệu từ cổng I/O và đưa vào bộ nhớ tạm thời.
3. CPU xử lý dữ liệu hoặc lưu trữ vào bộ nhớ chính.
Quá trình xuất:
1. CPU truy xuất dữ liệu từ bộ nhớ.
2. Dữ liệu được chuyển đến thiết bị ngoại vi qua cổng I/O.
3. Thiết bị ngoại vi (ví dụ: màn hình, máy in) xử lý và hiển thị kết quả cho người
dùng.
5. Một số thiết bị ngoại vi thông dụng trên máy tính cá nhân hiện nay
Bàn phím (Keyboard): Vẫn là thiết bị nhập chính để người dùng tương tác với máy tính,
giúp nhập dữ liệu văn bản.
Chuột (Mouse): Cùng với bàn phím, chuột là thiết bị nhập phổ biến để thao tác và điều
khiển giao diện người dùng.
Màn hình (Monitor): Thiết bị xuất chính để hiển thị kết quả, video và các nội dung
khác.
Máy in (Printer): Được sử dụng để in tài liệu và hình ảnh từ máy tính ra giấy.
Loa (Speakers): Cung cấp âm thanh từ máy tính, đặc biệt hữu ích trong giải trí và các
ứng dụng đa phương tiện.
USB và ổ cứng ngoài: Các thiết bị lưu trữ di động giúp sao lưu, lưu trữ và truyền tải dữ
liệu.
Bài 4:
lOMoARcPSD| 58137911
Bài giải:
Thành phần CPU
Trong mô hình von Neumann, CPU (Central Processing Unit) có thể được chia thành hai phần
chính: Control Unit (CU) Data Path
1. Control Unit (CU) – Bộ Điều Khiển
Bộ điều khiển có nhiệm vụ quản lý và điều phối tất cả các hoạt động trong CPU, bao gồm việc
điều khiển và gửi tín hiệu điều khiển đến các bộ phận khác của CPU.
Các thành phần trong Control Unit (CU):
Control Unit (CU): Chính là phần điều khiển tổng thể trong CPU. Nó kiểm soát tất cả
các hoạt động trong quá trình thực thi lệnh, bao gồm việc lấy lệnh từ bộ nhớ, giải mã
lệnh, và gửi tín hiệu điều khiển cho các bộ phận khác để thực hiện lệnh.
Program Counter (PC): PC là thanh ghi giữ địa chỉ của lệnh tiếp theo trong chương
trình. Sau khi thực hiện lệnh, PC được cập nhật để trỏ đến lệnh kế tiếp. PC là một phần
của bộ điều khiển, vì nó theo dõi dòng chảy của chương trình.
Bộ giải mã lệnh (Instruction Decoder): Thành phần này trong CU giải mã các lệnh
được lấy từ bộ nhớ và chỉ định hành động mà CU cần thực hiện, chẳng hạn như yêu cầu
ALU thực hiện phép toán hoặc yêu cầu di chuyển dữ liệu giữa các thanh ghi.
2. Data Path – Đường Dữ Liệu
Data Path liên quan đến các thành phần thực hiện phép toán và xử lý dữ liệu thực tế. Các thành
phần trong Data Path chịu trách nhiệm xử lý và di chuyển dữ liệu trong suốt quá trình thực thi
lệnh.
Các thành phần trong Data Path:
Arithmetic Logic Unit (ALU): ALU là thành phần chính của Data Path và chịu trách
nhiệm thực hiện các phép toán số học và logic (như cộng, trừ, nhân, chia, AND, OR,
XOR, v.v.). ALU nhận các tín hiệu từ CU để thực hiện các phép toán.
Registers: Các thanh ghi trong CPU là bộ nhớ tạm thời với tốc độ truy xuất rất nhanh,
giúp lưu trữ các giá trị tạm thời trong quá trình thực thi lệnh. Dữ liệu được đưa vào ALU
từ các thanh ghi và kết quả của phép toán sẽ được lưu lại vào thanh ghi hoặc bộ nhớ.
Vai trò của CPU (Bộ Xử Lý Trung Tâm): CPU là bộ não của máy tính, điều khiển và xử lý mọi
hoạt động của hệ thống.
lOMoARcPSD| 58137911
1. Thực thi lệnh: CPU thực hiện các lệnh trong chương trình, bao gồm các phép toán số
học, logic và các thao tác dữ liệu.
2. Điều khiển chương trình: Quản lý dòng chảy của chương trình, lấy và giải mã lệnh từ
bộ nhớ, điều khiển các bộ phận khác của máy tính.
3. Xử lý phép toán: ALU trong CPU thực hiện các phép toán số học và logic (cộng, trừ,
AND, OR, v.v.).
4. Lưu trữ tạm thời: Sử dụng các thanh ghi để lưu trữ dữ liệu và kết quả tạm thời trong quá
trình xử lý.
5. Quản lý bộ nhớ: Điều phối việc truy xuất và lưu trữ dữ liệu trong bộ nhớ (RAM).
6. Tương tác với thiết bị ngoại vi: CPU giao tiếp với các thiết bị ngoại vi để nhận và gửi
dữ liệu.
Phần cứng của CPU: Phần cứng của CPU gồm Control Unit (CU), ALU, Registers, Cache
Memory, Bus
Nguyên lý hoạt động của CPU trong mô hình Von Neumann
Nguyên lý hoạt động của CPU trong mô hình Von Neumann diễn ra theo các bước chính sau:
1. Nạp lệnh (Fetch):
o Bộ điều khiển (CU) lấy lệnh từ bộ nhớ (Memory) thông qua một địa chỉ bộ nhớ
cụ thể và chuyển lệnh đó vào CPU.
2. Giải mã lệnh (Decode):
o Bộ điều khiển giải mã lệnh đã lấy để xác định hành động cần thực hiện (ví dụ:
phép toán số học, di chuyển dữ liệu, hoặc so sánh).
3. Thực thi lệnh (Execute):
o ALU thực hiện các phép toán cần thiết hoặc các phép toán logic theo yêu cầu của
lệnh. o Dữ liệu có thể được đưa vào hoặc ra từ thanh ghi hoặc bộ nhớ.
4. Lưu kết quả (Store):
o Kết quả của phép toán được lưu trữ vào bộ nhớ hoặc thanh ghi, tùy thuộc vào yêu
cầu của chương trình.
Các CPU thông dụng trên máy tính cá nhân hiện nay
Hiện nay, có một số dòng CPU phổ biến được sử dụng trên máy tính cá nhân, bao gồm các CPU
của Intel, AMD, và một số dòng khác.
a. Intel Core Series
Intel Core i3, i5, i7, i9
b. AMD Ryzen Series
AMD Ryzen 3, Ryzen 5, Ryzen 7, Ryzen 9
c. Apple M1
lOMoARcPSD| 58137911
Apple M1: Đây là dòng CPU ARM của Apple, được tích hợp trực tiếp vào các máy tính
MacBook, iMac. Dòng M1 mang lại hiệu suất cao với mức tiêu thụ năng lượng thấp và có
khả năng xử lý đồng thời các tác vụ đa nhiệm một cách mượt mà.
Bài 5:
Bài giải:
1. Quá trình phát triển của Hệ Điều Hành:
Trước những năm 1950: Máy tính không có hệ điều hành, người lập trình phải trực tiếp
điều khiển phần cứng.
1950-1960: Hệ điều hành đầu tiên ra đời, như GM-NAA I/O, giúp quản lý nhập/xuất.
1960-1970: Hệ điều hành đa nhiệm xuất hiện, như CTSS, cho phép máy tính thực hiện
nhiều tác vụ cùng lúc.
1970-nay: Hệ điều hành hiện đại như Unix, Windows, Linux phát triển mạnh, cung cấp
các tính năng như bảo mật, đa nhiệm, và quản lý tài nguyên hiệu quả.
2. Vai trò và chức năng của Hệ Điều Hành trong 3 mức độ trừu tượng của máy tính:
Mức phần cứng: HĐH điều khiển và quản lý các tài nguyên phần cứng, như CPU, bộ
nhớ và thiết bị ngoại vi.
Mức hệ thống: Cung cấp các dịch vụ để chạy các ứng dụng, quản lý tiến trình và quản lý
bộ nhớ, đồng thời điều phối nhập/xuất.
Mức ứng dụng: Cung cấp giao diện người dùng (GUI hoặc CLI) và hỗ trợ quản lý tập
tin, thư mục.
3. Một số hệ điều hành thông dụng trên máy tính cá nhân hiện nay:
Microsoft Windows: Phổ biến, dễ sử dụng với giao diện đồ họa.
macOS: Cung cấp tính ổn định cao và bảo mật, dành cho các máy Mac.
Linux: Mã nguồn mở, linh hoạt, phổ biến trên máy chủ và máy tính cá nhân.
Chrome OS: Hệ điều hành nhẹ, dựa trên trình duyệt, dành cho Chromebook.
lOMoARcPSD| 58137911
Bài 6:
Bài giải:
Tóm tắt:
Instrucons
1
: 10
9
Instrucons
2
=10
9
+1.2*10
9
=2.2*10
9
CPU me
1
: 5s
CPU me
2
: 5-4=1s
a) Clock cycles= CPU me* Clock rate
=5 × 3.2 × 10
9
=16 × 10
9
b) CPI trung bình= 𝑐𝑙𝑜𝑐𝑘 𝑐𝑦𝑐𝑙𝑒𝑠 =16×109 9=16
𝑖𝑛𝑠𝑡𝑟𝑢𝑐𝑡𝑖𝑜𝑛𝑠 10
c) Performance=
1
=
1
=0.2
𝐶𝑃𝑈 𝑡𝑖𝑚𝑒 5
d) Sau khi cải ến:
CPI trung bình mới= 𝑐𝑙𝑜𝑐𝑘 𝑐𝑦𝑐𝑙𝑒𝑠 =CPU time2∗ Clock
rate
𝑖𝑛𝑠𝑡𝑟𝑢𝑐𝑡𝑖𝑜𝑛𝑠 𝑖𝑛𝑠𝑡𝑟𝑢𝑐𝑡𝑖𝑜𝑛𝑠2
=1×3.2×109
9
=1.45
2.2×10
lOMoARcPSD| 58137911
Clock rate: 3.2GHz
a)Clock cycles=?
b)CPI trung bình=?
c)Performance=?
d)CPI trung bình mới sau
khi cải ến=?
Bài 7:
Bài giải:
Tóm tắt:
Clock rate1: 3.2 GHz
Clock rate2: 4GHZ
CPI1: 1.4
CPI: 2
So sánh hiệu năng
máy nh của Sv A và Sv B?
Với cùng một kiến trúc tập lệnh và cùng thực hiện một phần mềm ta có:
CPU me1= instrucons* CPI1/clock rate1
CPU me2= instrucon* CPI2/clock rate2
CPU me1/ CPU me2= (CPI1*clock rate2)/(CPI2*clock rate1)
=0.875
Mà performance=1/CPU me
Performance1=1/CPU me1=1/0.875 CPU me2
Performance2=1/CPU me2
Performance1/performance2=1/0.875=1.14
Vậy hiệu năng của máy nh sinh viên A lớn hơn sinh viên B gấp
1.14 lần
lOMoARcPSD| 58137911
Bài 8:
a)
Số chu kỳ xung của từng lo ại lệnh
Clock cycles A=30% × 130 × 10
9
× 1=39 × 10
9
Clock cycles B=40% × 130 × 10
9
× 3=156 × 10
9
Clock cycles C=10% × 130 × 10
9
× 2=26 × 10
9
Clock
cycles D=20% × 130 × 10
9
× 2=52 × 10
9
NClock cycle=273 × 109
CPU me= 𝑁𝑐𝑙𝑜𝑐𝑘 𝑐𝑦𝑐𝑙𝑒 × 𝑐𝑙𝑜𝑐𝑘 1 𝑟𝑎𝑡𝑒 =273 × 109 × 2
.4×1109=113.75(s) Số câu lệnh thực thi trong 1s:
Ta có thời gian thực thi một chương trình 130 × 10
9
tốn 113.75 (s)
1×130×10
9
=1.14× 10
9
( câu lệnh)
IPS=
113.75
Tóm tắt
Clock rate: 2.4GHz
Instrucons: 130*10
9
a)CPU
me=?
IPS=?
b)CPU me mới=?
IPS mới=?
lOMoARcPSD| 58137911
b) Số chu kỳ xung của từng loại lệnh
Clock cycles A=30% × 130 × 10
9
× 1=39 × 10
9
Clock cycles B=40% × 130 × 10
9
× 2=104 × 10
9
Clock cycles C=10% × 130 × 10
9
× 1=13 × 10
9
Clock
cycles D=20% × 130 × 10
9
× 1=26 × 10
9
NClock cycle=182 × 109
CPU me= 𝑁𝑐𝑙𝑜𝑐𝑘 𝑐𝑦𝑐𝑙𝑒 × 𝑐𝑙𝑜𝑐𝑘 1 𝑟𝑎𝑡𝑒 =182 × 109 × 3
.2×1109=56.875(s) Số câu lệnh thực thi trong 1s:
Ta có thời gian thực thi một chương trình 130 × 10
9
56.875s
IPS=
1×130×10
9
=2.29 × 10
9
( câu lệnh)
56.875
Bài 10:
Tóm t
𝐼𝑛𝑠𝑡𝑟𝑢𝑐𝑡𝑖𝑜𝑛𝑠
×
𝐶𝑃𝐼
1
×
1
𝑐𝑙𝑜𝑐𝑘
𝑟𝑎𝑡𝑒
1
𝐼𝑛𝑠𝑡𝑟𝑢𝑐𝑡𝑖𝑜𝑛𝑠
×
𝐶𝑃𝐼
2
×
1
𝑐𝑙𝑜𝑐𝑘
𝑟𝑎𝑡𝑒
2
𝐶𝑃𝑈
𝑡𝑖𝑚𝑒
1
𝐶𝑃𝑈
𝑡𝑖𝑚𝑒
2
𝐼𝑛𝑠𝑡𝑟𝑢𝑐𝑡𝑖𝑜𝑛𝑠
×
𝐶𝑃𝐼
1
×
1
𝑐𝑙𝑜𝑐𝑘
𝑟𝑎𝑡𝑒
1
𝐼𝑛𝑠𝑡𝑟𝑢𝑐𝑡𝑖𝑜𝑛𝑠
×
𝐶𝑃𝐼
2
×
1
𝑐𝑙𝑜𝑐𝑘
𝑟𝑎𝑡𝑒
2
10
8
=
2
.
1
1
.
5
×
𝑐𝑙𝑜𝑐𝑘
𝑟𝑎𝑡𝑒
2
2
.
4
×
10
9
2
.
14
×
10
9
lOMoARcPSD| 58137911
a) Số chu kỳ xung của từng loại lệnh
Clock cycles A=30% × 20 × 10
9
× 1=6 × 10
9
Clock cycles B=40% × 20 × 10
9
× 3=24 × 10
9
Clock cycles C=10% × 20 × 10
9
× 2=4 × 10
9
Clock
cycles D=20% × 20 × 10
9
× 2=8 × 10
9
NClock cycle=42 × 109
CPU me= 𝑁𝑐𝑙𝑜𝑐𝑘 𝑐𝑦𝑐𝑙𝑒 × 𝑐𝑙𝑜𝑐𝑘 1 𝑟𝑎𝑡𝑒 =42 × 109 × 2
.4×1109=17.5 (s) Số câu lệnh thực thi trong 1s:
Ta có thời gian thực thi một chương trình 20 × 10
9
tốn 17.5 (s)
1×20×10
9
=1.14× 10
9
( câu lệnh)
IPS=
17.5
lOMoARcPSD| 58137911
b) Số chu kỳ xung của từng loại lệnh
Clock cycles A=40% × 20 × 10
9
× 1=8 × 10
9
Clock cycles B=20% × 20 × 10
9
× 3=12 × 10
9
Clock cycles C=25% × 20 × 10
9
× 2=10 × 10
9
Clock cycles D=15% × 20 × 10
9
× 2=6 × 10
9
NClock cycle=36 × 109
CPU me= 𝑁𝑐𝑙𝑜𝑐𝑘 𝑐𝑦𝑐𝑙𝑒 × 𝑐𝑙𝑜𝑐𝑘 1 𝑟𝑎𝑡𝑒 =36 × 109 × 2 .4×1109=15(s)
Performance 1= =0.057
Performance 2= =0.0667 hiệu suất sau khi cải ến tăng gần 17%
CHƯƠNG 2:
Bài 1:
215 chuyển sang hệ nhphận0011010111
Bù 1: 1100101000
Bù 2: 1100101001 đây là dạng biễu diển bù 2 của số -215
Biểu diễn số -25 bằng phương pháp thừa K với K=127, ta được: -25+127=102
Biểu diễn 102 dưới dạng nhị phân001100110
001100110 chính là dạng biểu diễn số của -25 bằng phương pháp thừa K
Bài 2:
lOMoARcPSD| 58137911
Bài 3:
×
2
7
1
.
00101001
×
2
5
𝑂
×
42148000
lOMoARcPSD| 58137911
Số bị nhân
Số nhân
Tích
Khởi tạo
0000 0000 0001 1001
000 10011
0000 0000 0000 0000
B1: bít cuối của số
nhân=1
Tích= ch + số bị nhân
Dịch trái số bị nhân
1bit
Dịch phải số nhân
1bit
0000 0000 0011 0010
000 1001[1]
000 01001
0000 0000 0001 1001
B2: bit cuối của số
nhân=1
Tích= ch + số bị nhân
Dịch trái số bị nhân
1bit
Dịch phải số nhân
1bit
0000 0000 0110 0100
000 0100[1]
000 00100
0000 0000 0100 1011
B3: bit cuối của số
nhân=0
Dịch trái số bị nhân
1bit
Dịch phải số nhân
1bit
0000 0000 1100 1000
000 0010[0]
000 00010
0000 0000 0100 1011
B4: bit cuối của số
nhân=0
Dịch trái số bị nhân
1bit
Dịch phải số nhân
1bit
0000 0001 1001 0000
000 0001[0]
000 00001
0000 0000 0100 1011
lOMoARcPSD| 58137911
B5: bit cuối của số
nhân=1
Tích= ch + số bị nhân
Dịch trái số bị nhân
1bit
Dịch phải số nhân
1bit
0000 0011 0010 0000
000 0000[1]
0000 0000
0000 0001 1101 1011
B6: bit cuối của số
nhân=0
Dịch trái số bị nhân
1bit
Dịch phải số nhân
1bit
0000 0110 0100 0000
0000 000[0]
0000 0000
0000 0001 1101 1011
Kết quả ch= 0000 0001 1101 1011
Số bị nhân
Số nhân
Tích
Khởi tạo
0000 0000 0000 1011
0000 1101
0000 0000 0000 0000
B1: bít cuối của số
nhân=1
Tích= ch + số bị
nhân
Dịch trái số bị nhân
1bit
Dịch phải số nhân
1bit
0000 0000 0001 0110
0000 110[1]
0000 0110
0000 0000 0000 1011
B2: bit cuối của số
nhân=0
Dịch trái số bị nhân
1bit
Dịch phải số nhân
1bit
0000 0000 0010 1100
000 011[0]
0000 0011
0000 0000 0000 1011
lOMoARcPSD| 58137911
B3: bit cuối của số
nhân=1
Tích= ch+ số bị nhân
Dịch trái số bị nhân
1bit
Dịch phải số nhân
1bit
0000 0000 0101 1000
0000 001[1]
0000 0001
0000 0000 0011 0111
B4: bit cuối của số
nhân=1
Tích= ch+ số bị nhân
Dịch trái số bị nhân
1bit
Dịch phải số nhân
1bit
0000 0000 1011 0000
000 000[1]
0000 0000
0000 0000 1000 1111
B5: bit cuối của số
nhân=0
Dịch trái số bị nhân
1bit
Dịch phải số nhân
1bit
0000 0001 0110 0000
0000 000[0]
0000 0000
0000 0000 1000 1111
Kết quả ch= 1111 1111 0111 0001
Bài 4:
lOMoARcPSD| 58137911
Số bị nhân
Tích/số nhân
Khởi tạo
0001 0001
0000 0000 0001 0011
B1: bit cuối số nhân=1
Tích= ch+số bị nhân
Dịch phải Tích/số nhân
0001 0001
0000 0000 0001 001[1]
0001 0001 0001 0011
0000 1000 1000 1001
B2: bit cuối số nhân=1
Tích= ch+số bị nhân
Dịch phải Tích/số nhân
0001 0001
0000 1000 1000 100[1]
0001 1001 1000 1001
0000 1100 1100 0100
B3: bit cuối số nhân=0
Dịch phải Tích/số nhân
0001 0001
0000 1100 1100 010[0]
0000 0110 0110 0010
B4: bit cuối số nhân=0
Dịch phải Tích/số nhân
0001 0001
0000 0110 0110 001[0]
0000 0011 0011 0001
B5: bit cuối số nhân=1
Tích= ch+số bị nhân
Dịch phải Tích/số nhân
0001 0001
0000 0011 0011 000[1]
0001 0100 0011 0001
0000 1010 0001 1000
B6: bit cuối số nhân=0
Dịch phải Tích/số nhân
0000 1010 0001 100[0]
0000 0101 0000 1100
0001 0001
lOMoARcPSD| 58137911
B7: bit cuối số nhân=0
Dịch phải Tích/số nhân
0001 0001
0000 0101 0000 110[0]
0000 0010 1000 0110
B8: bit cuối số nhân=0
Dịch phải Tích/số nhân
0001 0001
0000 0010 1000 011[0]
0000 0001 0100 0011
Kết quả ch= 0000 0001 0100 0011
Số bị nhân
Tích/số nhân
Khởi tạo
0000 1101
0000 0000 0001 1011
B1: bit cuối số nhân=1
Tích= ch+số bị nhân
Dịch phải Tích/số nhân
0000 1101
0000 0000 0001 101[1]
0000 1101 0001 1011 0000
0110 1000 1101
B2: bit cuối số nhân=1
Tích= ch+số bị nhân
Dịch phải Tích/số nhân
0000 1101
0000 0110 1000 110[1]
0001 0011 1000 1101
0000 1001 1100 0110
B3: bit cuối số nhân=0
Dịch phải Tích/số nhân
0000 1101
0000 1001 1100 011[0]
0000 0100 1110 0011

Preview text:

lOMoAR cPSD| 58137911
BÀI GIẢI CHO BÀI TẬP KIẾN TRÚC MÁY TÍNH Chương 1: Bài 1: Bài giải:
Cơ sở hình thành:
Lý thuyết: Các nghiên cứu toán học và lý thuyết máy tính như Máy Turing của Alan
Turing và lý thuyết logic Boole. •
Kỹ thuật: Sử dụng bóng đèn điện tử để thực hiện các phép toán và xử lý dữ liệu, mặc
dù công nghệ còn hạn chế và tiêu tốn năng lượng lớn. •
Nhu cầu: Nhu cầu tính toán trong quân sự (giải mã mật mã, tính toán bắn pháo) và khoa
học thúc đẩy sự phát triển. Thành tựu:
ENIACUNIVAC là hai máy tính tiêu biểu, trong đó ENIAC là máy tính điện tử đầu
tiên và UNIVAC là máy tính thương mại đầu tiên. Công dụng:
Quân sự: Tính toán chiến lược và giải mã mật mã. •
Khoa học: Hỗ trợ tính toán các vấn đề phức tạp trong nghiên cứu. •
Tài chính: Được sử dụng trong tính toán và xử lý dữ liệu cho các mục đích thống kê, tài chính. Bài 2 lOMoAR cPSD| 58137911 Bài giải:
Máy tính lượng tử (Quantum Computing) là một lĩnh vực đang phát triển mạnh mẽ trong khoa
học máy tính và vật lý, nhằm sử dụng các nguyên lý của cơ học lượng tử để giải quyết các bài
toán mà máy tính cổ điển không thể xử lý hiệu quả. Dưới đây là tổng quan về máy tính lượng tử,
bao gồm các nguyên lý cơ bản, các ứng dụng tiềm năng và các nghiên cứu mới nhất trong lĩnh vực này.
1. Nguyên lý cơ bản của máy tính lượng tử
Máy tính lượng tử dựa trên các nguyên lý của cơ học lượng tử, đặc biệt là superposition (chồng
chập)entanglement (rối lượng tử). •
Superposition (Chồng chập): Trong máy tính cổ
điển, bit có thể có một trong hai giá trị: 0 hoặc 1. Tuy nhiên, trong máy tính lượng tử, qubit
thể ở trạng thái superposition, tức là đồng thời ở trạng thái 0 và 1 với một xác suất nhất định.
Điều này giúp máy tính lượng tử xử lý nhiều trạng thái cùng lúc, mở ra khả năng tính toán vượt
trội so với máy tính cổ điển.
Entanglement (Rối lượng tử): Khi hai qubit được rối lượng tử, trạng thái của chúng trở
nên liên kết với nhau, bất kể khoảng cách giữa chúng. Điều này giúp truyền tải thông tin
giữa các qubit một cách nhanh chóng và hiệu quả, tạo ra sự liên kết mạnh mẽ trong các phép toán lượng tử.
2. Các thành tựu trong nghiên cứu máy tính lượng tử
Máy tính lượng tử đã đạt được một số tiến bộ quan trọng trong những năm gần đây. Các công ty
công nghệ lớn như IBM, Google, Intel, và các tổ chức nghiên cứu như CERN đã phát triển các
mô hình và thuật toán mới để khai thác tiềm năng của máy tính lượng tử. Một số cột mốc đáng chú ý: •
Google đã công bố việc đạt được "supremacy lượng tử" vào năm 2019, chứng minh rằng
máy tính lượng tử của họ có thể giải quyết một bài toán mà máy tính cổ điển không thể
xử lý trong thời gian hợp lý. •
IBM cung cấp các dịch vụ quantum computing qua nền tảng IBM Quantum
Experience
, cho phép người dùng thử nghiệm và lập trình trên các máy tính lượng tử thực tế. lOMoAR cPSD| 58137911 •
Intel đang nghiên cứu và phát triển các vi mạch lượng tử để xây dựng các hệ thống tính
toán lượng tử có thể mở rộng và khả năng hoạt động ổn định hơn trong môi trường thực tế.
3. Ứng dụng của máy tính lượng tử
Máy tính lượng tử có thể mở rộng khả năng giải quyết các bài toán trong nhiều lĩnh vực khác nhau: •
Mô phỏng vật lý và hóa học: Máy tính lượng tử có thể mô phỏng các quá trình vật lý và
hóa học phức tạp, giúp nghiên cứu các phản ứng hóa học, cấu trúc phân tử, và vật liệu mới. •
Mã hóa và bảo mật thông tin: Các thuật toán lượng tử có thể giúp phát triển các phương
pháp mã hóa mạnh mẽ hơn và bảo mật hơn, cũng như phá giải những hệ thống mã hóa cổ điển hiện tại. •
Tối ưu hóa: Máy tính lượng tử có thể giải quyết các bài toán tối ưu hóa phức tạp, như tối
ưu hóa chuỗi cung ứng, tối ưu hóa lịch trình, và tối ưu hóa tài chính, nhanh hơn nhiều so
với các phương pháp cổ điển. •
AI và học máy (Machine Learning): Máy tính lượng tử có thể cải thiện hiệu suất trong
các thuật toán học máy, giúp xử lý dữ liệu lớn và tìm kiếm mẫu trong các tập dữ liệu phức tạp.
4. Thách thức trong phát triển máy tính lượng tử
Dù có tiềm năng to lớn, máy tính lượng tử vẫn đối mặt với nhiều thách thức: •
Ổn định qubit: Qubit rất dễ bị ảnh hưởng bởi các yếu tố bên ngoài như nhiệt độ, từ
trường và độ ẩm, khiến cho việc duy trì trạng thái lượng tử trong thời gian dài trở thành một vấn đề lớn. •
Tính mở rộng: Việc xây dựng máy tính lượng tử với hàng triệu qubit có thể thực hiện
các phép toán thực tế vẫn là một thách thức về mặt kỹ thuật. •
Thuật toán và phần mềm: Phát triển các thuật toán lượng tử phù hợp và phần mềm hỗ
trợ để tận dụng tối đa khả năng của máy tính lượng tử vẫn là một lĩnh vực nghiên cứu đang được tiến hành.
5. Tương lai của máy tính lượng tử
Dù còn nhiều thách thức, nhưng tương lai của máy tính lượng tử rất hứa hẹn. Các công ty như
Google, IBM, IntelMicrosoft đang tiếp tục đầu tư mạnh vào nghiên cứu và phát triển máy
tính lượng tử. Các ứng dụng như mô phỏng vật lý lượng tửtối ưu hóa lượng tử có thể
mang lại những bước đột phá trong khoa học, công nghệ, và kinh tế.
Ngoài ra, các công nghệ như học máy lượng tử (quantum machine learning)mã hóa
lượng tử đang trở thành một xu hướng nghiên cứu mới, mở ra nhiều cơ hội cho các nhà khoa
học và kỹ sư trong việc giải quyết các vấn đề mà các máy tính cổ điển không thể xử lý hiệu quả. lOMoAR cPSD| 58137911 Bài 3: Bài giải:
1. Thành phần thiết bị ngoại vi trong mô hình Von Neumann
Mô hình Von Neumann là mô hình kiến trúc máy tính cơ bản, trong đó bộ vi xử lý (CPU) được
chia thành ba thành phần chính: Bộ điều khiển (Control Unit - CU), Bộ xử lý số học và logic
(ALU)
, và Bộ nhớ (Memory). Tuy nhiên, để máy tính có thể giao tiếp với thế giới bên ngoài,
cần phải có các thiết bị ngoại vi, hay còn gọi là thiết bị nhập/xuất (I/O devices).
Các thiết bị ngoại vi trong mô hình Von Neumann bao gồm các phần cứng giúp máy tính nhận
dữ liệu đầu vào (input) từ người sử dụng và gửi dữ liệu ra ngoài (output) cho người sử dụng hoặc các thiết bị khác.
2. Vai trò của thiết bị ngoại vi trong mô hình Von Neumann
Nhập (Input): Thiết bị nhập giúp máy tính nhận dữ liệu từ người sử dụng hoặc môi
trường bên ngoài. Dữ liệu này có thể là văn bản, hình ảnh, âm thanh hoặc các tín hiệu khác. •
Xuất (Output): Thiết bị xuất giúp máy tính truyền tải kết quả xử lý ra ngoài dưới dạng
dễ hiểu đối với người sử dụng hoặc các hệ thống khác (ví dụ: màn hình, máy in, loa).
Các thiết bị ngoại vi đóng vai trò quan trọng trong việc kết nối máy tính với thế giới bên ngoài
và hỗ trợ giao tiếp giữa người sử dụng và hệ thống máy tính.
3. Phần cứng của thiết bị ngoại vi
Trong mô hình Von Neumann, thiết bị ngoại vi chủ yếu hoạt động qua giao tiếp với bộ nhớ
CPU. Dưới đây là một số phần cứng quan trọng của thiết bị ngoại vi:
a. Thiết bị nhập (Input Devices):
Bàn phím (Keyboard): Thiết bị đầu vào cơ bản, giúp người dùng nhập dữ liệu dưới dạng
văn bản. Hoạt động thông qua các phím bấm, tín hiệu từ các phím sẽ được chuyển đổi
thành mã ASCII hoặc mã số tương ứng. •
Chuột (Mouse): Dùng để di chuyển con trỏ trên màn hình và thực hiện các thao tác chọn.
Khi di chuyển, chuột gửi tín hiệu đến máy tính về vị trí của con trỏ. •
Máy quét (Scanner): Chuyển đổi hình ảnh hoặc tài liệu in sang dạng số để máy tính có thể xử lý. •
Microphone: Thu âm thanh và chuyển đổi thành tín hiệu số cho máy tính. lOMoAR cPSD| 58137911
b. Thiết bị xuất (Output Devices):
Màn hình (Monitor): Hiển thị thông tin dưới dạng đồ họa hoặc văn bản cho người sử dụng. •
Máy in (Printer): Chuyển dữ liệu từ máy tính ra giấy dưới dạng văn bản hoặc hình ảnh. •
Loa (Speakers): Chuyển đổi tín hiệu số thành âm thanh, giúp người dùng nghe được âm
thanh hoặc nhạc từ máy tính.
c. Các thiết bị ngoại vi khác:
USB (Universal Serial Bus): Cổng kết nối ngoài cho phép kết nối với nhiều thiết bị khác
nhau như chuột, bàn phím, ổ cứng ngoài, hoặc điện thoại.
4. Nguyên lý hoạt động của thiết bị ngoại vi
Thiết bị ngoại vi trong mô hình Von Neumann hoạt động thông qua việc giao tiếp với CPU và bộ
nhớ của máy tính qua các cổng I/O (input/output ports). Dữ liệu từ thiết bị ngoại vi được chuyển
vào bộ nhớ của máy tính (quá trình nhập) hoặc từ bộ nhớ ra thiết bị ngoại vi (quá trình xuất). • Quá trình nhập:
1. Thiết bị ngoại vi gửi tín hiệu (dữ liệu) qua cổng I/O.
2. CPU nhận dữ liệu từ cổng I/O và đưa vào bộ nhớ tạm thời.
3. CPU xử lý dữ liệu hoặc lưu trữ vào bộ nhớ chính.
Quá trình xuất:
1. CPU truy xuất dữ liệu từ bộ nhớ.
2. Dữ liệu được chuyển đến thiết bị ngoại vi qua cổng I/O.
3. Thiết bị ngoại vi (ví dụ: màn hình, máy in) xử lý và hiển thị kết quả cho người dùng.
5. Một số thiết bị ngoại vi thông dụng trên máy tính cá nhân hiện nay
Bàn phím (Keyboard): Vẫn là thiết bị nhập chính để người dùng tương tác với máy tính,
giúp nhập dữ liệu văn bản. •
Chuột (Mouse): Cùng với bàn phím, chuột là thiết bị nhập phổ biến để thao tác và điều
khiển giao diện người dùng. •
Màn hình (Monitor): Thiết bị xuất chính để hiển thị kết quả, video và các nội dung khác. •
Máy in (Printer): Được sử dụng để in tài liệu và hình ảnh từ máy tính ra giấy. •
Loa (Speakers): Cung cấp âm thanh từ máy tính, đặc biệt hữu ích trong giải trí và các
ứng dụng đa phương tiện. •
USB và ổ cứng ngoài: Các thiết bị lưu trữ di động giúp sao lưu, lưu trữ và truyền tải dữ liệu. Bài 4: lOMoAR cPSD| 58137911 Bài giải: Thành phần CPU
Trong mô hình von Neumann, CPU (Central Processing Unit) có thể được chia thành hai phần
chính: Control Unit (CU)Data Path
1. Control Unit (CU) – Bộ Điều Khiển
Bộ điều khiển có nhiệm vụ quản lý và điều phối tất cả các hoạt động trong CPU, bao gồm việc
điều khiển và gửi tín hiệu điều khiển đến các bộ phận khác của CPU.
Các thành phần trong Control Unit (CU):
Control Unit (CU): Chính là phần điều khiển tổng thể trong CPU. Nó kiểm soát tất cả
các hoạt động trong quá trình thực thi lệnh, bao gồm việc lấy lệnh từ bộ nhớ, giải mã
lệnh, và gửi tín hiệu điều khiển cho các bộ phận khác để thực hiện lệnh. •
Program Counter (PC): PC là thanh ghi giữ địa chỉ của lệnh tiếp theo trong chương
trình. Sau khi thực hiện lệnh, PC được cập nhật để trỏ đến lệnh kế tiếp. PC là một phần
của bộ điều khiển, vì nó theo dõi dòng chảy của chương trình. •
Bộ giải mã lệnh (Instruction Decoder): Thành phần này trong CU giải mã các lệnh
được lấy từ bộ nhớ và chỉ định hành động mà CU cần thực hiện, chẳng hạn như yêu cầu
ALU thực hiện phép toán hoặc yêu cầu di chuyển dữ liệu giữa các thanh ghi.
2. Data Path – Đường Dữ Liệu
Data Path liên quan đến các thành phần thực hiện phép toán và xử lý dữ liệu thực tế. Các thành
phần trong Data Path chịu trách nhiệm xử lý và di chuyển dữ liệu trong suốt quá trình thực thi lệnh.
Các thành phần trong Data Path:
Arithmetic Logic Unit (ALU): ALU là thành phần chính của Data Path và chịu trách
nhiệm thực hiện các phép toán số học và logic (như cộng, trừ, nhân, chia, AND, OR,
XOR, v.v.). ALU nhận các tín hiệu từ CU để thực hiện các phép toán. •
Registers: Các thanh ghi trong CPU là bộ nhớ tạm thời với tốc độ truy xuất rất nhanh,
giúp lưu trữ các giá trị tạm thời trong quá trình thực thi lệnh. Dữ liệu được đưa vào ALU
từ các thanh ghi và kết quả của phép toán sẽ được lưu lại vào thanh ghi hoặc bộ nhớ.
Vai trò của CPU (Bộ Xử Lý Trung Tâm): CPU là bộ não của máy tính, điều khiển và xử lý mọi
hoạt động của hệ thống. lOMoAR cPSD| 58137911
1. Thực thi lệnh: CPU thực hiện các lệnh trong chương trình, bao gồm các phép toán số
học, logic và các thao tác dữ liệu.
2. Điều khiển chương trình: Quản lý dòng chảy của chương trình, lấy và giải mã lệnh từ
bộ nhớ, điều khiển các bộ phận khác của máy tính.
3. Xử lý phép toán: ALU trong CPU thực hiện các phép toán số học và logic (cộng, trừ, AND, OR, v.v.).
4. Lưu trữ tạm thời: Sử dụng các thanh ghi để lưu trữ dữ liệu và kết quả tạm thời trong quá trình xử lý.
5. Quản lý bộ nhớ: Điều phối việc truy xuất và lưu trữ dữ liệu trong bộ nhớ (RAM).
6. Tương tác với thiết bị ngoại vi: CPU giao tiếp với các thiết bị ngoại vi để nhận và gửi dữ liệu.
Phần cứng của CPU: Phần cứng của CPU gồm Control Unit (CU), ALU, Registers, Cache Memory, Bus
Nguyên lý hoạt động của CPU trong mô hình Von Neumann
Nguyên lý hoạt động của CPU trong mô hình Von Neumann diễn ra theo các bước chính sau:
1. Nạp lệnh (Fetch):
o Bộ điều khiển (CU) lấy lệnh từ bộ nhớ (Memory) thông qua một địa chỉ bộ nhớ
cụ thể và chuyển lệnh đó vào CPU.
2. Giải mã lệnh (Decode):
o Bộ điều khiển giải mã lệnh đã lấy để xác định hành động cần thực hiện (ví dụ:
phép toán số học, di chuyển dữ liệu, hoặc so sánh).
3. Thực thi lệnh (Execute):
o ALU thực hiện các phép toán cần thiết hoặc các phép toán logic theo yêu cầu của
lệnh. o Dữ liệu có thể được đưa vào hoặc ra từ thanh ghi hoặc bộ nhớ.
4. Lưu kết quả (Store):
o Kết quả của phép toán được lưu trữ vào bộ nhớ hoặc thanh ghi, tùy thuộc vào yêu cầu của chương trình.
Các CPU thông dụng trên máy tính cá nhân hiện nay
Hiện nay, có một số dòng CPU phổ biến được sử dụng trên máy tính cá nhân, bao gồm các CPU
của Intel, AMD, và một số dòng khác. a. Intel Core Series
Intel Core i3, i5, i7, i9 b. AMD Ryzen Series
AMD Ryzen 3, Ryzen 5, Ryzen 7, Ryzen 9 c. Apple M1 lOMoAR cPSD| 58137911 •
Apple M1: Đây là dòng CPU ARM của Apple, được tích hợp trực tiếp vào các máy tính
MacBook, iMac. Dòng M1 mang lại hiệu suất cao với mức tiêu thụ năng lượng thấp và có
khả năng xử lý đồng thời các tác vụ đa nhiệm một cách mượt mà. Bài 5: Bài giải:
1. Quá trình phát triển của Hệ Điều Hành:
Trước những năm 1950: Máy tính không có hệ điều hành, người lập trình phải trực tiếp
điều khiển phần cứng. •
1950-1960: Hệ điều hành đầu tiên ra đời, như GM-NAA I/O, giúp quản lý nhập/xuất. •
1960-1970: Hệ điều hành đa nhiệm xuất hiện, như CTSS, cho phép máy tính thực hiện nhiều tác vụ cùng lúc. •
1970-nay: Hệ điều hành hiện đại như Unix, Windows, Linux phát triển mạnh, cung cấp
các tính năng như bảo mật, đa nhiệm, và quản lý tài nguyên hiệu quả.
2. Vai trò và chức năng của Hệ Điều Hành trong 3 mức độ trừu tượng của máy tính:
Mức phần cứng: HĐH điều khiển và quản lý các tài nguyên phần cứng, như CPU, bộ
nhớ và thiết bị ngoại vi. •
Mức hệ thống: Cung cấp các dịch vụ để chạy các ứng dụng, quản lý tiến trình và quản lý
bộ nhớ, đồng thời điều phối nhập/xuất. •
Mức ứng dụng: Cung cấp giao diện người dùng (GUI hoặc CLI) và hỗ trợ quản lý tập tin, thư mục.
3. Một số hệ điều hành thông dụng trên máy tính cá nhân hiện nay:
Microsoft Windows: Phổ biến, dễ sử dụng với giao diện đồ họa. •
macOS: Cung cấp tính ổn định cao và bảo mật, dành cho các máy Mac. •
Linux: Mã nguồn mở, linh hoạt, phổ biến trên máy chủ và máy tính cá nhân. •
Chrome OS: Hệ điều hành nhẹ, dựa trên trình duyệt, dành cho Chromebook. lOMoAR cPSD| 58137911 Bài 6:
a) Clock cycles= CPU time* Clock rate =5 × 3.2 × 109=16 × 109 b) CPI trung bình=
𝑐𝑙𝑜𝑐𝑘 𝑐𝑦𝑐𝑙𝑒𝑠 =16×109 9=16
𝑖𝑛𝑠𝑡𝑟𝑢𝑐𝑡𝑖𝑜𝑛𝑠 10 c) Performance= 1 = 1 =0.2 𝐶𝑃𝑈 𝑡𝑖𝑚𝑒 5 d) Sau khi cải tiến: CPI trung bình mới=
𝑐𝑙𝑜𝑐𝑘 𝑐𝑦𝑐𝑙𝑒𝑠 =CPU time2∗ Clock rate
𝑖𝑛𝑠𝑡𝑟𝑢𝑐𝑡𝑖𝑜𝑛𝑠
𝑖𝑛𝑠𝑡𝑟𝑢𝑐𝑡𝑖𝑜𝑛𝑠2 =1×3.2×109 9 =1.45 2.2×10 Bài giải: Tóm tắt: Instructions1: 109
Instructions2=109+1.2*109=2.2*109 CPU time1: 5s CPU time2: 5-4=1s lOMoAR cPSD| 58137911 Clock rate: 3.2GHz a)Clock cycles=? b)CPI trung bình=? c)Performance=? d)CPI trung bình mới sau khi cải tiến=? Bài 7: Bài giải:
Với cùng một kiến trúc tập lệnh và cùng thực hiện một phần mềm ta có: Tóm tắt:
 CPU time1= instructions* CPI1/clock rate1 Clock rate1: 3.2 GHz
 CPU time2= instruction* CPI2/clock rate2
 CPU time1/ CPU time2= (CPI1*clock rate2)/(CPI2*clock rate1) Clock rate2: 4GHZ =0.875 Mà performance=1/CPU time CPI1: 1.4
 Performance1=1/CPU time1=1/0.875 CPU time2 CPI: 2  Performance2=1/CPU time2
 Performance1/performance2=1/0.875=1.14 So sánh hiệu năng
 Vậy hiệu năng của máy tính sinh viên A lớn hơn sinh viên B gấp 1.14 lần
máy tính của Sv A và Sv B? lOMoAR cPSD| 58137911 Tóm tắt Bài 8: Clock rate: 2.4GHz Instructions: 130*109 a)CPU time=? IPS=? b)CPU time mới=? IPS mới=?
a) Số chu kỳ xung của từng lo ại lệnh
Clock cycles A=30% × 130 × 109 × 1=39 × 109
Clock cycles B=40% × 130 × 109 × 3=156 × 109
Clock cycles C=10% × 130 × 109 × 2=26 × 109 Clock
cycles D=20% × 130 × 109 × 2=52 × 109 NClock cycle=273 × 109
CPU time= 𝑁𝑐𝑙𝑜𝑐𝑘 𝑐𝑦𝑐𝑙𝑒 × 𝑐𝑙𝑜𝑐𝑘
1 𝑟𝑎𝑡𝑒 =273 × 109 × 2
.4×1109=113.75(s) Số câu lệnh thực thi trong 1s:
Ta có thời gian thực thi một chương trình 130 × 109 tốn 113.75 (s)
1×130×109 =1.14× 109 ( câu lệnh)  IPS= 113.75 lOMoAR cPSD| 58137911
b) Số chu kỳ xung của từng loại lệnh
Clock cycles A=30% × 130 × 109 × 1=39 × 109
Clock cycles B=40% × 130 × 109 × 2=104 × 109
Clock cycles C=10% × 130 × 109 × 1=13 × 109 Clock
cycles D=20% × 130 × 109 × 1=26 × 109 NClock cycle=182 × 109
CPU time= 𝑁𝑐𝑙𝑜𝑐𝑘 𝑐𝑦𝑐𝑙𝑒 × 𝑐𝑙𝑜𝑐𝑘
1 𝑟𝑎𝑡𝑒 =182 × 109 × 3
.2×1109=56.875(s) Số câu lệnh thực thi trong 1s:
Ta có thời gian thực thi một chương trình 130 × 109 56.875s
 IPS=1×130×109 =2.29 × 109( câu lệnh) 56.875 Tóm t
𝐼𝑛𝑠𝑡𝑟𝑢𝑐𝑡𝑖𝑜𝑛𝑠 × 𝐶𝑃𝐼 1 × 1
𝑐𝑙𝑜𝑐𝑘 𝑟𝑎𝑡𝑒 1
𝐼𝑛𝑠𝑡𝑟𝑢𝑐𝑡𝑖𝑜𝑛𝑠 × 𝐶𝑃𝐼 2 × 1 𝑐𝑙𝑜𝑐𝑘 𝑟𝑎𝑡𝑒 2
𝐶𝑃𝑈 𝑡𝑖𝑚𝑒 1
𝐶𝑃𝑈 𝑡𝑖𝑚𝑒 2 𝐼𝑛𝑠𝑡𝑟𝑢𝑐𝑡𝑖𝑜𝑛𝑠 × 𝐶𝑃𝐼 1 × 1
𝑐𝑙𝑜𝑐𝑘 𝑟𝑎𝑡𝑒 1
𝐼𝑛𝑠𝑡𝑟𝑢𝑐𝑡𝑖𝑜𝑛𝑠 × 𝐶𝑃𝐼 2 × 1
𝑐𝑙𝑜𝑐𝑘 𝑟𝑎𝑡𝑒 2  10 8 = 2 .1
1 .5 × 𝑐𝑙𝑜𝑐𝑘 𝑟𝑎𝑡𝑒 2 2 .4 × 10 9  2 . 14 × 10 9 Bài 10: lOMoAR cPSD| 58137911
a) Số chu kỳ xung của từng loại lệnh
Clock cycles A=30% × 20 × 109 × 1=6 × 109
Clock cycles B=40% × 20 × 109 × 3=24 × 109
Clock cycles C=10% × 20 × 109 × 2=4 × 109 Clock
cycles D=20% × 20 × 109 × 2=8 × 109 NClock cycle=42 × 109
CPU time= 𝑁𝑐𝑙𝑜𝑐𝑘 𝑐𝑦𝑐𝑙𝑒 × 𝑐𝑙𝑜𝑐𝑘
1 𝑟𝑎𝑡𝑒 =42 × 109 × 2
.4×1109=17.5 (s) Số câu lệnh thực thi trong 1s:
Ta có thời gian thực thi một chương trình 20 × 109 tốn 17.5 (s)
1×20×109 =1.14× 109 ( câu lệnh)  IPS= 17.5 lOMoAR cPSD| 58137911
b) Số chu kỳ xung của từng loại lệnh
Clock cycles A=40% × 20 × 109 × 1=8 × 109
Clock cycles B=20% × 20 × 109 × 3=12 × 109
Clock cycles C=25% × 20 × 109 × 2=10 × 109
Clock cycles D=15% × 20 × 109 × 2=6 × 109 NClock cycle=36 × 109
CPU time= 𝑁𝑐𝑙𝑜𝑐𝑘 𝑐𝑦𝑐𝑙𝑒 × 𝑐𝑙𝑜𝑐𝑘
1 𝑟𝑎𝑡𝑒 =36 × 109 × 2 .4×1109=15(s) Performance 1= =0.057 Performance 2=
=0.0667 hiệu suất sau khi cải tiến tăng gần 17% CHƯƠNG 2: Bài 1:
215 chuyển sang hệ nhị phận0011010111 Bù 1:  1100101000
Bù 2: 1100101001 đây là dạng biễu diển bù 2 của số -215
Biểu diễn số -25 bằng phương pháp thừa K với K=127, ta được: -25+127=102
Biểu diễn 102 dưới dạng nhị phân001100110
001100110 chính là dạng biểu diễn số của -25 bằng phương pháp thừa K Bài 2: lOMoAR cPSD| 58137911   × 2 7     1 .00101001 × 2 5   𝑂 × 42148000 Bài 3: lOMoAR cPSD| 58137911 Số bị nhân Số nhân Tích Khởi tạo 0000 0000 0001 1001 000 10011 0000 0000 0000 0000 B1: bít cuối của số 000 1001[1] nhân=1
Tích= tích + số bị nhân 0000 0000 0001 1001 Dịch trái số bị nhân 1bit 0000 0000 0011 0010 Dịch phải số nhân 1bit 000 01001 B2: bit cuối của số 000 0100[1] nhân=1
Tích= tích + số bị nhân 0000 0000 0100 1011 Dịch trái số bị nhân 1bit 0000 0000 0110 0100 Dịch phải số nhân 1bit 000 00100 B3: bit cuối của số 000 0010[0] nhân=0 0000 0000 0100 1011 Dịch trái số bị nhân 0000 0000 1100 1000 1bit Dịch phải số nhân 000 00010 1bit B4: bit cuối của số 000 0001[0] nhân=0 0000 0000 0100 1011 Dịch trái số bị nhân 0000 0001 1001 0000 1bit Dịch phải số nhân 000 00001 1bit lOMoAR cPSD| 58137911 B5: bit cuối của số 000 0000[1] nhân=1
Tích= tích + số bị nhân 0000 0001 1101 1011 Dịch trái số bị nhân 1bit 0000 0011 0010 0000 Dịch phải số nhân 1bit 0000 0000 B6: bit cuối của số 0000 000[0] nhân=0 0000 0001 1101 1011 Dịch trái số bị nhân 0000 0110 0100 0000 1bit Dịch phải số nhân 0000 0000 1bit
Kết quả tích= 0000 0001 1101 1011 Số bị nhân Số nhân Tích Khởi tạo 0000 0000 0000 1011 0000 1101 0000 0000 0000 0000 B1: bít cuối của số 0000 110[1] nhân=1 Tích= tích + số bị 0000 0000 0000 1011 nhân Dịch trái số bị nhân 0000 0000 0001 0110 1bit Dịch phải số nhân 0000 0110 1bit B2: bit cuối của số 000 011[0] nhân=0 0000 0000 0000 1011 Dịch trái số bị nhân 0000 0000 0010 1100 1bit Dịch phải số nhân 1bit 0000 0011 lOMoAR cPSD| 58137911 B3: bit cuối của số 0000 001[1] nhân=1 Tích= tích+ số bị nhân 0000 0000 0011 0111 Dịch trái số bị nhân 1bit 0000 0000 0101 1000 Dịch phải số nhân 1bit 0000 0001 B4: bit cuối của số 000 000[1] nhân=1 Tích= tích+ số bị nhân 0000 0000 1000 1111 Dịch trái số bị nhân 1bit 0000 0000 1011 0000 Dịch phải số nhân 1bit 0000 0000 B5: bit cuối của số 0000 000[0] nhân=0 0000 0000 1000 1111 Dịch trái số bị nhân 1bit Dịch phải số nhân 0000 0001 0110 0000 1bit 0000 0000
Kết quả tích= 1111 1111 0111 0001 Bài 4: lOMoAR cPSD| 58137911 Số bị nhân Tích/số nhân Khởi tạo 0001 0001 0000 0000 0001 0011 B1: bit cuối số nhân=1 0000 0000 0001 001[1] Tích= tích+số bị nhân 0001 0001 0001 0011
Dịch phải Tích/số nhân 0000 1000 1000 1001 0001 0001 B2: bit cuối số nhân=1 0000 1000 1000 100[1] Tích= tích+số bị nhân 0001 1001 1000 1001
Dịch phải Tích/số nhân 0000 1100 1100 0100 0001 0001 B3: bit cuối số nhân=0 0000 1100 1100 010[0]
Dịch phải Tích/số nhân 0000 0110 0110 0010 0001 0001 B4: bit cuối số nhân=0 0000 0110 0110 001[0]
Dịch phải Tích/số nhân 0000 0011 0011 0001 0001 0001 B5: bit cuối số nhân=1 0000 0011 0011 000[1] Tích= tích+số bị nhân 0001 0100 0011 0001
Dịch phải Tích/số nhân 0000 1010 0001 1000 0001 0001 B6: bit cuối số nhân=0 0000 1010 0001 100[0]
Dịch phải Tích/số nhân 0000 0101 0000 1100 0001 0001 lOMoAR cPSD| 58137911 B7: bit cuối số nhân=0 0000 0101 0000 110[0]
Dịch phải Tích/số nhân 0000 0010 1000 0110 0001 0001 B8: bit cuối số nhân=0 0000 0010 1000 011[0]
Dịch phải Tích/số nhân 0000 0001 0100 0011 0001 0001
Kết quả tích= 0000 0001 0100 0011 Số bị nhân Tích/số nhân Khởi tạo 0000 1101 0000 0000 0001 1011 B1: bit cuối số nhân=1 0000 0000 0001 101[1] Tích= tích+số bị nhân 0000 1101 0001 1011 0000
Dịch phải Tích/số nhân 0110 1000 1101 0000 1101 B2: bit cuối số nhân=1 0000 0110 1000 110[1] Tích= tích+số bị nhân 0001 0011 1000 1101
Dịch phải Tích/số nhân 0000 1001 1100 0110 0000 1101 B3: bit cuối số nhân=0 0000 1001 1100 011[0]
Dịch phải Tích/số nhân 0000 0100 1110 0011 0000 1101