Mục tiêu của môn học là cung cấp cho sinh viêncác kiến thức cơ sở của cấu trúc máy tính, bao gồm bao gồm cấu trúc máy tính tổngquát, cấu trúc bộ xử lý trung tâm và các thành phần của bộ
Trang 1ỦY BAN NHÂN DÂN TỈNH BR – VT
TRƯỜNG CAO ĐẲNG NGHỀ
GIÁO TRÌNH MÔN HỌC: CẤU TRÚC MÁY TÍNH NGHỀ : QUẢN TRỊ MẠNG TRÌNH ĐỘ : CAO ĐẲNG MẠNG
Ban hành kèm theo Quyết định số: /QĐ-CĐN… ngày…….tháng….năm
………… của Hiệu trưởng trường Cao đẳng nghề tỉnh BR - VT
Bà Rịa
Trang 2TUYÊN BỐ BẢN QUYỀN
Tài liệu này thuộc loại sách giáo trình nên các nguồn thông tin có thể đượcphép dùng nguyên bản hoặc trích dùng cho các mục đích về đào tạo và tham khảo.Mọi mục đích khác mang tính lệch lạc hoặc sử dụng với mục đích kinh doanhthiếu lành mạnh sẽ bị nghiêm cấm
Trang 3LỜI GIỚI THIỆU
Cấu trúc máy tính là một trong các lĩnh vực khoa học cơ sở của ngành Khoahọc máy tính nói riêng và Công nghệ thông tin nói chung Cấu trúc máy tính là khoahọc về lựa chọn và ghép nối các thành phần phần cứng của máy tính nhằm đạt đượccác mục tiêu về hiệu năng cao, tính năng đa dạng và giá thành thấp Môn học Cấutrúc máy tính là môn học cơ sở chuyên ngành trong chương trình đào tạo công nghệthông tin hệ đại học và cao đẳng Mục tiêu của môn học là cung cấp cho sinh viêncác kiến thức cơ sở của cấu trúc máy tính, bao gồm bao gồm cấu trúc máy tính tổngquát, cấu trúc bộ xử lý trung tâm và các thành phần của bộ xử lý trung tâm, cấu trúctập lệnh máy tính, cơ chế ống lệnh; hệ thống phân cấp của bộ nhớ, bộ nhớ trong, bộnhớ cache và các loại bộ nhớ ngoài; hệ thống bus và các thiết bị vào ra Cấu trúcmáy tính là một lĩnh vực đã được phát triển trong một thời gian tương đối dài vớilượng kiến thức đồ sộ, nhưng do khuôn khổ của tài liệu có tính chất là bài giảngmôn học, tác giả cố gắng trình bày những vấn đề cơ sở nhất phục vụ mục tiêu mônhọc Nội dung của tài liệu được biên soạn thành sáu chương: Chương 5 là phần đạicương giới thiệu các khái niệm cơ sở của cấu trúc máy tính, như lịch sử máy tính,cách phân loại, các thành quả của máy tính và khái niệm thông tin , các hệ đếm vàcách tổ chức dữ liệu trên máy tính cũng được trình bày trong chương này Chương 2giới thiệu về khối xử lý trung tâm, nguyên tắc hoạt động và các thành phần của nó.Khối xử lý trung tâm là thành phần quan trọng và phức tạp nhất trong máy tính,đóng vai trò là bộ não của máy tính Thông qua việc thực hiện các lệnh của chươngtrình bởi khối xử lý trung tâm, máy tính có thể thực thi các yêu cầu của người sửdụng Chương 3 giới thiệu về tập lệnh của máy tính, bao gồm các khái niệm về lệnh,dạng lệnh, các thành phần của lệnh; các dạng địa chỉ và các chế độ địa chỉ Chươngcũng giới thiệu một số dạng lệnh thông dụng kèm ví dụ minh hoạ Ngoài ra, cơ chếống lệnh – xử lý xen kẽ các lệnh cũng được đề cập Chương 4 trình bày về bộ nhớtrong: khái quát về hệ thống bộ nhớ và cấu trúc phân cấp của hệ thống nhớ; giớithiệu các loại bộ nhớ ROM và RAM Một phần rất quan trọng của chương là phần
Trang 4giới thiệu về bộ nhớ cache - một bộ nhớ đặc biệt có khả năng giúp tăng tốc hệ thốngnhớ nói riêng và cả hệ thống máy tính nói chung Chương 4 giới thiệu về bộ nhớngoài, bao gồm các loại đĩa từ, đĩa quang, các hệ thống RAID, NAS và SAN Bộnhớ ngoài là dạng bộ nhớ thường có dung lượng lớn và dùng để lưu trữ thông tin ổnđịnh, không phụ thuộc nguồn điện nuôi
Chương 5 trình bày về hệ thống bus và các thiết bị ngoại vi Phần trình bày về hệthống bus đề cập đến các loại bus như ISA, EISA, PCI, AGP và PCI-Express Tàiliệu được biên soạn dựa trên kinh nghiệm giảng dạy môn học Cấu trúc máy tính, kếthợp tiếp thu các đóng góp của đồng nghiệp và phản hồi từ sinh viên Tài liệu có thểđược sử dụng làm tài liệu học tập cho sinh viên hệ cao đẳng các ngành công nghệthông tin Trong quá trình biên soạn, mặc dù tác giả đã rất cố gắng song không thểtránh khỏi có những thiếu sót Tác giả rất mong muốn nhận được ý kiến phản hồi vàcác góp ý cho các thiếu sót, cũng như ý kiến về việc cập nhật, hoàn thiện nội dungcủa tài liệu
Trang 5MỤC LỤC
TUYÊN BỐ BẢN QUYỀN 2
LỜI GIỚI THIỆU 3
MỤC LỤC 5
CHƯƠNG TRÌNH MÔN HỌC CẤU TRÚC MÁY TÍNH 9
CHƯƠNG 1 : ĐẠI CƯƠNG 12
1 Các thế hệ máy tính 12
1.1 Lịch sử máy tính 12
1.2 Máy tính hiện tại và tương lai 15
2 Phân loại máy tính 17
2.1 Theo kích thước, công dụng ( tính năng và giá tiền) 17
2.2 Theo kiến trúc 19
3 Thành quả của máy tính 21
4 Thông tin và sự mã hoá 24
4.1 Khái niệm thông tin 24
4.2 Lượng thông tin và sự mã hóa thông tin 24
4.3 Hệ thống số 25
4.4 Biểu diễn thông tin 27
4.4.3 Kí tự: ASCII, Unicode 30
CÂU HỎI ÔN TẬP CHƯƠNG 1 32
CHƯƠNG 2: KIẾN TRÚC PHẦN MỀM BỘ XỬ LÝ 33
1 Thành phần cơ bản của một máy tính 33
2 Định nghĩa kiến trúc máy tính 36
3 Kiểu thi hành một lệnh 37
4 Kiểu kiến trúc thanh ghi đa dụng 39
5 Tập lệnh 40
5.1 Gán trị 41
5.2 Lệnh có điều kiện 43
5.2.1 Ghi nhớ điều kiện 43
5.2.1 Nhảy vòng 44
Trang 65.3 Vòng lặp 45
5.4 Thâm nhập bộ nhớ ngăn xếp 46
5.5 Các thủ tục 46
6 Toán hạng 48
7 Kiến trúc RISC( Reduced Instruction Set Computer) 49
8 Kiểu định vị trong các bộ xử lý RISC 52
8.1 Kiểu định vị thanh ghi 52
8.2 Kiểu định vị tức thì 53
8.3 Kiểu định vị trực tiếp 53
8.4 Kiểu định vị gián tiếp bằng thanh ghi độ + dời 54
CÂU HỎI ÔN TẬP CHƯƠNG 2 55
CHƯƠNG 3: TỔ CHỨC BỘ XỬ LÝ 56
1 Đường đi dữ liệu 56
2 Bộ điều khiển 59
2.1 Bộ điều khiển điện tử 59
2.2 Bộ điều khiển vi chương trình 60
3 Diễn tiến thi hành lệnh mã máy 62
4 Ngắt 64
5 Kỹ thuật ống dẫn 65
5.1 Giới thiệu 65
5.2 Khó khăn trong kỹ thuật ống dẫn 67
5.2.1 Khó khăn do cấu trúc: 67
5.2.2 Khó khăn do số liệu: 67
5.2.3 Khó khăn do điều khiển 68
6 Ống dẫn, siêu ống dẫn, siêu vô hướng 70
6.1 Giới thiệu 70
6.1.1 Siêu ống dẫn 70
6.1.2 Siêu ống dẫn vô hướng 71
CÂU HỎI ÔN TẬP CHƯƠNG 3 73
CHƯƠNG 4: CAC CẤP BỘ NHỚ 74
Trang 71 Các loại bộ nhớ 74
1.1 RAM, ROM 75
1.2 Thiết bị lưu trữ 81
2 Các cấp bộ nhớ 86
2.1 Giới thiệu 86
2.2 Các cấp bộ nhớ 87
3 Cách truy xuất dữ liệu trong bộ nhớ 94
4 Hiểu về bộ nhớ Cache và cách tổ chức bộ 95
4.1 Khái niệm: cache hit, cache miss, cache penalty 95
4.2 Hoạt động 96
4.2.1 Sắp xếp khối 96
4.2.2 Nhận diện khối 97
4.2.3 Thay thế khối 100
4.2.4 Chiến thuật ghi 100
4.3 Các mức Cache 102
4.4 Hiệu quả của Cache 103
CÂU HỎI ÔN TẬP CHƯƠNG 4 105
CHƯƠNG 5: THIẾT BỊ NHẬP XUẤT 106
1 Đĩa từ 106
1.1 Giới thiệu 106
1.2 Đĩa cứng 107
2 ĐĨA QUANG 113
2.1 Giới thiệu và nguyên lý 114
2.2 Các loại đĩa quang 115
2.3 Giới thiệu cấu tạo một số đĩa quang thông dụng 116
3 RAID 119
3.1 Giới thiệu RAID 119
3.2 Các kỹ thuật tạo RAID 119
3.3 Giới thiệu một số loại RAID thông dụng 121
4 Băng từ 123
Trang 85 Các chuẩn về BUS 124
5.1 Bus nối ngoại vi vào bộ xử lý và bộ nhớ trong 124
5.2 Giao tiếp giữa bộ xử lý với các bộ phận nhập xuất 128
6 An toàn dữ liệu trong lưu trữ 130
CÂU HỎI ÔN TẬP CHƯƠNG 5 133
Trang 9CHƯƠNG TRÌNH MÔN HỌC CẤU TRÚC MÁY TÍNH
Mã số của môn học: MH 13Thời gian của môn học: 75 giờ ; (Lý thuyết: 40 giờ; Thực hành: 35 giờ)
I VỊ TRÍ, TÍNH CHẤT MÔN HỌC:
- Vị trí:Môn học được bố trí sau khi sinh viên học xong các môn học chung, cácmôn học cơ sở chuyên ngành đào tạo chuyên môn nghề trước các môn học chuyênmôn nghề như lắp ráp; Sửa chữa máy tính…
- Tính chất: Là môn học chuyên ngành bắt buộc
II MỤC TIÊU MÔN HỌC:
- Trình bày được lịch sử của máy tính, các thế hệ máy tính và cách phân loạimáy tính
- Trình bày được các thành phần cơ bản của kiến trúc máy tính, các tập lệnh.Các kiểu kiến trúc máy tính: mô tả kiến trúc, các kiểu định vị
- Trình bày được cấu trúc của bộ xử lý trung tâm: tổ chức, chức năng và nguyên
lý hoạt động của các bộ phận bên trong bộ xử lý Mô tả diễn tiến thi hành một lệnh
mã máy và một số kỹ thuật xử lý thông tin: ống dẫn, siêu ống dẫn, siêu vô hướng
- Nêu được chức năng và nguyên lý hoạt động của các cấp bộ nhớ
- Trình bày được phương pháp an toàn dữ liệu trên thiết bị lưu trữ ngoài
- Vận dụng các kiến thức khi tiếp cận những công nghệ phần cứng mới
III NỘI DUNG MÔN HỌC:
1 Nội dung tổng quát và phân phối thời gian:
Số
Thời gian Tổng
số
Lý thuyết
Thực hành
Trang 10II Kiến trúc phần mềm bộ xử lý 15 8 7
7 Kiến trúc RISC( Reduced Instruction Set Computer) 0.5 0.5 0
4 Hiểu về bộ nhớ Cache và cách tổ chức bộ nhớ Cache
Trang 11CHƯƠNG 1 : ĐẠI CƯƠNG Giới thiệu
Mục tiêu:
- Trình bày được lịch sử phát triển của máy tính
- Trình bày được các thành phần cơ bản của một máy vi tính
- Trình bày được các thành tựu của máy tính
- Trình bày được khái niệm về thông tin
- Trình bày các cách biến đổi cơ bản của hệ thống số, các bảng mã thông dụng được dùng để biểu diễn các ký tự
Thế hệ đầu tiên (1946-1957)
Hình 1.1: Máy tính ENIACENIAC (Electronic Numerical Integrator and Computer) là máy tính điện tử số đầutiên do Giáo sư Mauchly và người học trò Eckert tại Đại học Pennsylvania thiết kế
Trang 12vào năm 1943 và được hoàn thành vào năm 1946 Đây là một máy tính khổng lồvới thể tích dài 20 mét, cao 2,8 mét và rộng vài mét ENIAC bao gồm: 18.000 đènđiện tử, 1.500 công tắc tự động, cân nặng 30 tấn, và tiêu thụ 140KW giờ Nó có 20thanh ghi 10 bit (tính toán trên số thập phân) Có khả năng thực hiện 5.000 phéptoán cộng trong một giây Công việc lập trình bằng tay bằng cách đấu nối các đầucắm điện và dùng các ngắt điện.
Giáo sư toán học John Von Neumann đã đưa ra ý tưởng thiết kế máy tính IAS(Princeton Institute for Advanced Studies): chương trình được lưu trong bộ nhớ, bộđiều khiển sẽ lấy lệnh và biến đổi giá trị của dữ liệu trong phần bộ nhớ, bộ làmtoán và luận lý (ALU: Arithmetic And Logic Unit) được điều khiển để tính toántrên dữ liệu nhị phân, điều khiển hoạt động của các thiết bị vào ra Đây là một ýtưởng nền tảng cho các máy tính hiện đại ngày nay Máy tính này còn được gọi là
máy tính Von Neumann.
Vào những năm đầu của thập niên 50, những máy tính thương mại đầu tiên đượcđưa ra thị trường: 48 hệ máy UNIVAC I và 19 hệ máy IBM 701 đã được bán ra
Thế hệ thứ hai (1958-1964)
Công ty Bell đã phát minh ra transistor vào năm 1947 và do đó thế hệ thứ hai
của máy tính được đặc trưng bằng sự thay thế các đèn điện tử bằng các transistorlưỡng cực Tuy nhiên, đến cuối thập niên 50, máy tính thương mại dùng transistormới xuất hiện trên thị trường Kích thước máy tính giảm, rẻ tiền hơn, tiêu tốn nănglượng ít hơn Vào thời điểm này, mạch in và bộ nhớ bằng xuyến từ được dùng.Ngôn ngữ cấp cao xuất hiện (như FORTRAN năm 1956, COBOL năm 1959,ALGOL năm 1960) và hệ điều hành kiểu tuần tự (Batch Processing) được dùng.Trong hệ điều hành này, chương trình của người dùng thứ nhất được chạy, xongđến chương trình của người dùng thứ hai và cứ thế tiếp tục
Thế hệ thứ ba (1965-1971)
Thế hệ thứ ba được đánh dấu bằng sự xuất hiện của các mạch kết (mạch tích
Trang 13Scale Integration) có thể chứa vài chục linh kiện và kết độ tích hợp mật độ trungbình (MSI: Medium Scale Integration) chứa hàng trăm linh kiện trên mạch tíchhợp.
Mạch in nhiều lớp xuất hiện, bộ nhớ bán dẫn bắt đầu thay thế bộ nhớ bằngxuyến từ Máy tính đa chương trình và hệ điều hành chia thời gian được dùng
Thế hệ thứ tư (1972-????)
Thế hệ thứ tư được đánh dấu bằng các IC có mật độ tích hợp cao (LSI: Large
Scale Integration) có thể chứa hàng ngàn linh kiện Các IC mật độ tích hợp rất cao(VLSI: Very Large Scale Integration) có thể chứa hơn 10 ngàn linh kiện trênmạch Hiện nay, các chip VLSI chứa hàng triệu linh kiện
Với sự xuất hiện của bộ vi xử lý (microprocessor) chứa cả phần thực hiện vàphần điều khiển của một bộ xử lý, sự phát triển của công nghệ bán dẫn các máy vitính đã được chế tạo và khởi đầu cho các thế hệ máy tính cá nhân
Các bộ nhớ bán dẫn, bộ nhớ cache, bộ nhớ ảo được dùng rộng rãi
Các kỹ thuật cải tiến tốc độ xử lý của máy tính không ngừng được phát triển:
kỹ thuật ống dẫn, kỹ thuật vô hướng, xử lý song song mức độ cao,
Việc chuyển từ thế hệ thứ tư sang thế hệ thứ 5 còn chưa rõ ràng Người Nhật
đã và đang đi tiên phong trong các chương trình nghiên cứu để cho ra đời thế hệthứ 5 của máy tính, thế hệ của những máy tính thông minh, dựa trên các ngôn ngữtrí tuệ nhân tạo như LISP và PROLOG, và những giao diện người - máy thôngminh Đến thời điểm này, các nghiên cứu đã cho ra các sản phẩm bước đầu và gầnđây nhất (2004) là sự ra mắt sản phẩm người máy thông minh gần giống với con
người nhất: ASIMO (Advanced Step Innovative Mobility: Bước chân tiên tiến của đổi mới và chuyển động) Với hàng trăm nghìn máy móc điện tử tối tân đặt trong
cơ thể, ASIMO có thể lên/xuống cầu thang một cách uyển chuyển, nhận diệnngười, các cử chỉ hành động, giọng nói và đáp ứng một số mệnh lệnh của conngười Thậm chí, nó có thể bắt chước cử động, gọi tên người và cung cấp thông tinngay sau khi bạn hỏi, rất gần gũi và thân thiện Hiện nay có nhiều công ty, viện
Trang 14nghiên cứu của Nhật thuê Asimo tiếp khách và hướng dẫn khách tham quan như:Viện Bảo tàng Khoa học năng lượng và Đổi mới quốc gia, hãng IBM Nhật Bản,Công ty điện lực Tokyo Hãng Honda bắt đầu nghiên cứu ASIMO từ năm 1986dựa vào nguyên lý chuyển động bằng hai chân Cho tới nay, hãng đã chế tạo được
50 robot ASIMO
Các tiến bộ liên tục về mật độ tích hợp trong VLSI đã cho phép thực hiện cácmạch vi xử lý ngày càng mạnh (8 bit, 16 bit, 32 bit và 64 bit với việc xuất hiện các
bộ xử lý RISC năm 1986 và các bộ xử lý siêu vô hướng năm 1990) Chính các bộ
xử lý này giúp thực hiện các máy tính song song với từ vài bộ xử lý đến vài ngàn
bộ xử lý Điều này làm các chuyên gia về kiến trúc máy tính tiên đoán thế hệ thứ 5
là thế hệ các máy tính xử lý song song
1.2 Máy tính hiện tại và tương lai
Các nhà khoa học về máy tính đều thừa nhận máy tính lượng tử hứa hẹn sẽtạo nên một cuộc cách mạng trong công nghệ máy tính tương lai Vậy máy tínhlượng tử đang phát triển ở mức độ nào và con người sẽ khai thác năng lượng từ cơhọc lượng tử như thế nào? Đó là mối quan tâm của không chỉ người sử dụng máytính mà còn là mối quan tâm của các nhà nghiên cứu và hãng máy tính
Ý tưởng máy tính lượng tử được đề xuất lần đầu tiên vào năm 1980 bởi nhà toánhọc người Đức gốc Nga Yuri Manin bằng cách sử dụng các hiệu ứng chồng chập vàvướng víu lượng tử để thực hiện các tính toán trên dữ liệu đưa vào Khác với máy tính kỹthuật số dựa trên tranzitor đòi hỏi cần phải mã hóa dữ liệu thành các chữ số nhị phân, mỗi
số được gán cho 1 trong 2 trạng thái nhất định là 0 hoặc 1, tính toán lượng tử sử dụng cácbit lượng tử ở trong trạng thái chồng chập để tính toán Điều này có nghĩa là ở cùng mộtthời điểm, 1 bit lượng tử - đơn vị cơ bản của thông tin trong điện toán, viết tắt là qubit - cóthể có giá trị 0 và 1 Về mặt lý thuyết, một máy tính có nhiều qubit có khả năng xử lý mộtlượng tác vụ vô cùng lớn như tính toán số học hoặc thực hiện tìm kiếm trong cơ sở dữ liệulớn (Big data) trong thời gian nhanh hơn nhiều so với các máy tính thông thường
Trang 15Hiện nay, nhiều phòng thí nghiệm trên khắp thế giới đã chế tạo ra các thiết bị cókhả năng thực hiện các phép tính lượng tử trên một số nhỏ qubit Năm 2007, công ty D-Wave tại Canada đã công bố chiếc máy tính lượng tử đầu tiên có khả năng thương mại hóamang tên D-Wave One Tiếp theo, D-Wave cho ra đời phiên bản thứ 2 của máy tính lượng
tử mang tên D-Wave 2 Tháng 6/2011, Công ty D-Wave Systems, Inc., đã bán chiếc máytính lượng tử thương mại đầu tiên cho đối tác là công ty quốc phòng Lockheed Martin(Bethesda,Maryland, Hoa Kỳ) Theo lý thuyết, D-Wave có khả năng giải quyết đượcnhững vấn đề mà các siêu máy tính chưa làm được trên nhiều lĩnh vực, như mật mã, côngnghệ nano, trí tuệ nhân tạo
Hãng D-Wave mô tả đó là một cỗ máy hoạt động theo phương pháp lượng tử và cóthể thực hiện tính toán Tuy nhiên, D-Wave có rất ít các khách hàng do tính rủi ro Bêncạnh đó, chưa có ai có thể sử dụng D-Wave để thực hiện tính toán cụ thể như các máy tính
cổ điển Gần đây, Google cũng đã bắt tay với NASA nhằm thực hiện nghiên cứu điện toánlượng tử bằng cỗ máy D-Wave Do đó, cho tới hiện tại, cỗ máy trên chỉ phục vụ cho côngtác nghiên cứu nhằm tiếp tục phát triển lý thuyết hơn là được sử dụng thực tiễn.Smelyanskiy, nhà nghiên cứu cho dự án hợp tác nghiên cứu điện toán lượng tử giữa NASA và Google, cho biết rằng dự án vẫn chưa đạt được thành tựu đột phá và vẫn cần ítnhất là từ 15 đến 25 năm nữa để chứng minh khả năng ứng dụng thực tế của D-Wave Vậy khi nào chúng ta có thể sử dụng máy tính lượng tử như với máy tính cá nhân hiệnnay? Theo Smelyanskiy, chúng ta sẽ khó có thể sở hữu một máy tính lượng tử trong vàithập kỷ tới Hơn nữa, chức năng của máy tính lượng tử là giải quyết các vấn đề tính toánlớn và rất phức tạp, chứ không giống như cách chúng ta sử dụng như máy tính cá nhântruyền thống
2 Phân loại máy tính
2.1 Theo kích thước, công dụng ( tính năng và giá tiền)
- Siêu máy tính
Một siêu máy tính là một máy tính vượt trội trong khả năng và tốc độ xử lý
Thuật ngữ Siêu Tính Toán được dùng lần đầu trong báo New York World vào
Trang 16năm 1920 để nói đến những bảng tính (tabulators) lớn của IBM làm cho trường Đại
học Columbia Siêu máy tính hiện nay có tốc độ xử lý hàng nghìn teraflop (mộtteraflop tương đương với hiệu suất một nghìn tỷ phép tính/giây) hay bằng tổng hiệusuất của 6.000 chiếc máy tính hiện đại nhất hiện nay gộp lại (một máy có tốc độkhoảng từ 3-3,8 gigaflop)
- Siêu máy tính cỡ nhỏ
Siêu máy tính cỡ nhỏ (minisupercomputers) là một dòng máy tính xuất hiện
vào giữa thập kỉ 1980 Khi việc tính toán khoa học dùng bộ xử lí vector trở nên phổbiến hơn, nhu cầu sử dụng hệ thống giá thành thấp để dùng ở cấp độ phòng ban thay
vì ở cấp độ doanh nghiệp mang đến cơ hội cho các nhà kinh doanh máy tính mớibước vào thị trường Nhìn chung, mục tiêu về giá cả của các máy tính nhỏ hơn này
là 1/10 các siêu máy tính lớn hơn Đặc trưng của các máy tính này là sự kết hợp
giữa xử lí vector và đa xử lí cỡ nhỏ (small-scale).
Sự xuất hiện của máy trạm khoa học với giá còn thấp hơn nữa dựa trên bộ vi
xử lí cùng với đơn vị dấu chấm động (floating point unit, FPU) hiệu năng cao vào
thập kỉ 1990 (nhưR8000 của hãng MIPS và POWER2 của hãng IBM) đã xoá bỏ nhucầu của dòng máy tính này
-Mainframe
Máy tính lớn (tiếng Anh: Mainframe) là loại máy tính có kích thước lớn được
sử dụng chủ yếu bởi các công ty lớn như các ngân hàng, các hãng bảo hiểm đểchạy các ứng dụng lớn xử lý khối lượng lớn dữ liệu như kết quả điều tra dân số,thống kê khách hàng và doanh nghiệp, và xử lý các giao tác thương mại
Hiện nay thị trường máy tính lớn do IBM chiếm 99%, với máy IBM ZSeries(hệ điều hành MVS) Z có nghĩa Zero, Zero downtime, có nghĩa là máy có thể hoạtđộng 24/24 giờ mỗi ngày, 7/7 ngày mỗi tuần, và 365/365 ngày không ngừng So vớicác máy tính loại nhỏ như máy tính cá nhân, máy tính lớn cũng như 1 chiếc xe tăng:vững chắc, có thể nhận hàng ngàn lệnh cùng 1 lúc Ví dụ máy IBM Z9 (2008) có thể
Trang 17- Máy chủ doanh nghiệp
Là một hệ thống máy tính chủ yếu dùng để phục vụ cho một doanh nghiệp lớn
Ví dụ các loại máy chủ như máy chủ web, máy chủ in ấn, và máy chủ cơ sở dữ liệu.Tính chất chủ yếu để phân biệt một máy chủ doanh nghiệp là ở tính ổn định vì ngay
cả một sự cố ngắn hạn cũng có thể gây thiệt hại hơn cả việc mua mới và cài đặt mới
hệ thống Lấy ví dụ, một hệ thống máy tính trong thị trường chứng khoán cấp quốcgia có trục trặc, chỉ cần ngưng hoạt động trong vòng vài phút có thể cho thấy việcthay thế toàn bộ hệ thống hiện tại bằng một hệ thống đáng tin cậy hơn vẫn là giảipháp tốt hơn
- Máy trạm (workstation)
Workstation (một số tài liệu gọi là máy trạm) được sử dụng theo các nghĩa:
Workstation là một http://en.wikipedia.org/wiki/Microcomputer được thiết kế dành
để chạy các ứng dụng kỹ thuật hoặc khoa học.Mục đích chính cho việc tạo ra máytính này là để phục vụ cho 1 người tại 1 thời điểm có thể kết nối với nhau qua mạngmáy tính và phục vụ nhiều User cùng lúc Một nhóm các máy trạm có thể xử lý cáccông việc của một máy tính lớn Main Frame nếu như được kết nối mạng với nhau.Các máy trạm cung cấp hiệu suất cao hơn máy tính để bàn, đặc biệt là về CPU, đồhọa, bộ nhớ và khả năng xử lý đa nhiệm Nó được tối ưu hóa cho việc xử lý các loại
dữ liệu phức tạp như các bản vẽ 3D trong cơ khí, các mô phỏng trong thiết kế, vẽ vàtạo ra các hình ảnh động, các logic toán học Thông thường các bộ phận giao tiếpvới máy trạm bao gồm: màn hình với độ phân giải cao, bàn phím và chuột Đôi khicũng cấp kết nối với nhiều màn hình, máy tính bảng đồ họa và chuột 3D Hiện nay,thị trường máy trạm do các ông lớn trong ngành máy tính như DELL,HP và báncũng các bản Windows/ Linux chạy trên CPU Intel Xeon/AMD Opteron
- Máy tính cá nhân (PC_ personal computer ) là một loại máy vi tính nhỏ với giá cả, kích thước và sự tương thích của nó khiến nó hữu dụng cho từng cá nhân.+ Máy tính để bàn( Desktop)
+ Máy tính xách tay ( laptop)
Trang 18+ Máy tính bản
+ Thiết bị kỹ thuật số PDA
Sơ đồ kiến trúc máy tính von-Neumann Kiến trúc máy tính von-Neumann được nhàtoán học John von-Neumann đưa ra vào năm 1945 trong một báo cáo về máy tínhEDVAC như minh hoạ trên Hình 1.2 - Kiến trúc máy tính von-Neumann nguyênthuỷ
Hình 1.2: Kiến trúc máy tính von-Neumann nguyên thuỷCác máy tính hiện đại ngày nay sử dụng kiến trúc máy tính von-Neumann cảitiến – còn gọi là kiến trúc máy tính von-Neumann hiện đại, như minh hoạ trên Hình1.3
Trang 19Hình 1.3: Kiến trúc máy tính von-Neumann hiện đạiCác đặc điểm của kiến trúc von-Neumann Kiến trúc von-Neumann dựa trên 3khái niệm cơ sở: (1) Lệnh và dữ liệu được lưu trữ trong bộ nhớ đọc ghi chia sẻ - một
bộ nhớ duy nhất được sử dụng để lưu trữ cả lệnh và dữ liệu, (2) Bộ nhớ được đánhđịa chỉ theo vùng, không phụ thuộc vào nội dung nó lưu trữ và (3) Các lệnh của mộtchương trình được thực hiện tuần tự Quá trình thực hiện lệnh được chia thành 3 giaiđoạn (stages) chính: (1) CPU đọc (fetch) lệnh từ bộ nhớ, (2) CPU giải mã và thựchiện lệnh; nếu lệnh yêu cầu dữ liệu, CPU đọc dữ liệu từ bộ nhớ; và (3) CPU ghi kếtquả thực hiện lệnh vào bộ nhớ (nếu có)
- Kiến trúc máy tính Harvard:
Kiến trúc máy tính Harvard là một kiến trúc tiên tiến như minh hoạ trên Hình 6
Hình 1.4: Kiến trúc máy tính HarvardKiến trúc máy tính Harvard chia bộ nhớ trong thành hai phần riêng rẽ: Bộ nhớlưu chương trình (Program Memory) và Bộ nhớ lưu dữ liệu (Data Memory) Hai hệthống bus riêng được sử dụng để kết nối CPU với bộ nhớ lưu chương trình và bộnhớ lưu dữ liệu Mỗi hệ thống bus đều có đầy đủ ba thành phần để truyền dẫn cáctín hiệu địa chỉ, dữ liệu và điều khiển Máy tính dựa trên kiến trúc Harvard có khảnăng đạt được tốc độ xử lý cao hơn máy tính dựa trên kiến trúc von-Neumann dokiến trúc Harvard hỗ trợ hai hệ thống bus độc lập với băng thông lớn hơn Ngoài ra,nhờ có hai hệ thống bus độc lập, hệ thống nhớ trong kiến trúc Harvard hỗ trợ nhiềulệnh truy nhập bộ nhớ tại một thời điểm, giúp giảm xung đột truy nhập bộ nhớ, đặcbiệt khi CPU sử dụng kỹ thuật đường ống (pipeline)
Trang 203 Thành quả của máy tính
Qui luật Moore về sự phát triển của máy tính
Hình 1.5: Đánh giá thành quả của máy tínhHình 1.5 cho thấy diễn biến của thành quả tối đa của máy tính Thành quảnày tăng theo hàm số mũ, độ tăng trưởng các máy vi tính là 35% mỗi năm, còn đốivới các loại máy khác, độ tăng trưởng là 20% mỗi năm Điều này cho thấy tínhnăng các máy vi tính đã vượt qua các loại máy tính khác vào đầu thập niên 90
Máy tính dùng thật nhiều bộ xử lý song song rất thích hợp khi phải làm tínhthật nhiều
Sự tăng trưởng theo hàm số mũ của công nghệ chế tạo transistor MOS là nguồn gốccủa thành quả các máy tính
Hình 1.4 cho thấy sự tăng trưởng về tần số xung nhịp của các bộ xử lý MOS Độtăng trưởng của tần số xung nhịp bộ xử lý tăng gấp đôi sau mỗi thế hệ và độ trìhoãn trên mỗi cổng I xung nhịp giảm 25% cho mỗi năm
Trang 21Sự phát triển của công nghệ máy tính và đặc biệt là sự phát triển của bộ vi xử lý củacác máy vi tính làm cho các máy vi tính có tốc độ vượt qua tốc độ bộ xử lý của cácmáy tính lớn hơn.
Hình 1.6: Sự phát triển của bộ xử lý Intel dựa vào số lượng Transistor
trong một mạch tích hợp theo quy luật Moore
Từ năm 1965, Gordon Moore (đồng sáng lập công ty Intel) quan sát và nhậnthấy số transistor trong mỗi mạch tích hợp có thể tăng gấp đôi sau mỗi năm, G
Trang 22Moore đã đưa ra dự đoán:Khả năng của máy tính sẽ tăng lên gấp đôi sau 18 thángvới giá thành là như nhau.
Kết quả của quy luật Moore là:
Chi phí cho máy tính sẽ giảm
Giảm kích thước các linh kiện, máy tính sẽ giảm kích thước
Hệ thống kết nối bên trong mạch ngắn: tăng độ tin cậy, tăng tốc độ
Tiết kiệm năng lượng cung cấp, toả nhiệt thấp
Một số khái niệm liên quan:
Hình 1.7: Xung nhịp các bộ xử lý MOSMật độ tích hợp là số linh kiện tích hợp trên một diện tích bề mặt tấm siliconcho sẵn, cho biết số nhiệm vụ và mạch có thực hiện
• Tần số xung nhịp bộ xử lý cho biết
• Tần số thực hiện các nhiệm vụ
• Tốc độ xử lý của máy tính trong một giây (hay công suất tính toán của mỗimạch): được tính bằng tích của mật độ tích hợp và tần số xung nhịp Công suất này
Trang 23cũng tăng theo hàm mũ đối với thời gianCác IC thay thế cho các linh kiện rời.
4 Thông tin và sự mã hoá
4.1 Khái niệm thông tin
Khái niệm về thông tin gắn liền với sự hiểu biết một trạng thái cho sẵn trongnhiều trạng thái có thể có vào một thời điểm cho trước
Trong hình này, chúng ta quy ước có hai trạng thái có ý nghĩa: trạng thái thấpkhi hiệu điện thế thấp hơn VL và trạng thái cao khi hiệu điện thế lớn hơn VH Để cóthông tin, ta phải xác định thời điểm ta nhìn trạng thái của tín hiệu Thí dụ, tại thờiđiểm t1 thì tín hiệu ở trạng thái thấp và tại thời điểm t2 thì tín hiệu ở trạng thái cao
4.2 Lượng thông tin và sự mã hóa thông tin.
Thông tin được đo lường bằng đơn vị thông tin mà ta gọi là bit Lượng thông tinđược định nghĩa bởi công thức:
I= Log2(N)
Trong đó: I: là lượng thông tin tính bằng bit
N: là số trạng thái có thể có
Vậy một bit ứng với sự hiểu biết của một trạng thái trong hai trạng thái có thể
có Thí dụ,sự hiểu biết của một trạng thái trong 8 trạng thái có thể ứng với mộtlượng thông tin là:
Trang 24Hình 2 Giá trị các số thập lục phân theo hệ thập phân và nhị phân
4.3.2 Chuyển đổi giữa các hệ thống số
- Chuyển từ hệ nhị phân và thập lục phân sang hệ thập phân:
Ta có thể biểu diễn bất kỳ một số N nào trong hệ cơ số S bằng đa thức sau:
Trang 25Muốn đổi một số nguyên trong hệ thập phân sang hệ cơ số S ta thực hiện như sau: Lấy phần nguyên chia cho cơ số S, ghi lại số dư của phép chia Đem kết quả của phép chia ( thương số tiếp tục chia cho cơ số S, qua 1trình cứ tiếp tục cho đến khi kết quả phép chia bằng 0 Số đã cho trong hệ phân tương đương trong hệ cơ số S là tập hợp các số dư của phép chia, trong đó số dư đầu tiên có trọng số nhỏ nhất.
Lưu ý: Mỗi chữ số trong hệ thập lục phân tương đương một nhóm bốn chữ số trong hệ nhị
phân, do đó, ngoài những quy tắc chuyển đổi như đã nêu trên, người ta có thể đổi số trên
cơ sở hệ nhị phân làm trung gian Khi đổi từ hệ nhị phân sang hệ thập lục phân, các số nhị phân được gom thành 4 chữ số tính tư phải sang trái, mỗi nhóm này được thay bằng một chữ số thập lục phân tương ứng và ngược lại.
Quan hệ giữa các số trong một số hệ thông dụng
Bảng 1.2: Quan hệ giữa các số trong một số hệ thông dụng4.4 Biểu diễn thông tin
Trang 26Số nguyên có dấu: Trị tuyệt đối, bù 1, bù 2, thừa k, BCD
Trong cách biểu diễn này, số âm -N được cóbằng cách thay các số nhị phân di của
số đương N bằng số bù của nó(nghĩa là nếu di = 0 thì người ta đổi nó thành 1 và ngược lại)
Vídụ: (+25)10= (00011001)2(-25)10= (11100110)2 -Một Byte cho phép biểu diễn tất cảcác sốcódấu từ-127 (1000 0000)2 đến 127 (0111 1111) 2 -Cóhai cách biểu diễn cho 0 là0000 0000 (+0) và 1111 1111 (-0)
4.4.1 Số thực: Số thực dấu chấm động.
- 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:
Trang 28số và một số dấu thường dùng mà ta gọi chung là ký tự Mỗi ký tự được biểu diễnbởi 7 bit trong một Byte Hiện nay, một trong các bảng mã thông dụng được dùng làUnicode, trong bảng mã này, mỗi ký tự được mã hoá bởi 2 Byte.
Trang 31CÂU HỎI ÔN TẬP CHƯƠNG 1.
1 Dựa vào tiêu chuẩn nào người ta phân chia máy tính thành các thếhệ?
2 Đặc trưng cơ bản của các máy tính thế hệ thứ nhất?
3 Đặc trưng cơ bản của các máy tính thế hệ thứ hai?
4 Đặc trưng cơ bản của các máy tính thế hệ thứ ba?
5 Đặc trưng cơ bản của các máy tính thế hệ thứ tư?
6 Việc phân loại máy tính dựa vào tiêu chuẩn nào?
7 Khái niệm thông tin trong máy tính được hiểu như thế nào?
8 Lượng thông tin là gì?
Bài tập
Đổi số 42 sang các dạng cơ số sau
Thập lục phân (Hex)
Nhị phân (Bin)
Đổi 2 số sau sang dạng cơ số nhị phân và cộng 2 sốnhị phân đó lại: 189 và 36
Số nhị phân 8 bit (11001100)2, số này tương ứng với số nguyên thập phâncódấu là bao nhiêu nếu số đang được biểu diễn trong cách biểu diễn: Dấu vàtrịtuyệt đối, Số bù 1,Số bù 2
Trang 32CHƯƠNG 2: KIẾN TRÚC PHẦN MỀM BỘ XỬ LÝ
Mục tiêu:
- Trình bày tổng quát tập lệnh của các kiến trúc máy tính, các kiểu định vị được dùng trong kiến trúc, loại và chiều dài của toán hạng, tác vụ mà máy tính có thể thực hiện
- Trình bày được kiến trúc RISC (ReducedInstructionSetComputer)
- Tính tư duy khoa học trong học tập
Nội dung
1 Thành phần cơ bản của một máy tính
Khối xử lý trung tâm Khối xử lý trung tâm (Central Processing Unit CPU) là thành phần quan trọng nhất – đư ợc xem là bộ não của máy tính Các yêu
-cầu của hệ thống và của người sử dụng thường được biểu diễn thành các chươngtrình máy tính, trong đó mỗi chương trình thường được tạo thành từ nhiều lệnh củaCPU CPU đảm nhiệm việc đọc các lệnh của chương trình từ bộ nhớ, giải mã vàthực hiện lệnh Thông qua việc CPU thực hiện các lệnh của chương trình, máy tính
có khả năng cung cấp các tính năng hữu ích cho người sử dụng CPU là vi mạch tíchhợp với mật độ rất cao, được cấu thành từ bốn thành phần con: (1) Bộ điều khiển(Control Unit - CU), (2) Bộ tính toán số học và logic (Arithmetic and Logic Unit -ALU), (3) Các thanh ghi (Registers) và bus trong CPU (Internal Bus) Bộ điều khiển
có nhiệm vụ đọc, giải mã và điều khiển quá trình thực hiện lệnh Bộ tính toán số học
và logic chuyên thực hiện các phép toán số học như cộng trừ, nhân, chia, và cácphép toán lôgic như và, hoặc, phủ định và các phép dịch, quay Các thanh ghi là khochứa lệnh và dữ liệu tạm thời cho CPU xử lý Bus trong CPU có nhiệm vụ truyềndẫn các tín hiệu giữa các bộ phận trong CPU và kết nối với hệ thống bus ngoài.Hình 2.1 minh hoạ hai CPU của hãng Intel là 8086 ra đời năm 1978 và Core 2 Duo
ra đời năm 2006
Trang 33Hình 2.1 CPU của hãng Intel: 8086 và Core 2 Duo
Bộ nhớ trong :Bộ nhớ trong, còn gọi là bộ nhớ chính (Internal Memory hay
Main Memory) là kho chứa lệnh và dữ liệu của hệ thống và của người dùng phục vụCPU xử lý Bộ nhớ trong thường là bộ nhớ bán dẫn, bao gồm hai loại: (1) Bộ nhớchỉ đọc (Read Only Memory – ROM) và (2) Bộ nhớ truy cập ngẫu nhiên (RandomAccess Memory – RAM) ROM thường được sử dụng để lưu lệnh và dữ liệu của hệthống Thông tin trong ROM được nạp từ khi sản xuất và thường chỉ có thể đọc ratrong quá trình sử dụng Hơn nữa thông tin trong ROM luôn tồn tại kể cả khi không
có nguồn điện nuôi
Khác với bộ nhớ ROM, bộ nhớ RAM thường được sử dụng để lưu lệnh và dữliệu của cả hệ thống và của người dùng RAM thường có dung lượng lớn hơn nhiều
so với ROM Tuy nhiên, thông tin trong RAM chỉ tồn tại khi có nguồn điện nuôi.Hình 3 minh hoạ vi mạch bộ nhớ ROM và các vi mạch nhớ RAM gắn trên mộtthanh nhớ RAM
Trang 34Hình 2.2 Bộ nhớ ROM và RAM
Các thiết bị vào ra: Các thiết bị vào ra (Input – Output devices), hay còn gọi
là các thiết bị ngoại vi (Peripheral devices) đảm nhiệm việc nhập dữ liệu vào, điềukhiển hệ thống và kết xuất dữ liệu ra Có hai nhóm thiết bị ngoại vi: (1) Các thiết bịvào (Input devices) và (2) Các thiết bị ra (Output devices) Các thiết bị vào dùng đểnhập dữ liệu vào và điều khiển hệ thống, gồm: bàn phím (keyboard), chuột (mouse),
ổ đĩa (Disk Drives), máy quét ảnh (Scanners), Các thiết bị ra dùng để xuất dữ liệu
ra, gồm: màn hình (Screen), máy in (Printers), ổ đĩa (Disk Drives), máy vẽ(Plotters),
Hình 2.3: Các thiết bị ngoại vi cơ bản(Bàn phím, chuột, màn hình)
Trang 35Bus hệ thống: Bus hệ thống (System Bus) là một tập các đường dây kết nối
CPU với các thành phần khác của máy tính Bus hệ thống thường gồm ba bus con:Bus địa chỉ – Bus A (Address bus), Bus dữ liệu – Bus D (Data bus), Bus điều khiển
- Bus C (Control bus) Bus địa chỉ có nhiệm vụ truyền tín hiệu địa chỉ từ CPU đến
bộ nhớ và các thiết bị ngoại vi; Bus dữ liệu vận chuyển các tín hiệu dữ liệu theo haichiều đi và đến CPU; Bus điều khiển truyền tín hiệu điều khiển từ CPU đến cácthành phần khác, đồng thời truyền tín hiệu trạng thái của các thành phần khác đếnCPU
2 Định nghĩa kiến trúc máy tính
Kiến trúc máy tính bao gồm ba phần: Kiến trúc phần mềm, tổ chức của máy tính
Kiểu định vị chỉ ra cách thức thâm nhập toán hạng
Kiến trúc phần mềm là phần mà các lập trình viên hệ thống phải nắm vững đểviệc lập trình hiểu quả, ít sai sót
Phần tổ chức của máy tính liên quan đến cấu trúc bên trong của bộ xử lý, cấutrúc các bus, các cấp bộ nhớ và các mặt kỹ thuật khác của máy tính Phần này sẽđược nói đến ở các chương sau
Lắp đặt phần cứng của máy tính ám chỉ việc lắp ráp một máy tính dùng các linhkiện điện tử và các bộ phận phần cứng cần thiết Chúng ta không nói đến phần nàytrong giáo trình
Ta nên lưu ý rằng một vài máy tính có cùng kiến trúc phần mềm nhưng phần tổ
Trang 36chức là khác nhau (VAX- 11/780 và VAX 8600) Các máy 11/780 và 11/785 có cùng kiến trúc phần mềm và phần tổ chức gần giống nhau Tuy nhiênviệc lắp đặt phần cứng các máy này là khác nhau Máy VAX- 11/785 đã dùng cácmạch kết hiện đại để cải tiến tần số xung nhịp và đã thay đổi một ít tổ chức của bộnhớ trong.
Ví dụ: lệnh Y := A + B + C + D có thể được hiện bằng một lệnh mã máy nếu ta
có 3 mạch cộng, hoặc được thực hiện bằng 3 lệnh mã máy nếu chúng ta chỉ có mộtmạch cộng, nếu việc tính toán trên xảy ra ít, người ta chỉ cần thiết kế một mạch cộngthay vì phải tốn chi phí lắp đặt 3 mạch cộng Tuy nhiên, với một mạch cộng thì thờigian tính toán của hệ thống sẽ chậm hơn với hệ thống có ba mạch cộng
Vị trí của toán hạng cũng được xem xét Bảng 2.1 chọn một vài nhà sản xuất máy tính và 3 kiểu cơ bản của vị trí các toán hạng đối với những lệnh tính toán trong ALU là: ở ngăn xếp, trên thanh ghi tích luỹ, và trên các thanh ghi đa dụng Những kiến trúc phần mềm này được gọi là kiến trúc ngăn xếp, kiến trúc thanh ghi tích luỹ và kiến trúc thanh ghi đa dụng
Vị trí đặt kếtquả
Cách thức thâm nhập vào
toán hạngNgăn xếp B 5500 HP
Trang 37Thanh ghi
tĩch luỹ
PDP 8Motorola6809
tĩch luỹ
Lệnh nạp vào hoặc lấy ra
từ thanh ghi tích luỹ (load,
store)Thanh ghi
đa dụng
IBM 360DEC, VAX 2 hoặc 3
Thanh ghihoặc bộ nhớ
Lệnh nạp vào hoặc lấy ra tữthanh ghi hoặc bộ nhớ
Bảng 2.1 : Ví dụ về cách chọn lựa vị trí các toán hạng
Một vài nhà sản xuất máy tính tuân thủ chặt chẽ các kiểu chọn vị trí toán hạngnêu trên, nhưng phần nhiều các bộ xử lý dùng kiểu hỗn tạp Ví dụ, mạch xử lý 8086của Intel dùng cùng một lúc kiểu "thanh ghi đa dụng" và kiểu "thanh ghi tích luỹ"
Ví dụ minh hoạ chuỗi lệnh phải dùng để thực hiện phép tính C := A + B trong 3 kiểu kiến trúc phần mềm.
Kiến trúc ngăn xếp Kiến trúc thanh ghi
tích lũy
Kiến trúc thanh ghi đa
dụng
POP C
Bảng 2.2: Chuỗi lệnh dùng thực hiện phép tính C := A + B (giả sử A, B,
C đều nằm trong bộ nhớ trong)
Hiện tại các nhà sản xuất máy tính có khuynh hướng dùng kiến trúc phần mềm thanh ghi đa dụng vì việc thâm nhập các thanh ghi đa dụng nhanh hơn thâm nhập bộ nhớ trong, và vì các chương trình dịch dùng các thanh ghi đa dụng có hiệu quả hơn
Ngăn xếp (Stack) - Lệnh ngắn
- Ít mã máy
- Làm tối thiểu trạngthái bên trong của máytính
- Dễ dàng tạo ra một
bộ biên dịch đơn giản
Thâm nhập ngăn xếpkhông ngẫu nhiên -
Mã không hiệu quả
- Khó dùng trong xử lýsong song và ống dẫn
- Khó tạo ra một bộbiên dịch tối ưu)
Trang 38cho kiến trúc ngăn xếpThanh ghi tích luỹ
(Accumulator Register
- Lệnh ngắn - Làm tốithiểu trạng thái bêntrong của máy tính(yêu cầu ít mạch chứcnăng) - Thiết kế dễdàng
- Lưu giữ ở thanh ghitích luỹ là tạm thời
- Nghẽn ở thanh ghitích luỹ
- Khó dùng trong xử lýsong song và ống dẫn -Trao đổi nhiều với bộnhớ
Thanh ghi đa dụng
(General Register)
- Tốc độ x ử lý nhanh,định vị đơn giản
- Ít thâm nhập bộ nhớ
- Kiểu rất tổng quát đểtạo các mã hữu hiệu
- Lệnh dài
- Số lượng thanh ghi bịgiới hạn
Bảng 2.3: Điểm lợi và bất lợi của 3 kiểu kiến trúc phần mềm
4 Kiểu kiến trúc thanh ghi đa dụng
Do hiện nay kiểu kiến trúc thanh ghi đa dụng chiếm vị trí hàng đầu nên trongcác phần sau, ta chỉ đề cập đến kiểu kiến trúc này
Đối với một lệnh tính toán hoặc logic điển hình (lệnh ALU), có 2 điểm cần nêulên
Trước tiên, một lệnh ALU phải có 2 hoặc 3 toán hạng Nếu trong lệnh có 3 toánhạng thì một trong các toán hạng chứa kết quả phép tính trên hai toán hạng kia (Vídụ: add A, B, C)
Nếu trong lệnh có 2 toán hạng thì một trong hai toán hạng phải vừa là toánhạng nguồn, vừa là toán hạng đích (Ví dụ: add A, B)
Thứ hai, số lượng toán hạng bộ nhớ có trong lệnh Số toán hạng bộ nhớ có thểthay đổi từ 0 tới 3
Trang 39Trong nhiều cách tổ hợp có thể có các loại toán hạng của một lệnh ALU, cácmáy tính hiện nay chọn một trong 3 kiểu sau : thanh ghi-thanh ghi (kiểu này cònđược gọi nạp - lưu trữ), thanh ghi - bộ nhớ và bộ nhớ - bộ nhớ.
Kiểu thanh ghi - thanh ghi được nhiều nhà chế tạo máy tính lưu ý với các lý do:việc tạo các mã máy đơn giản, chiều dài mã máy cố định và số chu kỳ xung nhịpcần thiết cho việc thực hiện lệnh là cố định, ít thâm nhập bộ nhớ Tuy nhiên, kiểukiến trúc này cũng có một vài hạn chế của nó như: số lượng thanh ghi bị giới hạn,việc các thanh ghi có cùng độ dài dẫn đến không hiệu quả trong các lệnh xử lýchuối cũng như các lệnh có cấu trúc Việc lưu và phục hồi các trạng thái khi có cáclời gọi thủ tục hay chuyển đổi ngữ cảnh
5 Tập lệnh.
Mục tiêu của phần này là dùng các ví dụ trích từ các kiến trúc phần mềm đượcdùng nhiều nhất, để cho thấy các kỹ thuật ở mức ngôn ngữ máy dùng để thi hànhcác cấu trúc trong các ngôn ngữ cấp cao
Để minh hoạ bằng thí dụ, ta dùng cú pháp lệnh trong hợp ngữ sau đây :
Từ gợi nhớ mã lệnh, thanh ghi đích, thanh ghi nguồn 1, thanh ghi nguồn 2
Từ gợi nhớ mã lệnh mô tả ngắn gọn tác vụ phải thi hành trên các thanh ghinguồn, kết quả được lưu giữ trong thanh ghi đích
Mỗi lệnh của ngôn ngữ cấp cao được xây dựng bằng một lệnh mã máy hoặc mộtchuỗi nhiều lệnh mã máy Lệnh nhảy (GOTO) được thực hiện bằng các lệnh hợpngữ về nhảy (JUMP) hoặc lệnh hợp ngữ về vòng Chúng ta phân biệt lệnh nhảy làmcho bộ đếm chương trình được nạp vào địa chỉ tuyệt đối nơi phải nhảy đến (PC <-địa chỉ tuyệt đối nơi phải nhảy tới), với lệnh vòng theo đó ta chỉ cần cộng thêm một
độ dời vào bộ đếm chương trình (PC <- PC + độ dời) Ta lưu ý là trong trường hợpsau, PC chứa địa chỉ tương đối so với địa chỉ của lệnh sau lệnh vòng
5.1 Gán trị.
Việc gán trị, gồm cả gán trị cho biểu thức số học và logic, được thực hiện nhờ một
số lệnh mã máy Cho các kiến trúc RISC, ta có thể nêu lên các lệnh sau :
Trang 40- Lệnh bộ nhớ
LOAD Ri, M (địa chỉ) M[địa chỉ] <- Ri
STORE Ri, M(địa chỉ) ; Ri <- M[địa chỉ]
Địa chỉ được tính tuỳ theo kiểu định vị được dùng
- Lệnh tính toán số học: tính toán số nguyên trên nội dung của hai thanh ghi Ri, Rj
và xếp kết quả vào trong Rk: