DE cương kiến trúc máy tính

Đề cương kiến trúc máy tính

Bạn đang xem bản rút gọn của tài liệu. Xem và tải ngay bản đầy đủ của tài liệu tại đây  [775.91 KB, 23 trang ]

Nguyễn Thị Yến.k38cntt.hpu2
1



1. Máy tính điện tử là gì? Phân loại máy tính điện tử.
2. Kiến trúc máy tính nghiên cứu những vấn đề gì?
3. Tốc độ của bộ vi xử lý là gì? Cho ví dụ minh họa.
4. Trình bày các hoạt động của máy tính.
5. Trình bày cấu trúc cơ bản của bus. Liệt kê một số bus phổ biến.
6. Trình bày các vấn đề liên quan đến thiết kế bus.
7. Trình bày các hệ đếm cơ bản sử dụng trong máy tính.
8. Độ dài từ dữ liệu là gì? Và cho biết thứ tự lưu trữ các byte trong bộ nhớ chính. Cho ví dụ.
9. Trình bày cách biểu diễn số nguyên trong máy tính. Cho ví dụ.
10. Trình bày cách biểu diễn số dấu phẩy động 32bit theo IEEE754/85 trong máy tính. Cho ví dụ.
11. Trình bày cách biểu diễn số dấu phẩy động 64bit theo IEEE754/85 trong máy tính. Cho ví dụ.
12. Trình bày các nhiệm vụ và các thành phần cơ bản của CPU.
13. Trình bày chức năng, đặc điểm và cách phân loại thanh ghi. Liệt kê một số thanh ghi điển hình.
14. Lệnh máy là gì? Các thành phần của lệnh máy? Cho ví dụ.
15. Số lượng địa chỉ toán hạng trong một lệnh máy là bao nhiêu? Cho ví dụ. Đánh giá về số lượng địa
chỉ lệnh.
16. Trình bày tóm tắt các vấn đề chủ yếu trong việc thiết kế tập lệnh.
17. Trình bày các kiểu thao tác cơ bản trong tập lệnh máy tính. Cho ví dụ.
18. Trình bày các phương pháp định địa chỉ trong tập lệnh. Cho ví dụ.
19. Trình bày tóm tắt những công đoạn trong một chu trình lệnh của CPU.
20. Các kỹ thuật tiên tiến của bộ xử lí
21. Trình bày tóm tắt về kiến trúc các bộ xử lý 16 bit, 32 bit và 64 bit của Intel.
22. Trình bày các đặc trưng của hệ thống nhớ.
23. Trình bày những hiểu biết của mình về bộ nhớ ROM
24. Trình bày những hiểu biết của mình về bộ nhớ RAM
25. Trình bày các đặc trưng cơ bản của bộ nhớ chính.


26. Trình bày những hiểu biết của mình về bộ nhớ cache.
27. Hãy cho biết các kiểu bộ nhớ ngoài và trình bày các đặc tính của đĩa từ.
28. Trình bày các đặc điểm và phân loại của RAID.
29. Trình bày khái niệm bộ nhớ ảo và các kỹ thuật thực hiện bộ nhớ ảo.
30. Trình bày chức năng, phân loại và các thành phần của thiết bị ngoại vi.
31. Trình bày chức năng và các thành phần của mô đun vào  ra.
32. Trình bày nguyên tắc và hoạt động của phương pháp điều khiển vào  ra bằng chương trình.
33. Trình bày nguyên tắc và hoạt động của phương pháp điều khiển vào  ra bằng ngắt.
34. Trình bày các đặc điểm và hoạt động của phương pháp điều khiển vào  ra bằng DMA.
35. Phân loại kiến trúc máy tính tiên tiến.










Nguyễn Thị Yến.k38cntt.hpu2
2


1.Máy tính điện tử là gì? Phân loại máy tính điện tử.
- Là thiết bị điện tử thực hiện các công việc:
a. Nhập thông tin
b. Xử lý thông tin
c. Xuất thông tin
- Chương trình [program]: là dãy các lệnh nằm trong bộ nhớ để yêu cầu máy tính thực hiện

công việc cụ thể.
- Mô hình phân lớp máy tính
Phần cứng [Hardware]: hệ thống vật lý của máy tính.
Phần mềm [Software]: các chương trình và dữ liệu.
- Phân loại máy tính
Truyền thống
Supercomputer
Mainframe
Workstation
Minicomputer
Microcomputer
Hiện đại
Personal Computers
Server Computers
Embedded Computers
+ Personal Computers
Là loại máy tính phổ biến nhất
Các loại máy tính cá nhân:
Máy tính để bàn [Desktop]
 Máy tính xách tay [Laptop]
