You are on page 1of 22

ỦY BAN NHÂN DÂN THÀNH PHỐ HỒ CHÍ MINH

ĐẠI HỌC SÀI GÒN


KHOA: CÔNG NGHỆ THÔNG TIN
------

BÀI TẬP LỚN MÔN:KIẾN TRÚC MÁY TÍNH


Đề tài: Đề 12
Danh sách sinh viên nhóm 12:
1. Trần Kim Phú MSSV: 3119410308
2. Phan Đình Phúc MSSV: 3119410316
3. Nguyễn Thị Phượng MSSV: 3119410321

GVHD: TS Đinh Thị Thu Hương.

TP. Hồ Chí Minh, tháng 11 năm 2019.


LỜI NHẬN XÉT CỦA GIẢNG VIÊN
.......................................................................................
.......................................................................................
.......................................................................................
.......................................................................................
.......................................................................................
.......................................................................................
.......................................................................................
.......................................................................................
.......................................................................................
.......................................................................................
.......................................................................................
.......................................................................................
.......................................................................................
.......................................................................................
.......................................................................................
.......................................................................................
.......................................................................................
.......................................................................................
.......................................................................................
.......................................................................................
.......................................................................................
.......................................................................................
LỜI GIỚI THIỆU
Song hành với sự phát triển loài người là hệ thống công nghệ thông tin, hiện nay
đang theo kịp xu hướng công nghệ hóa hiện đại - đó là công nghệ 4.0. Nó đóng vai
trò quan trọng trong mọi lĩnh vực xã hội, kinh tế, giáo dục,...Có thể nói sự phát triển
của lĩnh vực tin học mang đến cho con người sự tiện dụng, nhanh chóng, gọn,...
mang đến cho chúng ta cơ hội nghỉ ngơi thư giãn.

Chính vì thế, mạch giải mã là một phần quan trọng, nó là mạch có chức năng ngược
lại với mạch mã hoá tức là nếu có 1 mã số áp vào ngõ vào thì tương ứng sẽ có 1 ngõ
ra được tác động, mã ngõ vào thường ít hơn mã ngõ ra. Tất nhiên ngõ vào cho phép
phải được bật lên cho chức năng giải mã. Mạch giải mã được ứng dụng chính trong
ghép kênh dữ liệu, hiển thị led 7 đoạn, giải mã địa chỉ bộ nhớ.
Và các thành phần của máy chủ như RAM, ROM, HDD cũng là một bộ phận không
thể thiếu trong CPU. Nó đóng vai trò vô cùng quan trọng trong việc điều hành công
việc của các doanh nghiệp, tổ chức. Máy chủ thật ra có cấu tạo và cách hoạt động
không khác các máy tính cá nhân quá nhiều chỉ thêm một số chức năng và linh kiện
máy chủ để phù hợp với khối lượng công việc lớn mà máy chủ phải đảm nhiệm.
Trong phạm vi bài tập lớn, nhóm em xin trình bày về ĐỀ 12 . Bài tập lớn hoàn
thành là quá trình tìm tòi, xem tài liệu của môn Kiến Trúc Máy Tính.

Do có sự hạn chế về kiến thức cũng như sự hiểu biết về Mạch giải mã (Decode),
các thành phần máy chủ, nên thỉnh thoảng có thể xảy ra nhiều thiếu sót. Chính vì thế,
chúng em mong nhận được lời nhận xét tận tình của Giảng viên để giúp chúng em có
một bài tập lớn một cách hoàn chỉnh nhất.

TP.Hồ Chí Minh, tháng 11 năm 2019

Trần Kim Phú

Phan Đình Phúc

Nguyễn Thị Phượng


ĐỀ 12
Phần I: TRÌNH BÀY MẠCH GIẢI MÃ (DECODE)? VẼ SƠ ĐỒ?
TRÌNH BÀY NGUYÊN LÝ HOẠT ĐỘNG?
1. Trình bày mạch giải mã (Decode)
2. Vẽ sơ đồ
3. Nguyên lý hoạt động
Phần II: TRÌNH BÀY CÁC THÀNH PHẦN CỦA MÁY CHỦ: RAM,
CPU, HDD? KỸ THUẬT PIPELINING TRONG CÁC THẾ HỆ CPU
HIỆN NAY CỦA INTEL?
1.Các thành phần của máy chủ
1.1 RAM
1.2. CPU
1.3. HDD
2.Kỹ thuật Pipelining trong các thế hệ CPU hiện nay của INTEL
Phần III: NHẬP MẢNG 1 CHIỀU VÀ PHẦN TỬ X. TÌM MAX,
MIN VÀ KIỂM TRA X CÓ TRONG MẢNG HAY KHÔNG?
Phần IV: CÁC TÀI LIỆU THAM KHẢO
Phần I: TRÌNH BÀY MẠCH GIẢI MÃ (DECODE)?
VẼ SƠ ĐỒ? TRÌNH BÀY NGUYÊN LÝ HOẠT
ĐỘNG?
1.Trình bày mạch giải mã (Decode)?
- Mạch giải mã là mạch được ứng dụng vào giải mã chọn địa chỉ.

