Đề cương ôn tập học phần Kiến trúc máy tinh / Đại học nội vụ Hà Nội

Đề cương ôn tập học phần Kiến trúc máy tinh / Đại học nội vụ Hà Nội bao gồm các câu hỏi trắc nghiệm ( có đáp án) sẽ giúp các bạn ôn tập và đạt điểm cao !

Môn:
Trường:

Đại Học Nội Vụ Hà Nội 1.1 K tài liệu

Thông tin:
24 trang 9 tháng trước

Bình luận

Vui lòng đăng nhập hoặc đăng ký để gửi bình luận.

Đề cương ôn tập học phần Kiến trúc máy tinh / Đại học nội vụ Hà Nội

Đề cương ôn tập học phần Kiến trúc máy tinh / Đại học nội vụ Hà Nội bao gồm các câu hỏi trắc nghiệm ( có đáp án) sẽ giúp các bạn ôn tập và đạt điểm cao !

84 42 lượt tải Tải xuống
lOMoARcPSD|39099223
Câu 1. Nêu sơ đồ và các đặc điểm ca kiến trúc máy tính von-Neumann. Kiến trúc máy tính von-
Neumann hiện đại khác kiến trúc máy tính von-Neumann c đin những điểm chính nào
-> +-------------------+
| Control Unit |
+-------------------+
| Arithmetic |
| and Logic Unit |
+-------------------+
| Memory Unit |
+-------------------+
| Input/Output |
| Devices |
+-------------------+
B nh cache: Máy tính von Neumann hiện đại thưng có các cp b nh cache để ci thin hiu
năng. Cache lưu trữ các d liu và lnh mà CPU s d dụng thưng xuyên nht, giúp gim thi gian
truy cp vào b nh chính.
Đa luồng (Multithreading): Máy tính von Neumann hiện đại có kh năng thực hiện đa luồng, tc là có
th thc hiện đồng thi nhiu lung công vic.
Đa lõi (Multicore): Máy tính von Neumann hiện đại thường có nhiu lõi x lý (cores) trên mt con
chip duy nht
Câu 2. Nêu sơ đồ và các đặc điểm ca kiến trúc máy tính Harvard. Kiến trúc máy tính
Harvard có những ưu điểm gì so vi kiến trúc máy tính von-Neumann. Các máy tính hiện đại ngày
nay s dng kiến trúc nào?
->
+-----------------+ +----------------------+
| Control | | Control |
+-----------------+ +----------------------+
| Arithmetic | | Arithmetic |
+-----------------+ +----------------------+
| Registers | | Registers |
+-----------------+ +----------------------+
lOMoARcPSD|39099223
| ALU/ALU | | ALU/ALU/Memory |
+-----------------+ +----------------------+
| Data Memory | | Program Memory |
+-----------------+ +----------------------+
Hiu sut cao: Vi kh năng thực hin các hot động đọc/ghi d liệu và chương trình cùng một lúc,
kiến trúc Harvard có kh năng xử lý d liệu nhanh hơn và tăng tốc độ thực thi chương trình so vi
kiến trúc von Neumann truyn thng.
Parallism: Kiến trúc Harvard cho phép x lý song song, giúp tăng hiệu năng và kh năng xử lý đa
lung ca h thng.
Câu 3: Gii thích các khái nim biên dch, thông dch và máy o. ->
Biên dch (Compilation):
Biên dch là quá trình chuyển đổi mã ngun ca một chương trình từ mt ngôn ng lập trình nào đó
(ví d: C, C++, Java) sang ngôn ngy hoc mã thc thi mà máy tính có th hiểu được trc tiếp.
Thông dch (Interpretation):
Thông dch là quá trình thc thi mã ngun của chương trình dòng lệnh mt lnh mt lnh (hoc tng
khi mã) bng mt trình thông dch (interpreter). Trình thông dịch đc và thc thi mã ngun trc
tiếp, không cn biên dịch trưc. Trong quá trình thông dch, mã nguồn được dch và thc thi tng
dòng lnh mt và kết qu s đưc tr v ngay lp tc. Mỗi khi chương trình được chy, trình thông
dch s đọc mã ngun và thc hin các lệnh tương ứng mt cách tun t.
Máy o (Virtual Machine):
Máy o là một môi trường thực thi được tạo ra để thc hin và chạy các chương trình thông qua việc
to ra mt "máy o" gi lp trên mt h thng vt lý. Máy o có th chy trên nhiu nn tng khác
nhau và giúp đảm bo tính di động và tương thích của chương trình. Trong quá trình chy, mã ngun
của chương trình được biên dch hoc thông dch thành mã máy hoặc mã trung gian được máy o
hiu và thc thi.
Câu 4: Ti sao nói phn cng và phn mềm là tương đương về mt logic? Ly ví d?
->Phn cng (hardware) và phn mềm (software) được coi là tương đương về mt logic vì c hai đều
đóng vai trò quan trọng trong vic hoạt động ca mt h thng máy tính và cn phi hp vi nhau
để thc hin các tác v.
ới đây là ví dụ để minh họa tương đương logic giữa phn cng và phn mm:
Gi s bn mun m mt tệp tin trên máy tính. Để m điều đó, bạn cn s dụng bàn phím để nhp
lnh và máy tính cn hiu lệnh đó và hiển th tệp tin tương ứng lên màn hình.
Phn cng: Bàn phím là mt thành phn phn cứng và nó được kết ni vi máy tính thông qua mt
giao diện như USB hoặc Bluetooth. Khi bn gõ vào bàn phím, các tín hiệu điện t bàn phím s đưc
chuyển đổi thành d liu s và gửi đến b x lý trung tâm (CPU) ca máy tính thông qua bus h
thống. CPU sau đó xử lý d liu này và gi nó đến màn hình.
Phn mm: Trên phn mm, h điu hành (ví d: Windows, macOS, Linux) đóng vai trò quan trọng.
H điu hành nhn các tín hiu t bàn phím thông qua trình điều khin bàn phím (keyboard driver)
lOMoARcPSD|39099223
và x lý chúng. Sau đó, hệ điu hành tìm và m tệp tin tương ứng và gi d liu hin th đến trình
điu khiển đ họa (graphics driver) để hin th lên màn hình.
Trong ví d này, phn cng (bàn phím, CPU, màn hình) và phn mềm (trình điều khin bàn phím, h
điều hành, trình điều khiển đồ ha) cn phi hp và hoạt động cùng nhau để đạt được mc tiêu
chung là m và hin th tp tin lên màn hình. C phn cng và phn mềm đều thc hin các chc
năng logic và truyền thông tin qua lại để thc hin các tác v của ngưi dùng.
Câu 5: Các mc máy tính hiện đại bao gm:
Máy tính cơ bản: Đây là mức đơn giản nht của máy tính, thường ch có kh năng thực hin mt s
phép tính cơ bản như cộng, tr, nhân và chia.
Máy tính cá nhân (Personal Computer - PC): PC là mc máy tính thông dụng mà chúng ta thường gp
trong cuc sng hàng ngày. Nó bao gm mt b vi x lý, b nh, cứng, đầu vào/đầu ra và h điu
hành.
Máy ch (Server): Máy ch là mt h thng mnh m đưc thiết kế để cung cp dch v cho các máy
tính khác trong mng. Chúng có kh năng xử lý đa nhiệm và đáp ứng cho nhiu yêu cu t các thiết
b khác.
Cm máy tính (Cluster): Mt cm máy tính là s kết hp ca nhiều máy tính độc lp hoạt động cùng
nhau như một h thng duy nht. Cụm máy tính được s dng để tăng cường hiu suất và đáng tin
cy cho các ng dng đòi hỏi sc mnh tính toán cao.
Máy tính siêu mạnh (Supercomputer): Đây là loại máy tính mnh nht và có kh năng xử lý siêu tc.
Chúng thường được s dng cho các ng dụng đòi hỏi tính toán phc tạp như nghiên cứu khoa hc,
mô phng thi tiết, phân tích d liu ln, và công vic tối ưu hóa.
Câu 6:
->>> Đnh lut Moore d đoán rằng s ng transistor trong mt vi mch tích hp s tăng gấp đôi
khong mi 18-24 tháng. Điều này đồng nghĩa với vic hiệu năng của máy tính s tăng lên theo tiến
độ đó - ý nghĩa:
Tăng hiệu suất: Định lut Moore cho thy rng vi s gia tăng số ng transistor trên mt vi mch
tích hp, các h thng máy tính có th cung cp hiu sut tốt hơn. Việc tăng cường hiệu năng này
cho phép thc hin các tác v phc tạp nhanh hơn, xử lý d liu lớn hơn và cung cấp tri nghim
ngưi dùng tốt hơn.
Giảm kích thước: Đnh luật Moore cũng liên quan đến vic giảm kích thước ca các vi mch tích hp.
Khi s ợng transistor tăng lên mà không tăng đáng kể din tích ca vi mch, ta có th cha nhiu
tính năng và chức năng hơn trong cùng một kích thước vật lý. Điều này dẫn đến s nh gn và tin
ích ca các thiết b di động và các ng dng nh gn khác.
Gim giá thành: S gia tăng số ng transistor trong mt vi mch tích hợp cũng góp phần gim giá
thành sn xut. Vic sn xut mt vi mch tích hp với kích thước nh hơn và nhiều tính năng hơn có
th tiết kiệm chi phí và tăng năng suất trong quá trình sn xuất. Điều này làm cho các thiết b và máy
tính tr nên ph biến hơn và dễ tiếp cận hơn đối với người dùng.
Câu 7: Ba thành phần cơ bn ca mt h thng máy tính và chức năng của chúng là:
CPU (Central Processing Unit - Đơn vị x lý trung tâm): CPU là b não của máy tính, nơi thực hin các
phép tính và điều khin hot đng ca h thng. Nó thc hin các lnh t phn mm và qun lý các
tác v như tính toán, điều khin b nh và giao tiếp vi các thành phn khác.
B nh: B nh trong máy tính được s dụng đ lưu trữ d liệu và chương trình đang được thc thi.
Có hai loi b nh chính trong mt máy tính:
lOMoARcPSD|39099223
RAM (Random Access Memory - B nh truy cp ngẫu nhiên): RAM là nơi lưu trữ d liu tm thi và
chương trình đang chạy. Nó cho phép CPU nhanh chóng truy cập và thay đổi d liu.
ROM (Read-Only Memory - B nh ch đc): ROM chứa các thông tin không thay đổi, chng hạn như
firmware h thng và các chương trình cần thiết để khởi động máy tính.
Thiết b ngoi vi: Thiết b ngoi vi bao gm các thành phn ph tr và giao tiếp vi máy tính. Mt s
thiết b ngoi vi thông dng bao gm:
Bàn phím và chuột: Được s dng để nhp d liệu và điều khin các chức năng của máy tính.
Màn hình: Hin th đầu ra của máy tính và cho phép người dùng tương tác với giao diện người dùng.
đĩa cứng và đĩa quang: Lưu trữ đọc/ghi d liu t và đến các đĩa cứng hoặc đĩa quang, chẳng
hạn như ổ cng và đĩa CD/DVD.
Card mng: Cho phép kết ni mng và truyn d liu gia máy tính và mng ngoi vi.
Câu 8: Trong ng cnh máy tính, các khái niệm sau được định nghĩa:
Phn cng (Hardware): Phn cng là các thành phn vt lý ca mt máy tính, bao gm các linh kin
đin t, mch, bo mch, dây cáp và các thành phn khác. Nó bao gm CPU, b nh, thiết b ngoi vi
và các thành phần khác như nguồn điện, bo mch chủ, card đ ha, cng, và các linh kin khác.
Phn cng là phn vt lý ca máy tính và chu trách nhim thc hin các chức năng tính toán và lưu
tr d liu.
Ví d v phn cng:
CPU: Ví d như Intel Core i7, AMD Ryzen 5.
RAM: Ví d như DDR4 8GB.
cng: Ví d như SSD 500GB, HDD 1TB.
Phn mm (Software): Phn mềm là các chương trình và dữ liệu được lưu trữ trên máy tính. Nó là
tp hp các lnh và ch th mà máy tính thc hiện để thc hin các nhim v c th. Phn mm bao
gm h điu hành, ng dng và các tp tin d liu.
Ví d v phn mm:
H điu hành: Ví d như Windows 10, macOS Big Sur, Ubuntu Linux.
Trình duyt web: Ví d như Google Chrome, Mozilla Firefox, Microsoft Edge.
Trình biên dch: Ví d như Visual Studio Code, PyCharm, Eclipse.
Firmware: Firmware là mt loi phn mềm đặc biệt được lưu trữ trc tiếp trong phn cng ca mt
thiết b. Nó cung cấp hướng dn và qun lý hot đng ca phn cứng và thường không thay đổi trong
quá trình s dng thiết b.
Ví d v firmware:
BIOS (Basic Input/Output System): Firmware được lưu trữ trên bo mch ch của máy tính đ điu
khin các hoạt đng khởi động và qun lý phn cng.
Câu 9: Các thành phn chính trong mt máy tính PC và chức năng của chúng là:
B vi x lý (CPU): Là trái tim ca máy tính, thc hiện các phép tính và điều khin hoạt động ca h
thng.
B nh RAM: Lưu trữ d liệu và chương trình đang được thc thi. RAM cho phép truy cp nhanh và
tm thi vào d liệu, giúp tăng tốc đ x lý ca máy tính.
lOMoARcPSD|39099223
B nh lưu trữ: Bao gm cng (HDD) và đĩa rắn (SSD), được s dụng để lưu trữ d liu lâu dài và
h điu hành.
B điu khiển đ họa (GPU): Đảm nhn vic xvà hin th đồ họa trên màn hình. GPU đặc bit
quan trng trong các tác v đồ họa và chơi game.
Bo mch ch (Mainboard): Kết nối và điều khin các thành phn khác nhau ca máy tính, bao gm
CPU, RAM, GPU và các thiết b ngoi vi khác.
Nguồn điện (Power Supply): Cung cp nguồn điện cho toàn b h thng máy tính và các thành phn
khác.
Thiết b đầu vào và đầu ra: Bao gm bàn phím, chut, màn hình, loa, microphone và các thiết b khác
để nhp liu vào và nhn kết qu t máy tính.
Card mng: Cho phép kết ni mng và truyn d liu qua mng.
đĩa quang: Cho phép đọc và ghi d liu t các đĩa quang như đĩa CD, DVD.
Card âm thanh: Đảm nhn x lý âm thanh và cung cấp âm thanh đầu ra.
__________________________
| |
| B vi x lý |
|__________________________|
| |
| B nh RAM |
|__________________________|
| |
| B điu khiển đồ ha |
|__________________________|
| |
| B nh lưu trữ |
|__________________________|
| |
| Bo mch ch (Mainboard)|
|__________________________|
| |
| Nguồn điện |
|__________________________|
| |
Thiết b đầu vào và đầu ra |
||
lOMoARcPSD|39099223
| |
| Card mng |
||
| |
| đĩa quang |
||
| |
| Card âm thanh |
||
Câu 10: Các cách biu din s nguyên bao gm:
1. Phương pháp dấu lượng (Sign-Magnitude): S nguyên được biu din bng cách dùng mt
bit để xác định du (+/-) và các bit còn lại để biu din giá tr tuyệt đối ca s. Ví d: 8-bit dấu lượng
có th biu din s t -127 đến 127.
2. Phương pháp bù 2 (Two's Complement): Phương pháp này biểu din s nguyên da trên bù
2 ca s đối vi phép tr. S dương được biu diễn theo cách thông thường, trong khi s âm được
biu din bng cách ly bù 2 ca giá tr tuyệt đối và thêm 1. Phương pháp này cho phép biểu din s
âm và dương trong cùng một kiu d liu. Ví d: 8-bit phương pháp bù 2 có thể biu din s t -128
đến 127.
3. Phương pháp số dch (Shift-and-Add): Phương pháp này biểu din s nguyên bng cách s
dng các bit dch và phép cng. S nguyên được biu din bng cách dch các bit sang trái hoc sang
phi và thc hin phép cng vi các giá trị. Phương pháp này ít được s dng trong máy tính hin
đại.
Các phương pháp biểu din s nguyên có ưu điểm và hn chế riêng, và được s dng tùy thuc vào
ng dng và kiến trúc máy tính. Phương pháp bù 2 là phương pháp phổ biến và được s dng rng
rãi trong hu hết các máy tính hiện đại.
b. Phn lý thuyết Ch3: Mch logic
Câu 1: Xây dng các cng AND, OR, NOT t các cng NOR:
Cng AND: Bng cách kết nối hai đu vào ca cng NOR vi mt cng NOT.
lOMoARcPSD|39099223
Vi ký hiu:
A ------| |------ Y
| NOR |
B ------|_______|
Cng OR: Bng cách kết nối đầu vào ca cng NOR vi mt cng NOT.
Vi ký hiu:
A ------| Y
| NOR |
B ------|______|
Cổng NOT: Được xây dng t cng NOR với cùng đầu vào.
Vi ký hiu:
A ------|
| NOR
|
Y ------|
Câu 2: Xây dng các cng AND, OR, NOT t các cng NAND:
Cng AND: Bng cách kết nối hai đu vào ca cng NAND vi mt cng NOT.
Vi ký hiu:
A ------| |------ Y
| NAND |
B ------|_______|
Cng OR: Bng cách kết nối đầu vào ca cng NAND vi mt cng NOT.
Vi ký hiu:
A ------| Y
| NAND |
B ------|______|
Cổng NOT: Được xây dng t cng NAND với cùng đầu vào.
lOMoARcPSD|39099223
Vi ký hiu:
A ------|
| NAND
|
Y ------|
Câu 3: Cng là mt mạch điện có chức năng thực hin các phép toán logic trên các tín hiệu đầu vào
để to ra tín hiệu đầu ra da trên các quy tắc logic đã định trước.
Cng NAND (NOT AND):
Sơ đồ nguyên lý:
A ---
NAND ---- Y
B ---/
Ký hiu:
____
A ---| |
NAND ---- Y B --
-|____|
Phương trình logic: Y = NOT (A AND B)
Cng NOR (NOT OR):
Sơ đồ nguyên lý:
A ---
NOR ---- Y
B ---/
Ký hiu:
____
A ---| |
NOR ---- Y B --
-|____|
Phương trình logic: Y = NOT (A OR B)
lOMoARcPSD|39099223
Câu 4: Mch phân kênh là mt mạch điện được s dng để chia nh và điều khin các tín hiu d
liu t mt ngun vào thành nhiều đường d liu ra, da trên tín hiệu điều khin. Mch phân kênh
cho phép la chọn đường d liệu đầu vào nào s được đưa ra tại đường d liệu đầu ra tươngng.
Để xây dng mạch phân kênh cho 4 đường d liu ra, chúng ta có th s dng mt b chia
(demultiplexer) 1 vào 4.
Sơ đồ nguyên lý:
Sel
|
___
In ---| |
| |---- Out 1
| |
|___|
|
___
In ---| |
| |---- Out 2
| |
|___|
|
___
In ---| |
| |---- Out 3
| |
|___|
|
___
In ---| |
| |---- Out 4
| |
|___|
Ký hiu:
Sel
lOMoARcPSD|39099223
|
-------
| |
| 1 |--- Out 1
| | -------
|
-------
| |
| 2 |--- Out 2
| |
-------
|
------ |
|
| 3 |--- Out 3
| |
-------
|
------ |
|
| 4 |--- Out 4
| | -------
Phương trình logic biu din chc năng của mch phân kênh:
Out 1 = Sel * In
Out 2 = (not Sel) * In
Out 3 = 0
Out 4 = 0
Câu 5: Mch dn kênh (multiplexer) là mt mạch điện được s dụng để kết hp (mux) nhiều đường
d liệu đầu vào thành một đường d liệu đầu ra duy nht, da trên tín hiệu điu khin. Mch dn
kênh cho phép la chọn đường d liệu đầu vào nào s được đưa ra tại đường d liệu đầu ra tương
ng.
Để xây dng mch dồn kênh cho 4 đường d liu vào, chúng ta có th s dng mt b kết hp
(multiplexer) 4 vào 1.
lOMoARcPSD|39099223
Sơ đồ nguyên lý:
Sel
|
In 1 ---| |
| MUX |--- Out
In 2 ---| |
|
In 3 ---|
|
In 4 ---|
Ký hiu:
Sel
|
------ |
|
| M |--- Out
| U |
| X | -------
Phương trình logic biu din chc năng của mch dn kênh: Out = (Sel * In1) +
(Sel' * In2) + (Sel' * In3) + (Sel' * In4)
Câu 5: Mch dn kênh (multiplexer) là mt thiết b đin t đưc s dụng đ chuyển hướng mt s
đưng d liu t nhiu ngun vào một đường d liu duy nht. Nó hoạt động da trên tín hiệu điều
khiển để la chọn đường d liu nào s được đưa vào đường d liệu đầu ra.
Để xây dng mch dồn kênh cho 4 đường d liu vào, chúng ta cn s dng mt mch dn kênh 4
vào 1 (4-to-1 multiplexer). Mch này có bốn đường d liệu đầu vào (A, B, C và D) và một đường d
liệu đầu ra. Ngoài ra, cn có hai tín hiệu điu khin: tín hiu la chọn (S0 và S1) để ch định đường d
liu vào nào s đưc chn.
ới đây là một mô t đơn giản v mch dn kênh 4 vào 1:
Đầu vào: A, B, C, D (các đường d liu vào)
Đầu ra: X (đường d liệu đầu ra)
lOMoARcPSD|39099223
Điu khin: S0, S1 (tín hiệu điều khin)
______
| |
A---| |
| |----X
B---| |
| |
C---| |
| |
D---|______|
S0 S1
Câu 5: Mch dn kênh (multiplexer) là mt thiết b đin t đưc s dụng đ chuyển hướng mt s
đưng d liu t nhiu ngun vào một đường d liu duy nht. Nó hoạt đng da trên tín hiệu điều
khiển để la chọn đường d liu nào s được đưa vào đường d liệu đầu ra.
Để xây dng mch dồn kênh cho 4 đường d liu vào, chúng ta cn s dng mt mch dn kênh 4
vào 1 (4-to-1 multiplexer). Mch này có bốn đường d liệu đầu vào (A, B, C và D) và một đường d
liệu đầu ra. Ngoài ra, cn có hai tín hiệu điu khin: tín hiu la chọn (S0 và S1) để ch định đường d
liu vào nào s đưc chn.
ới đây là một mô t đơn giản v mch dn kênh 4 vào 1:
Đầu vào: A, B, C, D (các đường d liu vào)
Đầu ra: X (đường d liệu đầu ra) Điều khin: S0,
S1 (tín hiệu điều khin) lua
Copy code
______
| |
A---| |
| |----X
B---| |
| |
C---| |
| |
lOMoARcPSD|39099223
D---|______|
S0 S1
Trong mch dn kênh này, tín hiệu điều khiển S0 và S1 được s dụng để la chọn đường d liu nào
s đưc chuyn tới đường d liệu đầu ra X. Bảng sau đây cho thấy s tương ứng gia các giá tr ca
S0 và S1 với các đường d liu vào:
S1 | S0 | Đầu vào được la chn
---|----|-------------------
0 | 0 | A 0 | 1 | B 1 | 0 | C
1 | 1 | D
Vi các giá tr của S0 và S1 tương ứng, mch dn kênh s chọn đường d liệu vào tương ứng để
chuyn tới đường d liệu đầu ra X.
Câu 6: Bìa các-nô (Boolean algebra) là mt nhánh ca toán hc và khoa học máy tính, liên quan đến
các biu thc và phép tính da trên hai giá tr logic là "đúng" và "sai". Bìa các-nô cung cp mt cách
tin lợi để biu dng các phép tính logic, biu din các mi quan h logic và áp dng các nguyên tc
logic để gii quyết vấn đ.
Dng 2 biến A, B:
Các biến có th có giá tr "đúng" (1) hoặc "sai" (0).
Các phép toán cơ bản trong bìa các-nô bao gm: AND (và), OR (hoc), NOT (ph định).
Các biu thc logic có th đưc biu diễn dưới dng: A AND B, A OR B, NOT A, NOT B, v.v.
Dng 3 biến A, B, C:
Các biến vn có th có giá tr "đúng" (1) hoặc "sai" (0).
Các phép toán cơ bản trong bìa các-nô vn là AND, OR, NOT.
Các biu thc logic có th đưc biu diễn dưới dng: A AND B AND C, A OR B OR C, NOT A, NOT B,
NOT C, v.v.
Dng 4 biến A, B, C, D:
Các biến tiếp tc có th có giá tr "đúng" (1) hoặc "sai" (0).
Các phép toán cơ bản trong bìa các-nô vn là AND, OR, NOT.
Các biu thc logic có th đưc biu diễn dưi dng: A AND B AND C AND D, A OR B OR C OR D, NOT
A, NOT B, NOT C, NOT D, v.v.
Ví d:
lOMoARcPSD|39099223
Dng 2 biến:
Biu thc: A AND B
Ý nghĩa: Điều kin là c A và B phi là đúng.
Dng 3 biến:
Biu thc: A OR (B AND C)
Ý nghĩa: Điu kin là A hoc (B và C) phải là đúng.
Dng 4 biến:
Biu thc: (A AND B) OR (C AND D)
Ý nghĩa: Điều kin là (AB) hoc (C và D) phải là đúng.
c. Phn lý thuyết Ch4: B x lý trung tâm ( CPU)
Câu 1: Kiến trúc máy tính đề cập đến cách thc t chc, cu trúc và hot đng ca các thành phn
trong mt h thng máy tính. Nó bao gm các phn cng và phn mm ca máy tính và cách chúng
tương tác với nhau để thc hin các nhim v tính toán.
T chc máy tính đề cập đến s sp xếp và cu trúc ca các thành phn bên trong mt máy tính.
Điu này bao gm các thành phần chính như trung tâm xử lý (CPU), b nh, các thiết b ngoi vi và
các kết ni gia chúng. T chức máy tính xác định cách thông tin được truyền đi và xử lý trong h
thng.
Trong máy tính thế h hin nay, CPU là trung tâm x lý và qun lý các tác v tính toán. Nó bao gm
mt s đơn vị chức năng như bộ điu khin (Control Unit) và b x chính (Arithmetic Logic Unit -
ALU). B điu khiển điều phi các hoạt động ca máy tính bng cách gii mã và thc thi các lnh t
b nh. ALU thc hin các phép tính và phép logic trên d liu.
Bên cạnh CPU, máy tính cũng bao gồm b nh để lưu trữ d liu và lnh, các thiết b ngoại vi để
tương tác với thế gii bên ngoài và các kết nối để truyn d liu gia các thành phn. Máy tính thế
h hiện nay thường có b nh chính (RAM) để lưu trữ d liu tm thi và b nh u trữ th cp
như ổ cứng để lưu trữ d liu lâu dài. Ngoài ra, máy tính hiện đại thường có nhiu lõi x lý (multi-
core) để thc hin nhiu tác v đồng thời và tăng hiệu sut.
Câu 2: Chế độ địa ch ca vi x đề cập đến cách mà vi x lý truy cp và xác định địa ch ca d liu
trong b nh. Mt trong nhng chế độ địa ch ph biến là chế độ địa ch gián tiếp qua ô nh.
lOMoARcPSD|39099223
Trong chế độ địa ch gián tiếp qua ô nh, vi x lý s dng mt thanh ghi ch s hoc mt giá tr offset
để xác định địa ch ca d liu trong b nh. Thanh ghi ch s hoặc offset này được cng vào mt đa
ch cơ sở (base address) để tính toán địa ch thc tế ca d liu.
Ví d, gi smt lnh yêu cu vi x lý ly d liu t địa ch A và thc hin mt phép tính. Thay vì
truy cp trc tiếp đến địa ch A, vi x lý s dng chế độ địa ch gián tiếp qua ô nh. Vi xcó th s
dng mt thanh ghi ch s (index register) có giá tr là X để ch ra v trí ca d liu trong mt mng.
Thanh ghi này được cộng vào địa ch sở A để tính toán địa ch thc tế ca d liu.
Tiếp tc t câu tr lời trước, chúng ta s tiếp tc vi các câu hi và tr lời liên quan đến b x
b nh.
Câu 3: Trình bày và giải thích các bước thc thi lnh ca b x lý?
Các bước thc thi lnh trong b x lý được thc hiện theo chu trình. Dưới đây là các bước thc thi
lệnh cơ bản:
Instruction Fetch (IF - Ly lnh): B điu khin (Control Unit) trong CPU ly lnh t b nh chính
(RAM) dựa trên địa ch hin ti của chương trình được lưu trong thanh ghi chương trình (Program
Counter - PC).
Instruction Decode (ID - Gii mã lnh): Lệnh được giải mã để xác định loi lnh và các toán hng liên
quan. Các thông tin cn thiết đ thc hin lnh s đưc trích xut t lệnh và lưu trữ trong các thanh
ghi và b đệm tm.
Operand Fetch (OF - Ly toán hng): Nếu lnh yêu cu các toán hng t b nh hoc các thanh ghi
khác, các toán hng này s đưc lấy và đưa vào các thanh ghi tạm (registers) để chun b cho bước
thc thi tiếp theo.
Instruction Execute (EX - Thc thi lệnh): Bước này thc hin các phép tính hoc phép so sánh, tùy
thuc vào loi lnh. Thông tin t các thanh ghi tm và b đệm tạm được s dụng để thc hin các
phép toán logic, phép tính s học, điều khin nhy, v.v.
Write-back (WB - Ghi kết qu): Kết qu ca lnh thực thi được lưu trữo các thanh ghi kết qu hoc
b nh tùy thuc vào lệnh. Điều này cho phép kết qu có th đưc s dng trong các lnh tiếp theo
hoặc để đưa ra ngoài máy tính.
Câu 4: Thanh ghi PC và IR là gì, và nó làm nhim v gì trong quá trình thc thi lnh ca b x?
lOMoARcPSD|39099223
Thanh ghi PC (Program Counter): Thanh ghi PC lưu trữ địa ch ca lnh hin tại được thc thi trong
b nh. Sau khi mt lệnh được ly và gii mã, giá tr của PC được cp nhật để tr đến địa ch ca lnh
tiếp theo
Câu 5: Các yếu t nào được s dụng để đánh giá hiệu năng của b nh?
Để đánh giá hiệu năng của b nh, có mt s yếu t quan trng cn xem xét:
Thi gian truy cp (Access Time): Đây là thời gian mà b nh mất để cung cp d liu sau khi yêu cu
truy cập được đưa ra. Thời gian truy cp thấp hơn cho thấy b nh hot động nhanh hơn.
Băng thông (Bandwidth): Băng thông là số ng d liu mà b nh có th truyn trong mt khong
thi gian nht định. Băng thông cao hơn cho phép truyền d liệu nhanh hơn gia b nh và các
thành phn khác trong h thng.
Dung lượng (Capacity): Dung lượng ca b nh xác định s ng d liu mà nó có th lưu trữ. Dung
ợng cao hơn cho phép lưu trữ nhiu d liệu hơn.
Độ tr (Latency): Độ tr đo thời gian mà b nh mất để bắt đầu truyn d liu sau khi yêu cu truy
cập được đưa ra. Độ tr thấp hơn cho thấy b nh có kh năng truyền d liệu nhanh hơn.
Câu 6: Mi quan h gia các thuộc tính dung lượng, giá thành và thi gian truy cp ca b nh là gì?
Mi quan h gia các thuc tính dung lượng, giá thành và thi gian truy cp ca b nh là mt s
đánh đổi (trade-off). Thông thường, các b nh có dung lượng lớn hơn có thể lưu trữ nhiu d liu
hơn, nhưng thời gian truy cp và giá thành có th cao hơn.
Các công ngh b nh có dung lượng ln như bộ nh RAM (Random Access Memory) có thi gian
truy cp thấp hơn, nhưng giá thành cao hơn so với các công ngh b nh khác như bộ nh đệm
(cache memory). B nh cache có dung lưng nh hơn, nhưng thời gian truy cp thấp hơn nhiều
Câu 7: Thanh ghi là gì? Nêu chức năng một s thanh ghi có bên trong CPU?
Trong kiến trúc máy tính, thanh ghi (register) là mt b lưu trữ tm thi nm bên trong b x
(CPU). Chúng được s dng để lưu trữ và x lý d liu và các giá tr trung gian trong quá trình thc
thi lnh.
Mt s thanh ghi quan trng có th có bên trong CPU bao gm:
lOMoARcPSD|39099223
Thanh ghi chung (General Purpose Registers): Đây là các thanh ghi được s dng để lưu trữ d liu
và các giá tr trung gian trong quá trình thc thi lnh. Chúng có th đưc s dng cho các phép tính
s hc, phép toán logic và các hot đng khác. Ví d: thanh ghi EAX, EBX, ECX, EDX trong kiến trúc
x86.
Thanh ghi ch s (Index Registers): Thanh ghi ch s đưc s dng trong các phép tính gián tiếp, trong
đó địa ch truy cập được tính toán bng cách kết hp giá tr ca thanh ghi ch s vi mt hng s
hoc offset. Ví d: thanh ghi ESI, EDI trong kiến trúc x86.
Thanh ghi trng thái (Status Registers): Thanh ghi trng thái cha các c (flags) để lưu trữ và xác định
trng thái ca quá trình thc thi lnh. Các c này được s dụng để xác định kết qu ca các phép
toán, kiểm tra điều kiện và điều khin nhy. Ví d: thanh ghi EFLAGS trong kiến trúc x86.
Câu 8: Hãy cho biết các thành phn chính có trong CPU và chức năng chính của chúng?
Các thành phn chính trong CPU (Central Processing Unit) bao gm:
B điu khiển (Control Unit): Điều khin các hoạt đng ca b x lý bng cách ly lnh t b nh, gii
mã lệnh, điều khin lung d liu và qun lý các tín hiệu điều khin khác trong h thng.
B x lý s hc và logic (Arithmetic Logic Unit - ALU): Thc hin các phép tính s học (như cng, tr,
nhân, chia) và phép toán logic (như AND, OR, NOT) trên dữ liệu. Nó cũng có thể thc hin các phép
so sánh để kim tra các điều kin.
B đệm (Cache): Làm việc như một b nh tm thời nhanh hơn, lưu trữ các d liu và lnh mà CPU
thường xuyên truy cp. Vic s dng b đệm giúp gim thi gian truy cập đến b nh chính và ci
thin hiu sut ca h thng.
Đơn vị điu khin b nh (Memory Management Unit - MMU): Qun lý vic truy cp và qun lý b
nh chính và b nh ph trong h thng. Nó thc hin các phép chuyển đổi địa ch logic thành địa
ch vt lý và qun lý các trang b nh o.
B đệm TLB (Translation Lookaside Buffer): Lưu trữ các bn dch (translation) của địa ch tương ứng
giữa địa ch logic và địa ch vật lý. TLB giúp tăng tốc quá trình dịch địa ch và gim thi gian truy cp
b nh.
B đếm chương trình (Program Counter - PC): Lưu trữ địa ch ca lnh tiếp theo cần được thc thi
trong b nh. Nó giúp quyết định địa ch ca lệnh được lấy trong bước thc thi.
B đệm ghi trạng thái (Status Register): Lưu trữ các c trng thái và thông tin v trng thái hin ti
ca CPU. Các c này thường được s dụng để xác định điều kiện và điều khin lung thc thi lnh.
lOMoARcPSD|39099223
Câu 9: Viết sơ đồ thuật toán để mô t cách thức đọc mt đa ch t b nh vào CPU để x lý.
ới đây là sơ đồ thuật toán đơn giản mô tch thức đọc mt đa ch t b nh vào CPU để x lý:
Bt đu:
CPU gi yêu cầu đọc địa ch c th ti b nh thông qua các tín hiệu điều khin.
B nh nhn yêu cu t CPU và tìm kiếm địa ch đưc yêu cu trong b nh.
B nh truy xut d liệu tương ứng với địa ch đưc yêu cu và tr v cho CPU thông qua các tín hiu
điu khin.
CPU nhn d liu t b nh thông qua các tín hiệu điều khiển và lưu trữ d liu vào thanh ghi hoc
b đệm tm thời để tiếp tc x lý.
Kết thúc.
Trong quá trình này, CPU và b nh giao tiếp thông qua các tín hiệu điều khiển để truyn và nhn d
liu. B nh nhn yêu cu t CPU, tìm kiếm địa ch và truy xut d liệu tương ứng. Sau đó, dữ liu
đưc truyn t b nh vào CPU để tiếp tc quá trình x lý.
Câu 10: Thanh ghi ca vi x lý là gì? Nêu chức năng và đặc điểm ca thanh ghi tích lu A.
Trong vi x lý, thanh ghi (register) là mt phn ca b x lý nm trong CPU được s dụng để lưu trữ
d liu và các giá tr trung gian trong quá trình thc thi lnh. Thanh ghi được s dụng để thc hin
các phép tính và các hoạt động x khác.
Mt trong các thanh ghi quan trng là thanh ghi tích lu (accumulator register), thường được ký hiu
là A. Thanh ghi tích lu có chức năng chính là lưu trữ và thc hin các phép tính s hc và logic trên
d liệu. Nó là nơi lưu trữ kết qu cui cùng ca các phép tính và là thanh ghi mà nhiu lnh x
thường truy cập để thc hin các phép toán.
Mt s đặc điểm ca thanh ghi tích lu A là:
Dung lượng: Thanh ghi tích lu có dung ng hn chế, ch có th lưu trữ mt giá tr duy nht ti mt
thời điểm. Điều này yêu cu vic qun lý và chuyển đổi d liu khi cn thiết đ tiếp tc x lý.
Tương tác với lnh: Nhiu lnh x lý s dng thanh ghi tích lu A như một toán hng hoặc nơi lưu trữ
kết qu. Các phép tính và hoạt động x lý thường truy cập vào thanh ghi này để thc hin các thao
tác.
S dng trong các lnh nhảy điều kin: Thanh ghi tích lu thường được s dụng để so sánh và kim
tra điều kin trong các lnh nhảy điu kin. Kết qu ca các phép tính trên thanh ghi A có th là cơ sở
cho quyết định nhảy đến một địa ch khác hoc tiếp tc thc hin các lnh tiếp theo.
lOMoARcPSD|39099223
Thc hin các phép toán cơ bản: Thanh ghi tích lu A thường được s dụng để thc hin các phép
toán cơ bản như cộng, tr, nhân, chia và các phép toán logic trên d liu.
Đặc điểm ca thanh ghi tích lu A có th thay đổi tùy theo kiến trúc
Câu 11: Nêu sơ đồ và đặc điểm ca hai dng kiến trúc cache: Look Aside và Look Through. Trong hai
dng kiến trúc trên, dạng nào được s dng nhiều hơn trong thực tế hin nay? Ti sao?
Hai dng kiến trúc cache ph biến trong h thng b nh cache là Look Aside (còn được gi là cache
trước) và Look Through (còn được gọi là cache sau). Dưới đây là sơ đồ và đặc điểm ca hai dng kiến
trúc này:
Look Aside (Cache trước):
Sơ đồ:
CPU - Cache trước - B nh chính Đặc điểm:
Cache trước đứng trước CPU và gi mt bn sao ca mt phn ca b nh chính.
CPU truy cp d liu t cache trước trước khi truy cp vào b nh chính.
Nếu d liệu được tìm thấy trong cache trước, thì CPU s nhận được d liu nhanh chóng và không
cn truy cp vào b nh chính.
Nếu d liệu không có trong cache trước, CPU s gi yêu cầu đến b nh chính và đợi để nhn d liu
t b nh chính trước khi cung cấp cho CPU và đồng thi lưu một bản sao vào cache trước để s
dng cho các truy cp sau.
Look Through (Cache sau):
Sơ đồ:
CPU - B nh chính - Cache sau Đặc điểm:
Cache sau đứng sau CPU và lưu trữ mt bn sao ca mt phn ca b nh chính.
CPU truy cp d liu t b nh chính trưc.
Nếu d liệu được tìm thy trong cache sau, CPU s nhận được d liu t cache sau và không cn ch
đợi.
Nếu d liu không có trong cache sau, CPU s gi yêu cu đến b nh chính và đợi để nhn d liu
t b nh chính trước khi cung cấp cho CPU và đồng thi lưu một bản sao vào cache sau để s dng
cho các truy cp sau.
Trong thc tế hin nay, kiến trúc cache Look Aside (cache trước) được s dng ph biến hơn. Lý do
là:
lOMoARcPSD|39099223
Kiến trúc cache trước đơn giản hơn và dễ thc hin trong vic x lý b nh cache.
Nó cho phép CPU truy cp d liu nhanh chóng
Tuy nhiên, c hai kiến trúc cache Look Aside và Look Through đều có ưu điểm và hn chế riêng. S
la chn gia hai kiến trúc này ph thuc vào nhiu yếu t như kiến trúc h thng, loi ng dng và
yêu cu hiệu năng cụ th.
Trong t chc hiện đại, kiến trúc cache trước (Look Aside) thường được s dng nhiều hơn do tính
đơn giản và kh năng tận dng hiu qu tính cht không gian thi gian ca d liu.
Câu 12: Trình bày khái niệm Data path khi đề cập đến t chc ca b x lý.
Data path (đường d liu) là mt khái nim quan trng trong t chc ca b x lý. Nó th hin các
thành phn vt lý trong b x lý, chu trách nhim cho vic x lý d liu và thc hin các phép tính.
Data path bao gm các thành phn sau:
Registers (Thanh ghi): Đây là các ô nhớ nhanh và nh kích thước được s dụng để lưu trữ d liu tm
thi và các giá tr trung gian. Thanh ghi bao gm các thanh ghi tng quát (general-purpose registers)
và các thanh ghi đặc biệt như thanh ghi chỉ định địa ch (address registers), thanh ghi ch định trng
thái (status registers), thanh ghi ch định chương trình (program counter),...
Arithmetic Logic Unit (ALU): Đây là một thành phn chu trách nhim thc hin các phép toán s hc
(như cộng, trừ, nhân, chia) và các phép toán logic (như AND, OR, NOT) trên dữ liu trong b x lý.
Control Unit (Đơn vị điu khiển): Đây là thành phần quản lý và điều khin hoạt động ca b x lý. Nó
đọc các lnh t b nhớ, điều khin các thành phần khác nhau trong data path để thc hin các phép
tính và qun lý luồng điều khin ca chương trình.
Buses (Đường truyền): Là các đường truyền dùng để truyn d liu và tín hiệu điều khin gia các
thành phn trong data path, bao gm bus d liệu (data bus), bus địa ch (address bus), bus kim soát
(control bus).
Memory (B nhớ): Là nơi lưu trữ các d liu và lnh mà b x lý s truy cp và x lý. B nh có th
b nh chính (main memory) hoc các cp b nh cache (cache memory).
Data path chu trách nhiệm điều phi d liu và các tín hiệu điều khin gia các thành phn trong b
x lý, đảm bo rng d liệu được chuyển đổi và x đúng và đồng b
Câu 13: Gii thích quá trình thc thi lnh ca b xvi vic áp dng k thuật đường ng lnh
(pipelining).
lOMoARcPSD|39099223
Quá trình thc thi lnh ca b x lý bao gồm các bước cơ bản như sau:
Instruction Fetch (Ly lnh): B x lý ly lnh t b nh chính dựa trên địa ch chương trình (Program
Counter - PC) hin ti. Lệnh này được lưu vào bộ nh lnh (Instruction Cache) hoc b đệm lnh
(Instruction Buffer).
Instruction Decode (Gii mã lnh): Lệnh được giải mã để xác định các phép toán và tham s cn thiết.
Các giá tr được lưu trữ trong các thanh ghi và b nh có th đưc s dng trong quá trình thc hin
lnh.
Operand Fetch (Ly toán hng): Các toán hng (giá tr) cn thiết cho lệnh được ly t thanh ghi hoc
b nh. Nếu cn, các giá tr này có th được tính toán trước khi s dng.
Instruction Execute (Thc thi lnh): Lệnh được thc hin bi ALU hoc các thành phần khác tương
ng với phép toán được ch định. Các giá tr toán hạng được thc hin phép tính và kết qu đưc
tính toán.
Write-back (Ghi kết qu): Kết qu ca lệnh được ghi li vào thanh ghi hoc b nh tùy thuc vào lnh
c th. Các giá tr mới được cp nhật để s dng cho các lnh tiếp theo.
K thuật đường ng lnh (pipelining) là một phương pháp tối ưu hóa quá trình thực thi lnh ca b
x lý bng cách chia quá trình thành nhiều giai đoạn nh, cho phép cùng lúc thc hin nhiu lnh
trên các giai đoạn khác nhau. Quá trình này giúp tăng hiệu sut x lý ca b x lý bằng cách đồng
thi thc hin các công vic khác nhau trên các lnh khác nhau, gim thi gian thc hin ca mi
lnh.
Câu 14: Cơ chế x lý xen k dòng lệnh (pipeline) là gì? Nêu các đặc điểm của cơ chế ng lnh.
Cơ chế x lý xen k ng lnh (pipeline) là một phương pháp tối ưu hóa quá trình thực thi lnh ca
b x lý bằng cách chia quá trình thành các giai đoạn nh và thc hiện đồng thời các giai đoạn này
cho các lnh khác nhau. Mỗi giai đoạn thc hin mt phn công vic ca lnh và sau khi hoàn thành,
lệnh được chuyển sang giai đoạn tiếp theo để tiếp tc x lý.
Các đặc điểm của cơ chế ng lnh gm:
Parallelism (Song song hóa): Cơ chế ng lnh cho phép thc hin nhiu lnh cùng mt lúc trong các
giai đoạn khác nhau ca quá trình x lý. Điu này to ra mt s song song hóa và tăng cường hiu
sut ca b x lý.
lOMoARcPSD|39099223
Độ tr (Latency): Mỗi giai đoạn trong quá trình x lý lnh có một độ tr riêng, và lnh cần đi qua tất
c các giai đoạn đ hoàn thành. Độ tr tng th ca quá trình x s là độ tr của giai đoạn tr nht.
Stalls (Gián đoạn): Trong quá trình xng lnh, có th xy ra các tình huống gây gián đoạn (stall)
khi một giai đoạn không th tiếp tc x lý do yêu cu d liu hoc tài nguyên không sẵn có. Khi đó,
quá trình x lý s b trì hoãn và tác động đến hiu sut ca b x lý.
Data Hazards (Nguy cơ dữ liu): Trong ng lnh, các lnh có th gây ra xung đột d liu khi mt lnh
tiếp theo ph thuc vào kết qu ca lệnh trước đó. Điu này có th dẫn đến sai lch kết qu và yêu
cu x lý đồng b d liệu để đảm bo tính chính xác.
Branch Prediction (D đoán nhánh): Quá trình xng lệnh đòi hỏi d đoán nhánh (branch
prediction) để gim hiu ng tr khi xcác lnh nhảy Các đặc điểm của cơ chế ng lnh
gm:
Parallelism (Song song hóa): Cơ chế ng lnh cho phép thc hin nhiu lnh cùng mt lúc trong các
giai đon khác nhau ca quá trình x lý. Điều này to ra mt s song song hóa và tăng cường hiu
sut ca b x lý.
Độ tr (Latency): Mỗi giai đoạn trong quá trình x lý lnh có một độ tr riêng, và lnh cần đi qua tất
c các giai đoạn đ hoàn thành. Độ tr tng th ca quá trình x s là độ tr của giai đoạn tr nht.
Stalls (Gián đoạn): Trong quá trình xng lnh, có th xy ra các tình huống gây gián đoạn (stall)
khi một giai đoạn không th tiếp tc x lý do yêu cu d liu hoc tài nguyên không sn có. Khi đó,
quá trình x lý s b trì hoãn và tác động đến hiu sut ca b x lý.
Data Hazards (Nguy cơ dữ liu): Trong ng lnh, các lnh có th gây ra xung đột d liu khi mt lnh
tiếp theo ph thuc vào kết qu ca lệnh trước đó. Điu này có th dẫn đến sai lch kết qu và yêu
cu x lý đồng b d liệu để đảm bo tính chính xác.
Câu 15. Hãy giải thích 5 bước trong vic x lý mt lnh ca CPU: instruction fetch, instruction
decode, operand fetch, instruction execute, write-back.
Anh/ch hiu thế nào v chế pipeline ? Mt lnh ca CPU x lý bằng cơ chế pipeline có
nhanh hơn một lnh CPU không x lý bằng cơ chế pipline không? Ti sao? ChatGPT
Trong cơ chế x lý lnh ca CPU, có th mô t qua 5 bước chính: instruction fetch (ly lnh),
instruction decode (gii mã lnh), operand fetch (ly giá tr toán hng), instruction execute (thc thi
lnh), và write-back (ghi kết qu).
lOMoARcPSD|39099223
Instruction Fetch: CPU đọc lnh t b nh dựa trên địa ch hin ti ca con tr lnh (program
counter) và đưa lệnh đó vào bộ nh đệm lnh (instruction cache). Con tr lệnh sau đó được tăng để
tr đến lnh tiếp theo.
Instruction Decode: Lệnh được giải mã để xác định loi lnh và các toán hng cn thiết đ thc thi
lệnh đó. Các thông tin này sẽ đưc s dụng trong các bước tiếp theo.
Operand Fetch: Các giá tr toán hng cn thiết cho lệnh (như giá trị ca thanh ghi hoc giá tr t b
nhớ) được truy xuất và lưu trữ tm thi trong các thanh ghi hoc b nh đệm.
Instruction Execute: Lệnh được thc thi bng cách thc hin các phép tính, so sánh hoc các hot
động khác theo yêu cu ca lệnh đó. Các toán hạng đã được ly t ớc trước được s dng trong
quá trình thc thi.
Write-back: Kết qu ca lệnh được ghi li vào thanh ghi hoc b nh tùy thuc vào yêu cu ca lnh.
Nếu có giá tr cn truyn cho lnh tiếp theo, nó s được lưu trữ trong thanh ghi hoc b nh đệm.
Cơ chế pipeline trong vi x lý lnh của CPU giúp tăng hiệu sut bng cách chia quá trình x lý thành
các giai đoạn nh và thc hiện đồng thi các lệnh khác nhau trong các giai đoạn khác nhau. Tuy
nhiên, vic s dụng cơ chế pipeline cũng đi kèm với mt s hn chế và thách thc.
Li ích chính của cơ chế pipeline là tăng cường s dng tài nguyên CPU và gim thi gian thc thi
lnh. Khi mt lệnh đang được thc hin trong một giai đoạn, lnh khác có th đưc lấy vào giai đoạn
tiếp theo, do đó, nhiều lnh có th đưc thc hiện đồng thời. Điều này giúp tn dng tài nguyên và
gim thi gian ch đợi gia các lnh.
Câu 16. Trình bày cấu trúc cơ bản v Ngôn ng Assemblem
Cấu trúc cơ bản ca ngôn ng Assemble bao gm các thành phn sau:
Ch th (Instruction): Ch th là các lệnh cơ bản trong ngôn ng Assemble, mô t các hoạt động và thao
tác được thc hin bi CPU. Mi ch th đưc mã hóa thành mt dãy bit nh phân th hin các phép
toán và toán hạng tươngng.
Thanh ghi (Register): Thanh ghi là các ô nh nh nằm trong CPU, được s dụng để lưu trữ các giá tr
tm thi và trung gian trong quá trình x lý. Các thanh ghi thường có kích thước và chc năng cụ th
cho mi kiến trúc x lý.
lOMoARcPSD|39099223
B nh (Memory): B nh là nơi lưu trữ các d liệu và chương trình trong hệ thng. Trong ngôn ng
Assemble, các địa ch b nh đưc s dụng để truy cp và thao tác vi các giá tr d liu.
Hng s (Constant): Hng s là các giá tr không thay đổi trong quá trình thực thi chương trình. Chúng
có th đưc s dng để lưu trữ các giá tr c định, như địa ch b nh hoc các giá tr tùy chnh.
Địa ch (Addressing): Địa ch là phương pháp chỉ định địa ch ca các thanh ghi hoc vùng nh trong
quá trình thao tác d liu. Có nhiều phương pháp địa ch khác nhau trong ngôn ng Assemble, bao
gồm địa ch trc tiếp (direct addressing), địa ch gián tiếp (indirect addressing) và địa ch cơ sở (base
addressing).
Nhãn (Label): Nhãn là các định danh được gán cho các địa ch b nh hoc v trí trong chương trình.
Chúng được s dng để tham chiếu và nhy ti các v trí c th trong mã Assemble.
d. Phn lý thuyết Ch5: Phân cp h thng nh
| 1/24

Preview text:

lOMoARcPSD| 39099223
Câu 1. Nêu sơ đồ và các đặc điểm của kiến trúc máy tính von-Neumann. Kiến trúc máy tính von-
Neumann hiện đại khác kiến trúc máy tính von-Neumann cổ điển ở những điểm chính nào -> +-------------------+ | Control Unit | +-------------------+ | Arithmetic | | and Logic Unit | +-------------------+ | Memory Unit | +-------------------+ | Input/Output | | Devices | +-------------------+
Bộ nhớ cache: Máy tính von Neumann hiện đại thường có các cấp bộ nhớ cache để cải thiện hiệu
năng. Cache lưu trữ các dữ liệu và lệnh mà CPU sử dử dụng thường xuyên nhất, giúp giảm thời gian
truy cập vào bộ nhớ chính.
Đa luồng (Multithreading): Máy tính von Neumann hiện đại có khả năng thực hiện đa luồng, tức là có
thể thực hiện đồng thời nhiều luồng công việc.
Đa lõi (Multicore): Máy tính von Neumann hiện đại thường có nhiều lõi xử lý (cores) trên một con chip duy nhất
Câu 2. Nêu sơ đồ và các đặc điểm của kiến trúc máy tính Harvard. Kiến trúc máy tính
Harvard có những ưu điểm gì so với kiến trúc máy tính von-Neumann. Các máy tính hiện đại ngày
nay sử dụng kiến trúc nào? ->
+-----------------+ +----------------------+ | Control | | Control |
+-----------------+ +----------------------+ | Arithmetic | | Arithmetic |
+-----------------+ +----------------------+ | Registers | | Registers |
+-----------------+ +----------------------+ lOMoARcPSD| 39099223
| ALU/ALU | | ALU/ALU/Memory |
+-----------------+ +----------------------+
| Data Memory | | Program Memory |
+-----------------+ +----------------------+
Hiệu suất cao: Với khả năng thực hiện các hoạt động đọc/ghi dữ liệu và chương trình cùng một lúc,
kiến trúc Harvard có khả năng xử lý dữ liệu nhanh hơn và tăng tốc độ thực thi chương trình so với
kiến trúc von Neumann truyền thống.
Parallism: Kiến trúc Harvard cho phép xử lý song song, giúp tăng hiệu năng và khả năng xử lý đa luồng của hệ thống.
Câu 3: Giải thích các khái niệm biên dịch, thông dịch và máy ảo. -> Biên dịch (Compilation):
Biên dịch là quá trình chuyển đổi mã nguồn của một chương trình từ một ngôn ngữ lập trình nào đó
(ví dụ: C, C++, Java) sang ngôn ngữ máy hoặc mã thực thi mà máy tính có thể hiểu được trực tiếp.
Thông dịch (Interpretation):
Thông dịch là quá trình thực thi mã nguồn của chương trình dòng lệnh một lệnh một lệnh (hoặc từng
khối mã) bằng một trình thông dịch (interpreter). Trình thông dịch đọc và thực thi mã nguồn trực
tiếp, không cần biên dịch trước. Trong quá trình thông dịch, mã nguồn được dịch và thực thi từng
dòng lệnh một và kết quả sẽ được trả về ngay lập tức. Mỗi khi chương trình được chạy, trình thông
dịch sẽ đọc mã nguồn và thực hiện các lệnh tương ứng một cách tuần tự. Máy ảo (Virtual Machine):
Máy ảo là một môi trường thực thi được tạo ra để thực hiện và chạy các chương trình thông qua việc
tạo ra một "máy ảo" giả lập trên một hệ thống vật lý. Máy ảo có thể chạy trên nhiều nền tảng khác
nhau và giúp đảm bảo tính di động và tương thích của chương trình. Trong quá trình chạy, mã nguồn
của chương trình được biên dịch hoặc thông dịch thành mã máy hoặc mã trung gian được máy ảo hiểu và thực thi.
Câu 4: Tại sao nói phần cứng và phần mềm là tương đương về mặt logic? Lấy ví dụ?
->Phần cứng (hardware) và phần mềm (software) được coi là tương đương về mặt logic vì cả hai đều
đóng vai trò quan trọng trong việc hoạt động của một hệ thống máy tính và cần phối hợp với nhau
để thực hiện các tác vụ.
Dưới đây là ví dụ để minh họa tương đương logic giữa phần cứng và phần mềm:
Giả sử bạn muốn mở một tệp tin trên máy tính. Để làm điều đó, bạn cần sử dụng bàn phím để nhập
lệnh và máy tính cần hiểu lệnh đó và hiển thị tệp tin tương ứng lên màn hình.
Phần cứng: Bàn phím là một thành phần phần cứng và nó được kết nối với máy tính thông qua một
giao diện như USB hoặc Bluetooth. Khi bạn gõ vào bàn phím, các tín hiệu điện từ bàn phím sẽ được
chuyển đổi thành dữ liệu số và gửi đến bộ xử lý trung tâm (CPU) của máy tính thông qua bus hệ
thống. CPU sau đó xử lý dữ liệu này và gửi nó đến màn hình.
Phần mềm: Trên phần mềm, hệ điều hành (ví dụ: Windows, macOS, Linux) đóng vai trò quan trọng.
Hệ điều hành nhận các tín hiệu từ bàn phím thông qua trình điều khiển bàn phím (keyboard driver) lOMoARcPSD| 39099223
và xử lý chúng. Sau đó, hệ điều hành tìm và mở tệp tin tương ứng và gửi dữ liệu hiển thị đến trình
điều khiển đồ họa (graphics driver) để hiển thị lên màn hình.
Trong ví dụ này, phần cứng (bàn phím, CPU, màn hình) và phần mềm (trình điều khiển bàn phím, hệ
điều hành, trình điều khiển đồ họa) cần phối hợp và hoạt động cùng nhau để đạt được mục tiêu
chung là mở và hiển thị tệp tin lên màn hình. Cả phần cứng và phần mềm đều thực hiện các chức
năng logic và truyền thông tin qua lại để thực hiện các tác vụ của người dùng.
Câu 5: Các mức máy tính hiện đại bao gồm:
Máy tính cơ bản: Đây là mức đơn giản nhất của máy tính, thường chỉ có khả năng thực hiện một số
phép tính cơ bản như cộng, trừ, nhân và chia.
Máy tính cá nhân (Personal Computer - PC): PC là mức máy tính thông dụng mà chúng ta thường gặp
trong cuộc sống hàng ngày. Nó bao gồm một bộ vi xử lý, bộ nhớ, ổ cứng, đầu vào/đầu ra và hệ điều hành.
Máy chủ (Server): Máy chủ là một hệ thống mạnh mẽ được thiết kế để cung cấp dịch vụ cho các máy
tính khác trong mạng. Chúng có khả năng xử lý đa nhiệm và đáp ứng cho nhiều yêu cầu từ các thiết bị khác.
Cụm máy tính (Cluster): Một cụm máy tính là sự kết hợp của nhiều máy tính độc lập hoạt động cùng
nhau như một hệ thống duy nhất. Cụm máy tính được sử dụng để tăng cường hiệu suất và đáng tin
cậy cho các ứng dụng đòi hỏi sức mạnh tính toán cao.
Máy tính siêu mạnh (Supercomputer): Đây là loại máy tính mạnh nhất và có khả năng xử lý siêu tốc.
Chúng thường được sử dụng cho các ứng dụng đòi hỏi tính toán phức tạp như nghiên cứu khoa học,
mô phỏng thời tiết, phân tích dữ liệu lớn, và công việc tối ưu hóa. Câu 6:
->>> Định luật Moore dự đoán rằng số lượng transistor trong một vi mạch tích hợp sẽ tăng gấp đôi
khoảng mỗi 18-24 tháng. Điều này đồng nghĩa với việc hiệu năng của máy tính sẽ tăng lên theo tiến độ đó - ý nghĩa:
Tăng hiệu suất: Định luật Moore cho thấy rằng với sự gia tăng số lượng transistor trên một vi mạch
tích hợp, các hệ thống máy tính có thể cung cấp hiệu suất tốt hơn. Việc tăng cường hiệu năng này
cho phép thực hiện các tác vụ phức tạp nhanh hơn, xử lý dữ liệu lớn hơn và cung cấp trải nghiệm người dùng tốt hơn.
Giảm kích thước: Định luật Moore cũng liên quan đến việc giảm kích thước của các vi mạch tích hợp.
Khi số lượng transistor tăng lên mà không tăng đáng kể diện tích của vi mạch, ta có thể chứa nhiều
tính năng và chức năng hơn trong cùng một kích thước vật lý. Điều này dẫn đến sự nhỏ gọn và tiện
ích của các thiết bị di động và các ứng dụng nhỏ gọn khác.
Giảm giá thành: Sự gia tăng số lượng transistor trong một vi mạch tích hợp cũng góp phần giảm giá
thành sản xuất. Việc sản xuất một vi mạch tích hợp với kích thước nhỏ hơn và nhiều tính năng hơn có
thể tiết kiệm chi phí và tăng năng suất trong quá trình sản xuất. Điều này làm cho các thiết bị và máy
tính trở nên phổ biến hơn và dễ tiếp cận hơn đối với người dùng.
Câu 7: Ba thành phần cơ bản của một hệ thống máy tính và chức năng của chúng là:
CPU (Central Processing Unit - Đơn vị xử lý trung tâm): CPU là bộ não của máy tính, nơi thực hiện các
phép tính và điều khiển hoạt động của hệ thống. Nó thực hiện các lệnh từ phần mềm và quản lý các
tác vụ như tính toán, điều khiển bộ nhớ và giao tiếp với các thành phần khác.
Bộ nhớ: Bộ nhớ trong máy tính được sử dụng để lưu trữ dữ liệu và chương trình đang được thực thi.
Có hai loại bộ nhớ chính trong một máy tính: lOMoARcPSD| 39099223
RAM (Random Access Memory - Bộ nhớ truy cập ngẫu nhiên): RAM là nơi lưu trữ dữ liệu tạm thời và
chương trình đang chạy. Nó cho phép CPU nhanh chóng truy cập và thay đổi dữ liệu.
ROM (Read-Only Memory - Bộ nhớ chỉ đọc): ROM chứa các thông tin không thay đổi, chẳng hạn như
firmware hệ thống và các chương trình cần thiết để khởi động máy tính.
Thiết bị ngoại vi: Thiết bị ngoại vi bao gồm các thành phần phụ trợ và giao tiếp với máy tính. Một số
thiết bị ngoại vi thông dụng bao gồm:
Bàn phím và chuột: Được sử dụng để nhập dữ liệu và điều khiển các chức năng của máy tính.
Màn hình: Hiển thị đầu ra của máy tính và cho phép người dùng tương tác với giao diện người dùng.
Ổ đĩa cứng và ổ đĩa quang: Lưu trữ và đọc/ghi dữ liệu từ và đến các đĩa cứng hoặc đĩa quang, chẳng
hạn như ổ cứng và ổ đĩa CD/DVD.
Card mạng: Cho phép kết nối mạng và truyền dữ liệu giữa máy tính và mạng ngoại vi.
Câu 8: Trong ngữ cảnh máy tính, các khái niệm sau được định nghĩa:
Phần cứng (Hardware): Phần cứng là các thành phần vật lý của một máy tính, bao gồm các linh kiện
điện tử, mạch, bo mạch, dây cáp và các thành phần khác. Nó bao gồm CPU, bộ nhớ, thiết bị ngoại vi
và các thành phần khác như nguồn điện, bo mạch chủ, card đồ họa, ổ cứng, và các linh kiện khác.
Phần cứng là phần vật lý của máy tính và chịu trách nhiệm thực hiện các chức năng tính toán và lưu trữ dữ liệu. Ví dụ về phần cứng:
CPU: Ví dụ như Intel Core i7, AMD Ryzen 5. RAM: Ví dụ như DDR4 8GB.
Ổ cứng: Ví dụ như SSD 500GB, HDD 1TB.
Phần mềm (Software): Phần mềm là các chương trình và dữ liệu được lưu trữ trên máy tính. Nó là
tập hợp các lệnh và chỉ thị mà máy tính thực hiện để thực hiện các nhiệm vụ cụ thể. Phần mềm bao
gồm hệ điều hành, ứng dụng và các tập tin dữ liệu. Ví dụ về phần mềm:
Hệ điều hành: Ví dụ như Windows 10, macOS Big Sur, Ubuntu Linux.
Trình duyệt web: Ví dụ như Google Chrome, Mozilla Firefox, Microsoft Edge.
Trình biên dịch: Ví dụ như Visual Studio Code, PyCharm, Eclipse.
Firmware: Firmware là một loại phần mềm đặc biệt được lưu trữ trực tiếp trong phần cứng của một
thiết bị. Nó cung cấp hướng dẫn và quản lý hoạt động của phần cứng và thường không thay đổi trong
quá trình sử dụng thiết bị. Ví dụ về firmware:
BIOS (Basic Input/Output System): Firmware được lưu trữ trên bo mạch chủ của máy tính để điều
khiển các hoạt động khởi động và quản lý phần cứng.
Câu 9: Các thành phần chính trong một máy tính PC và chức năng của chúng là:
Bộ vi xử lý (CPU): Là trái tim của máy tính, thực hiện các phép tính và điều khiển hoạt động của hệ thống.
Bộ nhớ RAM: Lưu trữ dữ liệu và chương trình đang được thực thi. RAM cho phép truy cập nhanh và
tạm thời vào dữ liệu, giúp tăng tốc độ xử lý của máy tính. lOMoARcPSD| 39099223
Bộ nhớ lưu trữ: Bao gồm ổ cứng (HDD) và ổ đĩa rắn (SSD), được sử dụng để lưu trữ dữ liệu lâu dài và hệ điều hành.
Bộ điều khiển đồ họa (GPU): Đảm nhận việc xử lý và hiển thị đồ họa trên màn hình. GPU đặc biệt
quan trọng trong các tác vụ đồ họa và chơi game.
Bo mạch chủ (Mainboard): Kết nối và điều khiển các thành phần khác nhau của máy tính, bao gồm
CPU, RAM, GPU và các thiết bị ngoại vi khác.
Nguồn điện (Power Supply): Cung cấp nguồn điện cho toàn bộ hệ thống máy tính và các thành phần khác.
Thiết bị đầu vào và đầu ra: Bao gồm bàn phím, chuột, màn hình, loa, microphone và các thiết bị khác
để nhập liệu vào và nhận kết quả từ máy tính.
Card mạng: Cho phép kết nối mạng và truyền dữ liệu qua mạng.
Ổ đĩa quang: Cho phép đọc và ghi dữ liệu từ các đĩa quang như đĩa CD, DVD.
Card âm thanh: Đảm nhận xử lý âm thanh và cung cấp âm thanh đầu ra. __________________________ | | | Bộ vi xử lý | |__________________________| | | | Bộ nhớ RAM | |__________________________| | |
| Bộ điều khiển đồ họa | |__________________________| | | | Bộ nhớ lưu trữ | |__________________________| | |
| Bo mạch chủ (Mainboard)| |__________________________| | | | Nguồn điện | |__________________________| | |
Thiết bị đầu vào và đầu ra | || lOMoARcPSD| 39099223 | | | Card mạng | || | | | Ổ đĩa quang | || | | | Card âm thanh | ||
Câu 10: Các cách biểu diễn số nguyên bao gồm: 1.
Phương pháp dấu lượng (Sign-Magnitude): Số nguyên được biểu diễn bằng cách dùng một
bit để xác định dấu (+/-) và các bit còn lại để biểu diễn giá trị tuyệt đối của số. Ví dụ: 8-bit dấu lượng
có thể biểu diễn số từ -127 đến 127. 2.
Phương pháp bù 2 (Two's Complement): Phương pháp này biểu diễn số nguyên dựa trên bù
2 của số đối với phép trừ. Số dương được biểu diễn theo cách thông thường, trong khi số âm được
biểu diễn bằng cách lấy bù 2 của giá trị tuyệt đối và thêm 1. Phương pháp này cho phép biểu diễn số
âm và dương trong cùng một kiểu dữ liệu. Ví dụ: 8-bit phương pháp bù 2 có thể biểu diễn số từ -128 đến 127. 3.
Phương pháp số dịch (Shift-and-Add): Phương pháp này biểu diễn số nguyên bằng cách sử
dụng các bit dịch và phép cộng. Số nguyên được biểu diễn bằng cách dịch các bit sang trái hoặc sang
phải và thực hiện phép cộng với các giá trị. Phương pháp này ít được sử dụng trong máy tính hiện đại.
Các phương pháp biểu diễn số nguyên có ưu điểm và hạn chế riêng, và được sử dụng tùy thuộc vào
ứng dụng và kiến trúc máy tính. Phương pháp bù 2 là phương pháp phổ biến và được sử dụng rộng
rãi trong hầu hết các máy tính hiện đại.
b. Phần lý thuyết Ch3: Mạch logic
Câu 1: Xây dựng các cổng AND, OR, NOT từ các cổng NOR:
Cổng AND: Bằng cách kết nối hai đầu vào của cổng NOR với một cổng NOT. lOMoARcPSD| 39099223 Với ký hiệu: A ------| |------ Y | NOR | B ------|_______|
Cổng OR: Bằng cách kết nối đầu vào của cổng NOR với một cổng NOT. Với ký hiệu: A ------| Y | NOR | B ------|______|
Cổng NOT: Được xây dựng từ cổng NOR với cùng đầu vào. Với ký hiệu: A ------| | NOR | Y ------|
Câu 2: Xây dựng các cổng AND, OR, NOT từ các cổng NAND:
Cổng AND: Bằng cách kết nối hai đầu vào của cổng NAND với một cổng NOT. Với ký hiệu: A ------| |------ Y | NAND | B ------|_______|
Cổng OR: Bằng cách kết nối đầu vào của cổng NAND với một cổng NOT. Với ký hiệu: A ------| Y | NAND | B ------|______|
Cổng NOT: Được xây dựng từ cổng NAND với cùng đầu vào. lOMoARcPSD| 39099223 Với ký hiệu: A ------| | NAND | Y ------|
Câu 3: Cổng là một mạch điện có chức năng thực hiện các phép toán logic trên các tín hiệu đầu vào
để tạo ra tín hiệu đầu ra dựa trên các quy tắc logic đã định trước. Cổng NAND (NOT AND): Sơ đồ nguyên lý: A --- NAND ---- Y B ---/ Ký hiệu: ____ A ---| | NAND ---- Y B -- -|____|
Phương trình logic: Y = NOT (A AND B) Cổng NOR (NOT OR): Sơ đồ nguyên lý: A --- NOR ---- Y B ---/ Ký hiệu: ____ A ---| | NOR ---- Y B -- -|____|
Phương trình logic: Y = NOT (A OR B) lOMoARcPSD| 39099223
Câu 4: Mạch phân kênh là một mạch điện được sử dụng để chia nhỏ và điều khiển các tín hiệu dữ
liệu từ một nguồn vào thành nhiều đường dữ liệu ra, dựa trên tín hiệu điều khiển. Mạch phân kênh
cho phép lựa chọn đường dữ liệu đầu vào nào sẽ được đưa ra tại đường dữ liệu đầu ra tương ứng.
Để xây dựng mạch phân kênh cho 4 đường dữ liệu ra, chúng ta có thể sử dụng một bộ chia (demultiplexer) 1 vào 4. Sơ đồ nguyên lý: Sel | ___ In ---| | | |---- Out 1 | | |___| | ___ In ---| | | |---- Out 2 | | |___| | ___ In ---| | | |---- Out 3 | | |___| | ___ In ---| | | |---- Out 4 | | |___| Ký hiệu: Sel lOMoARcPSD| 39099223 | ------- | | | 1 |--- Out 1 | | ------- | ------- | | | 2 |--- Out 2 | | ------- | ------ | | | 3 |--- Out 3 | | ------- | ------ | | | 4 |--- Out 4 | | -------
Phương trình logic biểu diễn chức năng của mạch phân kênh: Out 1 = Sel * In Out 2 = (not Sel) * In Out 3 = 0 Out 4 = 0
Câu 5: Mạch dồn kênh (multiplexer) là một mạch điện được sử dụng để kết hợp (mux) nhiều đường
dữ liệu đầu vào thành một đường dữ liệu đầu ra duy nhất, dựa trên tín hiệu điều khiển. Mạch dồn
kênh cho phép lựa chọn đường dữ liệu đầu vào nào sẽ được đưa ra tại đường dữ liệu đầu ra tương ứng.
Để xây dựng mạch dồn kênh cho 4 đường dữ liệu vào, chúng ta có thể sử dụng một bộ kết hợp (multiplexer) 4 vào 1. lOMoARcPSD| 39099223 Sơ đồ nguyên lý: Sel | In 1 ---| | | MUX |--- Out In 2 ---| | | In 3 ---| | In 4 ---| Ký hiệu: Sel | ------ | | | M |--- Out | U | | X | -------
Phương trình logic biểu diễn chức năng của mạch dồn kênh: Out = (Sel * In1) +
(Sel' * In2) + (Sel' * In3) + (Sel' * In4)
Câu 5: Mạch dồn kênh (multiplexer) là một thiết bị điện tử được sử dụng để chuyển hướng một số
đường dữ liệu từ nhiều nguồn vào một đường dữ liệu duy nhất. Nó hoạt động dựa trên tín hiệu điều
khiển để lựa chọn đường dữ liệu nào sẽ được đưa vào đường dữ liệu đầu ra.
Để xây dựng mạch dồn kênh cho 4 đường dữ liệu vào, chúng ta cần sử dụng một mạch dồn kênh 4
vào 1 (4-to-1 multiplexer). Mạch này có bốn đường dữ liệu đầu vào (A, B, C và D) và một đường dữ
liệu đầu ra. Ngoài ra, cần có hai tín hiệu điều khiển: tín hiệu lựa chọn (S0 và S1) để chỉ định đường dữ
liệu vào nào sẽ được chọn.
Dưới đây là một mô tả đơn giản về mạch dồn kênh 4 vào 1:
Đầu vào: A, B, C, D (các đường dữ liệu vào)
Đầu ra: X (đường dữ liệu đầu ra) lOMoARcPSD| 39099223
Điều khiển: S0, S1 (tín hiệu điều khiển) ______ | | A---| | | |----X B---| | | | C---| | | | D---|______| S0 S1
Câu 5: Mạch dồn kênh (multiplexer) là một thiết bị điện tử được sử dụng để chuyển hướng một số
đường dữ liệu từ nhiều nguồn vào một đường dữ liệu duy nhất. Nó hoạt động dựa trên tín hiệu điều
khiển để lựa chọn đường dữ liệu nào sẽ được đưa vào đường dữ liệu đầu ra.
Để xây dựng mạch dồn kênh cho 4 đường dữ liệu vào, chúng ta cần sử dụng một mạch dồn kênh 4
vào 1 (4-to-1 multiplexer). Mạch này có bốn đường dữ liệu đầu vào (A, B, C và D) và một đường dữ
liệu đầu ra. Ngoài ra, cần có hai tín hiệu điều khiển: tín hiệu lựa chọn (S0 và S1) để chỉ định đường dữ
liệu vào nào sẽ được chọn.
Dưới đây là một mô tả đơn giản về mạch dồn kênh 4 vào 1:
Đầu vào: A, B, C, D (các đường dữ liệu vào)
Đầu ra: X (đường dữ liệu đầu ra) Điều khiển: S0,
S1 (tín hiệu điều khiển) lua Copy code ______ | | A---| | | |----X B---| | | | C---| | | | lOMoARcPSD| 39099223 D---|______| S0 S1
Trong mạch dồn kênh này, tín hiệu điều khiển S0 và S1 được sử dụng để lựa chọn đường dữ liệu nào
sẽ được chuyển tới đường dữ liệu đầu ra X. Bảng sau đây cho thấy sự tương ứng giữa các giá trị của
S0 và S1 với các đường dữ liệu vào:
S1 | S0 | Đầu vào được lựa chọn ---|----|------------------- 0 | 0 | A 0 | 1 | B 1 | 0 | C 1 | 1 | D
Với các giá trị của S0 và S1 tương ứng, mạch dồn kênh sẽ chọn đường dữ liệu vào tương ứng để
chuyển tới đường dữ liệu đầu ra X.
Câu 6: Bìa các-nô (Boolean algebra) là một nhánh của toán học và khoa học máy tính, liên quan đến
các biểu thức và phép tính dựa trên hai giá trị logic là "đúng" và "sai". Bìa các-nô cung cấp một cách
tiện lợi để biểu dạng các phép tính logic, biểu diễn các mối quan hệ logic và áp dụng các nguyên tắc
logic để giải quyết vấn đề. Dạng 2 biến A, B:
Các biến có thể có giá trị "đúng" (1) hoặc "sai" (0).
Các phép toán cơ bản trong bìa các-nô bao gồm: AND (và), OR (hoặc), NOT (phủ định).
Các biểu thức logic có thể được biểu diễn dưới dạng: A AND B, A OR B, NOT A, NOT B, v.v. Dạng 3 biến A, B, C:
Các biến vẫn có thể có giá trị "đúng" (1) hoặc "sai" (0).
Các phép toán cơ bản trong bìa các-nô vẫn là AND, OR, NOT.
Các biểu thức logic có thể được biểu diễn dưới dạng: A AND B AND C, A OR B OR C, NOT A, NOT B, NOT C, v.v. Dạng 4 biến A, B, C, D:
Các biến tiếp tục có thể có giá trị "đúng" (1) hoặc "sai" (0).
Các phép toán cơ bản trong bìa các-nô vẫn là AND, OR, NOT.
Các biểu thức logic có thể được biểu diễn dưới dạng: A AND B AND C AND D, A OR B OR C OR D, NOT A, NOT B, NOT C, NOT D, v.v. Ví dụ: lOMoARcPSD| 39099223 Dạng 2 biến: Biểu thức: A AND B
Ý nghĩa: Điều kiện là cả A và B phải là đúng. Dạng 3 biến: Biểu thức: A OR (B AND C)
Ý nghĩa: Điều kiện là A hoặc (B và C) phải là đúng. Dạng 4 biến:
Biểu thức: (A AND B) OR (C AND D)
Ý nghĩa: Điều kiện là (A và B) hoặc (C và D) phải là đúng.
c. Phần lý thuyết Ch4: Bộ xử lý trung tâm ( CPU)
Câu 1: Kiến trúc máy tính đề cập đến cách thức tổ chức, cấu trúc và hoạt động của các thành phần
trong một hệ thống máy tính. Nó bao gồm các phần cứng và phần mềm của máy tính và cách chúng
tương tác với nhau để thực hiện các nhiệm vụ tính toán.
Tổ chức máy tính đề cập đến sự sắp xếp và cấu trúc của các thành phần bên trong một máy tính.
Điều này bao gồm các thành phần chính như trung tâm xử lý (CPU), bộ nhớ, các thiết bị ngoại vi và
các kết nối giữa chúng. Tổ chức máy tính xác định cách thông tin được truyền đi và xử lý trong hệ thống.
Trong máy tính thế hệ hiện nay, CPU là trung tâm xử lý và quản lý các tác vụ tính toán. Nó bao gồm
một số đơn vị chức năng như bộ điều khiển (Control Unit) và bộ xử lý chính (Arithmetic Logic Unit -
ALU). Bộ điều khiển điều phối các hoạt động của máy tính bằng cách giải mã và thực thi các lệnh từ
bộ nhớ. ALU thực hiện các phép tính và phép logic trên dữ liệu.
Bên cạnh CPU, máy tính cũng bao gồm bộ nhớ để lưu trữ dữ liệu và lệnh, các thiết bị ngoại vi để
tương tác với thế giới bên ngoài và các kết nối để truyền dữ liệu giữa các thành phần. Máy tính thế
hệ hiện nay thường có bộ nhớ chính (RAM) để lưu trữ dữ liệu tạm thời và bộ nhớ lưu trữ thứ cấp
như ổ cứng để lưu trữ dữ liệu lâu dài. Ngoài ra, máy tính hiện đại thường có nhiều lõi xử lý (multi-
core) để thực hiện nhiều tác vụ đồng thời và tăng hiệu suất.
Câu 2: Chế độ địa chỉ của vi xử lý đề cập đến cách mà vi xử lý truy cập và xác định địa chỉ của dữ liệu
trong bộ nhớ. Một trong những chế độ địa chỉ phổ biến là chế độ địa chỉ gián tiếp qua ô nhớ. lOMoARcPSD| 39099223
Trong chế độ địa chỉ gián tiếp qua ô nhớ, vi xử lý sử dụng một thanh ghi chỉ số hoặc một giá trị offset
để xác định địa chỉ của dữ liệu trong bộ nhớ. Thanh ghi chỉ số hoặc offset này được cộng vào một địa
chỉ cơ sở (base address) để tính toán địa chỉ thực tế của dữ liệu.
Ví dụ, giả sử có một lệnh yêu cầu vi xử lý lấy dữ liệu từ địa chỉ A và thực hiện một phép tính. Thay vì
truy cập trực tiếp đến địa chỉ A, vi xử lý sử dụng chế độ địa chỉ gián tiếp qua ô nhớ. Vi xử lý có thể sử
dụng một thanh ghi chỉ số (index register) có giá trị là X để chỉ ra vị trí của dữ liệu trong một mảng.
Thanh ghi này được cộng vào địa chỉ cơ sở A để tính toán địa chỉ thực tế của dữ liệu.
Tiếp tục từ câu trả lời trước, chúng ta sẽ tiếp tục với các câu hỏi và trả lời liên quan đến bộ xử lý và bộ nhớ.
Câu 3: Trình bày và giải thích các bước thực thi lệnh của bộ xử lý?
Các bước thực thi lệnh trong bộ xử lý được thực hiện theo chu trình. Dưới đây là các bước thực thi lệnh cơ bản:
Instruction Fetch (IF - Lấy lệnh): Bộ điều khiển (Control Unit) trong CPU lấy lệnh từ bộ nhớ chính
(RAM) dựa trên địa chỉ hiện tại của chương trình được lưu trong thanh ghi chương trình (Program Counter - PC).
Instruction Decode (ID - Giải mã lệnh): Lệnh được giải mã để xác định loại lệnh và các toán hạng liên
quan. Các thông tin cần thiết để thực hiện lệnh sẽ được trích xuất từ lệnh và lưu trữ trong các thanh ghi và bộ đệm tạm.
Operand Fetch (OF - Lấy toán hạng): Nếu lệnh yêu cầu các toán hạng từ bộ nhớ hoặc các thanh ghi
khác, các toán hạng này sẽ được lấy và đưa vào các thanh ghi tạm (registers) để chuẩn bị cho bước thực thi tiếp theo.
Instruction Execute (EX - Thực thi lệnh): Bước này thực hiện các phép tính hoặc phép so sánh, tùy
thuộc vào loại lệnh. Thông tin từ các thanh ghi tạm và bộ đệm tạm được sử dụng để thực hiện các
phép toán logic, phép tính số học, điều khiển nhảy, v.v.
Write-back (WB - Ghi kết quả): Kết quả của lệnh thực thi được lưu trữ vào các thanh ghi kết quả hoặc
bộ nhớ tùy thuộc vào lệnh. Điều này cho phép kết quả có thể được sử dụng trong các lệnh tiếp theo
hoặc để đưa ra ngoài máy tính.
Câu 4: Thanh ghi PC và IR là gì, và nó làm nhiệm vụ gì trong quá trình thực thi lệnh của bộ xử lý? lOMoARcPSD| 39099223
Thanh ghi PC (Program Counter): Thanh ghi PC lưu trữ địa chỉ của lệnh hiện tại được thực thi trong
bộ nhớ. Sau khi một lệnh được lấy và giải mã, giá trị của PC được cập nhật để trỏ đến địa chỉ của lệnh tiếp theo
Câu 5: Các yếu tố nào được sử dụng để đánh giá hiệu năng của bộ nhớ?
Để đánh giá hiệu năng của bộ nhớ, có một số yếu tố quan trọng cần xem xét:
Thời gian truy cập (Access Time): Đây là thời gian mà bộ nhớ mất để cung cấp dữ liệu sau khi yêu cầu
truy cập được đưa ra. Thời gian truy cập thấp hơn cho thấy bộ nhớ hoạt động nhanh hơn.
Băng thông (Bandwidth): Băng thông là số lượng dữ liệu mà bộ nhớ có thể truyền trong một khoảng
thời gian nhất định. Băng thông cao hơn cho phép truyền dữ liệu nhanh hơn giữa bộ nhớ và các
thành phần khác trong hệ thống.
Dung lượng (Capacity): Dung lượng của bộ nhớ xác định số lượng dữ liệu mà nó có thể lưu trữ. Dung
lượng cao hơn cho phép lưu trữ nhiều dữ liệu hơn.
Độ trễ (Latency): Độ trễ đo thời gian mà bộ nhớ mất để bắt đầu truyền dữ liệu sau khi yêu cầu truy
cập được đưa ra. Độ trễ thấp hơn cho thấy bộ nhớ có khả năng truyền dữ liệu nhanh hơn.
Câu 6: Mối quan hệ giữa các thuộc tính dung lượng, giá thành và thời gian truy cập của bộ nhớ là gì?
Mối quan hệ giữa các thuộc tính dung lượng, giá thành và thời gian truy cập của bộ nhớ là một sự
đánh đổi (trade-off). Thông thường, các bộ nhớ có dung lượng lớn hơn có thể lưu trữ nhiều dữ liệu
hơn, nhưng thời gian truy cập và giá thành có thể cao hơn.
Các công nghệ bộ nhớ có dung lượng lớn như bộ nhớ RAM (Random Access Memory) có thời gian
truy cập thấp hơn, nhưng giá thành cao hơn so với các công nghệ bộ nhớ khác như bộ nhớ đệm
(cache memory). Bộ nhớ cache có dung lượng nhỏ hơn, nhưng thời gian truy cập thấp hơn nhiều
Câu 7: Thanh ghi là gì? Nêu chức năng một số thanh ghi có bên trong CPU?
Trong kiến trúc máy tính, thanh ghi (register) là một bộ lưu trữ tạm thời nằm bên trong bộ xử lý
(CPU). Chúng được sử dụng để lưu trữ và xử lý dữ liệu và các giá trị trung gian trong quá trình thực thi lệnh.
Một số thanh ghi quan trọng có thể có bên trong CPU bao gồm: lOMoARcPSD| 39099223
Thanh ghi chung (General Purpose Registers): Đây là các thanh ghi được sử dụng để lưu trữ dữ liệu
và các giá trị trung gian trong quá trình thực thi lệnh. Chúng có thể được sử dụng cho các phép tính
số học, phép toán logic và các hoạt động khác. Ví dụ: thanh ghi EAX, EBX, ECX, EDX trong kiến trúc x86.
Thanh ghi chỉ số (Index Registers): Thanh ghi chỉ số được sử dụng trong các phép tính gián tiếp, trong
đó địa chỉ truy cập được tính toán bằng cách kết hợp giá trị của thanh ghi chỉ số với một hằng số
hoặc offset. Ví dụ: thanh ghi ESI, EDI trong kiến trúc x86.
Thanh ghi trạng thái (Status Registers): Thanh ghi trạng thái chứa các cờ (flags) để lưu trữ và xác định
trạng thái của quá trình thực thi lệnh. Các cờ này được sử dụng để xác định kết quả của các phép
toán, kiểm tra điều kiện và điều khiển nhảy. Ví dụ: thanh ghi EFLAGS trong kiến trúc x86.
Câu 8: Hãy cho biết các thành phần chính có trong CPU và chức năng chính của chúng?
Các thành phần chính trong CPU (Central Processing Unit) bao gồm:
Bộ điều khiển (Control Unit): Điều khiển các hoạt động của bộ xử lý bằng cách lấy lệnh từ bộ nhớ, giải
mã lệnh, điều khiển luồng dữ liệu và quản lý các tín hiệu điều khiển khác trong hệ thống.
Bộ xử lý số học và logic (Arithmetic Logic Unit - ALU): Thực hiện các phép tính số học (như cộng, trừ,
nhân, chia) và phép toán logic (như AND, OR, NOT) trên dữ liệu. Nó cũng có thể thực hiện các phép
so sánh để kiểm tra các điều kiện.
Bộ đệm (Cache): Làm việc như một bộ nhớ tạm thời nhanh hơn, lưu trữ các dữ liệu và lệnh mà CPU
thường xuyên truy cập. Việc sử dụng bộ đệm giúp giảm thời gian truy cập đến bộ nhớ chính và cải
thiện hiệu suất của hệ thống.
Đơn vị điều khiển bộ nhớ (Memory Management Unit - MMU): Quản lý việc truy cập và quản lý bộ
nhớ chính và bộ nhớ phụ trong hệ thống. Nó thực hiện các phép chuyển đổi địa chỉ logic thành địa
chỉ vật lý và quản lý các trang bộ nhớ ảo.
Bộ đệm TLB (Translation Lookaside Buffer): Lưu trữ các bản dịch (translation) của địa chỉ tương ứng
giữa địa chỉ logic và địa chỉ vật lý. TLB giúp tăng tốc quá trình dịch địa chỉ và giảm thời gian truy cập bộ nhớ.
Bộ đếm chương trình (Program Counter - PC): Lưu trữ địa chỉ của lệnh tiếp theo cần được thực thi
trong bộ nhớ. Nó giúp quyết định địa chỉ của lệnh được lấy trong bước thực thi.
Bộ đệm ghi trạng thái (Status Register): Lưu trữ các cờ trạng thái và thông tin về trạng thái hiện tại
của CPU. Các cờ này thường được sử dụng để xác định điều kiện và điều khiển luồng thực thi lệnh. lOMoARcPSD| 39099223
Câu 9: Viết sơ đồ thuật toán để mô tả cách thức đọc một địa chỉ từ bộ nhớ vào CPU để xử lý.
Dưới đây là sơ đồ thuật toán đơn giản mô tả cách thức đọc một địa chỉ từ bộ nhớ vào CPU để xử lý: Bắt đầu:
CPU gửi yêu cầu đọc địa chỉ cụ thể tới bộ nhớ thông qua các tín hiệu điều khiển.
Bộ nhớ nhận yêu cầu từ CPU và tìm kiếm địa chỉ được yêu cầu trong bộ nhớ.
Bộ nhớ truy xuất dữ liệu tương ứng với địa chỉ được yêu cầu và trả về cho CPU thông qua các tín hiệu điều khiển.
CPU nhận dữ liệu từ bộ nhớ thông qua các tín hiệu điều khiển và lưu trữ dữ liệu vào thanh ghi hoặc
bộ đệm tạm thời để tiếp tục xử lý. Kết thúc.
Trong quá trình này, CPU và bộ nhớ giao tiếp thông qua các tín hiệu điều khiển để truyền và nhận dữ
liệu. Bộ nhớ nhận yêu cầu từ CPU, tìm kiếm địa chỉ và truy xuất dữ liệu tương ứng. Sau đó, dữ liệu
được truyền từ bộ nhớ vào CPU để tiếp tục quá trình xử lý.
Câu 10: Thanh ghi của vi xử lý là gì? Nêu chức năng và đặc điểm của thanh ghi tích luỹ A.
Trong vi xử lý, thanh ghi (register) là một phần của bộ xử lý nằm trong CPU được sử dụng để lưu trữ
dữ liệu và các giá trị trung gian trong quá trình thực thi lệnh. Thanh ghi được sử dụng để thực hiện
các phép tính và các hoạt động xử lý khác.
Một trong các thanh ghi quan trọng là thanh ghi tích luỹ (accumulator register), thường được ký hiệu
là A. Thanh ghi tích luỹ có chức năng chính là lưu trữ và thực hiện các phép tính số học và logic trên
dữ liệu. Nó là nơi lưu trữ kết quả cuối cùng của các phép tính và là thanh ghi mà nhiều lệnh xử lý
thường truy cập để thực hiện các phép toán.
Một số đặc điểm của thanh ghi tích luỹ A là:
Dung lượng: Thanh ghi tích luỹ có dung lượng hạn chế, chỉ có thể lưu trữ một giá trị duy nhất tại một
thời điểm. Điều này yêu cầu việc quản lý và chuyển đổi dữ liệu khi cần thiết để tiếp tục xử lý.
Tương tác với lệnh: Nhiều lệnh xử lý sử dụng thanh ghi tích luỹ A như một toán hạng hoặc nơi lưu trữ
kết quả. Các phép tính và hoạt động xử lý thường truy cập vào thanh ghi này để thực hiện các thao tác.
Sử dụng trong các lệnh nhảy điều kiện: Thanh ghi tích luỹ thường được sử dụng để so sánh và kiểm
tra điều kiện trong các lệnh nhảy điều kiện. Kết quả của các phép tính trên thanh ghi A có thể là cơ sở
cho quyết định nhảy đến một địa chỉ khác hoặc tiếp tục thực hiện các lệnh tiếp theo. lOMoARcPSD| 39099223
Thực hiện các phép toán cơ bản: Thanh ghi tích luỹ A thường được sử dụng để thực hiện các phép
toán cơ bản như cộng, trừ, nhân, chia và các phép toán logic trên dữ liệu.
Đặc điểm của thanh ghi tích luỹ A có thể thay đổi tùy theo kiến trúc
Câu 11: Nêu sơ đồ và đặc điểm của hai dạng kiến trúc cache: Look Aside và Look Through. Trong hai
dạng kiến trúc trên, dạng nào được sử dụng nhiều hơn trong thực tế hiện nay? Tại sao?
Hai dạng kiến trúc cache phổ biến trong hệ thống bộ nhớ cache là Look Aside (còn được gọi là cache
trước) và Look Through (còn được gọi là cache sau). Dưới đây là sơ đồ và đặc điểm của hai dạng kiến trúc này: Look Aside (Cache trước): Sơ đồ:
CPU - Cache trước - Bộ nhớ chính Đặc điểm:
Cache trước đứng trước CPU và giữ một bản sao của một phần của bộ nhớ chính.
CPU truy cập dữ liệu từ cache trước trước khi truy cập vào bộ nhớ chính.
Nếu dữ liệu được tìm thấy trong cache trước, thì CPU sẽ nhận được dữ liệu nhanh chóng và không
cần truy cập vào bộ nhớ chính.
Nếu dữ liệu không có trong cache trước, CPU sẽ gửi yêu cầu đến bộ nhớ chính và đợi để nhận dữ liệu
từ bộ nhớ chính trước khi cung cấp cho CPU và đồng thời lưu một bản sao vào cache trước để sử
dụng cho các truy cập sau. Look Through (Cache sau): Sơ đồ:
CPU - Bộ nhớ chính - Cache sau Đặc điểm:
Cache sau đứng sau CPU và lưu trữ một bản sao của một phần của bộ nhớ chính.
CPU truy cập dữ liệu từ bộ nhớ chính trước.
Nếu dữ liệu được tìm thấy trong cache sau, CPU sẽ nhận được dữ liệu từ cache sau và không cần chờ đợi.
Nếu dữ liệu không có trong cache sau, CPU sẽ gửi yêu cầu đến bộ nhớ chính và đợi để nhận dữ liệu
từ bộ nhớ chính trước khi cung cấp cho CPU và đồng thời lưu một bản sao vào cache sau để sử dụng cho các truy cập sau.
Trong thực tế hiện nay, kiến trúc cache Look Aside (cache trước) được sử dụng phổ biến hơn. Lý do là: lOMoARcPSD| 39099223
Kiến trúc cache trước đơn giản hơn và dễ thực hiện trong việc xử lý bộ nhớ cache.
Nó cho phép CPU truy cập dữ liệu nhanh chóng
Tuy nhiên, cả hai kiến trúc cache Look Aside và Look Through đều có ưu điểm và hạn chế riêng. Sự
lựa chọn giữa hai kiến trúc này phụ thuộc vào nhiều yếu tố như kiến trúc hệ thống, loại ứng dụng và
yêu cầu hiệu năng cụ thể.
Trong tổ chức hiện đại, kiến trúc cache trước (Look Aside) thường được sử dụng nhiều hơn do tính
đơn giản và khả năng tận dụng hiệu quả tính chất không gian thời gian của dữ liệu.
Câu 12: Trình bày khái niệm Data path khi đề cập đến tổ chức của bộ xử lý.
Data path (đường dữ liệu) là một khái niệm quan trọng trong tổ chức của bộ xử lý. Nó thể hiện các
thành phần vật lý trong bộ xử lý, chịu trách nhiệm cho việc xử lý dữ liệu và thực hiện các phép tính.
Data path bao gồm các thành phần sau:
Registers (Thanh ghi): Đây là các ô nhớ nhanh và nhỏ kích thước được sử dụng để lưu trữ dữ liệu tạm
thời và các giá trị trung gian. Thanh ghi bao gồm các thanh ghi tổng quát (general-purpose registers)
và các thanh ghi đặc biệt như thanh ghi chỉ định địa chỉ (address registers), thanh ghi chỉ định trạng
thái (status registers), thanh ghi chỉ định chương trình (program counter),...
Arithmetic Logic Unit (ALU): Đây là một thành phần chịu trách nhiệm thực hiện các phép toán số học
(như cộng, trừ, nhân, chia) và các phép toán logic (như AND, OR, NOT) trên dữ liệu trong bộ xử lý.
Control Unit (Đơn vị điều khiển): Đây là thành phần quản lý và điều khiển hoạt động của bộ xử lý. Nó
đọc các lệnh từ bộ nhớ, điều khiển các thành phần khác nhau trong data path để thực hiện các phép
tính và quản lý luồng điều khiển của chương trình.
Buses (Đường truyền): Là các đường truyền dùng để truyền dữ liệu và tín hiệu điều khiển giữa các
thành phần trong data path, bao gồm bus dữ liệu (data bus), bus địa chỉ (address bus), bus kiểm soát (control bus).
Memory (Bộ nhớ): Là nơi lưu trữ các dữ liệu và lệnh mà bộ xử lý sẽ truy cập và xử lý. Bộ nhớ có thể là
bộ nhớ chính (main memory) hoặc các cấp bộ nhớ cache (cache memory).
Data path chịu trách nhiệm điều phối dữ liệu và các tín hiệu điều khiển giữa các thành phần trong bộ
xử lý, đảm bảo rằng dữ liệu được chuyển đổi và xử lý đúng và đồng bộ
Câu 13: Giải thích quá trình thực thi lệnh của bộ xử lý với việc áp dụng kỹ thuật đường ống lệnh (pipelining). lOMoARcPSD| 39099223
Quá trình thực thi lệnh của bộ xử lý bao gồm các bước cơ bản như sau:
Instruction Fetch (Lấy lệnh): Bộ xử lý lấy lệnh từ bộ nhớ chính dựa trên địa chỉ chương trình (Program
Counter - PC) hiện tại. Lệnh này được lưu vào bộ nhớ lệnh (Instruction Cache) hoặc bộ đệm lệnh (Instruction Buffer).
Instruction Decode (Giải mã lệnh): Lệnh được giải mã để xác định các phép toán và tham số cần thiết.
Các giá trị được lưu trữ trong các thanh ghi và bộ nhớ có thể được sử dụng trong quá trình thực hiện lệnh.
Operand Fetch (Lấy toán hạng): Các toán hạng (giá trị) cần thiết cho lệnh được lấy từ thanh ghi hoặc
bộ nhớ. Nếu cần, các giá trị này có thể được tính toán trước khi sử dụng.
Instruction Execute (Thực thi lệnh): Lệnh được thực hiện bởi ALU hoặc các thành phần khác tương
ứng với phép toán được chỉ định. Các giá trị toán hạng được thực hiện phép tính và kết quả được tính toán.
Write-back (Ghi kết quả): Kết quả của lệnh được ghi lại vào thanh ghi hoặc bộ nhớ tùy thuộc vào lệnh
cụ thể. Các giá trị mới được cập nhật để sử dụng cho các lệnh tiếp theo.
Kỹ thuật đường ống lệnh (pipelining) là một phương pháp tối ưu hóa quá trình thực thi lệnh của bộ
xử lý bằng cách chia quá trình thành nhiều giai đoạn nhỏ, cho phép cùng lúc thực hiện nhiều lệnh
trên các giai đoạn khác nhau. Quá trình này giúp tăng hiệu suất xử lý của bộ xử lý bằng cách đồng
thời thực hiện các công việc khác nhau trên các lệnh khác nhau, giảm thời gian thực hiện của mỗi lệnh.
Câu 14: Cơ chế xử lý xen kẽ dòng lệnh (pipeline) là gì? Nêu các đặc điểm của cơ chế ống lệnh.
Cơ chế xử lý xen kẽ dòng lệnh (pipeline) là một phương pháp tối ưu hóa quá trình thực thi lệnh của
bộ xử lý bằng cách chia quá trình thành các giai đoạn nhỏ và thực hiện đồng thời các giai đoạn này
cho các lệnh khác nhau. Mỗi giai đoạn thực hiện một phần công việc của lệnh và sau khi hoàn thành,
lệnh được chuyển sang giai đoạn tiếp theo để tiếp tục xử lý.
Các đặc điểm của cơ chế ống lệnh gồm:
Parallelism (Song song hóa): Cơ chế ống lệnh cho phép thực hiện nhiều lệnh cùng một lúc trong các
giai đoạn khác nhau của quá trình xử lý. Điều này tạo ra một sự song song hóa và tăng cường hiệu suất của bộ xử lý. lOMoARcPSD| 39099223
Độ trễ (Latency): Mỗi giai đoạn trong quá trình xử lý lệnh có một độ trễ riêng, và lệnh cần đi qua tất
cả các giai đoạn để hoàn thành. Độ trễ tổng thể của quá trình xử lý sẽ là độ trễ của giai đoạn trễ nhất.
Stalls (Gián đoạn): Trong quá trình xử lý ống lệnh, có thể xảy ra các tình huống gây gián đoạn (stall)
khi một giai đoạn không thể tiếp tục xử lý do yêu cầu dữ liệu hoặc tài nguyên không sẵn có. Khi đó,
quá trình xử lý sẽ bị trì hoãn và tác động đến hiệu suất của bộ xử lý.
Data Hazards (Nguy cơ dữ liệu): Trong ống lệnh, các lệnh có thể gây ra xung đột dữ liệu khi một lệnh
tiếp theo phụ thuộc vào kết quả của lệnh trước đó. Điều này có thể dẫn đến sai lệch kết quả và yêu
cầu xử lý đồng bộ dữ liệu để đảm bảo tính chính xác.
Branch Prediction (Dự đoán nhánh): Quá trình xử lý ống lệnh đòi hỏi dự đoán nhánh (branch
prediction) để giảm hiệu ứng trễ khi xử lý các lệnh nhảy Các đặc điểm của cơ chế ống lệnh gồm:
Parallelism (Song song hóa): Cơ chế ống lệnh cho phép thực hiện nhiều lệnh cùng một lúc trong các
giai đoạn khác nhau của quá trình xử lý. Điều này tạo ra một sự song song hóa và tăng cường hiệu suất của bộ xử lý.
Độ trễ (Latency): Mỗi giai đoạn trong quá trình xử lý lệnh có một độ trễ riêng, và lệnh cần đi qua tất
cả các giai đoạn để hoàn thành. Độ trễ tổng thể của quá trình xử lý sẽ là độ trễ của giai đoạn trễ nhất.
Stalls (Gián đoạn): Trong quá trình xử lý ống lệnh, có thể xảy ra các tình huống gây gián đoạn (stall)
khi một giai đoạn không thể tiếp tục xử lý do yêu cầu dữ liệu hoặc tài nguyên không sẵn có. Khi đó,
quá trình xử lý sẽ bị trì hoãn và tác động đến hiệu suất của bộ xử lý.
Data Hazards (Nguy cơ dữ liệu): Trong ống lệnh, các lệnh có thể gây ra xung đột dữ liệu khi một lệnh
tiếp theo phụ thuộc vào kết quả của lệnh trước đó. Điều này có thể dẫn đến sai lệch kết quả và yêu
cầu xử lý đồng bộ dữ liệu để đảm bảo tính chính xác.
Câu 15. Hãy giải thích 5 bước trong việc xử lý một lệnh của CPU: instruction fetch, instruction
decode, operand fetch, instruction execute, write-back.
Anh/chị hiểu thế nào về cơ chế pipeline ? Một lệnh của CPU xử lý bằng cơ chế pipeline có
nhanh hơn một lệnh CPU không xử lý bằng cơ chế pipline không? Tại sao? ChatGPT
Trong cơ chế xử lý lệnh của CPU, có thể mô tả qua 5 bước chính: instruction fetch (lấy lệnh),
instruction decode (giải mã lệnh), operand fetch (lấy giá trị toán hạng), instruction execute (thực thi
lệnh), và write-back (ghi kết quả). lOMoARcPSD| 39099223
Instruction Fetch: CPU đọc lệnh từ bộ nhớ dựa trên địa chỉ hiện tại của con trỏ lệnh (program
counter) và đưa lệnh đó vào bộ nhớ đệm lệnh (instruction cache). Con trỏ lệnh sau đó được tăng để
trỏ đến lệnh tiếp theo.
Instruction Decode: Lệnh được giải mã để xác định loại lệnh và các toán hạng cần thiết để thực thi
lệnh đó. Các thông tin này sẽ được sử dụng trong các bước tiếp theo.
Operand Fetch: Các giá trị toán hạng cần thiết cho lệnh (như giá trị của thanh ghi hoặc giá trị từ bộ
nhớ) được truy xuất và lưu trữ tạm thời trong các thanh ghi hoặc bộ nhớ đệm.
Instruction Execute: Lệnh được thực thi bằng cách thực hiện các phép tính, so sánh hoặc các hoạt
động khác theo yêu cầu của lệnh đó. Các toán hạng đã được lấy từ bước trước được sử dụng trong quá trình thực thi.
Write-back: Kết quả của lệnh được ghi lại vào thanh ghi hoặc bộ nhớ tùy thuộc vào yêu cầu của lệnh.
Nếu có giá trị cần truyền cho lệnh tiếp theo, nó sẽ được lưu trữ trong thanh ghi hoặc bộ nhớ đệm.
Cơ chế pipeline trong vi xử lý lệnh của CPU giúp tăng hiệu suất bằng cách chia quá trình xử lý thành
các giai đoạn nhỏ và thực hiện đồng thời các lệnh khác nhau trong các giai đoạn khác nhau. Tuy
nhiên, việc sử dụng cơ chế pipeline cũng đi kèm với một số hạn chế và thách thức.
Lợi ích chính của cơ chế pipeline là tăng cường sử dụng tài nguyên CPU và giảm thời gian thực thi
lệnh. Khi một lệnh đang được thực hiện trong một giai đoạn, lệnh khác có thể được lấy vào giai đoạn
tiếp theo, do đó, nhiều lệnh có thể được thực hiện đồng thời. Điều này giúp tận dụng tài nguyên và
giảm thời gian chờ đợi giữa các lệnh.
Câu 16. Trình bày cấu trúc cơ bản về Ngôn ngữ Assemblem
Cấu trúc cơ bản của ngôn ngữ Assemble bao gồm các thành phần sau:
Chỉ thị (Instruction): Chỉ thị là các lệnh cơ bản trong ngôn ngữ Assemble, mô tả các hoạt động và thao
tác được thực hiện bởi CPU. Mỗi chỉ thị được mã hóa thành một dãy bit nhị phân thể hiện các phép
toán và toán hạng tương ứng.
Thanh ghi (Register): Thanh ghi là các ô nhớ nhỏ nằm trong CPU, được sử dụng để lưu trữ các giá trị
tạm thời và trung gian trong quá trình xử lý. Các thanh ghi thường có kích thước và chức năng cụ thể
cho mỗi kiến trúc xử lý. lOMoARcPSD| 39099223
Bộ nhớ (Memory): Bộ nhớ là nơi lưu trữ các dữ liệu và chương trình trong hệ thống. Trong ngôn ngữ
Assemble, các địa chỉ bộ nhớ được sử dụng để truy cập và thao tác với các giá trị dữ liệu.
Hằng số (Constant): Hằng số là các giá trị không thay đổi trong quá trình thực thi chương trình. Chúng
có thể được sử dụng để lưu trữ các giá trị cố định, như địa chỉ bộ nhớ hoặc các giá trị tùy chỉnh.
Địa chỉ (Addressing): Địa chỉ là phương pháp chỉ định địa chỉ của các thanh ghi hoặc vùng nhớ trong
quá trình thao tác dữ liệu. Có nhiều phương pháp địa chỉ khác nhau trong ngôn ngữ Assemble, bao
gồm địa chỉ trực tiếp (direct addressing), địa chỉ gián tiếp (indirect addressing) và địa chỉ cơ sở (base addressing).
Nhãn (Label): Nhãn là các định danh được gán cho các địa chỉ bộ nhớ hoặc vị trí trong chương trình.
Chúng được sử dụng để tham chiếu và nhảy tới các vị trí cụ thể trong mã Assemble.
d. Phần lý thuyết Ch5: Phân cấp hệ thống nhớ