1981, IBM giới thiệu máy tính IBM-PC sử dụng bộ xử lý Intel 8088
1984, Apple đưa ra Macintosh sử dụng bộ xử lý Motorola 68000
Giá thành: hàng trăm đến hàng nghìn USD
+ Server
Thực chất là máy phục vụ
Dùng trong mạng theo mô hình Client/Server
Tốc độ và hiệu năng tính toán cao
Dung lượng bộ nhớ lớn
Độ tin cậy cao
Giá thành: hàng nghìn đến hàng chục triệu USD.

+ Embedded Computers
Được đặt trong thiết bị khác để điều khiển thiết bị đó làm việc
Được thiết kế chuyên dụng. Ví dụ:
 Điện thoại di động
 Máy ảnh số
 Bộ điều khiển trong máy giặt, điều hoà nhiệt độ
 Router  bộ định tuyến trên mạng
Giá thành: vài USD đến hàng trăm nghìn USD.

2. Kiến trúc máy tính nghiên cứu những vấn đề gì?
+ Kiến trúc máy tính bao gồm hai khía cạnh:
Kiến trúc tập lệnh [Instruction Set Architecture]: nghiên cứu máy tính theo cách nhìn
của người lập trình
Tổ chức máy tính [Computer Organization]: nghiên cứu cấu trúc phần cứng máy tính
Kiến trúc tập lệnh thay đổi chậm, tổ chức máy tính thay đổi rất nhanh.

+ Kiến trúc tập lệnh
Tập lệnh: tập hợp các chuỗi số nhị phân mã hoá cho các thao tác mà máy tính có thể thực hiện
Các kiểu dữ liệu: các kiểu dữ liệu mà máy tính có thể xử lý.
Nguyễn Thị Yến.k38cntt.hpu2
3
+ Các thành phần cơ bản của máy tính
Bộ xử lý trung tâm [Central Processing Unit]
Bộ nhớ chính [Main Memory]
Hệ thống vào ra [Input/Output System]
Liên kết hệ thống [System Interconnection]

3.Tốc độ của bộ vi xử lý là gì? Cho ví dụ minh họa.
+ Tốc độ của bộ xử lý:
Số lệnh được thực hiện trong 1 giây

MIPS [Million of Instructions per Second]
Khó đánh giá chính xác
+  Tần số xung nhịp của bộ xử lý:
Bộ xử lý hoạt động theo một xung nhịp [Clock] có tần số xác định
Tốc độ của bộ xử lý được đánh giá gián tiếp thông qua tần số của xung nhịp
+ Dạng xung nhịp :

T
0
: chu kỳ xung nhịp
Tần số xung nhịp: f
0
= 1/T
0

Mỗi thao tác của bộ xử lý cần k.T
0

T
0
càng nhỏ thì bộ xử lý chạy càng nhanh
Ví dụ:
Máy tính dùng bộ xử lý 2GHz
Ta có f
0
= 2GHz = 2x10
9
Hz
Thì T
0

= 1/f
0
= 1/[2x10
9
] = 0,5 ns.

4.Trình bày các hoạt động của máy tính
Là hoạt động cơ bản của máy tính
Máy tính lặp đi lặp lại hai bước:
Nhận lệnh
Thực hiện lệnh
Thực hiện chương trình bị dừng nếu thực hiện lệnh bị lỗi hoặc gặp lệnh dừng.
Thực hiện chương trình.
* Chu kỳ lệnh:

Fetch cycle: chu kỳ nạp.
Execute cycle: chu kỳ thi hành.
Halt: tạm dừng.
* Nhận lệnh:
Bắt đầu mỗi chu trình lệnh, CPU nhận lệnh từ bộ nhớ chính.
Bộ đếm chương trình PC [Program Counter] của CPU giữ địa chỉ của lệnh sẽ được
nhận.
CPU nhận lệnh từ ngăn nhớ được trỏ bởi PC.
Lệnh được nạp vào thanh ghi lệnh IR [Instruction Register].
Sau khi lệnh được nhận vào, nội dung PC tự động tăng để trỏ sang lệnh kế tiếp.


* Thực hiện lệnh
Bộ xử lý giải mã lệnh đã được nhận và phát tín hiệu điều khiển thực hiện thao tác mà lệnh
yêu cầu.

Nguyễn Thị Yến.k38cntt.hpu2
4
Các kiểu thao tác của lệnh:
Trao đổi dữ liệu giữa CPU và bộ nhớ chính
Trao đổi dữ liệu giữa CPU và mô-đun vào-ra
Xử lý dữ liệu: thực hiện các phép toán số học hoặc phép toán logic với các dữ
liệu.
Điều khiển rẽ nhánh
Kết hợp các thao tác trên.
* Ngắt [Interrupt]
Khái niệm chung về ngắt: Ngắt là cơ chế cho phép CPU tạm dừng chương trình đang thực
hiện để chuyển sang thực hiện một chương trình khác, gọi là chương trình con phục vụ
ngắt.
Các loại ngắt:
Ngắt do lỗi khi thực hiện chương trình, ví dụ: tràn số, chia cho 0.
Ngắt do lỗi phần cứng, ví dụ lỗi bộ nhớ RAM.
Ngắt do mô-đun vào-ra phát tín hiệu ngắt đến CPU yêu cầu trao đổi dữ liệu.

Hoạt động ngắt
Sau khi hoàn thành mỗi một lệnh, bộ xử lý kiểm tra tín hiệu ngắt
Nếu không có ngắt, bộ xử lý nhận lệnh tiếp theo của chương trình hiện tại
Nếu có tín hiệu ngắt:
Tạm dừng chương trình đang thực hiện
Cất ngữ cảnh [các thông tin liên quan đến chương trình bị ngắt]
Thiết lập PC trỏ đến chương trình con phục vụ ngắt
Chuyển sang thực hiện chương trình con phục vụ ngắt
Cuối chương trình con phục vụ ngắt, khôi phục ngữ cảnh và tiếp tục chương trình
đang bị tạm dừng.
Xử lý với nhiều tín hiệu yêu cầu ngắt
Xử lý ngắt tuần tự

Khi một ngắt đang được thực hiện, các ngắt khác sẽ bị cấm.
Bộ xử lý sẽ bỏ qua các ngắt tiếp theo trong khi đang xử lý một ngắt
Các yêu cầu ngắt vẫn đang đợi và được kiểm tra sau khi ngắt đầu tiên
được xử lý xong
Các ngắt được thực hiện tuần tự
Xử lý ngắt ưu tiên
Các ngắt được định nghĩa mức ưu tiên khác nhau
Ngắt có mức ưu tiên thấp hơn có thể bị ngắt bởi ngắt ưu tiên cao hơn
Xẩy ra ngắt lồng nhau
* Hoạt động vào-ra
Hoạt động vào-ra: là hoạt động trao đổi dữ liệu giữa mô-đun vào-ra với bên trong máy
tính.
Các kiểu hoạt động vào-ra:
CPU trao đổi dữ liệu với mô-đun vào-ra
Mô-đun vào-ra trao đổi dữ liệu trực tiếp với bộ nhớ chính [DMA- Direct Memory
Access].

5.Trình bày cấu trúc cơ bản của bus. Liệt kê một số bus phổ biến.
Bus: tập hợp các đường kết nối dùng để vận chuyển thông tin giữa các mô-đun của máy tính
với nhau.
Các bus chức năng:
Bus địa chỉ
Bus dữ liệu
Bus điều khiển
Độ rộng bus: là số đường dây của bus có thể truyền các bit thông tin đồng thời [chỉ dùng cho
bus địa chỉ và bus dữ liệu].
* các loại bus:
- Bus địa chỉ
Chức năng: vận chuyển địa chỉ để xác định ngăn nhớ hay cổng vào-ra
Nguyễn Thị Yến.k38cntt.hpu2

5
Độ rộng bus địa chỉ: cho biết số lượng ngăn nhớ tối đa được đánh địa chỉ.
 N bit có thể đánh địa chỉ tối đa cho 2
N
ngăn nhớ [không gian địa chỉ bộ nhớ]
Ví dụ:
Bộ xử lý Pentium có bus địa chỉ 32 bit, có khả năng đánh địa chỉ cho 2
32
bytes nhớ
[4GBytes] [ngăn nhớ tổ chức theo byte]
* Bus dữ liệu
Chức năng:
vận chuyển lệnh từ bộ nhớ đến CPU
vận chuyển dữ liệu giữa CPU, mô đun nhớ, mô đun vào-ra với nhau
Độ rộng bus dữ liệu: Xác định số bit dữ liệu có thể được trao đổi đồng thời.
M bit: D
M-1
, D
M-2
, D
2
, D
1
, D
0

M thường là 8, 16, 32, 64,128 bit.
Ví dụ: Các bộ xử lý Pentium có bus dữ liệu 64 bit
* Bus điều khiển
Chức năng: vận chuyển các tín hiệu điều khiển