- Đầu vào: n bit.

- Đầu ra: 2n bit (lựa chọn 1 trong số các đầu ra).

Ví dụ: Với đầu vào n=3 thì đầu ra là 23 =8.

2.Vẽ sơ đồ?

3.Trình bày nguyên lý hoạt động?


Nếu có 1 mã số áp vào ngõ vào thì tương ứng sẽ có 1 ngõ ra được tác động, mà ngõ
vào thường ít hơn ngõ ra. Tất nhiên ngõ vào cho phép được bật lên cho chức năng
giải mã. Mạch giải mã được áp dụng chính trong ghép kênh dữ liệu, hiển thị led 7
đoạn, giải mã địa chỉ bộ nhớ.

 Giải mã 2 đường sang 4 đường:


Thiết kế mạch Giải mã 2 đường sang 4 đường có ngã vào cho phép (cũng được dùng
để nối mạch)
Để đơn giản, ta xét mạch giải mã 2 đường sang 4 đường có các ngã vào và ra đều tác
động cao.
Bảng sự thật, các hàm ngã ra và sơ đồ mạch:
 Giải mã 3 đường sang 8 đường:
Dùng 2 mạch giải mã 2 đường sang 4 đường để thực hiện mạch giải mã 3 đường sang
8 đường. Mạch giải mã 3 đường sang 8 đường bao gồm 3 ngõ vào tạo nên 8 tổ hợp
trạng thái, ứng với mỗi tổ hợp trạng thái được áp vào sẽ có 1 ngõ ra được tác động.

Bảng chân trị

 Giải mã BCD sang thập phân:

Bộ giải mã BCD sang hệ thập phân là một mạch tổ hợp có 4 đầu vào nhị phân và 10
đầu ra thập phân. Đầu vào là mã BCD và sẽ kích hoạt đầu ra tương ứng với đầu vào.
Dưới đây là bảng chân trị của bộ giải mã BCD-thập phân. Có thể thấy rằng các số lớn
hơn 9 sẽ không kích hoạt bất kỳ đầu ra nào.

Bảng chân trị

Sơ đồ logic mạch giải mã từ BCD sang thập phân sử dụng cổng NOT và cổng AND:

Sơ đồ mạch giải mã BCD sang thập phân

 Giải mã BCD sang led 7 đọan:


Đèn 7 đoạn được sử dụng để hiển thị dữ liệu được xử lý bởi thiết bị điện tử số.
Chúng có thể hiện thị các số từ 0 đến 9 và các chữ cái từ A đến F và một vài ký tự
khác.

Thiết bị hiển thị này có thể được điều khiển bởi bộ giải mã mà sẽ chiếu sáng các vạch
(đoạn-segment) của đèn phụ thuộc vào số BCD tại đầu vào. Các bộ giải mã này cũng
chứa các bộ đệm công suất để cấp dòng cho đèn, do vậy, nó còn được gọi là bộ điều
khiển-giải mã (Decoder-Driver).

Bộ mã hoá này có 4 đầu vào tương ứng với 4 bit mã BCD và 7 đầu ra, mỗi đầu sẽ
điều khiển một vạch của đèn 7 đoạn.

Bảng chân trị của mạch giải mã 7 đoạn, có ngã ra tác động thấp:

Bảng chân trị

Từ bảng chân trị ta sẽ xây dựng được sơ đồ logic cho mạch giải mã này:
Phần II: TRÌNH BÀY CÁC THÀNH PHẦN CỦA MÁY
CHỦ: RAM, CPU, HDD? KỸ THUẬT PIPELINING
TRONG CÁC THẾ HỆ CPU HIỆN NAY CỦA INTEL?
1.Các thành phần của máy chủ (sever)
1.1 CPU máy chủ

- Khái niệm: Là bộ phận quan trọng nhất của hệ thống máy chủ, và là trung tâm điều
hành cả hệ thống. Là một mạch tích hợp phức tạp các transitor trên một bản mạch
nhỏ.

=> CPU máy chủ là bộ xữ lý trung tâm của máy chủ và được xem là bộ não quan
trọng nhất của hệ thống

- Đặc điểm của CPU máy chủ: CPU dành riêng cho máy chủ đa số là dòng Xeon
với kiến trúc khác biệt hoàn toàn, hoạt động trên các socket 771, 603, 604 với dung
lượng cache L2 cao, khả năng ảo hóa cứng, các tập lệnh chuyên dùng khác…

- Cấu tạo: một CPU máy chủ bao gồm 3 bộ phận chính:

+ Thanh ghi (Register): có nhiệm vụ ghi lại những mã lệnh trước khi xử lý và xuất
ra những kết quả sau khi xử lý

+ Bộ số học logic (ALU-Arithmetic Logic Unit): Có chức năng thực hiện các lệnh
của đơn vị điều khiển và xử lý tín hiệu. Theo tên gọi, đơn vị này dùng để thực hiện
các phép tính số học ( +,-,*,/ ) hay các phép tính logic (so sánh lớn hơn,nhỏ hơn…)
+  Bộ điều khiền (Control Unit): Là bộ phận có các vi xử lý mang nhiệm vụ thông
dịch các lệnh của chương trình và điều khiển và điều khiển hoạt động xử lí, được
điều tiết chính xác bởi xung nhịp đồng hồ hệ thống. Mạch xung nhịp đồng hồ hệ
thống dùng để đồng bộ các thao tác xử lí trong và ngoài CPU theo các khoảng thời
gian không đổi

- Thông số kỹ thuật
+ Số nhân: thay vì sử dụng những 2 nhân và 4 nhânnhư những CPU máy tính,
CPU máy chủ sử dụng 8 nhân trở lên

+ Cache: Cache của máy chủ cao hơn gấp nhiều lần so với cache trên các PC

+ Tốc độ xử lý/xung nhịp: giúp CPU máy chủ không nhanh bị nóng và có độ bền
cao hơn CPU PC

+ Luồng xử lý dữ liệu: các CPU máy chủ được trang bị thêm công nghệ siêu phần
luồng (HyperThreading) giúp bộ vi xử lý có thể xử lý cùng lúc hai luồng dữ liệu song
song. Công nghệ này giúp tăng hiệu năng xử lý của CPU lên khoảng 20%

+ Socket: socket của CPU máy chủ hỗ trợ các giao tiếp tốc độ cao như RAM ECC,
HDD SCSI – SAS, Raid hay hỗ trợ gắn nhiều CPU,….

- Các loại CPU phổ biến hiện nay: Hiện nay có nhiều nhãn hiệu sản xuất CPU máy
chủ, nhưng phổ biến và được nhiều người tin dùng là AMD và Intel:

+ CPU AMD có tốc độ nhưng tỏa nhiệt nhiều, mà yếu tố tỏa nhiệt có ảnh hưởng
lớn đến sự ổn định của toàn hệ thống

+ CPU Intel thì thông dụng và được nhiều người lựa chọn do sự nổi tiếng của
hương thiệu, tính ổn định cũng như tương thích với nhiều máy tính của nó

1.2 RAM máy chủ


- Khái niệm: Là linh kiện quan trọng vì nó quyết định số lượng và kích cỡ chương
trình có thể chậy vào cùng một thời điểm cũng như lượng dữ liệu có thể được xử lý
ngay tức thời

=> RAM quyết định khả năng truy xuất dữ liệu của máy tính đến người dùng nên
việc lựa chọn một RAM máy chủ tốt rất quan trọng

- Đặc điểm: các loại RAM mà bạn thường thấy trên thị trường là các loại DDR RAM
I, II có Bus 400, 800,… trong khi đó RAM dành cho máy chủ cũng có những loại
như vậy nhưng chúng còn có thêm tính năng ECC (Error Corection Code) giúp máy
bạn không bị treo. Hơn nữa, các RAM loại này còn có khả năng tháo lắp nóng để
thay thế khi bị hư hỏng mà bạn sẽ không cần phải tắt hệ thống

- Các thông số của một RAM máy chủ


+ BUS: Là tốc độ hoạt động, xử lý dữ liệu của 1 Ram server. Gồm nhiều dây dẫn
điện nhỏ gộp lại, là hệ thống hành lang để dẫn dữ liệu từ các bộ phận trong máy tính
(CPU, memory, I/O devices)
+ Capacity: Là dung lượng RAM hay lượng thông tin mà một RAM có thể lưu trữ
được. Tùy theo từng RAM mà có các loại capacity khác nhau như: RAM 1Gb, RAM
2GB, RAM 4GB, RAM 8Gb, RAM 16Gb, RAM 32Gb, RAM 64Gb…
+ Độ trễ (Latency): Hay còn gọi là CAS (Column Address Strobe) latency: là thời
gian được tính từ khi dòng lệnh được chuyển xuống thanh RAM và nó hồi đáp lại
CPU
+ Tần số làm tươi (Refresh Rate): RAM máy chủ được tạo nên bởi hàng trăm tế
bào điện tử, mỗi tế bào này phải được nạp lại điện hàng nghìn lần mỗi giây vì nếu
không dữ liệu chứa trong chúng sẽ bị mất. Chính vì vậy các bộ nhớ động cần phải có
quá trình nạp lại, quá trình này vẫn thường được chúng ta gọi là “ refresh – làm tươi”.
+ ECC (Error Checking and Correction – kiểm tra và sửa lỗi): Đây là thành phần
căn bản trong hệ thống máy chủ hiện nay. Có hai loại bộ nhớ ECC là unbuffered
ECC và registered ECC. Sự khác nhau căn bản giữa 2 loại module bộ nhớ này là các
lệnh truy xuất bộ nhớ đối với bộ nhớ unbuffered ECC là trực tiếp giữa khối điều
khiển bộ nhớ và module bộ nhớ trong khi đối với bộ nhớ registered ECC, các lệnh
truy xuất trước tiên được gửi đến register chip rồi sau đó mới được gửi đến các
module nhớ

1.3 HDD máy chủ

- Khái niệm: Là thiết bị phần cứng dùng để lưu trữ dữ liệu  chính như hệ điều hành,
phần mềm và các tệp tin khác

=> Là một phần không thể thiếu trng hệ thống máy chủ. ổ cứng đóng vai trò quan
trọng trong việc lưu trữ và truy xuất dữ liệu cho người dùng
- Đặc điểm: Khác với các HDD của máy PC thường có giao tiếp IDE, SATA I,
SATA II với tốc độ vòng quay đạt con số cao nhất 7200RPM và tốc độ đạt 300MB/s,
các HDD dành cho Server hoạt động trên giao tiếp SCSI hay SAS (Serial Attached
SCSI) có băng thông cao hơn (600MB/s) và sở hữu một tốc độ vòng quay cao hơn
gần 30% (10.000RPM) hay một số ổ SAS mới còn đạt được con số 15.000 RPM giúp
tăng tốc tối đa tốc độ đọc/ghi dữ liệu

- Cấu tạo: HDD máy chủ được tạo nên từ nhiều thành phần, chi tiết và mỗi chi tiết
lại đảm nhận một vai trò khác nhau:

+ Các đĩa từ: được làm bằng nhôm, thủy tinh hoặc sứ, được chế tạo đặc biệt giúp
HDD máy chủ có khả năng lưu trữ tốt, an toàn và không bị nhả từ như các thiết bị
đọc ghi bằng từ tính khác

+ Kỹ thuật hãm động: được sử dụng để dừng đĩa từ lại khi ngắt điện cũng là một
điều hết sức quan trọng trong một HDD máy chủ. Do động cơ của HDD có tốc độ
quay rất cao, nếu việc dừng đĩa lại không được thực hiện tốt sẽ làm mặt đĩa từ bị
xước

+ Moto trục quay: là một trong những yếu tố quan trọng nhất quyết định tốc độ của
HDD máy chủ. Ngày nay có nhiều HDD máy chủ có tốc độ quay rất cao

+ Cần di chuyển: có nhiệm vụ di chuyển đầu đọc, ghi  theo phương song song với
mặt đĩa ở một khoảng cách nhất định

+ Đầu đọc: Được sử dụng để đọc hoặc ghi dữ liệu dưới dạng từ hóa trên bề mặt đĩa
từ (số đầu đọc ghi luôn bằng số lượng mặt từ của đĩa cứng)

+ Mạch điều khiển: có nhiệm vụ điều khiển động cơ và sự di chuyển của cần di
chuyển

+ Mạch xử lí dữ liệu: dùng để xử lí dữ liệu đọc, ghi của HDD máy chủ

+ Bộ nhớ đệm (cache hoặc buffer) là nơi lưu trữ dữ liệu tạm thời trong quá trình
đọc/ghi dữ liệu

+ Cổng giao tiếp: để kết nối với máy tính

+ Khe cắm nguồn: để cắm vào nguồn máy chủ

- Các thông số của một HDD máy chủ


+ Chuẩn giao tiếp: Có nhiều chuẩn giao tiếp khác nhau giữa ổ đĩa cứng bo mạch
chủ, nguyên nhân sự đa dạng này một phần xuất phát từ yêu cầu tốc độ đọc/ghi dữ
liệu khác nhau giữa các hệ thống máy tính, phần còn lại do các ổ giao tiếp nhanh có
giá thành cao hơn nhiều so với các chuẩn thông dụng. Bốn chuẩn thông dụng hiện
nay là EIDE, SCSI, và SATA, SAS. Nhưng HDD máy chủ hiện nay thường sử dụng
chuẩn SATA và SAS

+ Dung lượng: Dung lượng của ổ đĩa cứng được tính theo các đơn vị dung lượng
cơ bản thông thường là Byte, KB, MB, GB, TB. Trước đây, người ta thường dùng
đơn vị là MB do dung lượng ổ cứng còn thấp. Bây giờ, người ta dùng đơn vị là GB
và cao hơn là TB
+ Tốc độ quay: Tốc độ quay của đĩa cứng được ký hiệu là RPM (Revolutions Per
Minute - số vòng quay trong một phút). Tốc độ quay càng cao thì ổ đĩa làm việc càng
nhanh do chúng thực hiện việc đọc/ghi nhanh hơn, thời gian tìm kiếm thấp hơn
+ Bộ nhớ đệm (cache hoặc buffer): Bộ nhớ đệm có nhiệm vụ lưu tạm dữ liệu trong
quá trình làm việc của ổ đĩa cứng nên độ lớn của bộ nhớ đệm có ảnh hưởng đáng kể
tới hiệu suất hoạt động của ổ đĩa cứng bởi việc đọc/ghi không xảy ra tức thời (do phụ
thuộc vào sự di chuyển của đầu đọc/ghi, dữ liệu được truyền tới hoặc đi) sẽ được đặt
tạm trong bộ nhớ đệm
+ Tốc độ truyền dữ liệu: Đa phần tốc độ truyền dữ liệu trên các chuẩn giao tiếp
thấp hơn so với thiết kế của nó bởi có nhiều thông số ảnh hưởng đến tốc độ truyền dữ
liệu của ổ đĩa cứng như: tốc độ quay của đĩa từ, số lượng đĩa từ trong ổ đĩa cứng,
công nghệ chế tạo, dung lượng bộ nhớ đệm…
+ Kích thước: Để đảm bảo thay thế lắp ráp vừa với các loại máy chủ, kích thước
của ổ đĩa cứng được chuẩn hoá thành 6 loại là: 5,25 inch dùng trong các máy tính các
thế hệ trước. 3,5 inch dùng cho các máy tính cá nhân, máy trạm, máy chủ. 2,5 inch
dùng cho máy tính xách tay. 1,8 inch hoặc nhỏ hơn dùng trong các thiết bị kỹ thuật
số cá nhân và PC Card. 1,0 inch dùng cho các thiết bị siêu nhỏ

2. Kỹ thuật Pipeling trong các thế hệ CPU hiện nay của Intel
- Đây là một kỹ thuật làm cho các giai đoạn khác nhau của nhiều lệnh được thi hành
cùng một lúc.
- Ví dụ: Chúng ta có những lệnh đều đặn, mỗi lệnh được thực hiện trong cùng một
khoản thời gian. Giả sử, mỗi lệnh được thực hiện trong 5 giai đoạn và mỗi giai đoạn
được thực hiện trong 1 chu kỳ xung nhịp. Các giai đoạn thực hiện một lệnh là: lấy
lệnh (IF:Instruction Fetch), giải mã (ID: Instruction Decode), thi hành (EX: Execute),
thâm nhập bộ nhớ (MEM: Memory Access), lưu trữ kết quả (RS: Result Storing).
-Hình 2.1 cho thấy chỉ trong một chu kỳ xung nhịp, bộ xử lý có thể thực hiện một
lệnh(bình thường lệnh này được thực hiện trong 5 chu kỳ).

CHU KÌ XUNG NHỊP


CHUỖI LỆNH
1 2 3 4 5 6 7 8 9
Lệnh thứ i IF ID EX MEM RS
Lệnh thứ i+1 IF ID EX MEM RS
Lệnh thứ i+2 IF ID EX MEM RS
Lệnh thứ i+3 IF ID EX MEM RS
Lệnh thứ i+4 IF ID EX MEM RS

Hình 2.1: Các giai đoạn khác nhau của nhiều lệnh được thi hành cùng một lúc
So sánh với kiểu xử lý tuần tự thông thường, 5 lệnh được thực hiện trong 25 chu kỳ
xung nhịp, thì xử lý lệnh theo kỹ thuật ống dẫn thực hiện 5 lậnh chỉ trong 9 chu kỳ
xung nhịp.
Như vậy kỹ thuật ống dẫn làm tăng tốc độ thực hiện các lệnh. Tuy nhiên kỹ thuật ống
dẫn có một số ràng buộc:

 Cần phải có một mạch điện để thi hành mỗi giai đoạn của lệnh vì tất cả các giai
đoạn của lệnh được thi hành cùng lúc. Trong một bộ xử lý không dùng kỹ thuật ống
dẫn, ta có thể dùng bộ làm toán ALU để cập nhật thanh ghi PC, cập nhật địa chỉ của
toán hạng bộ nhớ, địa chỉ ô nhớ mà chương trình cần nhảy tới, làm các phép tính trên
các toán hạng vì các phép tính này có thể xảy ra ở nhiều giai đoạn khác nhau.
 Phải có nhiều thanh ghi khác nhau dùng cho các tác vụ đọc và viết. Trên hình
2.1, tại một chu kỳ xung nhịp, ta thấy cùng một lúc có 2 tác vụ đọc (ID, MEM) và 1
tác vụ viết (RS).
 Trong một máy có kỹ thuật ống dẫn, có khi kết quả của một tác vụ trước đó, là
toán hạng nguồn của một tác vụ khác. Như vậy sẽ có thêm những khó khăn mà ta sẽ
đề cập ở mục tới.
 Cần phải giải mã các lệnh một cách đơn giản để có thể giải mã và đọc các toán
hạng trong một chu kỳ duy nhất của xung nhịp.
 Cần phải có các bộ làm tính ALU hữu hiệu để có thể thi hành lệnh số học dài
nhất, có số giữ, trong một khoảng thời gian ít hơn một chu kỳ của xung nhịp.
 Cần phải có nhiều thanh ghi lệnh để lưu giữ lệnh mà chúng ta phải xem xét
cho mỗi giai đoạn thi hành lệnh.
 Cuối cùng phải có nhiều thanh ghi bộ đếm chương trình PC để có thể tái tục
các lệnh trong trường hợp có ngắt quãng.
KHÓ KHĂN TRONG KĨ THUẬT PIPELINING
Khi thi hành lệnh trong một máy tính dùng kỹ thuật ống dẫn, có nhiều trường hợp
làm cho việc thực hiện kỹ thuật ống dẫn không thực hiện được như là: thiếu các mạch
chức năng, một lệnh dùng kết quả của lệnh trước, một lệnh nhảy.
Ta có thể phân biệt 3 loại khó khăn: khó khăn do cấu trúc, khó khăn do số
liệu và khó khăn do điều khiển.
Khó khăn do cấu trúc:
Đây là khó khăn do thiếu bộ phận chức năng, ví dụ trong một máy tính dùng kỹ thuật
ống dẫn phải có nhiều ALU, nhiều PC, nhiều thanh ghi lệnh IR ... Các khó khăn này
được giải quyết bằng cách thêm các bộ phận chức năng cần thiết và hữu hiệu.
Khó khăn do số liệu:
Lấy ví dụ trường hợp các lệnh liên tiếp sau:
Lệnh 1: ADD R1, R2, R3
Lệnh 2: SUB R4, R1, R5
Lệnh 3: AND R6, R1, R7
Lệnh 4: OR R8, R1, R9
Hình 2.2 cho thấy R1, kết quả của lệnh 1 chỉ có thể được dùng cho lệnh 2 sau giai
đoạn MEM của lệnh 1, nhưng R1 được dùng cho lệnh 2 vào giai đoạn EX của lệnh 1.
Chúng ta cũng thấy R1 được dùng cho các lệnh 3 và 4.

Hình 2.2 : Chuỗi lệnh minh hoạ khó khăn do số liệu.