Các loại tín hiệu điều khiển:
Các tín hiệu điều khiển đọc/ghi
Các tín hiệu điều khiển ngắt
Các tín hiệu điều khiển bus
* Các đường điều khiển chính
Memory write: ghi dữ liệu trên bus vào trong bộ nhớ.
Memory read: đọc dữ liệu từ bộ nhớ và đặt lên bus.
I/O write: xuất dữ liệu từ bus ra cổng vào/ra.
I/O read: đọc dữ liệu từ cổng vào/ra và đặt lên bus.
Transfer ACK: xác nhận dữ liệu từ bus hay được đặt lên bus.
Bus request: một module cần sự điều khiển của bus.
Bus grant: một module được quyền điểu khiển bus.
Interrupt request: Một ngắt đang chờ xử lý.
Interrupt ACK: xác nhận ngắt chờ xử lý đã được nhận biết.
Clock: dùng để đồng bộ hoá các thao tác.
Reset: Khởi tạo lại tất cả các module
* Đặc điểm của cấu trúc đơn bus
Bus hệ thống chỉ phục vụ được một yêu cầu trao đổi dữ liệu tại một thời điểm
Bus hệ thống phải có tốc độ bằng tốc độ bus của mô-đun nhanh nhất trong hệ thống
Bus hệ thống phụ thuộc vào cấu trúc bus [các tín hiệu] của bộ xử lý, các mô-đun nhớ và các
mô-đun vào-ra cũng phụ thuộc vào bộ xử lý.
Khắc phục: phân cấp bus - cấu trúc đa bus
* Phân cấp bus trong máy tính
Tổ chức thành nhiều bus trong hệ thống máy tính
Cho các thành phần khác nhau:
Bus của bộ xử lý
Bus của bộ nhớ chính
Các bus vào-ra
Các bus khác nhau về tốc độ
Bus bộ nhớ chính và các bus vào-ra không phụ thuộc vào bộ xử lý cụ thể.

* Một số bus điển hình trong PC
Bus của bộ xử lý [Front Side Bus - FSB]: có tốc độ nhanh nhất
Bus của bộ nhớ chính [nối ghép với các mô-đun RAM]
AGP bus [Accelerated Graphic Port] - Bus đồ họa tăng tốc: nối ghép card màn hình tăng tốc.
PCI bus[Peripheral Component Interconnect]: nối ghép với các thiết bị ngoại vi có tốc độ trao
đổi dữ liệu nhanh.
IDE [Integrated Device Electronics]: Bus kết nối với ổ đĩa cứng hoặc ổ đĩa CD, DVD
USB [Universal Serial Bus]: Bus nối tiếp đa năng

6.Trình bày các vấn đề liên quan đến thiết kế bus.
* Các kiểu bus
Bus dành riêng [Dedicated]:
Nguyễn Thị Yến.k38cntt.hpu2
6
Các đường địa chỉ và dữ liệu tách rời
Ưu điểm: điều khiển đơn giản
Nhược điểm: có nhiều đường kết nối
Bus dồn kênh [Multiplexed]
Các đường dùng chung cho địa chỉ và dữ liệu
Có đường điều khiển để phân biệt có địa chỉ hay có dữ liệu
Ưu điểm: có ít đường dây
Nhược điểm:
Điều khiển phức tạp hơn
Hiệu năng hạn chế
* Phân xử bus
Có nhiều mô-đun điều khiển bus
ví dụ: CPU và bộ điều khiển vào-ra
Chỉ cho phép một mô-đun điều khiển bus ở một thời điểm.
Phân xử bus có thể là tập trung hay phân tán.
Phân xử bus tập trung

Có một Bộ điều khiển bus [Bus Controller] hay còn gọi là Bộ phân xử bus [Arbiter]
Có thể là một phần của CPU hoặc mạch tách rời.

Phân xử bus phân tán
Mỗi một mô-đun có thể chiếm bus
Có đường điều khiển đến tất cả các mô-đun khác
* Định thời bus [Timing]
Phối hợp các sự kiện trên bus
Bus đồng bộ
Các sự kiện trên bus được xác định bởi một tín hiệu xung nhịp xác định
[clock]
Bus Điều khiển bao gồm cả đường Clock
Tất cả các mô-đun có thể đọc đường clock
Bus không đồng bộ
Không có đường tín hiệu Clock
Kết thúc một sự kiện này trên bus sẽ kích hoạt cho một sự kiện tiếp theo

7.Trình bày các hệ đếm cơ bản sử dụng trong máy tính.
Hệ thập phân [Decimal System]
Hệ nhị phân [Binary System]
Hệ mười sáu [Hexadecimal System]
* Hệ thập phân
 Cơ số 10
 10 chữ số: 0,1,2,3,4,5,6,7,8,9
 Dùng n chữ số thập phân có thể biểu diễn được 10
n
giá trị khác nhau:
00 000 = 0
 99 999 = 10
n

-1
Dạng tổng quát:


* Hệ nhị phân
Cơ số 2
2 chữ số nhị phân: 0 và 1
Chữ số nhị phân gọi là bit [binary digit]
Bit là đơn vị thông tin nhỏ nhất
Dùng n bit có thể biểu diễn được 2
n
giá trị khác nhau:
00000=0
11111=2
n
-1


Dạng tổng quát


1 1 0 1 2
,
10
n n m
n
i
i
im
A a a a a a a a

Aa





1 1 0 1 2
,
2
n n m
n
i
i
im
A a a a a a a a
Aa





Nguyễn Thị Yến.k38cntt.hpu2
7
* Hệ thập lục phân
Cơ số 16
16 chữ số: 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, A, B, C, D, E, F.
Dạng tổng quát:




* Chuyển đổi giữa các hệ
Thập phân và nhị phân
Thập lục phân và nhị phân
Thập phân và thập lục phân


8.Độ dài từ dữ liệu là gì? Và cho biết thứ tự lưu trữ các byte trong bộ nhớ chính. Cho ví dụ.
* Mã hóa và lưu trữ dữ liệu
Nguyên tắc chung:
Dữ liệu đưa vào phải được mã hóa thành số nhị phân.
Các loại dữ liệu
Nhân tạo: do con người quy ước
Tự nhiên: tồn tại khách quan.
* Độ dài từ dữ liệu
Là số bit được sử dụng để mã hóa loại dữ liệu tương ứng [là bội của 8]

* Thứ tự lưu trữ các byte trong bộ nhớ
Little-endian [đầu nhỏ]: byte có ý nghĩa thấp được lưu trữ ở ngăn nhớ có địa chỉ nhỏ,
byte có ý nghĩa cao được lưu trữ ở ngăn nhớ có địa chỉ lớn.
Big-endian [đầu to]: ngược lại với little-endian.
*Cách lưu trữ của một số bộ xử lý
Intel 80x86 và các Pentium: little-endian
Motorola 680x0: big-endian
Power PC, Itanium: bi-endian.


9. Trình bày cách biểu diễn số nguyên trong máy tính. Cho ví dụ.
* Biểu diễn số nguyên
Số nguyên không dấu [unsigned integer]
Số nguyên có dấu [signed integer]

* Biểu diễn số nguyên không dấu
Dùng n bit biểu diễn số nguyên không dấu A từ 0 đến 2
n
-1:



* Biểu diễn số nguyên có dấu
Số bù một và số bù hai:
Định nghĩa: cho số nhị phân A được biểu diễn bằng n bit, ta có:
Số bù một của A=[2
n
-1] A
Số bù hai của A= 2
n
A
Số bù hai của A = [Số bù 1 của A] +1.
Quy tắc tìm số bù một và bù hai:
Số bù một của A= đảo giá trị các bit của A
Số bù hai của A= [số bù một của A]+1.
* Biểu diễn số nguyên có dấu bằng mã bù hai
Nguyên tắc: dùng n bit biểu diễn số nguyên có dấu A:
Với A dương: bit a
n-1
=0, các bit còn lại biểu diễn độ lớn như số không dấu.
Với A âm: được biểu diễn bằng số bù hai của số dương tương ứng, bit a
n-1
=1.



1 1 0 1 2
,
16
n n m
n
i
i
im
A a a a a a a a
Aa





1 1 0
1
0

2
n
n
i
i
i
A a a a
Aa







Nguyễn Thị Yến.k38cntt.hpu2
8

* Biểu diễn số dương


Giá trị biểu diễn từ 0 đến 2
n-1
-1.
* Biểu diễn số âm



Giá trị biểu diễn từ -2
n-1
đến -1.
*Biểu diễn tổng quát cho số nguyên có dấu



Giá trị biểu diễn từ -[2
n-1
] đến +[2
n-1
-1].
*Chuyển đổi kiểu Byte thành Word
Đối với số dương:

Thêm 8 bit 0 vào bên trái
Đối với số âm:
Thêm 8 bit 1 vào bên trái.