Để khắc phục khó khăn này, một bộ phận phần cứng được dùng để đưa kết quả từ
ngã ra ALU trực tiếp vô một trong các thanh ghi ngã vào như trong hình 2.3.
Hình 2.3: ALU với bộ phận phần cứng đưa kết quả tính toán trở lại ngã vào
Khi bộ phận phần cứng nêu trên phát hiện có dùng kết quả của ALU làm toán hạng
cho liệt kê, nó tác động vào mạch đa hợp để đưa ngã ra của ALU vào ngã vào của
ALU hoặc vào ngã vào của một đơn vị chức năng khác nếu cần.
Khó khăn do điều khiển:
-Các lệnh làm thay đổi tính thi hành các lệnh một cách tuần tự (nghĩa là PC tăng đều
đặn sau mỗi lệnh), gây khó khăn về điều khiển. Các lệnh này là lệnh nhảy đến một
địa chỉ tuyệt đối chứa trong một thanh ghi, hay lệnh nhảy đến một địa chỉ xác định
một cách tương đối so với địa chỉ hiện tại của bộ đếm chương trình PC. Các lệnh
nhảy trên có thể có hoặc không điều kiện.
-Trong trường hợp đơn giản nhất, tác vụ nhảy không thể biết trước giai đoạn giải mã
(xem hình 2.1). Như vậy, nếu lệnh nhảy bắt đầu ở chu kỳ C thì lệnh mà chương trình
nhảy tới chỉ được bắt đầu ở chu kỳ C+2. Ngoài ra, phải biết địa chỉ cần nhảy đến mà
ta có ở cuối giai đoạn giải mã ID. Trong lệnh nhảy tương đối, ta phải cộng độ dời
chứa trong thanh ghi lệnh IR vào thanh ghi PC. Việc tính địa chỉ này chỉ được thực
hiện vào giai đoạn ID với điều kiện phải có một mạch công việc riêng biệt.
-Vậy trong trường hợp lệnh nhảy không điều kiện, lệnh mà chương trình nhảy đến
bắt đầu thực hiện ở chu kỳ C+2 nếu lệnh nhảy bắt đầu ở chu kỳ C.
-Cho các lệnh nhảy có điều kiện thì phải tính toán điều kiện. Thông thường các kiến
trúc RISC đặt kết quả việc so sánh vào trong thanh ghi trạng thái, hoặc vào trong
thanh ghi tổng quát. Trong cả 2 trường hợp, đọc điều kiện tương đương với đọc thanh
ghi. Đọc thanh ghi có thể được thực hiện trong phân nửa chu kỳ cuối giai đoạn ID.
-Một trường hợp khó hơn có thể xảy ra trong những lệnh nhảy có điều kiện. Đó là
điều kiện được có khi so sánh 2 thanh ghi và chỉ thực hiện lệnh nhảy khi kết quả so
sánh là đúng. Việc tính toán trên các đại lượng logic không thể thực hiện được trong
phân nửa chu kỳ và như thế phải kéo dài thời gian thực hiện lệnh nhảy có điều kiện.
Người ta thường tránh các trường hợp này để không làm giảm mức hữu hiệu của máy
tính.
-Vậy trường hợp đơn giản, người ta có thể được địa chỉ cần nhảy đến và điều kiện
nhảy cuối giai đoạn ID. Vậy có chậm đi một chu kỳ mà người ta có thể giải quyết
bằng nhiều cách:
+Cách thứ nhất là đóng băng kỹ thuật ống dẫn trong một chu kỳ, nghĩa là ngưng thi
hành lệnh thứ i+1 đang làm nếu lệnh thư i là lệnh nhảy. Ta mất trắng một chu kỳ cho
mỗi lệnh nhảy.
+Cách thứ hai là thi hành lệnh sau lệnh nhảy nhưng lưu ý rằng hiệu quả của một lệnh
nhảy bị chậm mất một lệnh. Vậy lệnh theo sau lệnh nhảy được thực hiện trước khi
lệnh mà chương trình phải nhảy tới được thực hiện. Chương trình dịch hay người lập
trình có nhiệm vụ xen vào một lệnh hữu ích sau lệnh nhảy.
-Trong trường hợp nhảy có điều kiện, việc nhảy có thể được thực hiện hay không
thực hiện. Lệnh hữu ích đặt sau lệnh nhảy không làm sai lệch chương trình dù điều
kiện nhảy đúng hay sai.
-Bộ xử lý RISC SPARC có những lệnh nhảy với huỷ bỏ. Các lệnh này cho phép thi
hành lệnh sau lệnh nhảy nếu điều kiện nhảy đúng và huỷ bỏ thực hiện lệnh đó nếu
điều kiện nhảy sai.

Phần III: NHẬP MẢNG 1 CHIỀU VÀ PHẦN TỬ X.


TÌM MAX, MIN VÀ KIỂM TRA X CÓ TRONG
MẢNG HAY KHÔNG?
.model small pop ax int 21h

NhapKyTu Macro d1 EndM pop ax


;MACRO
XuongHang Macro EndM
push ax
push ax XuatKyTu Macro d1
mov ah, 8h
mov ah, 2h push ax
int 21h
mov dl,10 mov ah, 2h
mov d1, al
mov dl,d1
int 21h HoanVi Macro d1,d2 .code