*Biểu diễn số nguyên theo mã BCD
Binary Coded Decimal code
Dùng 4 bit để mã hóa các số thập phân từ 0 đến 9.
Còn 6 tổ hợp không sử dụng
Các kiểu lưu trữ số BCD
Unpacked BCD: mỗi số BCD 4 bit được lưu trữ trong 4 bit thấp của mỗi byte
Packed BCD: hai số BCD được lưu trữ trong một byte.

10.Trình bày cách biểu diễn số dấu phẩy động 32bit theo IEEE754/85 trong máy tính. Cho ví dụ.
* Số dấu phảy động
Floating  Point Number: biểu diễn số thực
Tổng quát:
Một số thực X được biểu diễn theo kiểu số dấu phảy động như sau:
X = M*R
E

M là phần định trị [Mantissa]
R là cơ số [Radix]
E là phần mũ [Exponent]
* Chuẩn IEEE754/85
Cơ số R=2
Các dạng biểu diễn chính:

* Dạng 32 bit
S là bit dấu
S=0: số dương

S=1: số âm
e [8bit] là mã excess-127 của phần mũ E:
e=E+127 do đó E=e  127
Giá trị 127 gọi là độ lệch [bias]
m [23bit] là phần lẻ của phần định trị M:
2 1 0
2
0
0
2
n
n
i
i
i
A a a a
Aa






2 1 0
2
1
0
1
2 2
n

n
ni
i
i
A a a a
Aa







1 2 1 0
2
1
1
0

2 2
nn
n
ni
ni
i
A a a a a
A a a









Nguyễn Thị Yến.k38cntt.hpu2
9
M=1.m
Công thức xác định giá trị của số thực:
X = [-1]
S
*1.m*2
e-127

* ví dụ:
Vd1:


Vd2:


Vd3:



Vd4:


11.Trình bày cách biểu diễn số dấu phẩy động 64bit theo IEEE754/85 trong máy tính. Cho ví dụ.
Nguyễn Thị Yến.k38cntt.hpu2

10


12.Trình bày các nhiệm vụ và các thành phần cơ bản của CPU.
+ Nhiệm vụ của CPU:
-Nhận lệnh [Fetch Instruction]
-Giải mã lệnh [Decode Instruction]
-Nhận dữ liệu [Fetch Data]
-Xử lý dữ liệu [Process Data]
-Ghi dữ liệu [Write Data]
+ Cấu trúc CPU:


Arthmetic and logic unit: đơn vị logic và số học [ALU].
Một bộ phận trong bộ xử lý trung tâm [ CPU] dùng để thực hiện các phép tính số học và logic cơ
bản trên cơ sở các dữ liệu.
Status flag: thanh cờ trạng thái.
Shifter: bộ dịch chuyển.
Complementer: bộ bù
Arthmetic and Boolean logic: Đại số Boole và đơn vị số học.
Internal bus: bus bên trong.
Control path: đường dẫn điều khiển.

13.Trình bày chức năng, đặc điểm và cách phân loại thanh ghi. Liệt kê một số thanh ghi điển
hình.

+Tập thanh ghi của một số CPU:
Nguyễn Thị Yến.k38cntt.hpu2
11


Program counter: bộ đếm chương trình.
Accumulator: tích lũy.
Index: chỉ dẫn.
Stack pointer: con trỏ ngăn xếp.
Base pointer: con trỏ cơ sở.
Segment: chia thành đoạn.

14.Lệnh máy là gì? Các thành phần của lệnh máy? Cho ví dụ.
* Tập lệnh
Giới thiệu chung về tập lệnh
Mỗi bộ xử lý có một tập lệnh xác định
Tập lệnh thường có hàng chục đến hàng trăm lệnh
Mỗi lệnh là một chuỗi số nhị phân.
Các lệnh được mô tả bằng các ký hiệu gợi nhớ - lệnh của hợp ngữ.
* Các thành phần của lệnh máy
Mã thao tác [operation code - opcode]:
mã hóa cho thao tác mà bộ xử lý phải thực hiện
Địa chỉ toán hạng:
chỉ ra nơi chứa các toán hạng mà thao tác sẽ tác động
Toán hạng nguồn: dữ liệu vào của thao tác
Toán hạng đích: dữ liệu ra của thao tác

15. Số lượng địa chỉ toán hạng trong một lệnh máy là bao nhiêu? Cho ví dụ. Đánh giá về số
lượng địa chỉ lệnh.
* Số lượng địa chỉ toán hạng trong lệnh
Ba địa chỉ toán hạng:
2 toán hạng nguồn, 1 toán hạng đích
c = a + b
Từ lệnh dài vì phải mã hoá địa chỉ cho cả ba toán hạng
Được sử dụng trên các bộ xử lý tiên tiến

Hai địa chỉ toán hạng:
Một toán hạng vừa là toán hạng nguồn vừa là toán hạng đích; toán hạng còn lại là toán
hạng nguồn
a = a + b
Giá trị cũ của 1 toán hạng nguồn bị mất vì phải chứa kết quả
Rút gọn độ dài từ lệnh
Phổ biến
Một địa chỉ toán hạng:
Một toán hạng được chỉ ra trong lệnh
Một toán hạng là ngầm định
Nguyễn Thị Yến.k38cntt.hpu2
12
Được sử dụng trên các máy ở các thế hệ trước
0 địa chỉ toán hạng:
Các toán hạng đều được ngầm định
Sử dụng Stack
Ví dụ:
push a
push b
Add
pop c
có nghĩa là : c = a+b
không thông dụng
* Đánh giá về số địa chỉ toán hạng
Nhiều địa chỉ toán hạng
Các lệnh phức tạp hơn
Cần nhiều thanh ghi
Chương trình có ít lệnh hơn
Nhận lệnh và thực hiện lệnh chậm hơn
Ít địa chỉ toán hạng

Các lệnh đơn giản hơn
Cần ít thanh ghi
Chương trình có nhiều lệnh hơn
Nhận lệnh và thực hiện lệnh nhanh hơn

16. Trình bày tóm tắt các vấn đề chủ yếu trong việc thiết kế tập lệnh.
* Các vấn đề của thiết kế tập lệnh
Về thao tác
Bao nhiêu thao tác ?
Các thao tác nào ?
Mức độ phức tạp của các thao tác ?
Các kiểu dữ liệu
Các khuôn dạng lệnh
Độ dài của trường mã thao tác
Số lượng địa chỉ toán hạng
Các thanh ghi
Số thanh ghi của CPU được sử dụng
Các thao tác nào được thực hiện trên các thanh ghi ?
Các phương pháp định địa chỉ [addressing modes]
RISC hay CISC
Reduced Instruction Set Computing
Complex Instruction Set Computing

17.Trình bày các kiểu thao tác cơ bản trong tập lệnh máy tính. Cho ví dụ.
Các kiểu thao tác cơ bản
Chuyển dữ liệu
Xử lý số học với số nguyên
Xử lý logic
Điều khiển vào-ra
Chuyển điều khiển [rẽ nhánh]

Điều khiển hệ thống
18. Trình bày các phương pháp định địa chỉ trong tập lệnh. Cho ví dụ.
Các phương pháp định địa chỉ [addressing modes]
Nguyễn Thị Yến.k38cntt.hpu2
13
* Khái niệm về định địa chỉ [addressing]
Toán hạng của lệnh có thể là:
Một giá trị cụ thể nằm ngay trong lệnh
Nội dung của thanh ghi
Nội dung của ngăn nhớ hoặc cổng vào-ra
Phương pháp định địa chỉ là cách thức địa chỉ hóa trong trường địa chỉ của lệnh để xác
định nơi chứa toán hạng
* Các phương pháp định địa chỉ thông dụng
 Định địa chỉ tức thì
 Định địa chỉ thanh ghi
 Định địa chỉ trực tiếp
 Định địa chỉ gián tiếp qua thanh ghi
 Định địa chỉ gián tiếp
 Định địa chỉ dịch chuyển
+ Định địa chỉ tức thì
 Toán hạng nằm ngay trong Trường địa chỉ của lệnh
Chỉ có thể là toán hạng nguồn
Ví dụ: ADD R1, 5 ; R1  R1+5
Không tham chiếu bộ nhớ
Truy nhập toán hạng rất nhanh
Dải giá trị của toán hạng bị hạn chế
+ Định địa chỉ thanh ghi
 Toán hạng được chứa trong thanh ghi có tên trong Trường địa chỉ
 Ví dụ: ADD R1, R2 ; R1 R1+R2
 Không tham chiếu bộ nhớ

Truy nhập toán hạng nhanh
Tăng số lượng thanh ghi sẽ hiệu quả hơn
+ Định địa chỉ trực tiếp
 Toán hạng là ngăn nhớ có địa chỉ được chỉ ra trực tiếp trong Trường địa chỉ của lệnh
Ví dụ: ADD R1, A ;R1  R1 + [A]
 Cộng nội dung thanh ghi R1 với nội dung của ngăn nhớ có địa chỉ là A
 Tìm toán hạng trong bộ nhớ ở địa chỉ A CPU tham chiếu bộ nhớ một lần để truy nhập dữ