pop ax push ax mov ax, @data ;lay dia


chi cua vung du lieu
EndM mov al,d1
mov ds, ax
XuatChuoi Macro mov al,d2
lea dx,tb1
mov ah, 9h mov d1,ah
XuatChuoi
int 21h mov d2,al
NhapLai:
EndM pop ax
NhapKyTu n
Max2so Macro d1,d2 EndM
mov al,n
local KetThuc .stack 100h
cmp al,'1'
mov al,d1 .data
jb NhapLai
cmp al,d2 n db ?
cmp al,'9'
ja KetThuc a db 9 dup(0)
ja NhapLai
mov al,d2 max db ?
XuatKyTu n
KetThuc: min db ?
XuongHang
EndM x db ?
lea dx,tb2
tb1 db 'Nhap n=$'
XuatChuoi
Min2so Macro d1,d2 tb2 db 'Nhap phan tu
mang:$' call NhapMang
local KetThuc
tb3 db 'Max : $' xuonghang
mov al,d1
tb4 db 'Min : $' lea dx,tb3
cmp al,d2
tb5 db 'Nhap x=$' XuatChuoi
jb KetThuc
tb6 db 'x co trong call TimMax
mov al,d2
mang$'
XuatKyTu max
KetThuc:
tb7 db 'x khong co
xuonghang
EndM trong mang$'
lea dx,tb4 NhapMang EndP TimMax endp

Xuatchuoi TimMax Proc ;max KiemTra Proc

XuatKyTu min mov cl, n xor cx,cx

xuonghang mov ch,0 mov cl,n

lea dx,tb5 sub cl,'0' sub cl,'0'

Xuatchuoi dec cl mov si,0

NhapKyTu x mov si,0 mov al,x

XuatKyTu x mov ch,a[si] Lap2:

call KiemTra mov max, ch cmp al,a[si]

mov ch,a[si] je ngung

mov ah, 4ch ;tro ve dos mov min, ch inc si

int 21h mov ch,0 Loop Lap2

NhapMang Proc ;Thu cmp cl,0 ;neu nhap vao xuonghang


tuc chi co 1 ky tu
lea dx,tb7
mov cl, n je thoi
Xuatchuoi
mov ch,0 Lap1:
ret
sub cl,'0' inc si
ngung:
mov si,0 Max2so max,a[si]
xuonghang
Lap: mov max, al
lea dx,tb6
NhapKyTu a[si] Min2so min, a[si]
Xuatchuoi
XuatKyTu a[si] mov min, al
ret
inc si Loop Lap1
KiemTra endp
Loop Lap thoi:
xuatmang proc
ret ret
mov cl,n
mov ch,0

sub cl,'0'

mov si,0

inc si

ret

xuatmang endp

end

Phần IV: CÁC TÀI LIỆU THAM KHẢO


https://dammedientu.vn/bai-10mach-chuyen-doi-maphan-2/

file:///C:/Users/Administrator/Downloads/[123doc]%20-%20gia-o-tri-nh-ky-thua-t-
so.pdf

https://nhanhoa.com/tin-tuc/nhung-diem-dac-biet-cua-cpu-server.html?
fbclid=IwAR0MnLc9nhY46pcgLhIMuJkIdDqz_cn6L4CpdpqOFoqeYMA4Twm17h
nUqBY

https://linhkienserver.org/2018/04/13/ram-server-la-gi-mua-ram-server-o-dau/?
fbclid=IwAR1915tgdTKuHgPnMeNB_aEXwNk9AnPLVur-
nLEhA8atTPqFrcXwKLcIMgo

https://dangdi.vn/tin-tuc/tim-hieu-y-nghia-thong-so-hdd-server.html
https://voer.edu.vn/c/ky-thuat-ong-dan-pipeline/c046e931/9919cdbf?
fbclid=IwAR3sFN3eeEPM4o8osmoEFzV9QeJbnzHhzaPnV3xep9TCD29ICeLHNdq
WFiA

https://voer.edu.vn/c/kho-khan-trong-ky-thuat-ong-dan/c046e931/42cb18ef?
fbclid=IwAR0sUV1M08DPustmfI05Fw2ulvimNhXfo1td0XqLaPYs-
FRBJ5oKl7iFJBM

https://drive.google.com/file/d/1RBkQz3gBu5w9SBiOUrp75gVnJAIXL-b4/view?
fbclid=IwAR1yvR_icIDcrBh02L54kjgSYRc52soo00RjCUdhgGZJFoeMbbIxiJ_91B
k

You might also like