liệu
+ Định địa chỉ gián tiếp qua thanh ghi
Toán hạng là ngăn nhớ có địa chỉ nằm trong thanh ghi
 Trường địa chỉ cho biết tên thanh ghi đó
Vùng nhớ có thể được tham chiếu là lớn [2
n
], [với n là độ dài của thanh ghi]
+ Định địa chỉ gián tiếp qua ngăn nhớ
 Ngăn nhớ được trỏ bởi Trường địa chỉ của lệnh chứa địa chỉ của toán hạng
Có thể gián tiếp nhiều lần
 CPU phải thực hiện tham chiếu bộ nhớ nhiều lần để tìm toán hạng
 Vùng nhớ có thể được tham chiếu là lớn
+ Định địa chỉ dịch chuyển
Để xác định toán hạng, Trường địa chỉ chứa hai thành phần:
Tên thanh ghi
Hằng số
Địa chỉ của toán hạng = nội dung thanh ghi + hằng số
Thanh ghi có thể được ngầm định
++ Các dạng của định địa chỉ dịch chuyển
 Địa chỉ hoá tương đối với PC
Thanh ghi là Bộ đếm chương trình PC
Toán hạng có địa chỉ cách ngăn nhớ được trỏ bởi PC một độ lệch xác định
Định địa chỉ cơ sở

Thanh ghi chứa địa chỉ cơ sở
Hằng số là chỉ số
Định địa chỉ chỉ số
Hằng số là địa chỉ cơ sở
Nguyễn Thị Yến.k38cntt.hpu2
14
Thanh ghi chứa chỉ số
19.Trình bày tóm tắt những công đoạn trong một chu trình lệnh của CPU.
Chu trình lệnh
Nhận lệnh
Giải mã lệnh
Nhận toán hạng
Thực hiện lệnh
Cất toán hạng
Ngắt
Đường ống lệnh [Instruction Pipelining]
 Chia chu trình lệnh thành các công đoạn và cho phép thực hiện gối lên nhau [như
dây chuyền lắp ráp]
20. Các kỹ thuật tiên tiến của bộ xử lý
Cấu trúc chung của các bộ xử lý tiên tiến
Các kiến trúc song song mức lệnh
Kiến trúc RISC
Cấu trúc chung:
PUIQ
Prefetch Unit & Instruction Queue
DU
Decoding Unit
BIU
ICache
DCache

BTC
Target control
cache unit
CU
MMU
Internal Bus
SFU
IU FPU
IRF
IOU
FRF
FPOU
Data
Bus
Address
Bus
Control
Bus


Các đơn vị xử lý dữ liệu
Các đơn vị số nguyên
Các đơn vị số dấu phẩy động
Các đơn vị chức năng đặc biệt
Đơn vị xử lý dữ liệu âm thanh
Đơn vị xử lý dữ liệu hình ảnh
Đơn vị xử lý dữ liệu vector
Bộ nhớ cache
Được tích hợp trên chip vi xử lý
Bao gồm hai mức cache:

Cache L1 gồm hai phần tách rời:
Cache lệnh
Cache dữ liệu
giải quyết xung đột khi nhận lệnh và dữ liệu
Cache L2: chung cho lệnh và dữ liệu
Đơn vị quản lý bộ nhớ
 Chuyển đổi địa chỉ ảo thành địa chỉ vật lý
 Cung cấp cơ chế phân trang/phân đoạn
 Cung cấp chế độ bảo vệ bộ nhớ
Các kiến trúc song song mức lệnh
Siêu đường ống [Superpipeline & Hyperpipeline]
Siêu vô hướng [Superscalar]
VLIW [Very Long Instruction Word]


RISC
CISC và RISC
Nguyễn Thị Yến.k38cntt.hpu2
15
CISC [Complex Instruction Set Computer]:
Máy tính với tập lệnh phức tạp
Các bộ xử lý truyền thống: x86, 680x0
RISC [Reduced Instruction Set Computer]:
Máy tính với tập lệnh thu gọn
SunSPARC, Power PC,
RISC đối nghịch với CISC
Các đặc trưng của RISC
Số lượng lệnh ít
Hầu hết các lệnh truy nhập toán hạng ở các thanh ghi
Truy nhập bộ nhớ bằng các lệnh LOAD/STORE

Thời gian thực hiện lệnh là một chu kỳ máy
Các lệnh có độ dài cố định [32 bit]
 Số lượng khuôn dạng lệnh là ít [

Chủ Đề